Browse Source

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

zhijiezhao 3 years ago
parent
commit
5e5746bca5

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

@@ -5,6 +5,7 @@ import com.caimei365.order.model.vo.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
+import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 
 
@@ -181,4 +182,35 @@ public interface BaseMapper {
      * @return
      * @return
      */
      */
     Integer getSvipUserIdByClubId(Integer clubId);
     Integer getSvipUserIdByClubId(Integer clubId);
+
+    /**
+     * 查询机构状态
+     * @param userId    用户id
+     * @return
+     */
+    Integer getClubStatus(Integer userId);
+
+    /**
+     * 查询最后的确认时间
+     *
+     * @param userId 用户id
+     * @return
+     */
+    Date getClubConfirmTime(Integer userId);
+
+    /**
+     * 更新user机构状态
+     *
+     * @param clubStatus    机构状态
+     * @param userId        用户id
+     */
+    void updateUserClubStatus(@Param("clubStatus") int clubStatus, @Param("userId") Integer userId);
+
+    /**
+     * 更新club机构状态
+     *
+     * @param clubStatus    机构状态
+     * @param userId        用户id
+     */
+    void updateClubStatus(@Param("clubStatus") int clubStatus, @Param("userId") Integer userId);
 }
 }

+ 14 - 4
src/main/java/com/caimei365/order/mapper/OrderClubMapper.java

@@ -1,9 +1,6 @@
 package com.caimei365.order.mapper;
 package com.caimei365.order.mapper;
 
 
-import com.caimei365.order.model.po.BalanceRecordPo;
-import com.caimei365.order.model.po.CouponOrderRecordPo;
-import com.caimei365.order.model.po.OrderPo;
-import com.caimei365.order.model.po.OrderProductPo;
+import com.caimei365.order.model.po.*;
 import com.caimei365.order.model.vo.*;
 import com.caimei365.order.model.vo.*;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
@@ -184,4 +181,17 @@ public interface OrderClubMapper {
      * 查询订单优惠信息
      * 查询订单优惠信息
      */
      */
     CouponOrderRecordPo getOrderCouponRecord(Integer orderId);
     CouponOrderRecordPo getOrderCouponRecord(Integer orderId);
+    /**
+     * 查询用户优惠券关联数据
+     */
+    CouponClubPo getCouponClubById(Integer clubCouponId);
+    /**
+     * 保存用户关联信息
+     */
+    void insertCouponClub(CouponClubPo couponClub);
+    /**
+     * 删除优惠券与订单的关联信息
+     * @param clubCouponId
+     */
+    void deleteCouponClubById(Integer clubCouponId);
 }
 }

+ 63 - 0
src/main/java/com/caimei365/order/model/po/CouponClubPo.java

@@ -0,0 +1,63 @@
+package com.caimei365.order.model.po;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Description
+ *
+ * @author : plf
+ * @date : 2021/8/16
+ */
+@Data
+public class CouponClubPo {
+    private Integer id;
+
+    /**
+     * 机构用户Id
+     */
+    private Integer userId;
+
+    /**
+     * 优惠券id
+     */
+    private Integer couponId;
+
+    /**
+     * 订单id
+     */
+    private Integer orderId;
+
+    /**
+     * 退款id,订单退回时有效
+     */
+    private Integer returnedId;
+
+
+    /**
+     * 领取渠道:1网站 2小程序 3订单退回
+     */
+    private Integer source;
+
+    /**
+     * 使用状态 1未使用 2已使用
+     */
+    private String status;
+
+    /**
+     * 领取时间
+     */
+    private Date createDate;
+
+    /**
+     * 使用时间
+     */
+    private Date useDate;
+
+    /**
+     * 删除标记 0否 其余是
+     */
+    private String delFlag;
+
+}

+ 4 - 0
src/main/java/com/caimei365/order/model/po/OrderShopPo.java

