Bläddra i källkod

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/dk/oauth/entity/TradeResponse.java
#	src/main/resources/mapper/TradeMapper.xml
dongke 1 år sedan
förälder
incheckning
f84867425b
24 ändrade filer med 606 tillägg och 200 borttagningar
  1. 22 0
      src/main/java/com/dk/oauth/controller/integral/IntegralShareController.java
  2. 14 1
      src/main/java/com/dk/oauth/entity/CompanyVO.java
  3. 32 9
      src/main/java/com/dk/oauth/entity/Trade.java
  4. 20 0
      src/main/java/com/dk/oauth/entity/TradeResponse.java
  5. 2 1
      src/main/java/com/dk/oauth/mapper/integral/CouponSendMapper.xml
  6. 10 4
      src/main/java/com/dk/oauth/mapper/integral/CouponUseMapper.xml
  7. 1 1
      src/main/java/com/dk/oauth/mapper/integral/IntegralItemMapper.xml
  8. 15 0
      src/main/java/com/dk/oauth/mapper/integral/IntegralShareMapper.java
  9. 55 1
      src/main/java/com/dk/oauth/mapper/integral/IntegralShareMapper.xml
  10. 8 0
      src/main/java/com/dk/oauth/model/VO/integral/CouponReceiveVO.java
  11. 19 4
      src/main/java/com/dk/oauth/model/VO/integral/CouponUseVO.java
  12. 21 4
      src/main/java/com/dk/oauth/model/pojo/integral/CouponUse.java
  13. 7 0
      src/main/java/com/dk/oauth/model/pojo/integral/IntegralShare.java
  14. 19 4
      src/main/java/com/dk/oauth/model/query/integral/CouponUseQuery.java
  15. 26 4
      src/main/java/com/dk/oauth/model/response/integral/CouponUseResponse.java
  16. 6 0
      src/main/java/com/dk/oauth/model/response/integral/IntegralShareResponse.java
  17. 18 2
      src/main/java/com/dk/oauth/scheduled/UserInfoPublicOpenIdScheduled.java
  18. 30 10
      src/main/java/com/dk/oauth/service/impl/CompanyServiceImpl.java
  19. 15 1
      src/main/java/com/dk/oauth/service/integral/CouponReceiveService.java
  20. 8 4
      src/main/java/com/dk/oauth/service/integral/CouponSendService.java
  21. 13 6
      src/main/java/com/dk/oauth/service/integral/CouponUseService.java
  22. 179 143
      src/main/java/com/dk/oauth/service/integral/IntegralShareService.java
  23. 61 1
      src/main/java/com/dk/oauth/service/wxapi/basic/WechatPayService.java
  24. 5 0
      src/main/resources/mapper/TradeMapper.xml

+ 22 - 0
src/main/java/com/dk/oauth/controller/integral/IntegralShareController.java

@@ -76,4 +76,26 @@ public class IntegralShareController{
         return integralShareService.selectHistoryRecord(integralShareQuery);
         return integralShareService.selectHistoryRecord(integralShareQuery);
     }
     }
 
 
+
+    /**
+     * @desc   : 当日积分分享数
+     * @date   : 2024/8/1 10:13
+     * @author : 刘尧
+     */
+    @ApiOperation(value = "当日积分分享数", notes = "当日积分分享数")
+    @PostMapping({"select_share_number"})
+    public ResponseResultVO<?> selectShareNumber(@RequestBody IntegralShareQuery integralShareQuery ) {
+        return integralShareService.selectShareNumber(integralShareQuery);
+    }
+
+    /**
+     * @desc   : 当日积分邀请明细
+     * @date   : 2024/8/1 10:36
+     * @author : 刘尧
+     */
+    @ApiOperation(value = "当日积分邀请明细", notes = "当日积分邀请明细")
+    @PostMapping({"select_share_item"})
+    public ResponseResultVO<?> selectShareItem(@RequestBody IntegralShareQuery integralShareQuery ) {
+        return integralShareService.selectShareItem(integralShareQuery);
+    }
 }
 }

+ 14 - 1
src/main/java/com/dk/oauth/entity/CompanyVO.java

