| | |
| | | import org.apache.commons.beanutils.PropertyUtils;
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | | import org.yeshi.utils.DateUtil;
|
| | | import org.yeshi.utils.entity.DateInfo;
|
| | | import org.yeshi.utils.taobao.TbImgUtil;
|
| | |
|
| | | import com.yeshi.fanli.dao.mybatis.order.CommonOrderGoodsMapper;
|
| | |
| | | import com.yeshi.fanli.entity.order.CommonOrderGoods;
|
| | | import com.yeshi.fanli.entity.order.CommonOrderTradeIdMap;
|
| | | import com.yeshi.fanli.entity.order.HongBaoOrder;
|
| | | import com.yeshi.fanli.entity.order.OrderSubsidy;
|
| | | import com.yeshi.fanli.entity.pdd.PDDOrder;
|
| | | import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
|
| | | import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
|
| | |
| | | import com.yeshi.fanli.service.inter.order.CommonOrderService;
|
| | | import com.yeshi.fanli.service.inter.order.HongBaoOrderService;
|
| | | import com.yeshi.fanli.service.inter.order.HongBaoV2Service;
|
| | | import com.yeshi.fanli.service.inter.order.OrderSubsidyService;
|
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
|
| | | import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
|
| | | import com.yeshi.fanli.util.Constant;
|
| | |
| | |
|
| | | @Resource
|
| | | private HongBaoOrderService hongBaoOrderService;
|
| | | |
| | | @Resource
|
| | | private OrderSubsidyService orderSubsidyService;
|
| | | |
| | |
|
| | | // 奖励订单图片
|
| | | public final static String PIC_REWARD = "http://img.flqapp.com/resource/order/order_state_reward.png";
|
| | |
| | | order.setHongBaoTypePic(CommonOrder.TYPE_SHARE);
|
| | | signList.add(CommonOrder.TYPE_SHARE);
|
| | |
|
| | | } else if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
|
| | | || HongBaoV2.TYPE_ERJI == hongBaoType || HongBaoV2.TYPE_SHARE_YIJI == hongBaoType
|
| | | || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) {
|
| | | // 邀请
|
| | | } else if (HongBaoV2.TYPE_SHARE_YIJI == hongBaoType || HongBaoV2.TYPE_SHARE_ERJI == hongBaoType) {
|
| | | // 下级的分享订单: 显示邀请
|
| | | hongbaoInfo = "奖金";
|
| | | order.setOrderOrigin("3");
|
| | | order.setHongBaoTypePic(CommonOrder.TYPE_INVITE);
|
| | | signList.add(CommonOrder.TYPE_INVITE);
|
| | | } else if (HongBaoV2.TYPE_YAOQING == hongBaoType || HongBaoV2.TYPE_YIJI == hongBaoType
|
| | | || HongBaoV2.TYPE_ERJI == hongBaoType) {
|
| | | // 邀请订单
|
| | | hongbaoInfo = "奖金";
|
| | | order.setOrderOrigin("3");
|
| | | order.setHongBaoTypePic(CommonOrder.TYPE_INVITE);
|
| | | signList.add(CommonOrder.TYPE_INVITE);
|
| | | |
| | | // 版本区分:2-0-2
|
| | | if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
|
| | | OrderSubsidy orderSubsidy = orderSubsidyService.getByOrderNoAndType(uid, order.getOrderNo(), sourceType2);
|
| | | if (orderSubsidy != null) {
|
| | | ClientTextStyleVO subsidyInfo = new ClientTextStyleVO();
|
| | | if (orderSubsidy.getState() == OrderSubsidy.STATE_SUBSIDIZED) {
|
| | | subsidyInfo.setColor("#E5005C");
|
| | | subsidyInfo.setContent("已补贴¥" + orderSubsidy.getMoney());
|
| | | } else {
|
| | | subsidyInfo.setColor("#888888");
|
| | | subsidyInfo.setContent("补贴¥" + orderSubsidy.getMoney());
|
| | | |
| | | // 解释信息(问号)
|
| | | List<String> subsidyList = new ArrayList<String>();
|
| | | subsidyList.add("额外补贴能否获得由系统算法自动判断,人为无法干涉;");
|
| | | subsidyList.add("额外补贴到账时间以及金额请以实际到账为准;");
|
| | | subsidyList.add("额外补贴产生后将会在消息-资金消息中提醒你。");
|
| | | order.setSubsidyList(subsidyList);
|
| | | }
|
| | | order.setSubsidy(subsidyInfo);
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | String hongBaoDate = null;
|
| | |
| | | order.setHongBaoState(orderHongBaoState);
|
| | | order.setHongBaoDate(hongBaoDate);
|
| | |
|
| | | if (!StringUtil.isNullOrEmpty(order.getStateDesc())) {
|
| | | stateContent = stateContent + "-" + order.getStateDesc();
|
| | | }
|
| | | |
| | | Map<String, String> stateMap = new HashMap<String, String>();
|
| | | stateMap.put("content", stateContent);
|
| | | stateMap.put("fontColor", stateFontColor);
|
| | |
| | | AcceptData acceptData) {
|
| | |
|
| | | // 是否免单商品
|
| | | boolean freeOrder = false;
|
| | | boolean freeOrder = false; |
| | | // 是否奖励成功
|
| | | boolean rewardSuccess = false;
|
| | |
|
| | |
| | | Date thirdCreateTime = order.getThirdCreateTime();
|
| | | if (thirdCreateTime != null) {
|
| | | long downOrderTime = thirdCreateTime.getTime();
|
| | | long limitDate = TimeUtil.convertDateToTemp("2019-09-05");
|
| | | long limitDate = TimeUtil.convertDateToTemp("2019-09-10");
|
| | | if (downOrderTime > limitDate)
|
| | | hasRewardCoupon = true;
|
| | | }
|
| | |
| | | }
|
| | |
|
| | | if (rewardOrder) {
|
| | | ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
|
| | | // 奖励券进度详情
|
| | | rewardStyleVO.setContent("返利奖励 >");
|
| | | rewardStyleVO.setColor("#E5005C");
|
| | | rewardStyleVO.setBottomColor("#FFDCEA");
|
| | | try {
|
| | | boolean newEdition = false;
|
| | | String num = null;
|
| | | String unit = null;
|
| | | boolean canUse = false;
|
| | | |
| | | // 版本区分:2.0.2
|
| | | if (VersionUtil.greaterThan_2_0_2(acceptData.getPlatform(), acceptData.getVersion())) {
|
| | | Date thirdCreateTime = order.getThirdCreateTime();
|
| | | if (thirdCreateTime != null) {
|
| | | long downOrderTime = thirdCreateTime.getTime();
|
| | | long limitDate = Long.parseLong("1573315200000"); // TODO 日期待确定2019-11-10
|
| | | if (downOrderTime > limitDate) {
|
| | | newEdition = true;
|
| | | Date endDay = DateUtil.plusDayDate(4, thirdCreateTime);
|
| | | long currentTime = java.lang.System.currentTimeMillis();
|
| | | if (endDay.getTime() > currentTime) {
|
| | | DateInfo dateInfo = DateUtil.dateDiff3(currentTime, endDay.getTime());
|
| | | if (dateInfo != null) {
|
| | | if (dateInfo.getDay() > 0) {
|
| | | canUse = true;
|
| | | unit = "天";
|
| | | num = dateInfo.getDay().toString();
|
| | | }
|
| | |
|
| | | Map<String, Object> jumpLink = new HashMap<String, Object>();
|
| | | jumpLink.put("orderNo", order.getOrderNo());
|
| | | if (VersionUtil.greaterThan_1_6_0(acceptData.getPlatform(), acceptData.getVersion())) {
|
| | | jumpLink.put("goodsType", order.getSourceType()+"");
|
| | | if (!canUse && dateInfo.getHour() > 0) {
|
| | | canUse = true;
|
| | | unit = "小时";
|
| | | num = dateInfo.getHour().toString();
|
| | | }
|
| | |
|
| | | if (!canUse && dateInfo.getMinute() > 0) {
|
| | | canUse = true;
|
| | | unit = "分";
|
| | | num = dateInfo.getMinute().toString();
|
| | | }
|
| | |
|
| | | if (!canUse && dateInfo.getSecond() > 0) {
|
| | | canUse = true;
|
| | | unit = "秒";
|
| | | num = dateInfo.getSecond().toString();
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | if (newEdition && !canUse) {
|
| | | // 新版不可使用
|
| | | } else {
|
| | | Map<String, Object> rewardMap = new HashMap<String, Object>();
|
| | | ClientTextStyleVO rewardStyleVO = new ClientTextStyleVO();
|
| | | rewardStyleVO.setColor("#E5005C");
|
| | | rewardStyleVO.setBottomColor("#FFDCEA");
|
| | | if (!newEdition) {
|
| | | rewardStyleVO.setContent("返利奖励 >");
|
| | | } else if (canUse) {
|
| | | rewardStyleVO.setContent("返利奖励 ");
|
| | | |
| | | ClientTextStyleVO txt1 = new ClientTextStyleVO();
|
| | | txt1.setContent("剩");
|
| | | txt1.setColor("#666666");
|
| | | txt1.setBottomColor("#FFDCEA");
|
| | | |
| | | ClientTextStyleVO txt2 = new ClientTextStyleVO();
|
| | | txt2.setContent(num);
|
| | | txt2.setColor("#E5005C");
|
| | | txt2.setBottomColor("#FFDCEA");
|
| | | |
| | | ClientTextStyleVO txt3 = new ClientTextStyleVO();
|
| | | txt3.setContent(unit + "关闭 >");
|
| | | txt3.setColor("#666666");
|
| | | txt3.setBottomColor("#FFDCEA");
|
| | | |
| | | List<ClientTextStyleVO> ticking = new ArrayList<ClientTextStyleVO>();
|
| | | ticking.add(txt1);
|
| | | ticking.add(txt2);
|
| | | ticking.add(txt3);
|
| | | rewardMap.put("ticking", ticking);
|
| | | }
|
| | | rewardMap.put("text", rewardStyleVO);
|
| | | |
| | | Map<String, Object> jumpLink = new HashMap<String, Object>();
|
| | | jumpLink.put("orderNo", order.getOrderNo());
|
| | | jumpLink.put("goodsType", order.getSourceType() + "");
|
| | | |
| | | Map<String, Object> jump = new HashMap<String, Object>();
|
| | | jump.put("type", type);
|
| | | jump.put("params", jumpLink);
|
| | | jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
|
| | | rewardMap.put("jump", jump);
|
| | | order.setRewardDetail(rewardMap);
|
| | | }
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
|
| | | Map<String, Object> jump = new HashMap<String, Object>();
|
| | | jump.put("type", type);
|
| | | jump.put("params", jumpLink);
|
| | | jump.put("jumpDetail", jumpDetailV2Service.getByTypeCache("rewardCouponDetail"));
|
| | |
|
| | | Map<String, Object> rewardMap = new HashMap<String, Object>();
|
| | | rewardMap.put("text", rewardStyleVO);
|
| | | rewardMap.put("jump", jump);
|
| | |
|
| | | order.setRewardDetail(rewardMap);
|
| | | }
|
| | |
|
| | | if (freeOrder) {
|