@@ -53,6 +53,10 @@ public class OrderShopPo implements Serializable {
      * 协销Id
      * 协销Id
      */
      */
     private Integer spId;
     private Integer spId;
+    /**
+     * 订单类型 协销订单 0, 普通订单 1
+     */
+    private Integer orderType;
     /**
     /**
      * 订单促销id(店铺促销)
      * 订单促销id(店铺促销)
      */
      */

+ 35 - 3
src/main/java/com/caimei365/order/service/impl/OrderClubServiceImpl.java

@@ -355,8 +355,8 @@ public class OrderClubServiceImpl implements OrderClubService {
             int beans = userBeans + beansHistory.getNum();
             int beans = userBeans + beansHistory.getNum();
             productService.updateUserBeans(beansHistory, beans, note);
             productService.updateUserBeans(beansHistory, beans, note);
         }
         }
-        //取消订单短信推送
-        String bindMobile = baseMapper.getBindMobileByUserId(order.getUserId());
+        //取消订单短信推送(取消推送)
+        /*String bindMobile = baseMapper.getBindMobileByUserId(order.getUserId());
         if (StringUtils.isNotBlank(bindMobile)) {
         if (StringUtils.isNotBlank(bindMobile)) {
             String shortLink = remoteCallService.getShortLink(8, 11, domain + "/user/order/detail.html?orderId=" + orderId);
             String shortLink = remoteCallService.getShortLink(8, 11, domain + "/user/order/detail.html?orderId=" + orderId);
             String content = "您已成功取消订单(订单编号:" + order.getOrderNo() + "),订单金额¥" + order.getPayTotalFee() + "。您可关注采美公众号或者访问采美微信小程序和网站查看订单。" +
             String content = "您已成功取消订单(订单编号:" + order.getOrderNo() + "),订单金额¥" + order.getPayTotalFee() + "。您可关注采美公众号或者访问采美微信小程序和网站查看订单。" +
@@ -365,8 +365,40 @@ public class OrderClubServiceImpl implements OrderClubService {
             if (!sendSms) {
             if (!sendSms) {
                 log.info("取消订单推送失败,orderId>>>>" + orderId);
                 log.info("取消订单推送失败,orderId>>>>" + orderId);
             }
             }
+        }*/
+        // 客服确认注册机构,一天内取消有效
+        Integer clubStatus = baseMapper.getClubStatus(order.getUserId());
+        if (null != clubStatus && 94 == clubStatus) {
+            // 已冻结(客服确认机构)
+            // 查询最后的确认时间
+            Date confirmTime = baseMapper.getClubConfirmTime(order.getUserId());
+            if (confirmTime != null) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(confirmTime);
+                calendar.add(Calendar.DATE, 1);
+                if (calendar.getTime().compareTo(new Date()) > 0) {
+                    // 机构状态修改为:已确认(客服确认机构)
+                    baseMapper.updateUserClubStatus(93, order.getUserId());
+                    baseMapper.updateClubStatus(93, order.getUserId());
+                }
+            }
+        }
+        //优惠券退回
+        if (MathUtil.compare(order.getCouponAmount(), 0) > 0) {
+            CouponOrderRecordPo couponRecord = orderClubMapper.getOrderCouponRecord(order.getOrderId());
+            if (couponRecord != null) {
+                orderClubMapper.deleteCouponClubById(couponRecord.getClubCouponId());
+                CouponClubPo couponClub = orderClubMapper.getCouponClubById(couponRecord.getClubCouponId());
+                couponClub.setOrderId(null);
+                couponClub.setReturnedId(0);
+                couponClub.setSource(3);
+                couponClub.setStatus("1");
+                couponClub.setCreateDate(new Date());
+                couponClub.setUseDate(null);
+                couponClub.setDelFlag("0");
+                orderClubMapper.insertCouponClub(couponClub);
+            }
         }
         }
-
         return ResponseJson.success("取消订单成功!", null);
         return ResponseJson.success("取消订单成功!", null);
     }
     }
 
 

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

