Aslee 3 anos atrás
pai
commit
f926877dbb

+ 14 - 0
src/main/java/com/caimei365/user/mapper/HeHeMapper.java

@@ -1,6 +1,7 @@
 package com.caimei365.user.mapper;
 
 import com.caimei365.user.model.po.CmHeHeUserPo;
+import com.caimei365.user.model.po.CouponSharePo;
 import com.caimei365.user.model.po.UserPo;
 import com.caimei365.user.model.vo.HeHeUserVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -50,4 +51,17 @@ public interface HeHeMapper {
      * @param user
      */
     void insertUser(UserPo user);
+
+    /**
+     * 获取进行中的优惠券Id
+     * @param couponType    劵类型 1活动券 2专享券 3新人券 4好友分享券 5好友消费券
+     * @return
+     */
+    String getCurrentCouponIds(int couponType);
+
+    /**
+     * 插入优惠券分享记录
+     * @param couponSharePo
+     */
+    void insertCouponShare(CouponSharePo couponSharePo);
 }

+ 6 - 0
src/main/java/com/caimei365/user/model/dto/HeHeUserDto.java

@@ -49,4 +49,10 @@ public class HeHeUserDto {
     @NotNull
     @ApiModelProperty("微信openid")
     private String openId;
+
+    /**
+     * 分享者用户id
+     */
+    @ApiModelProperty("分享者用户id")
+    private Integer shareUserId;
 }

+ 36 - 0
src/main/java/com/caimei365/user/model/po/CouponSharePo.java

@@ -0,0 +1,36 @@
+package com.caimei365.user.model.po;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * Description
+ *
+ * @author : Aslee
+ * @date : 2021/11/3
+ */
+@Data
+public class CouponSharePo implements Serializable {
+    private Integer id;
+    /**
+     * 分享者用户id
+     */
+    private Integer shareUserId;
+    /**
+     * 被分享者用户id
+     */
+    private Integer receiveUserId;
+    /**
+     * 分享得到的好友分享券id,以,隔开
+     */
+    private String shareCouponIds;
+    /**
+     * 被分享者是否已消费,0未消费,1已消费
+     */
+    private Integer consumeFlag;
+    /**
+     * 分享对象消费后得到的好友消费券id
+     */
+    private String consumeCouponIds;
+}

+ 12 - 0
src/main/java/com/caimei365/user/service/impl/HeHeServiceImpl.java

@@ -1,11 +1,13 @@
 package com.caimei365.user.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.caimei365.user.components.RedisService;
 import com.caimei365.user.components.WeChatService;
 import com.caimei365.user.mapper.HeHeMapper;
 import com.caimei365.user.model.ResponseJson;
 import com.caimei365.user.model.dto.HeHeUserDto;
 import com.caimei365.user.model.po.CmHeHeUserPo;
+import com.caimei365.user.model.po.CouponSharePo;
 import com.caimei365.user.model.po.UserPo;
 import com.caimei365.user.model.vo.HeHeUserVo;
 import com.caimei365.user.service.HeHeService;
@@ -100,6 +102,16 @@ public class HeHeServiceImpl implements HeHeService {
                     heUserPo.setAddTime(date);
                     heHeMapper.insertHeHeUser(heUserPo);
                     heHeUser = heHeMapper.findHeHeUserByMobile(heHeUserDto.getMobile());
+                    Integer shareUserId = heHeUserDto.getShareUserId();
+                    if (null != shareUserId && 0 != shareUserId) {
+                        Integer receiveUserId = heHeUser.getUserId();
+                        CouponSharePo couponSharePo = new CouponSharePo();
+                        couponSharePo.setShareUserId(shareUserId);
+                        couponSharePo.setReceiveUserId(receiveUserId);
+                        String shareCouponIds = heHeMapper.getCurrentCouponIds(4);
+                        couponSharePo.setShareCouponIds(shareCouponIds);
+                        heHeMapper.insertCouponShare(couponSharePo);
+                    }
                 }
                 return ResponseJson.success(heHeUser);
             }

+ 11 - 0
src/main/resources/mapper/HeHeMapper.xml

@@ -33,6 +33,13 @@
         WHERE
           mobile = #{mobile}
     </select>
+    <select id="getCurrentCouponIds" resultType="java.lang.String">
+        select group_concat(id)
+        from cm_hehe_coupon
+        where couponType = #{couponType} and if(startNowFlag = 1,true, NOW() <![CDATA[  >=  ]]> startTime )
+          and if(permanentFlag = 1,true,NOW() <![CDATA[  <=  ]]> endTime) and delFlag = 0
+        group by couponType
+    </select>
 
     <update id="updateHeHeUser">
         UPDATE
@@ -67,5 +74,9 @@
 			#{validFlag}, #{registerUserTypeId}
 		  )
     </insert>
+    <insert id="insertCouponShare">
+        insert into cm_hehe_coupon_share (shareUserId, receiveUserId, shareCouponIds,createTime)
+        values (#{shareUserId}, #{receiveUserId}, #{shareCouponIds},NOW())
+    </insert>
 
 </mapper>