admin
2020-04-14 036fc28606e5fcb2203cbc7c4736c99512a522f7
订单统计测试中的相关代码的bug修改
6个文件已修改
71 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/Constant.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/rocket/consumer.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/InviteOrderSubsidyServiceImplV2.java
@@ -32,12 +32,12 @@
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService;
import com.yeshi.fanli.service.manger.user.UserLevelManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TimeUtil;
@Service
public class InviteOrderSubsidyServiceImplV2 implements InviteOrderSubsidyService {
    @Resource
    private InviteOrderSubsidyMapper inviteOrderSubsidyMapper;
@@ -126,6 +126,10 @@
                    throw new InviteOrderSubsidyException(10, "订单为空");
                CommonOrder firstOrder = orderList.get(0);
                Date placeOrderTime = firstOrder.getThirdCreateTime();
                if (placeOrderTime.getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME)
                    return;
                int urank = firstOrder.getUrank();
                UserLevelEnum buyerUserLevel = null;
                for (UserLevelEnum level : UserLevelEnum.values())
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderHongBaoMoneyComputeServiceImpl.java
@@ -13,13 +13,10 @@
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.user.UserLevelUtil;
@Service
public class OrderHongBaoMoneyComputeServiceImpl implements OrderHongBaoMoneyComputeService {
    static long newRuleTime = TimeUtil.convertToTimeTemp(Constant.NEW_ORDER_FANLI_RULE_TIME, "yyyy-MM-dd");
    @Resource
    private HongBaoManageService hongBaoManageService;
@@ -37,7 +34,7 @@
    private UserLevelEnum getCommonUserLevel(Date time, UserLevelEnum userLevel) {
        if (userLevel == null)
            return UserLevelEnum.daRen;
        if (time.getTime() < newRuleTime)
        if (time.getTime() < Constant.NEW_ORDER_FANLI_RULE_TIME)
            return UserLevelUtil.getOldLevel(userLevel);
        else
            return userLevel;
@@ -46,7 +43,7 @@
    // 获取基础佣金
    private BigDecimal getBaseCommission(CommonOrder order) {
        if (order.getThirdCreateTime().getTime() >= newRuleTime) {
        if (order.getThirdCreateTime().getTime() >= Constant.NEW_ORDER_FANLI_RULE_TIME) {
            BigDecimal rate = hongBaoManageService.getBaseFanliRate(order.getThirdCreateTime().getTime());
            if (order.getState() == CommonOrder.STATE_JS || order.getState() == CommonOrder.STATE_WQ)
                return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, order.geteIncome()), new BigDecimal(100));
@@ -96,6 +93,12 @@
    @Override
    public BigDecimal computeFirstInviteMoney(CommonOrder order, UserLevelEnum buyer) {
        BigDecimal rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_6", order.getThirdCreateTime().getTime());
        if (buyer == UserLevelEnum.superVIP || buyer == UserLevelEnum.tearcher)
            rate = hongBaoManageService.getByKeyAndMaxTime("new_invite_vip_6", order.getThirdCreateTime().getTime());
        if (rate.compareTo(new BigDecimal(0)) == 0)
            return null;
        if (order.getState() == CommonOrder.STATE_JS || order.getState() == CommonOrder.STATE_WQ)
            return MoneyBigDecimalUtil.div(MoneyBigDecimalUtil.mul(rate, getBaseCommission(order)),
                    new BigDecimal(100));
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -215,8 +215,8 @@
                        list.get(0).getSourceMediaId(), list.get(0).getAdPositionId());
                if ("饿了么".equalsIgnoreCase(list.get(0).getOrderType())) {
                    // 饿了么订单开始归入到淘宝订单
                    if (TimeUtil.convertToTimeTemp(list.get(0).getCreateTime(), "yyyy-MM-dd HH:mm:ss") > TimeUtil
                            .convertToTimeTemp("2020-04-15", "yyyy-MM-dd")) {
                    if (TimeUtil.convertToTimeTemp(list.get(0).getCreateTime(),
                            "yyyy-MM-dd HH:mm:ss") >= Constant.NEW_ORDER_FANLI_RULE_TIME) {
                        fanliOrderMap.put(orderId, list);
                    } else {
                        elmeOrderMap.put(orderId, list);
fanli/src/main/java/com/yeshi/fanli/service/manger/order/HongBaoV2AddManager.java
@@ -252,7 +252,6 @@
        return CommonOrder.STATE_SX;
    }
    @Transactional(rollbackFor = Exception.class)
    private boolean updateHongBao(HongBaoOrder hongBaoOrder, CommonOrder commonOrder, int type,
            Map<Integer, HongBaoOrder> notificationMap, Date placeOrderTime)
            throws HongBaoException, UserAccountException {
@@ -688,13 +687,11 @@
        }
        child.setUserInfo(user);
        child.setUrank(user.getRank());
        child.setUrank(userLevel.getOrderRank());
        child.setVersion(2);
        child.setCreateTime(new Date());
        child.setOrderType(commonOrder.getSourceType());
        if (child.getMoney() == null)
            return null;
        if (child.getMoney().compareTo(new BigDecimal(0)) <= 0 && userLevel == UserLevelEnum.daRen)
            return null;
        return child;
    }
@@ -748,19 +745,19 @@
        return hongBao;
    }
    private HongBaoV2 createFanLiUpdateHongBao(CommonOrder commonOrder, BigDecimal fanliRate, Long hongBaoId,
    private HongBaoV2 createFanLiUpdateHongBao(CommonOrder commonOrder, BigDecimal money, Long hongBaoId,
            boolean mianDan) throws HongBaoException, UserAccountException {
        HongBaoV2 hongBao = new HongBaoV2(hongBaoId);
        hongBao.setUpdateTime(new Date());
        hongBao.setMoney(money);
        // 更改状态与资金
        if (commonOrder.getState() == CommonOrder.STATE_FK) {
            hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
            hongBao.setMoney(MoneyBigDecimalUtil.mul(commonOrder.getEstimate(), fanliRate.divide(new BigDecimal(100))));
            if (mianDan)
                hongBao.setMoney(commonOrder.getPayment());
        } else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
            hongBao.setState(HongBaoV2.STATE_KELINGQU);
            hongBao.setMoney(MoneyBigDecimalUtil.mul(commonOrder.geteIncome(), fanliRate.divide(new BigDecimal(100))));
            if (commonOrder.getSourceType() == Constant.SOURCE_TYPE_PDD)// 拼多多15天过1个小时到账
                hongBao.setPreGetTime(new Date(
                        commonOrder.getSettleTime().getTime() + 1000 * 60 * 60 * 24 * 15L + 1000 * 60 * 60 * 1L));
@@ -787,17 +784,16 @@
     * @throws HongBaoException
     * @throws UserAccountException
     */
    private HongBaoV2 createShareUpdateHongBao(CommonOrder commonOrder, BigDecimal fanliRate, Long hongBaoId)
    private HongBaoV2 createShareUpdateHongBao(CommonOrder commonOrder, BigDecimal money, Long hongBaoId)
            throws HongBaoException, UserAccountException {
        HongBaoV2 hongBao = new HongBaoV2(hongBaoId);
        hongBao.setUpdateTime(new Date());
        hongBao.setMoney(money);
        // 更改状态与资金
        if (commonOrder.getState() == CommonOrder.STATE_FK) {
            hongBao.setState(HongBaoV2.STATE_BUKELINGQU);
            hongBao.setMoney(MoneyBigDecimalUtil.mul(commonOrder.getEstimate(), fanliRate.divide(new BigDecimal(100))));
        } else if (commonOrder.getState() == CommonOrder.STATE_JS || commonOrder.getState() == CommonOrder.STATE_WQ) {
            hongBao.setState(HongBaoV2.STATE_KELINGQU);
            hongBao.setMoney(MoneyBigDecimalUtil.mul(commonOrder.geteIncome(), fanliRate.divide(new BigDecimal(100))));
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(commonOrder.getSettleTime());
            calendar.add(Calendar.MONTH, 1);
fanli/src/main/java/com/yeshi/fanli/util/Constant.java
@@ -23,14 +23,13 @@
    public static boolean IS_OUTNET = false;
    public static boolean IS_TEST = true;
    public static boolean ENABLE_MQ = false;
    public static int PAGE_SIZE = 20;
    // 验证文本口令或链接uid
    public static Long LINK_TOKEN_VERIFY_UID = 437032L;
    public static String YINGYONGBAO_LINK = "https://w.url.cn/s/AHUuT7i";
@@ -176,10 +175,9 @@
    // 订单实付款
    public static final BigDecimal VIP_ORDER_PAY = new BigDecimal("1");
    // 订单列表显> 时间 TODO
    public static final String ORDER_SHOW_BRACE_TIME = "1999-03-01";
    // 奖励券倒计时 - 天数
    public static final int COUPON_REWARD_LIMIT_DAY = 5;
@@ -250,19 +248,17 @@
    public static final String WXHEADURL = "wx/headImg/";
    public static final String WEBPAGE_SIGN_KEY = "@?,223Hbb88lll";
    public static final String WXMP_SIGN_KEY="xyJBaNliK&*!uAIShEn8g@@";
    public static final String WXMP_USER_SIGN_KEY="xyJBaNliShEn8g@@";
    public static final WXAPPInfo WXMP_APP_INFO=new WXAPPInfo("wxc22f3bd53cb25012", "4c7b166fecb6d9f53837e993f2214673", "", "");
    //新的规则生效时间
    public static final String NEW_ORDER_FANLI_RULE_TIME="2020-04-18";
    public static final String WXMP_SIGN_KEY = "xyJBaNliK&*!uAIShEn8g@@";
    public static final String WXMP_USER_SIGN_KEY = "xyJBaNliShEn8g@@";
    public static final WXAPPInfo WXMP_APP_INFO = new WXAPPInfo("wxc22f3bd53cb25012",
            "4c7b166fecb6d9f53837e993f2214673", "", "");
    // 新的规则生效时间
    public static final long NEW_ORDER_FANLI_RULE_TIME = TimeUtil.convertToTimeTemp("2020-04-14", "yyyy-MM-dd");
    // 新人抽奖-最大次数
    public static final int MAX_COUNT_LOTTERY_NEWBIES = 5;
fanli/src/main/resource/rocket/consumer.xml
@@ -24,7 +24,7 @@
                        <bean class="com.aliyun.openservices.ons.api.bean.Subscription">
                            <property name="topic" value="TOPIC_ORDER" />
                            <property name="expression"
                                value="orderStatistic||orderUpdate" /><!--expression
                                value="orderStatistic||orderUpdate||teamRewardPreRecieved" /><!--expression
                                即 Tag,可以设置成具体的 Tag,如 taga||tagb||tagc,也可设置成 *。 * 仅代表订阅所有 Tag,不支持通配 -->
                        </bean>
                    </key>