@@ -393,8 +393,8 @@ public class ShipServiceImpl implements ShipService {
         }
         }
         // 修改主订单发货状态
         // 修改主订单发货状态
         shipMapper.updateOrderShip(order.getOrderId(), order.getSendOutStatus(), order.getStatus());
         shipMapper.updateOrderShip(order.getOrderId(), order.getSendOutStatus(), order.getStatus());
-        //发货短信推送
-        String bindMobile = baseMapper.getBindMobileByUserId(order.getUserId());
+        //发货短信推送(取消推送)
+        /*String bindMobile = baseMapper.getBindMobileByUserId(order.getUserId());
         if (StringUtils.isNotBlank(bindMobile) && 0 == order.getRebateFlag()) {
         if (StringUtils.isNotBlank(bindMobile) && 0 == order.getRebateFlag()) {
             boolean sendSms = false;
             boolean sendSms = false;
             if (1 == sendOutStatus && 2 == order.getSendOutStatus()){
             if (1 == sendOutStatus && 2 == order.getSendOutStatus()){
@@ -411,7 +411,7 @@ public class ShipServiceImpl implements ShipService {
             if (!sendSms) {
             if (!sendSms) {
                 log.info("发货短信推送失败,orderId>>>>" + order.getOrderId());
                 log.info("发货短信推送失败,orderId>>>>" + order.getOrderId());
             }
             }
-        }
+        }*/
     }
     }
 
 
     /**
     /**

+ 14 - 3
src/main/java/com/caimei365/order/service/impl/SubmitServiceImpl.java

@@ -789,7 +789,13 @@ public class SubmitServiceImpl implements SubmitService {
             shopOrder.setPayedShopAmount(0d);
             shopOrder.setPayedShopAmount(0d);
             // (付款供应商)付款状态:1待付款、2部分付款、3已付款
             // (付款供应商)付款状态:1待付款、2部分付款、3已付款
             shopOrder.setPayStatus(1);
             shopOrder.setPayStatus(1);
-
+            if (3 == orderParamBo.getCartType()) {
+                // 协销订单
+                shopOrder.setOrderType(0);
+            } else {
+                // 普通订单
+                shopOrder.setOrderType(1);
+            }
             // 添加到子订单列表
             // 添加到子订单列表
             shopOrderList.add(shopOrder);
             shopOrderList.add(shopOrder);
             // 统计商品总金额
             // 统计商品总金额
@@ -1125,6 +1131,10 @@ public class SubmitServiceImpl implements SubmitService {
             if (3 == orderParamBo.getCartType()) {
             if (3 == orderParamBo.getCartType()) {
                 // 协销订单
                 // 协销订单
                 postageOrder.setSpId(orderParamBo.getBuyUserId());
                 postageOrder.setSpId(orderParamBo.getBuyUserId());
+                postageOrder.setOrderType(0);
+            } else {
+                // 普通订单
+                postageOrder.setOrderType(1);
             }
             }
             // 订单默认可拆分
             // 订单默认可拆分
             postageOrder.setSplitFlag(1);
             postageOrder.setSplitFlag(1);
@@ -1334,9 +1344,9 @@ public class SubmitServiceImpl implements SubmitService {
         log.info("******************** 提交订单逻辑处理 end *******************");
         log.info("******************** 提交订单逻辑处理 end *******************");
 
 
         /*
         /*
-         * 下单推送
+         * 下单推送(自主订单才推送)
          */
          */