@@ -401,7 +401,20 @@ public class CompanyVO extends PageInfo<CompanyVO> implements Serializable {
     @ApiModelProperty(value = "分享的截止日期时间")
     @ApiModelProperty(value = "分享的截止日期时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime shareEndTime;
+    private LocalDateTime shareEndDate;
+
+    /**
+     * @desc : -功能包 授权 续费的优惠券使用ID
+     */
+    @ApiModelProperty(value = "优惠券使用ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String couponUseId;
+
+    /**
+     * 积分-功能包 授权 续费的使用积分
+     */
+    @ApiModelProperty(value = "积分")
+    private Integer integral;
 
 
 
 
     /*
     /*

+ 32 - 9
src/main/java/com/dk/oauth/entity/Trade.java

@@ -33,7 +33,7 @@ import java.util.List;
 @ExportTitle("企业")
 @ExportTitle("企业")
 @TableName(value = "t_cp_trade", schema = "dkic_a", autoResultMap = true)
 @TableName(value = "t_cp_trade", schema = "dkic_a", autoResultMap = true)
 @ApiModel(value = "实体类:交易记录", description = "表名:t_cp_trade")
 @ApiModel(value = "实体类:交易记录", description = "表名:t_cp_trade")
-public class Trade  extends PageInfo<Trade> implements Serializable {
+public class Trade extends PageInfo<Trade> implements Serializable {
     /**
     /**
      * 交易ID
      * 交易ID
      */
      */
@@ -114,7 +114,7 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private LocalDate buyEndDate;
     private LocalDate buyEndDate;
 
 
     /**
     /**
-     * @desc   : 购买功能
+     * @desc : 购买功能
      */
      */
     @ApiModelProperty(value = "购买功能")
     @ApiModelProperty(value = "购买功能")
     @Excel(name = "购买功能")
     @Excel(name = "购买功能")
@@ -147,7 +147,7 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private Integer extendDays;
     private Integer extendDays;
 
 
     /**
     /**
-     * @desc   : 东科用户 (null:自缴费)
+     * @desc : 东科用户 (null:自缴费)
      */
      */
     @ApiModelProperty(value = "东科用户")
     @ApiModelProperty(value = "东科用户")
     @Excel(name = "东科用户")
     @Excel(name = "东科用户")
@@ -155,12 +155,12 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private String dkUserId;
     private String dkUserId;
 
 
     /**
     /**
-     * @desc   : 交易状态
+     * @desc : 交易状态
      */
      */
     private String tradeStatus;
     private String tradeStatus;
 
 
     /**
     /**
-     * @desc   : 活动Id-要用数组的,因为续费有多个
+     * @desc : 活动Id-要用数组的,因为续费有多个
      */
      */
     @ApiModelProperty(value = "活动Id")
     @ApiModelProperty(value = "活动Id")
     @Excel(name = "活动Id")
     @Excel(name = "活动Id")
@@ -168,7 +168,7 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private String activityId;
     private String activityId;
 
 
     /**
     /**
-     * @desc   : 活动明细Id-要用数组的,因为续费有多个
+     * @desc : 活动明细Id-要用数组的,因为续费有多个
      */
      */
     @ApiModelProperty(value = "活动明细Id")
     @ApiModelProperty(value = "活动明细Id")
     @Excel(name = "活动明细Id")
     @Excel(name = "活动明细Id")
@@ -176,7 +176,7 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private String activityItemId;
     private String activityItemId;
 
 
     /**
     /**
-     * @desc   : 活动明细Id数组--续费时候是多个id
+     * @desc : 活动明细Id数组--续费时候是多个id
      */
      */
     @ApiModelProperty(value = "活动明细Id数组")
     @ApiModelProperty(value = "活动明细Id数组")
     @Excel(name = "活动明细Id数组")
     @Excel(name = "活动明细Id数组")
@@ -184,7 +184,7 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private List<String> activityItemIds;
     private List<String> activityItemIds;
 
 
     /**
     /**
-     * @desc   : 活动Id数组--续费时候是多个id
+     * @desc : 活动Id数组--续费时候是多个id
      */
      */
     @ApiModelProperty(value = "活动Id数组")
     @ApiModelProperty(value = "活动Id数组")
     @Excel(name = "活动Id数组")
     @Excel(name = "活动Id数组")
@@ -192,7 +192,30 @@ public class Trade  extends PageInfo<Trade> implements Serializable {
     private List<String> activityIds;
     private List<String> activityIds;
 
 
     /**
     /**
-     * @desc   : 交易描述
+     * @desc : 优惠券使用ID
+     */
+    @ApiModelProperty(value = "优惠券使用ID")
+    @Excel(name = "优惠券使用ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String couponUseId;
+
+    /**
+     * 积分
+     */
+    @Excel(name = "积分")
+    @ApiModelProperty(value = "积分")
+    private Integer integral;
+
+    /**
+     * 操作员工
+     */
+    @Excel(name = "操作员工")
+    @ApiModelProperty(value = "操作员工")
+    private String staffName;
+
+
+    /**
+     * @desc : 交易描述
      */
      */
     private String tradeDesc;
     private String tradeDesc;
 
 

+ 20 - 0
src/main/java/com/dk/oauth/entity/TradeResponse.java

@@ -168,6 +168,26 @@ public class TradeResponse   {
     @TableField(typeHandler = UuidListTypeHandler.class)
     @TableField(typeHandler = UuidListTypeHandler.class)
     private List<String> activityIds;
     private List<String> activityIds;
 
 
+    /**
+     * @desc : 优惠券使用ID
+     */
+    @ApiModelProperty(value = "优惠券使用ID")
+    @TableField(typeHandler = UuidTypeHandler.class)
+    private String couponUseId;
+
+    /**
+     * 积分
+     */
+    @ApiModelProperty(value = "积分")
+    private Integer integral;
+
+
+    /**
+     * 操作员工
+     */
+    @ApiModelProperty(value = "操作员工")
+    private String staffName;
+
     @ApiModelProperty(value = "交易类型")
     @ApiModelProperty(value = "交易类型")
     private String tradeTypeName;
     private String tradeTypeName;
     @ApiModelProperty(value = "交易状态")
     @ApiModelProperty(value = "交易状态")

+ 2 - 1
src/main/java/com/dk/oauth/mapper/integral/CouponSendMapper.xml

@@ -205,7 +205,8 @@
         from dkic_a.t_mst_coupon_send tmcs
         from dkic_a.t_mst_coupon_send tmcs
         left join dkic_a.t_mst_coupon tmc
         left join dkic_a.t_mst_coupon tmc
             on tmc.coupon_id = tmcs.coupon_id
             on tmc.coupon_id = tmcs.coupon_id
-        where tmcs.send_user = #{sendUser}::uuid
+        where tmcs.flg_valid
+        AND tmcs.send_user = #{sendUser}::uuid
         and ( select COUNT (1) from dkic_a.t_mst_coupon_receive tmcr
         and ( select COUNT (1) from dkic_a.t_mst_coupon_receive tmcr
         where tmcr.send_id = tmcs.send_id
         where tmcr.send_id = tmcs.send_id
         ) &lt; tmc.user_num
         ) &lt; tmc.user_num

+ 10 - 4
src/main/java/com/dk/oauth/mapper/integral/CouponUseMapper.xml

@@ -5,11 +5,13 @@
     <!-- 通用设置 -->
     <!-- 通用设置 -->
     <!-- 通用查询列 -->
     <!-- 通用查询列 -->
     <sql id="Base_Column_List">
     <sql id="Base_Column_List">
-        use_id, cp_id, send_id, coupon_id, use_valid_days, receive_date, use_date, coupon_status, receive_user, flg_valid
+        use_id, cp_id, send_id, coupon_id, use_valid_days, receive_date, use_date, coupon_status, receive_user,
+        flg_valid,use_staff
     </sql>
     </sql>
     <!-- 通用查询列Response -->
     <!-- 通用查询列Response -->
     <sql id="Base_Column_List_Response">
     <sql id="Base_Column_List_Response">
-        tmcu.use_id, tmcu.cp_id, tmcu.send_id, tmcu.coupon_id, tmcu.use_valid_days, tmcu.receive_date, tmcu.use_date, tmcu.coupon_status, tmcu.receive_user, tmcu.flg_valid
+        tmcu.use_id, tmcu.cp_id, tmcu.send_id, tmcu.coupon_id, tmcu.use_valid_days, tmcu.receive_date, tmcu.use_date,
+        tmcu.coupon_status, tmcu.receive_user, tmcu.flg_valid,tmcu.use_staff
     </sql>
     </sql>
 
 
     <!-- 通用查询映射结果 -->
     <!-- 通用查询映射结果 -->
@@ -24,6 +26,8 @@
         <result column="coupon_status" property="couponStatus"/>
         <result column="coupon_status" property="couponStatus"/>
         <result column="receive_user" property="receiveUser" typeHandler="UuidTypeHandler"/>
         <result column="receive_user" property="receiveUser" typeHandler="UuidTypeHandler"/>
         <result column="flg_valid" property="flgValid"/>
         <result column="flg_valid" property="flgValid"/>
+        <result column="use_staff" property="useStaff"/>
+
     </resultMap>
     </resultMap>
     <!-- 通用查询映射结果Response -->
     <!-- 通用查询映射结果Response -->
     <resultMap id="BaseResultMapResponse" type="com.dk.oauth.model.response.integral.CouponUseResponse">
     <resultMap id="BaseResultMapResponse" type="com.dk.oauth.model.response.integral.CouponUseResponse">
@@ -33,6 +37,7 @@
         <result column="cp_name" property="cpName"/>
         <result column="cp_name" property="cpName"/>
         <result column="coupon_id" property="couponId" typeHandler="UuidTypeHandler"/>
         <result column="coupon_id" property="couponId" typeHandler="UuidTypeHandler"/>
         <result column="coupon_name" property="couponName" />
         <result column="coupon_name" property="couponName" />
+        <result column="discount" property="discount"/>
         <result column="use_valid_days" property="useValidDays"/>
         <result column="use_valid_days" property="useValidDays"/>
         <result column="receive_date" property="receiveDate" typeHandler="TimestampTypeHandler"/>
         <result column="receive_date" property="receiveDate" typeHandler="TimestampTypeHandler"/>
         <result column="use_date" property="useDate" typeHandler="TimestampTypeHandler"/>
         <result column="use_date" property="useDate" typeHandler="TimestampTypeHandler"/>
@@ -94,6 +99,7 @@
         SELECT
         SELECT
         <include refid="Base_Column_List_Response"/>
         <include refid="Base_Column_List_Response"/>
         ,tmc.coupon_name
         ,tmc.coupon_name
+        ,tmc.discount
         ,tac.cp_name
         ,tac.cp_name
         FROM dkic_a.t_mst_coupon_use tmcu
         FROM dkic_a.t_mst_coupon_use tmcu
         left join dkic_a.t_mst_coupon tmc on tmc.coupon_id = tmcu.coupon_id
         left join dkic_a.t_mst_coupon tmc on tmc.coupon_id = tmcu.coupon_id
@@ -123,7 +129,7 @@
         FROM dkic_a.t_mst_coupon_use tmcu
         FROM dkic_a.t_mst_coupon_use tmcu
         left join dkic_a.t_mst_coupon tmc on tmc.coupon_id = tmcu.coupon_id
         left join dkic_a.t_mst_coupon tmc on tmc.coupon_id = tmcu.coupon_id
         left join dkic_a.t_a_company tac on tac.cp_id = tmcu.cp_id
         left join dkic_a.t_a_company tac on tac.cp_id = tmcu.cp_id
-        WHERE use_id = #{id}
+        WHERE use_id = #{id}::uuid
     </select>
     </select>
 
 
     <!-- 根据主键锁定表t_mst_coupon_use的一行数据 -->
     <!-- 根据主键锁定表t_mst_coupon_use的一行数据 -->
@@ -131,7 +137,7 @@
         SELECT
         SELECT
         <include refid="Base_Column_List"/>
         <include refid="Base_Column_List"/>
         FROM dkic_a.t_mst_coupon_use
         FROM dkic_a.t_mst_coupon_use
-        WHERE use_id = #{useId}
+        WHERE use_id = #{useId}::uuid
         for update
         for update
     </select>
     </select>
 
 

+ 1 - 1
src/main/java/com/dk/oauth/mapper/integral/IntegralItemMapper.xml

@@ -113,7 +113,7 @@
         left join dkic_a.t_a_company tac on tac.cp_id = tmii.cp_id
         left join dkic_a.t_a_company tac on tac.cp_id = tmii.cp_id
         left join dkic_a.t_a_company tacf on tacf.cp_id = tmii.cp_id
         left join dkic_a.t_a_company tacf on tacf.cp_id = tmii.cp_id
         <include refid="Condition"/>
         <include refid="Condition"/>
-        order by tmii.acc_date desc
+        order by tmii.acc_date desc, tmii.user_id
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
             limit #{end} offset #{start}
             limit #{end} offset #{start}
         </if>
         </if>

+ 15 - 0
src/main/java/com/dk/oauth/mapper/integral/IntegralShareMapper.java

@@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
 *  积分分享 Mapper
 *  积分分享 Mapper
@@ -45,5 +46,19 @@ public interface IntegralShareMapper extends BaseMapper<IntegralShare>{
      */
      */
     List<IntegralShareResponse> selectHistoryRecordByCond(IntegralShareQuery integralShareQuery);
     List<IntegralShareResponse> selectHistoryRecordByCond(IntegralShareQuery integralShareQuery);
 
 
+
+    /**
+     * @desc   : 当日积分分享数
+     * @date   : 2024/8/1 10:13
+     * @author : 刘尧
+     */
+    Long selectShareNumber(IntegralShareQuery integralShareQuery);
+
+    /**
+     * @desc   : 当日积分邀请明细
+     * @date   : 2024/8/1 10:36
+     * @author : 刘尧
+     */
+    Map<String, Object> selectShareItem(IntegralShareQuery integralShareQuery);
 }
 }
 
 

+ 55 - 1
src/main/java/com/dk/oauth/mapper/integral/IntegralShareMapper.xml

@@ -60,7 +60,7 @@
                 AND tmis.flg_valid = #{flgValid}
                 AND tmis.flg_valid = #{flgValid}
             </if>
             </if>
             <if test="shareDateFlag != null and shareDateFlag ">
             <if test="shareDateFlag != null and shareDateFlag ">
-                 AND tmis.share_date >= NOW() - INTERVAL '1 DAY'
+                 AND tmis.end_date >= NOW()
             </if>
             </if>
             <if test="integralType != null and integralType != ''">
             <if test="integralType != null and integralType != ''">
                 AND tmis.integral_type = #{integralType}
                 AND tmis.integral_type = #{integralType}
@@ -175,4 +175,58 @@
         </if>
         </if>
     </select>
     </select>
 
 
+    <select id="selectShareNumber" resultType="java.lang.Long">
+        SELECT COUNT(1)
+        FROM dkic_a.t_mst_integral_share tmis
+        <where>
+            <if test="cpId != null and cpId != ''">
+                AND tmis.cp_id = #{cpId}
+            </if>
+            <if test="tacticId != null and tacticId != ''">
+                AND tmis.tactic_id = #{tacticId}::uuid
+            </if>
+            <if test="userId != null and userId != ''">
+                AND tmis.user_id = #{userId}::uuid
+            </if>
+            <if test="shareDate != null">
+                AND tmis.share_date = #{shareDate}
+            </if>
+            <if test="endDate != null">
+                AND tmis.end_date = #{endDate}
+            </if>
+            <if test="flgValid != null">
+                AND tmis.flg_valid = #{flgValid}
+            </if>
+            <if test="shareDateFlag != null and shareDateFlag ">
+                AND tmis.share_date >= NOW() - INTERVAL '1 DAY'
+            </if>
+            <if test="integralType != null and integralType != ''">
+                AND tmis.integral_type = #{integralType}
+            </if>
+            AND tmis.end_date &gt; now()
+        </where>
+    </select>
+
+    <!-- 当日积分邀请明细  -->
+    <select id="selectShareItem" resultType="java.util.Map">
+        SELECT
+            tmis.share_id as "shareId",
+            tmis.cp_id as "cpId",
+            tmis.user_id as "userId",
+            tmis.tactic_id as "tacticId",
+            tmis.integral_type as "integralType",
+            tmis.share_date as "sharDate",
+            tmis.end_date as "endDate",
+            now() as "nowDate"
+        FROM dkic_a.t_mst_integral_share tmis
+        WHERE tmis.flg_valid
+        AND tmis.cp_id = #{cpId}
+        AND tmis.integral_type = #{integralType}
+        AND tmis.tactic_id = #{tacticId}::uuid
+        AND tmis.user_id = #{userId}::uuid
+        AND tmis.end_date > now()
+        ORDER BY tmis.share_date desc
+        limit 1
+    </select>
+
 </mapper>
 </mapper>

+ 8 - 0
src/main/java/com/dk/oauth/model/VO/integral/CouponReceiveVO.java

@@ -70,6 +70,14 @@ public class CouponReceiveVO  {
 
 
 
 
     /**
     /**
+     * 助力链接发送人Id
+     */
+    @Excel(name = "助力链接发送人Id")
+    @ApiModelProperty(value = "助力链接发送人Id")
+    private String userIdForm;
+
+
+    /**
      * 助力日期
      * 助力日期
      */
      */
     @Excel(name = "助力日期")
     @Excel(name = "助力日期")

+ 19 - 4
src/main/java/com/dk/oauth/model/VO/integral/CouponUseVO.java

@@ -19,6 +19,7 @@ import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
 /**
 /**
@@ -77,9 +78,9 @@ public class CouponUseVO{
      */
      */
     @Excel(name = "获取日期")
     @Excel(name = "获取日期")
     @ApiModelProperty(value = "获取日期")
     @ApiModelProperty(value = "获取日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime receiveDate;
+    private LocalDate receiveDate;
 
 
 
 
     /**
     /**
@@ -87,9 +88,9 @@ public class CouponUseVO{
      */
      */
     @Excel(name = "核销日期")
     @Excel(name = "核销日期")
     @ApiModelProperty(value = "核销日期")
     @ApiModelProperty(value = "核销日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime useDate;
+    private LocalDate useDate;
 
 
 
 
     /**
     /**
@@ -108,6 +109,20 @@ public class CouponUseVO{
     @TableField(typeHandler = UuidTypeHandler.class)
     @TableField(typeHandler = UuidTypeHandler.class)
     private String receiveUser;
     private String receiveUser;
 
 
+    /**
+     * 使用员工
+     */
+    @Excel(name = "使用员工")
+    @ApiModelProperty(value = "使用员工")
+    private String useStaff;
+
+    /**
+     * 积分
+     */
+    @Excel(name = "积分")
+    @ApiModelProperty(value = "积分")
+    private Integer integral;
+
 
 
     /**
     /**
      * 有效标识 (1:正常 0:停用)
      * 有效标识 (1:正常 0:停用)

+ 21 - 4
src/main/java/com/dk/oauth/model/pojo/integral/CouponUse.java

@@ -17,6 +17,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 
 
+import java.time.LocalDate;
 import java.util.List;
 import java.util.List;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
@@ -83,9 +84,9 @@ public class CouponUse extends PageInfo<CouponUse> implements Serializable {
      */
      */
     @Excel(name = "获取日期")
     @Excel(name = "获取日期")
     @ApiModelProperty(value = "获取日期")
     @ApiModelProperty(value = "获取日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime receiveDate;
+    private LocalDate receiveDate;
 
 
 
 
     /**
     /**
@@ -93,9 +94,9 @@ public class CouponUse extends PageInfo<CouponUse> implements Serializable {
      */
      */
     @Excel(name = "核销日期")
     @Excel(name = "核销日期")
     @ApiModelProperty(value = "核销日期")
     @ApiModelProperty(value = "核销日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime useDate;
+    private LocalDate useDate;
 
 
 
 
     /**
     /**
@@ -116,6 +117,22 @@ public class CouponUse extends PageInfo<CouponUse> implements Serializable {
 
 
 
 
     /**
     /**
+     * 使用员工
+     */
+    @Excel(name = "使用员工")
+    @ApiModelProperty(value = "使用员工")
+    private String useStaff;
+
+    /**
+     * 积分
+     */
+    @Excel(name = "积分")
+    @ApiModelProperty(value = "积分")
+    private Integer integral;
+
+
+
+    /**
      * 有效标识 (1:正常 0:停用)
      * 有效标识 (1:正常 0:停用)
      */
      */
     @Excel(name = "有效标识 (1:正常 0:停用)")
     @Excel(name = "有效标识 (1:正常 0:停用)")

+ 7 - 0
src/main/java/com/dk/oauth/model/pojo/integral/IntegralShare.java

@@ -114,6 +114,13 @@ public class IntegralShare extends PageInfo<IntegralShare> implements Serializab
     @ApiModelProperty(value = "积分类型 (【系统字典】注册;签到;分享;使用)")
     @ApiModelProperty(value = "积分类型 (【系统字典】注册;签到;分享;使用)")
     private String integralType;
     private String integralType;
 
 
+    /**
+     * 系统当前时间
+     */
+    @ApiModelProperty(value = "系统当前时间")
+    @TableField(exist = false)
+    private String nowTime;
+
 
 
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 

+ 19 - 4
src/main/java/com/dk/oauth/model/query/integral/CouponUseQuery.java

@@ -10,6 +10,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
 
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
 /**
 /**
@@ -68,9 +69,9 @@ public class CouponUseQuery extends PageInfo<CouponUseQuery>  {
      */
      */
     @Excel(name = "获取日期")
     @Excel(name = "获取日期")
     @ApiModelProperty(value = "获取日期")
     @ApiModelProperty(value = "获取日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime receiveDate;
+    private LocalDate receiveDate;
 
 
 
 
     /**
     /**
@@ -78,9 +79,9 @@ public class CouponUseQuery extends PageInfo<CouponUseQuery>  {
      */
      */
     @Excel(name = "核销日期")
     @Excel(name = "核销日期")
     @ApiModelProperty(value = "核销日期")
     @ApiModelProperty(value = "核销日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime useDate;
+    private LocalDate useDate;
 
 
 
 
     /**
     /**
@@ -99,6 +100,20 @@ public class CouponUseQuery extends PageInfo<CouponUseQuery>  {
     @TableField(typeHandler = UuidTypeHandler.class)
     @TableField(typeHandler = UuidTypeHandler.class)
     private String receiveUser;
     private String receiveUser;
 
 
+    /**
+     * 使用员工
+     */
+    @Excel(name = "使用员工")
+    @ApiModelProperty(value = "使用员工")
+    private String useStaff;
+
+    /**
+     * 积分
+     */
+    @Excel(name = "积分")
+    @ApiModelProperty(value = "积分")
+    private Integer integral;
+
 
 
     /**
     /**
      * 有效标识 (1:正常 0:停用)
      * 有效标识 (1:正常 0:停用)

+ 26 - 4
src/main/java/com/dk/oauth/model/response/integral/CouponUseResponse.java

@@ -17,6 +17,8 @@ import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 
 
 /**
 /**
@@ -77,9 +79,9 @@ public class CouponUseResponse {
      */
      */
     @Excel(name = "获取日期")
     @Excel(name = "获取日期")
     @ApiModelProperty(value = "获取日期")
     @ApiModelProperty(value = "获取日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime receiveDate;
+    private LocalDate receiveDate;
 
 
 
 
     /**
     /**
@@ -87,9 +89,9 @@ public class CouponUseResponse {
      */
      */
     @Excel(name = "核销日期")
     @Excel(name = "核销日期")
     @ApiModelProperty(value = "核销日期")
     @ApiModelProperty(value = "核销日期")
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @TableField(typeHandler = TimestampTypeHandler.class)
     @TableField(typeHandler = TimestampTypeHandler.class)
-    private LocalDateTime useDate;
+    private LocalDate useDate;
 
 
 
 
     /**
     /**
@@ -108,6 +110,20 @@ public class CouponUseResponse {
     @TableField(typeHandler = UuidTypeHandler.class)
     @TableField(typeHandler = UuidTypeHandler.class)
     private String receiveUser;
     private String receiveUser;
 
 
+    /**
+     * 使用员工
+     */
+    @Excel(name = "使用员工")
+    @ApiModelProperty(value = "使用员工")
+    private String useStaff;
+
+    /**
+     * 积分
+     */
+    @Excel(name = "积分")
+    @ApiModelProperty(value = "积分")
+    private Integer integral;
+
 
 
     /**
     /**
      * 有效标识 (1:正常 0:停用)
      * 有效标识 (1:正常 0:停用)
@@ -135,6 +151,12 @@ public class CouponUseResponse {
     @ApiModelProperty(value = "优惠券名称")
     @ApiModelProperty(value = "优惠券名称")
     private String couponName;
     private String couponName;
 
 
+    /**
+     * 折扣
+     */
+    @ApiModelProperty(value = "折扣")
+    private BigDecimal discount;
+
 
 
     private static final long serialVersionUID = 1L;
     private static final long serialVersionUID = 1L;
 
 

+ 6 - 0
src/main/java/com/dk/oauth/model/response/integral/IntegralShareResponse.java

@@ -98,6 +98,12 @@ public class IntegralShareResponse {
     @ApiModelProperty(value = "积分类型 (【系统字典】注册;签到;分享;使用)")
     @ApiModelProperty(value = "积分类型 (【系统字典】注册;签到;分享;使用)")
     private String integralType;
     private String integralType;
 
 
+    /**
+     * 系统当前时间
+     */
+    @Excel(name = "系统当前时间")
+    @ApiModelProperty(value = "系统当前时间")
+    private String nowDate;
 
 
     /*
     /*
      * 相关属性
      * 相关属性

+ 18 - 2
src/main/java/com/dk/oauth/scheduled/UserInfoPublicOpenIdScheduled.java

@@ -2,6 +2,7 @@ package com.dk.oauth.scheduled;
 
 
 import com.dk.oauth.service.IPublicOpenUnionService;
 import com.dk.oauth.service.IPublicOpenUnionService;
 import com.dk.oauth.service.impl.PublicOpenUnionService;
 import com.dk.oauth.service.impl.PublicOpenUnionService;
+import com.dk.oauth.service.integral.CouponUseService;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -18,15 +19,30 @@ public class UserInfoPublicOpenIdScheduled {
     @Autowired
     @Autowired
     IPublicOpenUnionService service;
     IPublicOpenUnionService service;
 
 
+    @Autowired
+    private CouponUseService couponUseService;
+
     // 添加定时任务 每天凌晨 1 点执行一次
     // 添加定时任务 每天凌晨 1 点执行一次
-    @Scheduled(cron = "0 0 1 * * ?")
+//    @Scheduled(cron = "0 0 1 * * ?")
     public void updateUserPublicOpenIds(){
     public void updateUserPublicOpenIds(){
         log.info("准备获取微信公账号的openid");
         log.info("准备获取微信公账号的openid");
         try {
         try {
-            service.updateUserPublicOpenIds();
+//             service.updateUserPublicOpenIds();
         }catch (Exception e){
         }catch (Exception e){
             log.info("获取微信公账号的openid异常" + e.getMessage());
             log.info("获取微信公账号的openid异常" + e.getMessage());
         }
         }
         log.info("准备获取微信公账号的openid完成");
         log.info("准备获取微信公账号的openid完成");
     }
     }
+
+    // 添加定时任务 每天凌晨 1 点执行一次 检索优惠券状态
+    @Scheduled(cron = "0 0 1 * * ?")
+    public void retrievalCouponStatus(){
+        log.info("检索优惠券状态");
+        try {
+             couponUseService.retrievalCouponStatus();
+        }catch (Exception e){
+            log.info("检索优惠券状态异常" + e.getMessage());
+        }
+        log.info("检索优惠券状态完成");
+    }
 }
 }

+ 30 - 10
src/main/java/com/dk/oauth/service/impl/CompanyServiceImpl.java

@@ -27,10 +27,13 @@ import com.dk.oauth.model.pojo.integral.Integral;
 import com.dk.oauth.model.pojo.integral.IntegralItem;
 import com.dk.oauth.model.pojo.integral.IntegralItem;
 import com.dk.oauth.model.pojo.integral.IntegralTactic;
 import com.dk.oauth.model.pojo.integral.IntegralTactic;
 import com.dk.oauth.model.query.integral.IntegralQuery;
 import com.dk.oauth.model.query.integral.IntegralQuery;
+import com.dk.oauth.model.query.integral.IntegralTacticQuery;
 import com.dk.oauth.model.response.integral.IntegralResponse;
 import com.dk.oauth.model.response.integral.IntegralResponse;
+import com.dk.oauth.model.response.integral.IntegralTacticResponse;
 import com.dk.oauth.query.*;
 import com.dk.oauth.query.*;
 import com.dk.oauth.response.*;
 import com.dk.oauth.response.*;
 import com.dk.oauth.service.ICompanyService;
 import com.dk.oauth.service.ICompanyService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
@@ -54,6 +57,7 @@ import java.util.Map;
  * @since 2023-07-01 09:41:05
  * @since 2023-07-01 09:41:05
  */
  */
 @Service("companyService")
 @Service("companyService")
+@Slf4j
 public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements ICompanyService {
 public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements ICompanyService {
     @Resource
     @Resource
     CompanyMapper companyMapper;
     CompanyMapper companyMapper;
@@ -268,12 +272,14 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         UserLogin userLogin = userMapper.selectById(companyVO.getOwner());
         UserLogin userLogin = userMapper.selectById(companyVO.getOwner());
 
 
         //  来源公司Id 分享的截止日期时间 是否超过 当前的日期时间 说明过期了,过期不加积分 240724
         //  来源公司Id 分享的截止日期时间 是否超过 当前的日期时间 说明过期了,过期不加积分 240724
-        if (companyVO.getCpIdFrom() != null && companyVO.getShareEndTime() != null
-                && companyVO.getShareEndTime().compareTo(LocalDateTime.now()) > 0) {
+        log.info("邀请分享的记录:原公司id:{},截止日期:{},当前时间:{},", companyVO.getCpIdFrom(), companyVO.getShareEndDate(), LocalDateTime.now());
+        if (companyVO.getCpIdFrom() != null && companyVO.getShareEndDate() != null
+                && companyVO.getShareEndDate().compareTo(LocalDateTime.now()) > 0) {
             // 积分策略 share_reg_integral	 分享注册积分
             // 积分策略 share_reg_integral	 分享注册积分
-            List<IntegralTactic> integralTactics = integralTacticMapper.selectByCond(new IntegralTactic());
-            if (integralTactics != null && integralTactics.size() > 0) {
-                IntegralTactic integralTactic = integralTactics.get(0);
+            List<IntegralTacticResponse> integralTacticResponses = integralTacticMapper.selectByCond(new IntegralTacticQuery());
+            log.info("积分策略:{},", integralTacticResponses);
+            if (integralTacticResponses != null && integralTacticResponses.size() > 0) {
+                IntegralTacticResponse integralTactic = integralTacticResponses.get(0);
                 // 积分明细 新公司的
                 // 积分明细 新公司的
                 IntegralItem integralItem = new IntegralItem();
                 IntegralItem integralItem = new IntegralItem();
                 integralItem.setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_REGISTER.getName());
                 integralItem.setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_REGISTER.getName());
@@ -294,13 +300,13 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                 integralQuery.setFlgValid(true);
                 integralQuery.setFlgValid(true);
                 List<IntegralResponse> integralResponses = integralMapper.selectByCond(integralQuery);
                 List<IntegralResponse> integralResponses = integralMapper.selectByCond(integralQuery);
                 if (integralResponses != null && integralResponses.size() > 0) {
                 if (integralResponses != null && integralResponses.size() > 0) {
-                    integral.setIntegral(integralTactic.getRegIntegral()  );
+                    integral.setIntegral(integralTactic.getRegIntegral());
                     integralMapper.updateById(integral);
                     integralMapper.updateById(integral);
-                }else{
+                } else {
                     integral.setIntegral(integralTactic.getRegIntegral());
                     integral.setIntegral(integralTactic.getRegIntegral());
                     integralMapper.insert(integral);
                     integralMapper.insert(integral);
                 }
                 }
-
+                log.info("积分 新公司的:{},", integral);
                 // 积分明细 来源公司公司的
                 // 积分明细 来源公司公司的
                 integralItem = new IntegralItem();
                 integralItem = new IntegralItem();
 //                邀请的注册
 //                邀请的注册
@@ -323,10 +329,11 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
                 if (integralResponses != null && integralResponses.size() > 0) {
                 if (integralResponses != null && integralResponses.size() > 0) {
                     integral.setIntegral(integralTactic.getShareRegIntegral());
                     integral.setIntegral(integralTactic.getShareRegIntegral());
                     integralMapper.updateById(integral);
                     integralMapper.updateById(integral);
-                }else{
+                } else {
                     integral.setIntegral(integralTactic.getShareRegIntegral());
                     integral.setIntegral(integralTactic.getShareRegIntegral());
                     integralMapper.insert(integral);
                     integralMapper.insert(integral);
                 }
                 }
+                log.info("积分 来源公司公司的:{},", integral);
             }
             }
         }
         }
 
 
@@ -354,6 +361,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
             trade.setExtendDays(companyVO.getExtendDays());
             trade.setExtendDays(companyVO.getExtendDays());
             trade.setBuyGradeCode(companyVO.getGradeCode());
             trade.setBuyGradeCode(companyVO.getGradeCode());
             trade.setTradeStatus(Constant.TradeStatus.INEFFECTIVE.getName());
             trade.setTradeStatus(Constant.TradeStatus.INEFFECTIVE.getName());
+            trade.setStaffName(userLogin.getUserPhone());
             tradeMapper.insert(trade);
             tradeMapper.insert(trade);
         }
         }
 
 
@@ -599,6 +607,10 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         trade.setActivityItemId(companyVO.getActivityItemId());
         trade.setActivityItemId(companyVO.getActivityItemId());
         trade.setActivityIds(companyVO.getActivityIds());
         trade.setActivityIds(companyVO.getActivityIds());
         trade.setActivityItemIds(companyVO.getActivityItemIds());
         trade.setActivityItemIds(companyVO.getActivityItemIds());
+        // 前台传入 暂时用这个字段
+        trade.setStaffName(companyVO.getStaffNameFrom());
+        trade.setIntegral(companyVO.getIntegral() != null ? companyVO.getIntegral() : 0);
+        trade.setCouponUseId(companyVO.getCouponUseId());
         tradeMapper.insert(trade);
         tradeMapper.insert(trade);
 
 
         return ResponseResultUtil.success(trade);
         return ResponseResultUtil.success(trade);
@@ -643,6 +655,10 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
         trade.setActivityIds(companyVO.getActivityIds());
         trade.setActivityIds(companyVO.getActivityIds());
         trade.setActivityItemIds(companyVO.getActivityItemIds());
         trade.setActivityItemIds(companyVO.getActivityItemIds());
         trade.setTradeDesc(companyVO.getRemarks());
         trade.setTradeDesc(companyVO.getRemarks());
+        // 前台传入 暂时用这个字段
+        trade.setStaffName(companyVO.getStaffNameFrom());
+        trade.setIntegral(companyVO.getIntegral() != null ? companyVO.getIntegral() : 0);
+        trade.setCouponUseId(companyVO.getCouponUseId());
         tradeMapper.insert(trade);
         tradeMapper.insert(trade);
         return ResponseResultUtil.success(trade);
         return ResponseResultUtil.success(trade);
     }
     }
@@ -718,7 +734,11 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
      */
      */
     public ResponseResultVO<Map<String, Object>> getCurrentDate(Map<String, Object> param) {
     public ResponseResultVO<Map<String, Object>> getCurrentDate(Map<String, Object> param) {
         Map<String, Object> res = new HashMap<>();
         Map<String, Object> res = new HashMap<>();
-        res.put("currentDate", LocalDate.now());
+        if (param.get("flgTime") != null) {
+            res.put("currentDate", LocalDateTime.now());
+        } else {
+            res.put("currentDate", LocalDate.now());
+        }
         return ResponseResultUtil.success(res);
         return ResponseResultUtil.success(res);
     }
     }
 }
 }

+ 15 - 1
src/main/java/com/dk/oauth/service/integral/CouponReceiveService.java

@@ -7,7 +7,9 @@ import com.dk.common.infrastructure.enums.ErrorCodeEnum;
 import com.dk.common.model.pojo.PageList;
 import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.common.response.ResponseResultVO;
+import com.dk.oauth.entity.UserLogin;
 import com.dk.oauth.infrastructure.convert.integral.CouponReceiveConvert;
 import com.dk.oauth.infrastructure.convert.integral.CouponReceiveConvert;
+import com.dk.oauth.mapper.UserMapper;
 import com.dk.oauth.mapper.integral.CouponMapper;
 import com.dk.oauth.mapper.integral.CouponMapper;
 import com.dk.oauth.mapper.integral.CouponSendMapper;
 import com.dk.oauth.mapper.integral.CouponSendMapper;
 import com.dk.oauth.mapper.integral.CouponUseMapper;
 import com.dk.oauth.mapper.integral.CouponUseMapper;
@@ -59,6 +61,9 @@ public class CouponReceiveService extends BaseService<CouponReceive> {
     //优惠券
     //优惠券
     private CouponMapper couponMapper;
     private CouponMapper couponMapper;
 
 
+    @Autowired
+    private UserMapper userMapper;
+
 
 
     /**
     /**
      * @desc : 条件查询
      * @desc : 条件查询
@@ -78,6 +83,15 @@ public class CouponReceiveService extends BaseService<CouponReceive> {
      */
      */
     @Transactional(rollbackFor = {Exception.class})
     @Transactional(rollbackFor = {Exception.class})
     public ResponseResultVO<?> insert(CouponReceiveVO couponReceiveVO) {
     public ResponseResultVO<?> insert(CouponReceiveVO couponReceiveVO) {
+
+        // 限制助力链接发出本人不可给自己助力  2024/08/01 刘尧
+        UserLogin userLogin = userMapper.selectById(couponReceiveVO.getUserIdForm());
+
+        if (userLogin.getUserWxid().equals(couponReceiveVO.getUserWxid())){
+            //助力链接发出者不能为自己助力
+            throw new BaseBusinessException(ErrorCodeEnum.USER_POWER_OWN.getCode(), ErrorCodeEnum.USER_POWER_OWN.getMessage());
+        }
+
         //region 查询7日内已进行过优惠券助力
         //region 查询7日内已进行过优惠券助力
         List<CouponReceiveResponse> couponReceiveResponses = couponReceiveMapper.selectByCond(new CouponReceiveQuery().setUserWxid(couponReceiveVO.getUserWxid()).setAssistFlag(true));
         List<CouponReceiveResponse> couponReceiveResponses = couponReceiveMapper.selectByCond(new CouponReceiveQuery().setUserWxid(couponReceiveVO.getUserWxid()).setAssistFlag(true));
         if (couponReceiveResponses != null && couponReceiveResponses.size() > 0) {
         if (couponReceiveResponses != null && couponReceiveResponses.size() > 0) {
@@ -124,7 +138,7 @@ public class CouponReceiveService extends BaseService<CouponReceive> {
                     CouponResponse couponResponse = couponMapper.selectById(couponSendResponse.getCouponId());
                     CouponResponse couponResponse = couponMapper.selectById(couponSendResponse.getCouponId());
                     couponUse.setUseValidDays(couponResponse.getUseValidDays());
                     couponUse.setUseValidDays(couponResponse.getUseValidDays());
                     //获取日期
                     //获取日期
-                    couponUse.setReceiveDate(LocalDateTime.now());
+                    couponUse.setReceiveDate(LocalDate.now());
                     //优惠券状态
                     //优惠券状态
                     couponUse.setCouponStatus(Constant.couponStatus.WEI_SHI_YONG.getName());
                     couponUse.setCouponStatus(Constant.couponStatus.WEI_SHI_YONG.getName());
                     //获取用户
                     //获取用户

+ 8 - 4
src/main/java/com/dk/oauth/service/integral/CouponSendService.java

@@ -29,6 +29,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.UUID;
 
 
 @Service
 @Service
 @Transactional
 @Transactional
@@ -91,13 +92,13 @@ public class CouponSendService extends BaseService<CouponSend> {
             return ResponseResultUtil.success(map);
             return ResponseResultUtil.success(map);
         } else {
         } else {
             //region 新建
             //region 新建
-            this.insertCouponSend(couponSendVO);
+            CouponSend couponSend = this.insertCouponSend(couponSendVO);
             //endregion
             //endregion
             // 返回请求数据时系统的当前时间
             // 返回请求数据时系统的当前时间
             LocalDateTime now = LocalDateTime.now();
             LocalDateTime now = LocalDateTime.now();
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-            couponSendVO.setNowTime(now.format(formatter));
-            return ResponseResultUtil.success(couponSendVO);
+            couponSend.setNowTime(now.format(formatter));
+            return ResponseResultUtil.success(couponSend);
         }
         }
 
 
 //        20240801
 //        20240801
@@ -169,7 +170,7 @@ public class CouponSendService extends BaseService<CouponSend> {
      * @author : 寇珊珊
      * @author : 寇珊珊
      */
      */
     @Transactional(rollbackFor = {Exception.class})
     @Transactional(rollbackFor = {Exception.class})
-    public void insertCouponSend(CouponSendVO couponSendVO) {
+    public CouponSend insertCouponSend(CouponSendVO couponSendVO) {
         //查询优惠券
         //查询优惠券
         List<CouponResponse> couponResponses = couponMapper.selectByCond(new CouponQuery());
         List<CouponResponse> couponResponses = couponMapper.selectByCond(new CouponQuery());
         //发出时间
         //发出时间
@@ -178,7 +179,10 @@ public class CouponSendService extends BaseService<CouponSend> {
         Integer linkValidTimes = couponResponses.get(0).getLinkValidTimes();
         Integer linkValidTimes = couponResponses.get(0).getLinkValidTimes();
         couponSendVO.setEndDate(couponSendVO.getSendDate().plusHours(linkValidTimes));
         couponSendVO.setEndDate(couponSendVO.getSendDate().plusHours(linkValidTimes));
         CouponSend couponSend = couponSendConvert.convertToPo(couponSendVO);
         CouponSend couponSend = couponSendConvert.convertToPo(couponSendVO);
+        UUID uuid = UUID.randomUUID();
+        couponSend.setSendId(uuid.toString());
         couponSendMapper.insert(couponSend);
         couponSendMapper.insert(couponSend);
+        return couponSend;
     }
     }
 
 
     /**
     /**

+ 13 - 6
src/main/java/com/dk/oauth/service/integral/CouponUseService.java

@@ -20,15 +20,18 @@ import com.dk.oauth.model.query.integral.CouponReceiveQuery;
 import com.dk.oauth.model.query.integral.CouponUseQuery;
 import com.dk.oauth.model.query.integral.CouponUseQuery;
 import com.dk.oauth.model.response.integral.CouponReceiveResponse;
 import com.dk.oauth.model.response.integral.CouponReceiveResponse;
 import com.dk.oauth.model.response.integral.CouponUseResponse;
 import com.dk.oauth.model.response.integral.CouponUseResponse;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
 import java.time.ZoneOffset;
 import java.util.List;
 import java.util.List;
 import java.util.UUID;
 import java.util.UUID;
 
 
+@Slf4j
 @Service
 @Service
 @Transactional
 @Transactional
 public class CouponUseService extends BaseService<CouponUse> {
 public class CouponUseService extends BaseService<CouponUse> {
@@ -94,7 +97,7 @@ public class CouponUseService extends BaseService<CouponUse> {
                 //优惠券状态
                 //优惠券状态
                 couponUse.setCouponStatus(Constant.couponStatus.YI_SHI_YONG.getName());
                 couponUse.setCouponStatus(Constant.couponStatus.YI_SHI_YONG.getName());
                 //核销日期
                 //核销日期
-                couponUse.setUseDate(LocalDateTime.now());
+                couponUse.setUseDate(LocalDate.now());
                 //更新
                 //更新
                 couponUseMapper.update(couponUse,
                 couponUseMapper.update(couponUse,
                         new UpdateWrapper<CouponUse>().lambda()
                         new UpdateWrapper<CouponUse>().lambda()
@@ -118,15 +121,19 @@ public class CouponUseService extends BaseService<CouponUse> {
         //查询全部优惠券使用
         //查询全部优惠券使用
         List<CouponUseResponse> couponUseResponseList = couponUseMapper.selectByCond(new CouponUseQuery()
         List<CouponUseResponse> couponUseResponseList = couponUseMapper.selectByCond(new CouponUseQuery()
                 .setCouponStatus(Constant.couponStatus.WEI_SHI_YONG.getName()));
                 .setCouponStatus(Constant.couponStatus.WEI_SHI_YONG.getName()));
+        log.info("retrievalCouponStatus查询全部优惠券使用:{}",couponUseResponseList);
         //数据存在
         //数据存在
         if (couponUseResponseList != null && couponUseResponseList.size() > 0) {
         if (couponUseResponseList != null && couponUseResponseList.size() > 0) {
             for (CouponUseResponse couponUseResponse : couponUseResponseList) {
             for (CouponUseResponse couponUseResponse : couponUseResponseList) {
                 //过期时间
                 //过期时间
-                long beOverdueTime = couponUseResponse.getReceiveDate().plusDays(couponUseResponse.getUseValidDays()).toInstant(ZoneOffset.of("+8")).toEpochMilli();
+                LocalDate beOverdueTime = couponUseResponse.getReceiveDate().plusDays(couponUseResponse.getUseValidDays())
+                         ;
                 //当前时间
                 //当前时间
-                long nowTime = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
+//                long nowTime = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
+                LocalDate nowTime = LocalDate.now();
+                log.info("过期时间:{},当前时间:{}",beOverdueTime,nowTime);
                 //当前时间大于过期时间   优惠券已过期
                 //当前时间大于过期时间   优惠券已过期
-                if ((nowTime / 1000) > (beOverdueTime / 1000)) {
+                if (nowTime.compareTo(beOverdueTime) >= 0) {
                     //类型转换
                     //类型转换
                     CouponUse couponUse = new CouponUse();
                     CouponUse couponUse = new CouponUse();
                     //优惠券使用id
                     //优惠券使用id
@@ -134,15 +141,15 @@ public class CouponUseService extends BaseService<CouponUse> {
                     //优惠券状态
                     //优惠券状态
                     couponUse.setCouponStatus(Constant.couponStatus.YI_SHI_XIAO.getName());
                     couponUse.setCouponStatus(Constant.couponStatus.YI_SHI_XIAO.getName());
                     //核销日期
                     //核销日期
-                    couponUse.setUseDate(LocalDateTime.now());
+                    couponUse.setUseDate(LocalDate.now());
                     //更新
                     //更新
                     couponUseMapper.update(couponUse,
                     couponUseMapper.update(couponUse,
                             new UpdateWrapper<CouponUse>().lambda()
                             new UpdateWrapper<CouponUse>().lambda()
                                     .eq(CouponUse::getUseId, UUID.fromString(couponUse.getUseId()))
                                     .eq(CouponUse::getUseId, UUID.fromString(couponUse.getUseId()))
                     );
                     );
+                    log.info("couponUse数据:{}",couponUse);
                 }
                 }
             }
             }
-
         }
         }
         return ResponseResultUtil.success();
         return ResponseResultUtil.success();
     }
     }

+ 179 - 143
src/main/java/com/dk/oauth/service/integral/IntegralShareService.java

@@ -30,158 +30,194 @@ import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.List;
 
 
 @Service
 @Service
 @Transactional
 @Transactional
 public class IntegralShareService extends BaseService<IntegralShare> {
 public class IntegralShareService extends BaseService<IntegralShare> {
 
 
-	@Override
-	public BaseMapper<IntegralShare> getRepository() {
-		return integralShareMapper;
-	}
-
-	@Autowired
-	private IntegralShareMapper integralShareMapper;
-
-	@Autowired
-	//实体转换
-	private IntegralShareConvert integralShareConvert;
-
-	@Autowired
-	//积分策略
-	private IntegralTacticMapper integralTacticMapper;
-
-	@Autowired
-	private IntegralMapper integralMapper;
-	@Autowired
-	private IntegralItemMapper integralItemMapper;
-
-
-	/**
-	 * @desc   : 条件查询
-	 * @date   : 2024/7/24 15:47
-	 * @author : 寇珊珊
-	 */
-	@Pagination
-	public ResponseResultVO<PageList<IntegralShareResponse>> selectByCond(IntegralShareQuery integralShareQuery) {
-		return super.mergeListWithCount(integralShareQuery, integralShareMapper.selectByCond(integralShareQuery),
-				integralShareMapper.countByCond(integralShareQuery));
-	}
-
-	/**
-	 * @desc   : 根据id查询
-	 * @date   : 2024/7/26 8:55
-	 * @author : 寇珊珊
-	 */
-	public ResponseResultVO<?> selectById(Integer id) {
-		IntegralShareResponse integralShareResponse = integralShareMapper.selectById(id);
-		return ResponseResultUtil.success(integralShareResponse);
-	}
-
-	/**
-	 * @desc   : 新建
-	 * @date   : 2024/7/30 13:13
-	 * @author : 寇珊珊
-	 */
-	@Transactional(rollbackFor = {Exception.class})
-	public ResponseResultVO<?> insert(IntegralShareVO integralShareVO) {
-		//region  查询积分策略每日可分享次数
-		List<IntegralTacticResponse> integralTacticResponses = integralTacticMapper.selectByCond(new IntegralTacticQuery());
-		if(integralTacticResponses==null){
-			//积分策略不存在
-			throw new BaseBusinessException(ErrorCodeEnum.INTEGRAL_TACTIC_EXIST.getCode(), ErrorCodeEnum.INTEGRAL_TACTIC_EXIST.getMessage());
-		}
-		IntegralTacticResponse integralTactic = integralTacticResponses.get(0);
-		//每日分享次数
-		Integer shareDayNum = integralTacticResponses.get(0).getShareDayNum();
-		//endregion
-
-		//region 判断当前是积分分享还是积分邀请
-		if(Constant.IntegralType.INTEGRAL_TYPE_INVITE.getName().equals(integralShareVO.getIntegralType())){
-			//region 查询积分分享 当日已经分享的次数
-			Long shareSize = integralShareMapper.countByCond(new IntegralShareQuery()
-					.setCpId(integralShareVO.getCpId())
-					.setShareDateFlag(true)
-					.setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_INVITE.getName())
-			);
-
-			//积分策略可每日分享次数  是否等于 当日已经分享的次数
-			if(shareSize >0 ){
-				//当日已进行过邀请
-				return  ResponseResultUtil.success();
-			}
-			//endregion
-		}
-		//endregion
-
-		//region 分享
-		else{
-			//region 查询积分分享 当日已经分享的次数
-			Long shareSize = integralShareMapper.countByCond(new IntegralShareQuery()
-					.setCpId(integralShareVO.getCpId())
-					.setShareDateFlag(true)
-					.setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_SHARE.getName())
-			);
-			//积分策略可每日分享次数  是否等于 当日已经分享的次数
-			if(Long.valueOf(shareDayNum) == shareSize){
-				//当日已无可分享次数
-				throw new BaseBusinessException(ErrorCodeEnum.HERE_ARE_NO_MORE_SHAREABLE_TIMES_ON_THAT_DAY.getCode(), ErrorCodeEnum.HERE_ARE_NO_MORE_SHAREABLE_TIMES_ON_THAT_DAY.getMessage());
-			}
-
-			//
-			// 积分明细
-			IntegralItem integralItem = new IntegralItem();
-			integralItem.setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_REGISTER.getName());
-			integralItem.setIntegral(integralTactic.getShareIntegral());
-			integralItem.setCpId(integralShareVO.getCpId());
-			integralItem.setAccDate(LocalDateTime.now());
-			integralItem.setUserId(integralShareVO.getUserId());
-			integralItem.setStaffName(integralShareVO.getStaffName());
-			integralItemMapper.insert(integralItem);
-			// 积分 新公司的
-			Integral integral = new Integral();
-			integral.setCpId(integralShareVO.getCpId());
-			integral.setFlgValid(true);
-			IntegralQuery integralQuery = new IntegralQuery();
-			integralQuery.setCpId(integralShareVO.getCpId());
-			integralQuery.setFlgValid(true);
-			List<IntegralResponse> integralResponses = integralMapper.selectByCond(integralQuery);
-			if (integralResponses != null && integralResponses.size() > 0) {
-				integral.setIntegral(integralTactic.getShareIntegral()  );
-				integralMapper.updateById(integral);
-			}else{
-				integral.setIntegral(integralTactic.getShareIntegral());
-				integralMapper.insert(integral);
-			}
-
-			//endregion
-		}
-		//endregion
-
-		//region 新建
-		//分享时间
-		integralShareVO.setShareDate(LocalDateTime.now());
-		//截止时间
-		integralShareVO.setEndDate(LocalDateTime.now().plusDays(integralTacticResponses.get(0).getShareValidTimes()));
-		//实体转换
-		IntegralShare integralShare = integralShareConvert.convertToPo(integralShareVO);
-		//新建
-		integralShareMapper.insert(integralShare);
-		//endregion
-
-		return  ResponseResultUtil.success();
-	}
+    @Override
+    public BaseMapper<IntegralShare> getRepository() {
+        return integralShareMapper;
+    }
+
+    @Autowired
+    private IntegralShareMapper integralShareMapper;
+
+    @Autowired
+    //实体转换
+    private IntegralShareConvert integralShareConvert;
+
+    @Autowired
+    //积分策略
+    private IntegralTacticMapper integralTacticMapper;
+
+    @Autowired
+    private IntegralMapper integralMapper;
+    @Autowired
+    private IntegralItemMapper integralItemMapper;
+
+
+    /**
+     * @desc : 条件查询
+     * @date : 2024/7/24 15:47
+     * @author : 寇珊珊
+     */
+    @Pagination
+    public ResponseResultVO<PageList<IntegralShareResponse>> selectByCond(IntegralShareQuery integralShareQuery) {
+        return super.mergeListWithCount(integralShareQuery, integralShareMapper.selectByCond(integralShareQuery),
+                integralShareMapper.countByCond(integralShareQuery));
+    }
+
+    /**
+     * @desc : 根据id查询
+     * @date : 2024/7/26 8:55
+     * @author : 寇珊珊
+     */
+    public ResponseResultVO<?> selectById(Integer id) {
+        IntegralShareResponse integralShareResponse = integralShareMapper.selectById(id);
+        return ResponseResultUtil.success(integralShareResponse);
+    }
+
+    /**
+     * @desc : 新建
+     * @date : 2024/7/30 13:13
+     * @author : 寇珊珊
+     */
+    @Transactional(rollbackFor = {Exception.class})
+    public ResponseResultVO<?> insert(IntegralShareVO integralShareVO) {
+        //region  查询积分策略每日可分享次数
+        List<IntegralTacticResponse> integralTacticResponses = integralTacticMapper.selectByCond(new IntegralTacticQuery());
+        if (integralTacticResponses == null) {
+            //积分策略不存在
+            throw new BaseBusinessException(ErrorCodeEnum.INTEGRAL_TACTIC_EXIST.getCode(), ErrorCodeEnum.INTEGRAL_TACTIC_EXIST.getMessage());
+        }
+        IntegralTacticResponse integralTactic = integralTacticResponses.get(0);
+        //每日分享次数
+        Integer shareDayNum = integralTacticResponses.get(0).getShareDayNum();
+        //endregion
+
+        //region 判断当前是积分分享还是积分邀请
+        if (Constant.IntegralType.INTEGRAL_TYPE_INVITE.getName().equals(integralShareVO.getIntegralType())) {
+            IntegralShareQuery integralShareQuery = new IntegralShareQuery()
+                    .setCpId(integralShareVO.getCpId())
+                    .setUserId(integralShareVO.getUserId())
+                    .setShareDateFlag(true)
+                    .setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_INVITE.getName());
+            //region 查询积分分享 当日已经分享的次数
+//            Long shareSize = integralShareMapper.countByCond(integralShareQuery);
+            List<IntegralShareResponse> integralShareResponses = integralShareMapper.selectByCond(integralShareQuery);
+            //积分策略可每日分享次数  是否等于 当日已经分享的次数
+            if (integralShareResponses!=null && integralShareResponses.size() > 0) {
+                //当日已进行过邀请
+                IntegralShareResponse response = integralShareResponses.get(0);
+                LocalDateTime now = LocalDateTime.now();
+                DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                response.setNowDate(now.format(formatter));
+                return ResponseResultUtil.success(response);
+            }
+            //endregion
+        }
+        //endregion
+
+        //region 分享
+        else {
+            //region 查询积分分享 当日已经分享的次数
+            Long shareSize = integralShareMapper.countByCond(new IntegralShareQuery()
+                    .setCpId(integralShareVO.getCpId())
+                    .setUserId(integralShareVO.getUserId())
+                    .setShareDateFlag(true)
+                    .setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_SHARE.getName())
+            );
+            //积分策略可每日分享次数  是否等于 当日已经分享的次数
+            if (Long.valueOf(shareDayNum) == shareSize) {
+                //当日已无可分享次数
+                throw new BaseBusinessException(ErrorCodeEnum.HERE_ARE_NO_MORE_SHAREABLE_TIMES_ON_THAT_DAY.getCode(), ErrorCodeEnum.HERE_ARE_NO_MORE_SHAREABLE_TIMES_ON_THAT_DAY.getMessage());
+            }
+
+            //
+            // 积分明细
+            IntegralItem integralItem = new IntegralItem();
+            integralItem.setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_SHARE.getName());
+            integralItem.setIntegral(integralTactic.getShareIntegral());
+            integralItem.setCpId(integralShareVO.getCpId());
+            integralItem.setAccDate(LocalDateTime.now());
+            integralItem.setUserId(integralShareVO.getUserId());
+            integralItem.setStaffName(integralShareVO.getStaffName());
+            integralItemMapper.insert(integralItem);
+            // 积分 新公司的
+            Integral integral = new Integral();
+            integral.setCpId(integralShareVO.getCpId());
+            integral.setFlgValid(true);
+            IntegralQuery integralQuery = new IntegralQuery();
+            integralQuery.setCpId(integralShareVO.getCpId());
+            integralQuery.setFlgValid(true);
+            List<IntegralResponse> integralResponses = integralMapper.selectByCond(integralQuery);
+            if (integralResponses != null && integralResponses.size() > 0) {
+                integral.setIntegral(integralTactic.getShareIntegral());
+                integralMapper.updateById(integral);
+            } else {
+                integral.setIntegral(integralTactic.getShareIntegral());
+                integralMapper.insert(integral);
+            }
+
+            //endregion
+        }
+        //endregion
+
+        //region 新建
+        //分享时间
+        integralShareVO.setShareDate(LocalDateTime.now());
+        //截止时间
+        if (Constant.IntegralType.INTEGRAL_TYPE_INVITE.getName().equals(integralShareVO.getIntegralType())) {
+            integralShareVO.setEndDate(LocalDateTime.now().plusHours(integralTacticResponses.get(0).getShareValidTimes()));
+        } else {
+            // 获取当前日期时间
+            LocalDate currentDateTime = LocalDate.now();            // 设置时间为23点59分
+
+            integralShareVO.setEndDate(LocalDateTime.of(currentDateTime.getYear(), currentDateTime.getMonth().getValue(),
+                    currentDateTime.getDayOfMonth(), 23, 59, 59));
+        }
+        //实体转换
+        IntegralShare integralShare = integralShareConvert.convertToPo(integralShareVO);
+        //新建
+        integralShareMapper.insert(integralShare);
+        //endregion
+        LocalDateTime now = LocalDateTime.now();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        integralShare.setNowTime(now.format(formatter));
+        return ResponseResultUtil.success(integralShare);
+    }
+
+    /**
+     * @desc : 查询历史记录
+     * @date : 2024/7/24 15:47
+     * @author : 寇珊珊
+     */
+    @Pagination
+    public ResponseResultVO<PageList<IntegralShareResponse>> selectHistoryRecord(IntegralShareQuery integralShareQuery) {
+        return super.mergeListWithCount(integralShareQuery, integralShareMapper.selectHistoryRecordByCond(integralShareQuery),
+                integralShareMapper.countByCond(integralShareQuery));
+    }
+
+    /**
+     * @desc : 当日积分分享数
+     * @date : 2024/8/1 10:13
+     * @author : 刘尧
+     */
+    public ResponseResultVO<?> selectShareNumber(IntegralShareQuery integralShareQuery) {
+        return ResponseResultUtil.success(integralShareMapper.selectShareNumber(integralShareQuery));
+    }
 
 
 	/**
 	/**
-	 * @desc   : 查询历史记录
-	 * @date   : 2024/7/24 15:47
-	 * @author : 寇珊珊
+	 * @desc   : 当日积分邀请明细
+	 * @date   : 2024/8/1 10:36
+	 * @author : 刘尧
 	 */
 	 */
-	@Pagination
-	public ResponseResultVO<PageList<IntegralShareResponse>> selectHistoryRecord(IntegralShareQuery integralShareQuery) {
-		return super.mergeListWithCount(integralShareQuery, integralShareMapper.selectHistoryRecordByCond(integralShareQuery),
-				integralShareMapper.countByCond(integralShareQuery));
+	public ResponseResultVO<?> selectShareItem(IntegralShareQuery integralShareQuery) {
+		return ResponseResultUtil.success(integralShareMapper.selectShareItem(integralShareQuery));
 	}
 	}
 }
 }

+ 61 - 1
src/main/java/com/dk/oauth/service/wxapi/basic/WechatPayService.java

@@ -20,6 +20,19 @@ import com.dk.oauth.feign.service.StaffFeign;
 import com.dk.oauth.mapper.CompanyMapper;
 import com.dk.oauth.mapper.CompanyMapper;
 import com.dk.oauth.mapper.TradeMapper;
 import com.dk.oauth.mapper.TradeMapper;
 import com.dk.oauth.mapper.UserMapper;
 import com.dk.oauth.mapper.UserMapper;
+import com.dk.oauth.mapper.integral.CouponUseMapper;
+import com.dk.oauth.mapper.integral.IntegralItemMapper;
+import com.dk.oauth.mapper.integral.IntegralMapper;
+import com.dk.oauth.mapper.integral.IntegralTacticMapper;
+import com.dk.oauth.model.pojo.integral.CouponUse;
+import com.dk.oauth.model.pojo.integral.Integral;
+import com.dk.oauth.model.pojo.integral.IntegralItem;
+import com.dk.oauth.model.pojo.integral.IntegralTactic;
+import com.dk.oauth.model.query.integral.IntegralQuery;
+import com.dk.oauth.model.query.integral.IntegralTacticQuery;
+import com.dk.oauth.model.response.integral.CouponUseResponse;
+import com.dk.oauth.model.response.integral.IntegralResponse;
+import com.dk.oauth.model.response.integral.IntegralTacticResponse;
 import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
 import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
 import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
 import com.github.binarywang.wxpay.bean.request.BaseWxPayRequest;
 import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
 import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
@@ -76,6 +89,15 @@ public class WechatPayService {
     private XxlJobUtils xxlJobUtils;
     private XxlJobUtils xxlJobUtils;
     @Resource
     @Resource
     StaffFeign staffFeign;
     StaffFeign staffFeign;
+    @Autowired
+    private CouponUseMapper couponUseMapper;
+    @Autowired
+    //积分策略
+    private IntegralTacticMapper integralTacticMapper;
+    @Autowired
+    private IntegralMapper integralMapper;
+    @Autowired
+    private IntegralItemMapper integralItemMapper;
 
 
     /**
     /**
      * 商户 下单选取旗舰版或专业版的订单
      * 商户 下单选取旗舰版或专业版的订单
@@ -156,6 +178,44 @@ public class WechatPayService {
         trade.setTradeStatus(Constant.TradeStatus.EFFECTIVE.getName());
         trade.setTradeStatus(Constant.TradeStatus.EFFECTIVE.getName());
         tradeMapper.updateById(trade);
         tradeMapper.updateById(trade);
 
 
+        // 交易的 优惠券id 使用
+        if (tradeResponse.getCouponUseId() != null) {
+            // 更新优惠券的状态
+            //类型转换
+            CouponUse couponUse = new CouponUse();
+            //优惠券使用id
+            couponUse.setUseId(tradeResponse.getCouponUseId());
+            //优惠券状态
+            couponUse.setCouponStatus(Constant.couponStatus.YI_SHI_YONG.getName());
+            //核销日期
+            couponUse.setUseDate(LocalDate.now());
+            // 使用员工
+            couponUse.setUseStaff(trade.getStaffName());
+            //更新
+            couponUseMapper.update(couponUse,
+                    new UpdateWrapper<CouponUse>().lambda()
+                            .eq(CouponUse::getUseId, java.util.UUID.fromString(couponUse.getUseId())));
+
+        }
+
+        // 使用员工   // 积分的使用
+        if (tradeResponse.getIntegral() > 0) {
+            // 积分明细
+            IntegralItem integralItem = new IntegralItem();
+            integralItem.setIntegralType(Constant.IntegralType.INTEGRAL_TYPE_USE.getName());
+            integralItem.setIntegral(-1 * tradeResponse.getIntegral());
+            integralItem.setCpId(tradeResponse.getCpId());
+            integralItem.setAccDate(LocalDateTime.now());
+            integralItem.setUserId(trade.getWxUserId());
+            integralItem.setStaffName(trade.getStaffName());
+            integralItemMapper.insert(integralItem);
+            // 积分 总积分
+            Integral integral = new Integral();
+            integral.setCpId(tradeResponse.getCpId());
+            integral.setIntegral(-1 * tradeResponse.getIntegral());
+            integralMapper.updateById(integral);
+        }
+
         // 交易类型-续费- 将该公司的 生成一个job的任务
         // 交易类型-续费- 将该公司的 生成一个job的任务
         if (Constant.TradeType.RENEW.getName().equals(trade.getTradeType())) {
         if (Constant.TradeType.RENEW.getName().equals(trade.getTradeType())) {
             log.error("交易类型-续费插入任务数据-getTradeType:" + trade.getTradeType());
             log.error("交易类型-续费插入任务数据-getTradeType:" + trade.getTradeType());
@@ -256,7 +316,7 @@ public class WechatPayService {
         log.info("@XxlJob(\"renewReminder\")id: {}", XxlJobHelper.getJobParam());
         log.info("@XxlJob(\"renewReminder\")id: {}", XxlJobHelper.getJobParam());
         try {
         try {
 //            Integer cpid = 382;
 //            Integer cpid = 382;
-            Company company = companyMapper.selectById( XxlJobHelper.getJobParam());
+            Company company = companyMapper.selectById(XxlJobHelper.getJobParam());
             // 解析license信息
             // 解析license信息
             String licenseStr = AESUtil.desEncrypt(company.getLicense());
             String licenseStr = AESUtil.desEncrypt(company.getLicense());
             log.error("续费的公司提醒回调-licenseStr:" + licenseStr);
             log.error("续费的公司提醒回调-licenseStr:" + licenseStr);

+ 5 - 0
src/main/resources/mapper/TradeMapper.xml

@@ -50,6 +50,9 @@
         <result column="trade_desc" property="tradeDesc"/>
         <result column="trade_desc" property="tradeDesc"/>
         <result column="activity_ids" property="activityIds" typeHandler="UuidListTypeHandler"/>
         <result column="activity_ids" property="activityIds" typeHandler="UuidListTypeHandler"/>
         <result column="activity_item_ids" property="activityItemIds" typeHandler="UuidListTypeHandler"/>
         <result column="activity_item_ids" property="activityItemIds" typeHandler="UuidListTypeHandler"/>
+        <result column="coupon_use_id" property="couponUseId" typeHandler="UuidTypeHandler"/>
+        <result column="integral" property="integral"/>
+        <result column="staff_name" property="staffName"/>
     </resultMap>
     </resultMap>
 
 
     <!-- 通用查询映射结果 -->
     <!-- 通用查询映射结果 -->
@@ -78,6 +81,8 @@
         <result column="tradeTypeName" property="tradeTypeName"/>
         <result column="tradeTypeName" property="tradeTypeName"/>
         <result column="tradeStatusName" property="tradeStatusName"/>
         <result column="tradeStatusName" property="tradeStatusName"/>
         <result column="receiptStatusName" property="receiptStatusName"/>
         <result column="receiptStatusName" property="receiptStatusName"/>
+        <result column="integral" property="integral"/>
+        <result column="staff_name" property="staffName"/>
     </resultMap>
     </resultMap>
 
 
     <!-- 通用条件列 -->
     <!-- 通用条件列 -->