浏览代码

Merge branch 'dev_v1.3.4_20220902' of http://git.dayaedu.com/yonge/cooleshow into dev_v1.3.4_20220902

Eric 3 年之前
父节点
当前提交
696050d220

+ 7 - 7
cooleshow-mall/mall-mbg/src/main/resources/config/mybatis/OmsOrderMapper.xml

@@ -4,7 +4,7 @@
   <resultMap id="BaseResultMap" type="com.yonge.cooleshow.mbg.model.OmsOrder">
     <id column="id" jdbcType="BIGINT" property="id" />
     <result column="member_id" jdbcType="BIGINT" property="memberId" />
-    <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
+    <result column="coupon_id" property="couponId" />
     <result column="order_sn" jdbcType="VARCHAR" property="orderSn" />
     <result column="cart_ids" jdbcType="VARCHAR" property="cartIds" />
     <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
@@ -166,7 +166,7 @@
       delete_status, use_integration, payment_time, 
       delivery_time, receive_time, comment_time, 
       modify_time,cart_ids,platform_type,after_sale)
-    values (#{memberId,jdbcType=BIGINT}, #{couponId,jdbcType=BIGINT}, #{orderSn,jdbcType=VARCHAR}, 
+    values (#{memberId,jdbcType=BIGINT}, #{couponId}, #{orderSn,jdbcType=VARCHAR},
       #{createTime,jdbcType=TIMESTAMP}, #{memberUsername,jdbcType=VARCHAR}, #{totalAmount,jdbcType=DECIMAL}, 
       #{payAmount,jdbcType=DECIMAL}, #{freightAmount,jdbcType=DECIMAL}, #{promotionAmount,jdbcType=DECIMAL}, 
       #{integrationAmount,jdbcType=DECIMAL}, #{couponAmount,jdbcType=DECIMAL}, #{discountAmount,jdbcType=DECIMAL}, 
@@ -332,7 +332,7 @@
         #{memberId,jdbcType=BIGINT},
       </if>
       <if test="couponId != null">
-        #{couponId,jdbcType=BIGINT},
+        #{couponId},
       </if>
       <if test="orderSn != null">
         #{orderSn,jdbcType=VARCHAR},
@@ -484,7 +484,7 @@
         member_id = #{record.memberId,jdbcType=BIGINT},
       </if>
       <if test="record.couponId != null">
-        coupon_id = #{record.couponId,jdbcType=BIGINT},
+        coupon_id = #{record.couponId},
       </if>
       <if test="record.orderSn != null">
         order_sn = #{record.orderSn,jdbcType=VARCHAR},
@@ -627,7 +627,7 @@
     update oms_order
     set id = #{record.id,jdbcType=BIGINT},
       member_id = #{record.memberId,jdbcType=BIGINT},
-      coupon_id = #{record.couponId,jdbcType=BIGINT},
+      coupon_id = #{record.couponId},
       order_sn = #{record.orderSn,jdbcType=VARCHAR},
       create_time = #{record.createTime,jdbcType=TIMESTAMP},
       member_username = #{record.memberUsername,jdbcType=VARCHAR},
@@ -683,7 +683,7 @@
         member_id = #{memberId,jdbcType=BIGINT},
       </if>
       <if test="couponId != null">
-        coupon_id = #{couponId,jdbcType=BIGINT},
+        coupon_id = #{couponId},
       </if>
       <if test="orderSn != null">
         order_sn = #{orderSn,jdbcType=VARCHAR},
@@ -823,7 +823,7 @@
   <update id="updateByPrimaryKey" parameterType="com.yonge.cooleshow.mbg.model.OmsOrder">
     update oms_order
     set member_id = #{memberId,jdbcType=BIGINT},
-      coupon_id = #{couponId,jdbcType=BIGINT},
+      coupon_id = #{couponId},
       order_sn = #{orderSn,jdbcType=VARCHAR},
       create_time = #{createTime,jdbcType=TIMESTAMP},
       member_username = #{memberUsername,jdbcType=VARCHAR},

+ 1 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/AdminClient.java

@@ -131,6 +131,7 @@ public class AdminClient extends BaseController {
         CouponOrderVO.CouponUpdateRequest  request = new CouponOrderVO.CouponUpdateRequest();
         request.setOrderNo(orderNo);
         request.setReset(returnCoupon);
+        request.setUseType(CouponCategoryEnum.MALL);
         List<Long> collect = Arrays.stream(couponIssueId.split(","))
                                    .map(Long::valueOf)
                                    .collect(Collectors.toList());

+ 11 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/io/request/coupon/CouponIssueVo.java

@@ -216,6 +216,17 @@ public class CouponIssueVo {
         @ApiModelProperty("用户手机号")
         private String phone;
 
+        @ApiModelProperty("使用类型")
+        private CouponCategoryEnum useType;
+
+        public CouponCategoryEnum getUseType() {
+            return useType;
+        }
+
+        public void setUseType(CouponCategoryEnum useType) {
+            this.useType = useType;
+        }
+
         public String getPhone() {
             return phone;
         }

+ 3 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/io/request/coupon/CouponOrderVO.java

@@ -140,6 +140,9 @@ public class CouponOrderVO {
         @ApiModelProperty("订单编号")
         private String orderNo;
 
+        @ApiModelProperty("使用类型")
+        private CouponCategoryEnum useType;
+
         public boolean invalidRequestParam() {
 
             if (Optional.ofNullable(getReset()).orElse(false)) {

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/CouponIssue.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
 
+import com.yonge.cooleshow.biz.dal.enums.coupon.CouponCategoryEnum;
 import com.yonge.cooleshow.biz.dal.enums.coupon.CouponUseStateEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -53,6 +54,10 @@ public class CouponIssue implements Serializable {
     @TableField("use_time_")
     private Long useTime;
 
+    @ApiModelProperty("使用类型")
+    @TableField("use_type_")
+    private CouponCategoryEnum useType;
+
     @ApiModelProperty("订单编号")
     @TableField("order_no_")
     private String orderNo;

+ 25 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/coupon/CouponCategoryEnum.java

@@ -72,4 +72,29 @@ public enum CouponCategoryEnum implements BaseEnum<String, CouponCategoryEnum> {
 
         return retlist;
     }
+
+    /**
+     * 商品对应优惠券类型
+     * @param goodsType 商品类型
+     * @return List<CouponCategoryEnum>
+     */
+    public static CouponCategoryEnum goodTypeTo(String goodsType) {
+
+
+        if (StringUtils.isNotEmpty(goodsType)) {
+
+            CouponCategoryEnum[] values = CouponCategoryEnum.values();
+
+            for (CouponCategoryEnum value : values) {
+
+                if (value.getGoodsType().equals(goodsType)) {
+
+                    return value;
+                }
+            }
+
+        }
+
+        return null;
+    }
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CouponInfoServiceImp.java

@@ -344,6 +344,7 @@ public class CouponInfoServiceImp extends ServiceImpl<CouponInfoMapper, CouponIn
                                 .id(item.getIssueId())
                                 .useState(CouponUseStateEnum.USED)
                                 .useTime(DateTime.now().getMillis())
+                                .useType(wrapper.getUseType())
                                 .orderNo(wrapper.getOrderNo())
                         .build());
             }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -404,6 +404,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         // 更新用户订单优惠券使用状态
         if (CollectionUtils.isNotEmpty(couponOrderWrapper.getCouponInfos())) {
 
+            couponOrderWrapper.useType(CouponCategoryEnum.goodTypeTo(orderReq.getOrderType().getCode()));
             couponInfoService.updateUserOrderCouponInfo(couponOrderWrapper.orderNo(orderReq.getOrderNo()));
         }
 

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/coupon/CouponIssueWrapper.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.biz.dal.vo.coupon;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.SendTypeEnum;
 import com.yonge.cooleshow.biz.dal.enums.coupon.CouponCategoryEnum;
@@ -27,6 +28,8 @@ public class CouponIssueWrapper {
     @ApiModelProperty("优惠券id")
     private Long couponId;
 
+    @ApiModelProperty("使用类型")
+    private CouponCategoryEnum useType;
 
     @ApiModelProperty("优惠券名称")
     private String couponName;
@@ -92,6 +95,14 @@ public class CouponIssueWrapper {
     @ApiModelProperty("可用数量")
     private Long usable;
 
+    public CouponCategoryEnum getUseType() {
+        return useType;
+    }
+
+    public void setUseType(CouponCategoryEnum useType) {
+        this.useType = useType;
+    }
+
     public Long getUsable() {
         return usable;
     }

+ 12 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/coupon/CouponOrderWrapper.java

@@ -1,6 +1,7 @@
 package com.yonge.cooleshow.biz.dal.wrapper.coupon;
 
 import com.alibaba.fastjson.JSON;
+import com.yonge.cooleshow.biz.dal.enums.coupon.CouponCategoryEnum;
 import com.yonge.cooleshow.biz.dal.enums.coupon.CouponUseStateEnum;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
@@ -32,6 +33,9 @@ public class CouponOrderWrapper implements Serializable {
     // 订单编号
     private String orderNo;
 
+    // 使用方式
+    private CouponCategoryEnum useType;
+
     public String jsonString() {
 
         return JSON.toJSONString(this);
@@ -66,6 +70,12 @@ public class CouponOrderWrapper implements Serializable {
         return this;
     }
 
+    public CouponOrderWrapper useType(CouponCategoryEnum useType) {
+        this.useType = useType;
+        return this;
+    }
+
+
     /**
      * 用户优惠券信息
      */
@@ -118,6 +128,8 @@ public class CouponOrderWrapper implements Serializable {
         private Long useTime;
         // 订单编号
         private String orderNo;
+        // 使用方式
+        private CouponCategoryEnum useType;
 
         public String jsonString() {
             return JSON.toJSONString(this);

+ 1 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/CouponIssueMapper.xml

@@ -40,6 +40,7 @@
             ci.use_state_ as useState,
             ci.issuer_ as issuer,
             ci.remark_ as remark,
+            ci.use_type_ as useType,
             cou.name_ as couponName,
             cou.id_ as couponId,
             cou.coupon_type_ as couponType,