-        if (StringUtils.isNotBlank(orderParamBo.getBindMobile())) {
+        if (StringUtils.isNotBlank(orderParamBo.getBindMobile()) && 0 == mainOrder.getRebateFlag() && 1 == mainOrder.getOrderType()) {
             String shortLink = remoteCallService.getShortLink(8, 3, domain + "/user/order/detail.html?orderId=" + mainOrder.getOrderId());
             String shortLink = remoteCallService.getShortLink(8, 3, domain + "/user/order/detail.html?orderId=" + mainOrder.getOrderId());
             String name = orderProductList.get(0).getName();
             String name = orderProductList.get(0).getName();
             if (name.length() > 10) {
             if (name.length() > 10) {
@@ -1501,6 +1511,7 @@ public class SubmitServiceImpl implements SubmitService {
         rechargeShopOrder.setOrderTime(mainOrder.getOrderTime());
         rechargeShopOrder.setOrderTime(mainOrder.getOrderTime());
         rechargeShopOrder.setCanRefundAmount(0d);
         rechargeShopOrder.setCanRefundAmount(0d);
         rechargeShopOrder.setSplitFlag(0);
         rechargeShopOrder.setSplitFlag(0);
+        rechargeShopOrder.setOrderType(0);
         /*
         /*
          * 保存子订单
          * 保存子订单
          */
          */

+ 16 - 0
src/main/resources/mapper/BaseMapper.xml

@@ -224,6 +224,12 @@
         UPDATE USER SET userBeans = #{userBeans}
         UPDATE USER SET userBeans = #{userBeans}
         WHERE userID = #{userId}
         WHERE userID = #{userId}
     </update>
     </update>
+    <update id="updateUserClubStatus">
+        UPDATE user SET clubStatus = #{clubStatus} WHERE userID = #{userId}
+    </update>
+    <update id="updateClubStatus">
+        UPDATE club SET status = #{clubStatus} WHERE userID = #{userId}
+    </update>
     <insert id="insertBalanceRecord" parameterType="com.caimei365.order.model.po.BalanceRecordPo">
     <insert id="insertBalanceRecord" parameterType="com.caimei365.order.model.po.BalanceRecordPo">
         INSERT INTO cm_user_balance_record (userId, type, balanceType, addDate, amount, orderId, remark, delFlag)
         INSERT INTO cm_user_balance_record (userId, type, balanceType, addDate, amount, orderId, remark, delFlag)
         VALUES (#{userId}, #{type}, #{balanceType}, #{addDate}, #{amount}, #{orderId}, #{remark}, #{delFlag})
         VALUES (#{userId}, #{type}, #{balanceType}, #{addDate}, #{amount}, #{orderId}, #{remark}, #{delFlag})
@@ -239,4 +245,14 @@
           and delFlag = '0'
           and delFlag = '0'
           and now() <![CDATA[ < ]]> endTime;
           and now() <![CDATA[ < ]]> endTime;
     </select>
     </select>
+    <select id="getClubStatus" resultType="java.lang.Integer">
+        select clubStatus from user where userID = #{userId}
+    </select>
+    <select id="getClubConfirmTime" resultType="java.util.Date">
+        SELECT confirmTime
+        FROM club_confirm_record
+        WHERE userId = #{userId}
+        ORDER BY confirmTime DESC
+        LIMIT 1
+    </select>
 </mapper>
 </mapper>

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

@@ -104,6 +104,9 @@
     <delete id="deleteOrderShareCodeRecord">
     <delete id="deleteOrderShareCodeRecord">
         DELETE FROM cm_mall_share_code_record WHERE orderID = #{orderId}
         DELETE FROM cm_mall_share_code_record WHERE orderID = #{orderId}
     </delete>
     </delete>
+    <update id="deleteCouponClubById">
+        update cm_coupon_club set delFlag = '1' where id = #{clubCouponId}
+    </update>
     <insert id="insertOrderShareCode">
     <insert id="insertOrderShareCode">
         INSERT INTO cm_mall_order_share_code (orderID, shareCode, addTime, expiredTime, delFlag)
         INSERT INTO cm_mall_order_share_code (orderID, shareCode, addTime, expiredTime, delFlag)
         VALUES (#{orderId}, #{shareCode}, #{addTime}, #{expiredTime}, #{delFlag})
         VALUES (#{orderId}, #{shareCode}, #{addTime}, #{expiredTime}, #{delFlag})
@@ -112,6 +115,10 @@
         INSERT INTO cm_mall_share_code_record (openid, orderID, shareCodeId, addTime, delFlag)
         INSERT INTO cm_mall_share_code_record (openid, orderID, shareCodeId, addTime, delFlag)
         VALUES (#{openId}, #{orderId}, #{shareCodeId}, #{addTime}, #{delFlag})
         VALUES (#{openId}, #{orderId}, #{shareCodeId}, #{addTime}, #{delFlag})
     </insert>
     </insert>
+    <insert id="insertCouponClub">
+        INSERT INTO cm_coupon_club(userId, couponId, orderId, returnedId, source, status, createDate, useDate, delFlag)
+        VALUES (#{userId},#{couponId},#{orderId},#{returnedId},#{source},#{status},#{createDate},#{useDate},#{delFlag})
+    </insert>
     <select id="countMainOrderByOrderId" resultType="java.lang.Integer">
     <select id="countMainOrderByOrderId" resultType="java.lang.Integer">
         SELECT COUNT(*) FROM cm_order WHERE orderID = #{orderId}
         SELECT COUNT(*) FROM cm_order WHERE orderID = #{orderId}
     </select>
     </select>
@@ -472,4 +479,9 @@
         FROM cm_coupon_order_record
         FROM cm_coupon_order_record
         WHERE orderId = #{orderId}
         WHERE orderId = #{orderId}
     </select>
     </select>
+    <select id="getCouponClubById" resultType="com.caimei365.order.model.po.CouponClubPo">
+        SELECT userId,couponId
+        FROM cm_coupon_club
+        WHERE id = #{clubCouponId}
+    </select>
 </mapper>
 </mapper>

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

@@ -18,11 +18,11 @@
                 #{clauseId},#{clauseName})
                 #{clauseId},#{clauseName})
     </insert>
     </insert>
     <insert id="insertShopOrder" keyColumn="shopOrderID" keyProperty="shopOrderId" parameterType="com.caimei365.order.model.po.OrderShopPo" useGeneratedKeys="true">
     <insert id="insertShopOrder" keyColumn="shopOrderID" keyProperty="shopOrderId" parameterType="com.caimei365.order.model.po.OrderShopPo" useGeneratedKeys="true">
-        INSERT INTO cm_shop_order (shopOrderNo, orderID, orderNo, shopID, note, userID, clubID,
+        INSERT INTO cm_shop_order (shopOrderNo, orderID, orderNo, shopID, note, userID, clubID, orderType,
                                    spID, orderPromotionsId, promotionFullReduction, svipShopReduction, brokerage, canRefundAmount, itemCount,
                                    spID, orderPromotionsId, promotionFullReduction, svipShopReduction, brokerage, canRefundAmount, itemCount,
                                    totalAmount, productAmount, needPayAmount, shopProductAmount, shopPostFee, shopTaxFee,
                                    totalAmount, productAmount, needPayAmount, shopProductAmount, shopPostFee, shopTaxFee,
                                    shouldPayShopAmount, orderTime, orderSubmitType, splitFlag, payStatus, payedShopAmount)
                                    shouldPayShopAmount, orderTime, orderSubmitType, splitFlag, payStatus, payedShopAmount)
-        VALUES (#{shopOrderNo},#{orderId},#{orderNo},#{shopId}, #{note},#{userId},#{clubId},
+        VALUES (#{shopOrderNo},#{orderId},#{orderNo},#{shopId}, #{note},#{userId},#{clubId},#{orderType},
                 #{spId},#{orderPromotionsId},#{promotionFullReduction},#{svipShopReduction},#{brokerage},#{canRefundAmount},#{itemCount},
                 #{spId},#{orderPromotionsId},#{promotionFullReduction},#{svipShopReduction},#{brokerage},#{canRefundAmount},#{itemCount},
                 #{totalAmount},#{productAmount},#{needPayAmount},#{shopProductAmount},#{shopPostFee},#{shopTaxFee},
                 #{totalAmount},#{productAmount},#{needPayAmount},#{shopProductAmount},#{shopPostFee},#{shopTaxFee},
                 #{shouldPayShopAmount},#{orderTime},#{orderSubmitType},#{splitFlag},#{payStatus},#{payedShopAmount})
                 #{shouldPayShopAmount},#{orderTime},#{orderSubmitType},#{splitFlag},#{payStatus},#{payedShopAmount})