Explorar o código

Merge remote-tracking branch 'remotes/origin/developer' into developerA

Aslee %!s(int64=3) %!d(string=hai) anos
pai
achega
bf26d61997

+ 1 - 4
src/main/java/com/caimei365/order/components/ProductService.java

@@ -150,10 +150,7 @@ public class ProductService {
                 // 符合条件赠品翻倍
                 if (floor != null && promotions.getDiscount() != null && floor > 1 && promotions.getDiscount() == 1) {
                     Integer in = floor.intValue();
-                    List<CartItemVo> g = new ArrayList<>();
-                    for (Integer i = 1; i < in; i++) {
-                        giftList.addAll(g);
-                    }
+                    giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                 }
                 promotions.setGiftList(giftList);
             }

+ 1 - 0
src/main/java/com/caimei365/order/mapper/BaseMapper.java

@@ -216,4 +216,5 @@ public interface BaseMapper {
 
     UserBeansHistoryPo findLowOrder(Integer orderId);
 
+    Integer findBeans(Integer userId);
 }

+ 9 - 0
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -108,6 +108,15 @@ public interface OrderClubMapper {
      * @param orderState 1:待确认,2:待付款,3:待发货,4:已发货,5:退货款
      */
     Integer getOrderCount(Integer userId, Integer orderState);
+
+    /**
+     * 过滤不可见订单
+     * @param userId
+     * @param orderState
+     * @return
+     */
+    Integer getOrderSeenCount(Integer userId, Integer orderState);
+
     /**
      * 机构订单列表
      * @param userId     用户Id

+ 4 - 0
src/main/java/com/caimei365/order/model/vo/OrderVo.java

@@ -14,6 +14,10 @@ import java.util.List;
 @Data
 public class OrderVo implements Serializable {
     private static final long serialVersionUID = 1L;
+    /**
+     * orderSeen:订单对机构可见度,1可见,2不可见
+     */
+    private Integer orderSeen;
     /**
      * 订单号
      */

+ 7 - 49
src/main/java/com/caimei365/order/service/impl/CartClubServiceImpl.java

@@ -283,13 +283,7 @@ public class CartClubServiceImpl implements CartClubService {
                                 // 叠加赠品
                                 if (shopPromotion.getDiscount() != null && shopPromotion.getDiscount() == 1 && floor > 1) {
                                     Integer in = floor.intValue();
-                                    List<CartItemVo> g = new ArrayList<>();
-                                    g.addAll(giftList);
-                                    if (in > 1) {
-                                        for (Integer i = 1; i < in; i++) {
-                                            giftList.addAll(g);
-                                        }
-                                    }
+                                    giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                                 }
                                 shopPromotion.setGiftList(giftList);
                             }
@@ -971,13 +965,7 @@ public class CartClubServiceImpl implements CartClubService {
                                         //叠加满赠
                                         if (shopPromotion.getDiscount() != null && shopPromotion.getDiscount() == 1 && floor > 1) {
                                             Integer in = floor.intValue();
-                                            List<CartItemVo> g = new ArrayList<>();
-                                            g.addAll(giftList);
-                                            if (in > 1) {
-                                                for (Integer i = 1; i < in; i++) {
-                                                    giftList.addAll(g);
-                                                }
-                                            }
+                                            giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                                         }
                                         shopPromotion.setGiftList(giftList);
                                     }
@@ -1073,13 +1061,7 @@ public class CartClubServiceImpl implements CartClubService {
                     //满足叠加
                     if (promotions.getDiscount() != null && promotions.getDiscount() == 1 && floor > 1) {
                         Integer in = floor.intValue();
-                        List<CartItemVo> g = new ArrayList<>();
-                        g.addAll(giftList);
-                        if (in > 1) {
-                            for (Integer i = 1; i < in; i++) {
-                                giftList.addAll(g);
-                            }
-                        }
+                        giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                     }
                     promotions.setGiftList(giftList);
                     // 全部满赠
@@ -1331,13 +1313,7 @@ public class CartClubServiceImpl implements CartClubService {
                                         //叠加满赠
                                         if (shopPromotion.getDiscount() != null && shopPromotion.getDiscount() == 1 && floor > 1) {
                                             Integer in = floor.intValue();
-                                            List<CartItemVo> g = new ArrayList<>();
-                                            g.addAll(giftList);
-                                            if (in > 1) {
-                                                for (Integer i = 1; i < in; i++) {
-                                                    giftList.addAll(g);
-                                                }
-                                            }
+                                            giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                                         }
                                         shopPromotion.setGiftList(giftList);
                                     }
@@ -1433,13 +1409,7 @@ public class CartClubServiceImpl implements CartClubService {
                     //满足叠加
                     if (promotions.getDiscount() != null && promotions.getDiscount() == 1 && floor > 1) {
                         Integer in = floor.intValue();
-                        List<CartItemVo> g = new ArrayList<>();
-                        g.addAll(giftList);
-                        if (in > 1) {
-                            for (Integer i = 1; i < in; i++) {
-                                giftList.addAll(g);
-                            }
-                        }
+                        giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                     }
                     promotions.setGiftList(giftList);
                     // 全部满赠
@@ -1599,13 +1569,7 @@ public class CartClubServiceImpl implements CartClubService {
                         //满足叠加
                         if (promotions.getDiscount() != null && promotions.getDiscount() == 1 && floor > 1) {
                             Integer in = floor.intValue();
-                            List<CartItemVo> g = new ArrayList<>();
-                            g.addAll(giftList);
-                            if (in > 1) {
-                                for (Integer i = 1; i < in; i++) {
-                                    giftList.addAll(g);
-                                }
-                            }
+                            giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                         }
                         promotions.setGiftList(giftList);
                     }
@@ -1662,13 +1626,7 @@ public class CartClubServiceImpl implements CartClubService {
             //满足叠加
             if (promotions.getDiscount() != null && promotions.getDiscount() == 1 && floor > 1) {
                 Integer in = floor.intValue();
-                List<CartItemVo> g = new ArrayList<>();
-                g.addAll(giftList);
-                if (in > 1) {
-                    for (Integer i = 1; i < in; i++) {
-                        giftList.addAll(g);
-                    }
-                }
+                giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
             }
             promotions.setGiftList(giftList);
 

+ 3 - 21
src/main/java/com/caimei365/order/service/impl/CartSellerServiceImpl.java

@@ -229,13 +229,7 @@ public class CartSellerServiceImpl implements CartSellerService {
                             // 叠加赠品
                             if (shopPromotion.getDiscount() != null && shopPromotion.getDiscount() == 1 && floor > 1) {
                                 Integer in = floor.intValue();
-                                List<CartItemVo> g = new ArrayList<>();
-                                g.addAll(giftList);
-                                if (in > 1) {
-                                    for (Integer i = 1; i < in; i++) {
-                                        giftList.addAll(g);
-                                    }
-                                }
+                                giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                             }
                             shopPromotion.setGiftList(giftList);
                         }
@@ -594,13 +588,7 @@ public class CartSellerServiceImpl implements CartSellerService {
                                     // 叠加赠品
                                     if (shopPromotion.getDiscount() != null && shopPromotion.getDiscount() == 1 && floor > 1) {
                                         Integer in = floor.intValue();
-                                        List<CartItemVo> g = new ArrayList<>();
-                                        g.addAll(giftList);
-                                        if (in > 1) {
-                                            for (Integer i = 1; i < in; i++) {
-                                                giftList.addAll(g);
-                                            }
-                                        }
+                                        giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                                     }
                                     shopPromotion.setGiftList(giftList);
                                 }
@@ -695,13 +683,7 @@ public class CartSellerServiceImpl implements CartSellerService {
                 //满足叠加
                 if (promotions.getDiscount() != null && promotions.getDiscount() == 1 && floor > 1) {
                     Integer in = floor.intValue();
-                    List<CartItemVo> g = new ArrayList<>();
-                    g.addAll(giftList);
-                    if (in > 1) {
-                        for (Integer i = 1; i < in; i++) {
-                            giftList.addAll(g);
-                        }
-                    }
+                    giftList.forEach(g -> g.setNumber(MathUtil.mul(g.getNumber(), in).intValue()));
                 }
                 promotions.setGiftList(giftList);
                 // 全部满赠

+ 36 - 0
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -68,27 +68,53 @@ public class OrderClubServiceImpl implements OrderClubService {
     @Override
     public ResponseJson<Map<String, Object>> getOrderCount(Integer userId) {
         Map<String, Object> map = new HashMap<>();
+        Integer identity = baseMapper.getIdentityByUserId(userId);
         //全部数量
         Integer totalCount = orderClubMapper.getOrderCount(userId, 0);
+        //非协销剔除不可见订单
+        if (identity != 1) {
+            Integer orderSeenCount = orderClubMapper.getOrderSeenCount(userId, 0);
+            totalCount -= orderSeenCount;
+        }
         map.put("totalCount", totalCount);
         //待确认数量
         Integer confirmedCount = orderClubMapper.getOrderCount(userId, 1);
+        if (identity != 1) {
+            Integer orderSeenCount = orderClubMapper.getOrderSeenCount(userId, 1);
+            confirmedCount -= orderSeenCount;
+        }
         map.put("confirmedCount", confirmedCount);
         //待付款数量
         Integer paymentCount = orderClubMapper.getOrderCount(userId, 2);
         paymentCount = paymentCount == null ? 0 : paymentCount;
+        if (identity != 1) {
+            Integer orderSeenCount = orderClubMapper.getOrderSeenCount(userId, 2);
+            paymentCount -= orderSeenCount;
+        }
         map.put("paymentCount", paymentCount);
         //待发货数量
         Integer waitShipmentsCount = orderClubMapper.getOrderCount(userId, 3);
         waitShipmentsCount = waitShipmentsCount == null ? 0 : waitShipmentsCount;
+        if (identity != 1) {
+            Integer orderSeenCount = orderClubMapper.getOrderSeenCount(userId, 3);
+            waitShipmentsCount -= orderSeenCount;
+        }
         map.put("waitShipmentsCount", waitShipmentsCount);
         //已发货数量
         Integer shipmentsCount = orderClubMapper.getOrderCount(userId, 4);
         shipmentsCount = shipmentsCount == null ? 0 : shipmentsCount;
+        if (identity != 1) {
+            Integer orderSeenCount = orderClubMapper.getOrderSeenCount(userId, 4);
+            shipmentsCount -= orderSeenCount;
+        }
         map.put("shipmentsCount", shipmentsCount);
         //退货款数量
         Integer salesReturnCount = orderClubMapper.getOrderCount(userId, 5);
         salesReturnCount = salesReturnCount == null ? 0 : salesReturnCount;
+        if (identity != 1) {
+            Integer orderSeenCount = orderClubMapper.getOrderSeenCount(userId, 5);
+            salesReturnCount -= orderSeenCount;
+        }
         map.put("salesReturnCount", salesReturnCount);
         return ResponseJson.success(map);
     }
@@ -117,6 +143,7 @@ public class OrderClubServiceImpl implements OrderClubService {
             // 设置付款金额
             orderCommonService.getDiscernReceiptAndSetOrder(order);
         });
+        orderList.removeIf(o -> o.getOrderSeen().equals(2));
         PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
         return ResponseJson.success(pageInfo);
     }
@@ -131,6 +158,7 @@ public class OrderClubServiceImpl implements OrderClubService {
      */
     @Override
     public ResponseJson<PageInfo<OrderVo>> getOrderListByKeyword(Integer userId, String searchWord, int pageNum, int pageSize) {
+        Integer identity = baseMapper.getIdentityByUserId(userId);
         // 设置搜索关键词历史记录
         orderCommonService.setHistoryRecord(userId, searchWord);
         PageHelper.startPage(pageNum, pageSize);
@@ -144,6 +172,10 @@ public class OrderClubServiceImpl implements OrderClubService {
             // 设置付款金额
             orderCommonService.getDiscernReceiptAndSetOrder(order);
         });
+        //不是协销,订单不可见屏蔽
+        if (identity != 1) {
+            orderList.removeIf(o -> o.getOrderSeen().equals(2));
+        }
         PageInfo<OrderVo> pageInfo = new PageInfo(orderList);
         return ResponseJson.success(pageInfo);
     }
@@ -256,6 +288,10 @@ public class OrderClubServiceImpl implements OrderClubService {
         // 机构最新订单Id
         Integer orderId = orderClubMapper.getLatestOrderId(userId);
         OrderPo orderPo = orderClubMapper.getMainOrderByOrderId(orderId);
+        //机构不可见置为空
+        if (orderPo.getOrderSeen() == 2) {
+            orderPo = null;
+        }
         if (null == orderPo) {
             return ResponseJson.error("该订单不存在!", null);
         }

+ 3 - 1
src/main/java/com/caimei365/order/service/impl/OrderSellerServiceImpl.java

@@ -173,7 +173,9 @@ public class OrderSellerServiceImpl implements OrderSellerService {
             // 最后查看订单时间
             Date lastCheckOrderDate = orderSellerMapper.getLastCheckOrderDate(userId);
             Integer i = orderSellerMapper.getUncheckedOrderCount(userId, lastCheckOrderDate);
-            if (null != i) {uncheckedOrderCount += i;}
+            if (null != i) {
+                uncheckedOrderCount += i;
+            }
         }
         map.put("uncheckedOrderCount", uncheckedOrderCount);
         return ResponseJson.success(map);

+ 4 - 3
src/main/java/com/caimei365/order/service/impl/PayNonOrderServiceImpl.java

@@ -203,7 +203,7 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
             //商品名称
             String product = "采美订单" + orderId;
             json.put("product", product);
-            String attach = payParam.getProductId() + "," + payParam.getPayType();
+            String attach = payParam.getProductId() + "," + payParam.getPayType() + "," + payParam.getUserType();
             json.put("attach", attach);
             // 二手发布默认100元,默认私账
             List<Map<String, String>> list = new ArrayList<>();
@@ -294,10 +294,11 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
         //存收款列表
         Date date = new Date();
         String curDateStr = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(date);
+        String payTyp = PayUtil.getPayTypeId(payType, split[2]);
         // 保存收款记录
         DiscernReceiptPo discernReceipt = new DiscernReceiptPo();
         discernReceipt.setPayWay(1);
-        discernReceipt.setPayType(Integer.valueOf(payType));
+        discernReceipt.setPayType(Integer.valueOf(payTyp));
         discernReceipt.setReceiptType(7);
         discernReceipt.setReceiptStatus(3);
         discernReceipt.setReceiptAmount(amount);
@@ -679,7 +680,7 @@ public class PayNonOrderServiceImpl implements PayNonOrderService {
         String bindMobile = baseMapper.getBindMobileByUserId(userId);
         if (smsPushFlag && StringUtils.isNotBlank(bindMobile)) {
             String shortLink = remoteCallService.getShortLink(8, 2, "https://www.caimei365.com/user/member.html?userId=" + userId);
-            String content = "恭喜您成功开通采美平台超级会员,为期"+mouth+"个月,快戳采美网站链接www.caimei365.com/t/" + shortLink+ "或微信搜索“采美采购商城”小程序登录采美平台畅享会员特权吧。关注公众号“采美365网”可获取更多优惠和精彩资讯。退订回T";
+            String content = "恭喜您成功开通采美平台超级会员,为期" + mouth + "个月,快戳采美网站链接www.caimei365.com/t/" + shortLink + "或微信搜索“采美采购商城”小程序登录采美平台畅享会员特权吧。关注公众号“采美365网”可获取更多优惠和精彩资讯。退订回T";
             boolean sendSms = remoteCallService.getSendSms(2, bindMobile, content);
             if (!sendSms) {
                 log.info("购买会员短信推送失败");

+ 8 - 9
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -426,9 +426,11 @@ public class SubmitServiceImpl implements SubmitService {
             AtomicDouble shopProductAmount = new AtomicDouble(0);
             // 付供应商税费
             AtomicDouble shopTaxFee = new AtomicDouble(0);
-
             // 店铺促销活动状态
             PromotionsVo shopPromotions = baseMapper.getPromotionByShopId(shopId);
+            if (shopPromotions != null && shopPromotions.getSeen() != null && shopPromotions.getSeen() == 2 && 3 == orderParamBo.getCartType()) {
+                shopPromotions = null;
+            }
             // 商品费
             AtomicDouble shopProductFee = new AtomicDouble(0);
             // 供应商下参与店铺促销的商品总价
@@ -506,12 +508,9 @@ public class SubmitServiceImpl implements SubmitService {
                         promotions = baseMapper.getPromotionByProductId(productId);
                     }
                     //促销活动如果协销不可见,置为空
-                    if (promotions != null && promotions.getSeen() != null && promotions.getSeen() == 2 && userIdentity == 1) {
+                    if (promotions != null && promotions.getSeen() != null && promotions.getSeen() == 2 && 3 == orderParamBo.getCartType()) {
                         promotions = null;
                     }
-                    if (shopPromotions != null && shopPromotions.getSeen() != null && shopPromotions.getSeen() == 2 && userIdentity == 1) {
-                        shopPromotions = null;
-                    }
                     // 计算单价
                     if (null != svipProductPo && 1 == svipProductPo.getSvipProductFlag()) {
                         // 超级会员优惠商品,不参与促销活动(普通机构购买该商品可参与店铺促销)/阶梯价/复购价
@@ -1367,11 +1366,11 @@ public class SubmitServiceImpl implements SubmitService {
          * 自主下单价格低于1000,倒扣500采美豆
          */
         try {
-            if (orderParamBo.getCartType() != 3 && productTotalFee.get() < 1000) {
+            if (orderParamBo.getCartType() != 3 && payTotalFee.get() < 1000) {
                 if (orderParamBo.getUserBeans() < 0) {
                     //设置手动回滚事务
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                    return ResponseJson.error(-3, "采美豆不足,不能提交订单。建议您前往采美旗下“呵呵商城”小程序购买小额商品。");
+                    return ResponseJson.error(-4, "采美豆不足,不能提交订单。建议您前往采美旗下“呵呵商城”小程序购买小额商品。");
                 } else {
                     //查历史2021.10.27后是否有两个1000以下订单,有return不让下单,没有扣豆子
                     SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1380,7 +1379,7 @@ public class SubmitServiceImpl implements SubmitService {
                     if (mainOrderIds != null && mainOrderIds.size() > 2) {
                         //设置手动回滚事务
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                        return ResponseJson.error(-3, "您已有2个采购金额过小的订单,本次不能再进行采购。建议您前往采美旗下“呵呵商城”小程序购买小额商品");
+                        return ResponseJson.error(-3, "您已有2个采购金额过小的订单,本次不能再进行采购。您可使用微信扫描以下二维码,进入采美旗下“呵呵商城”小程序购买小额商品");
                     }
                     UserBeansHistoryPo beansHistory = new UserBeansHistoryPo();
                     beansHistory.setUserId(mainOrder.getUserId());
@@ -1391,7 +1390,7 @@ public class SubmitServiceImpl implements SubmitService {
                     beansHistory.setPushStatus(0);
                     beansHistory.setAddTime(date);
                     beansHistory.setDelFlag(0);
-                    int beans = orderParamBo.getUserBeans() - 500;
+                    int beans = baseMapper.findBeans(orderParamBo.getUserId()) - 500;
                     productService.updateUserBeans(beansHistory, beans, "【价格低于1000,倒扣500采美豆】");
                 }
             }

+ 4 - 1
src/main/resources/mapper/BaseMapper.xml

@@ -57,7 +57,7 @@
         LIMIT 1
     </select>
     <select id="getIdentityByUserId" resultType="java.lang.Integer">
-        select userIdentity
+        select ifnull(userIdentity,0)
         from user
         where userID = #{userId}
         LIMIT 1
@@ -327,4 +327,7 @@
           and type = 2
           and num = 500
     </select>
+    <select id="findBeans" resultType="java.lang.Integer">
+        select userBeans from user where userID=#{userId}
+    </select>
 </mapper>

+ 23 - 0
src/main/resources/mapper/OrderClubMapper.xml

@@ -124,6 +124,7 @@
     </select>
     <select id="getMainOrderByOrderId" resultType="com.caimei365.order.model.po.OrderPo">
         SELECT
+            ifnull(orderSeen,0) AS orderSeen,
             orderID AS orderId,
             shopOrderIds,
             orderSource,
@@ -259,8 +260,29 @@
             AND refundType IN(1,2)
         </if>
     </select>
+    <select id="getOrderSeenCount" resultType="java.lang.Integer">
+        SELECT COUNT(*) FROM cm_order
+        WHERE delFlag = 0 AND userID = #{userId}
+        <if test="orderState == 1 ">
+            AND status = '0'
+        </if>
+        <if test="orderState == 2 ">
+            AND status IN(11,12,13,21,22,23)
+        </if>
+        <if test="orderState == 3 ">
+            AND status IN(11,12,21,22,31,32)
+        </if>
+        <if test="orderState == 4 ">
+            AND status IN(12,13,22,23,32,33)
+        </if>
+        <if test="orderState == 5 ">
+            AND refundType IN(1,2)
+        </if>
+            AND orderSeen = 2
+    </select>
     <select id="getOrderList" resultType="com.caimei365.order.model.vo.OrderVo">
         SELECT
+            ifnull(orderSeen,0) AS orderSeen,
             orderID AS orderId,
             shopOrderIds,
             orderSource,
@@ -336,6 +358,7 @@
     </select>
     <select id="getOrderListByKeyword" resultType="com.caimei365.order.model.vo.OrderVo">
         SELECT DISTINCT
+        ifnull(co.orderSeen,0) AS orderSeen,
         co.orderID AS orderId,
         shopOrderIds,
         co.orderSource,

+ 1 - 0
src/main/resources/mapper/OrderSellerMapper.xml

@@ -9,6 +9,7 @@
     </select>
     <select id="getOrderList" resultType="com.caimei365.order.model.vo.OrderVo">
         SELECT
+        orderSeen,
         orderID AS orderId,
         shopOrderIds,
         orderSource,

+ 1 - 1
src/main/resources/mapper/SubmitMapper.xml

@@ -185,7 +185,7 @@
                p.mainImage        AS image,
                p.price1           AS price,
                p.costPrice,
-               p.costCheckFlag,
+               IFNULL(p.costCheckFlag, 1) AS costCheckFlag,
                p.costProportional,
                p.productCategory,
                p.ladderPriceFlag,