admin
2019-04-01 6f87d14a23a0d054d528209b9ac035dcdb947cc4
Merge remote-tracking branch 'origin/master'
3个文件已修改
45 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/exception/TaoBaoWeiQuanException.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/exception/TaoBaoWeiQuanException.java
@@ -2,6 +2,10 @@
public class TaoBaoWeiQuanException extends Exception {
    /**
     * 需要更新订单的内容
     */
    public final static int CODE_NEDD_UPDATE_ORDER=1001;
    /**
     * 
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -60,10 +60,12 @@
import com.yeshi.fanli.service.inter.user.UserNotificationService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
import com.yeshi.fanli.util.taobao.TaoKeOrderApiUtil;
@Service
public class OrderProcessServiceImpl implements OrderProcessService {
@@ -494,7 +496,40 @@
        // 维权扣款(2018-08-05后开始实行)
        if (hongBaoOrder.getCommonOrder().getSettleTime() != null && hongBaoOrder.getCommonOrder().getSettleTime()
                .getTime() >= TimeUtil.convertToTimeTemp("2018-08-05", "yyyy-MM-dd")) {
            taoBaoWeiQuanDrawBackService.doWeiQuanFanli(hongBaoOrder.getCommonOrder().getOrderNo());
            try {
                taoBaoWeiQuanDrawBackService.doWeiQuanFanli(hongBaoOrder.getCommonOrder().getOrderNo());
            } catch (TaoBaoWeiQuanException e) {
                if (e.getCode() == TaoBaoWeiQuanException.CODE_NEDD_UPDATE_ORDER) {
                    List<TaoBaoOrder> olist = taoBaoOrderService
                            .getTaoBaoOrderByOrderId(hongBaoOrder.getCommonOrder().getOrderNo());
                    if (olist != null && olist.size() > 0) {
                        long time = TimeUtil.convertToTimeTemp(olist.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss");
                        olist = TaoKeOrderApiUtil.getTaoBaoAllOrder(TimeUtil.getGernalTime(time, "yyyy-MM-dd HH:mm:ss"),
                                Constant.TAOBAO_AUTH_APPKEY, Constant.TAOBAO_AUTH_APPSECRET);
                        List<TaoBaoOrder> thirdOList = TaoKeOrderApiUtil.getTaoBaoThirdAllOrder(
                                TimeUtil.getGernalTime(time, "yyyy-MM-dd HH:mm:ss"), 30, 1, Constant.TAOBAO_AUTH_APPKEY,
                                Constant.TAOBAO_AUTH_APPSECRET);
                        if (thirdOList != null && thirdOList.size() > 0)
                            olist.addAll(thirdOList);
                        if (olist != null && olist.size() > 0) {
                            for (int i = 0; i < olist.size(); i++) {
                                if (!olist.get(i).getOrderId()
                                        .equalsIgnoreCase(hongBaoOrder.getCommonOrder().getOrderNo())) {// 删除无关订单
                                    olist.remove(i);
                                    i--;
                                }
                            }
                            taoBaoOrderService.addTaoBaoOrderList(olist);
                        }
                    }
                } else
                    throw new TaoBaoWeiQuanException(e.getCode(), e.getMsg());
            }
        }
    }
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TaoBaoWeiQuanDrawBackServiceImpl.java
@@ -58,7 +58,6 @@
    @Resource
    private UserMoneyDetailMapper userMoneyDetailMapper;
    @Resource
    private UserNotificationService userNotificationService;
@@ -96,6 +95,9 @@
        for (TaoBaoOrder order : orderList)
            if (order.getOrderState().equalsIgnoreCase("订单结算"))
                sumFee = sumFee.add(order.geteIncome());
        if (new BigDecimal(0).compareTo(sumFee) == 0)
            throw new TaoBaoWeiQuanException(TaoBaoWeiQuanException.CODE_NEDD_UPDATE_ORDER, "需要更新订单");
        // 获取和该订单号有关联的用户
        // 获取主红包(同一个订单号的单只会对应同一个用户)
        List<CommonOrderVO> typeList = new ArrayList<>();