fanzherong_v 2 hónapja
szülő
commit
94376bd017
12 módosított fájl, 624 hozzáadás és 19 törlés
  1. 123 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/controller/BizActivateDetailController.java
  2. 48 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/entity/BizActivateDetail.java
  3. 34 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/enums/BizActivateDetailEnum.java
  4. 25 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/mapper/BizActivateDetailMapper.java
  5. 5 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/mapper/mapping/BizActivateDetailMapper.xml
  6. 42 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailAddParam.java
  7. 47 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailEditParam.java
  8. 35 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailIdParam.java
  9. 51 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailPageParam.java
  10. 80 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/service/BizActivateDetailService.java
  11. 94 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/service/impl/BizActivateDetailServiceImpl.java
  12. 40 19
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/wx/WxPayNotifyController.java

+ 123 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/controller/BizActivateDetailController.java

@@ -0,0 +1,123 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailAddParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailEditParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailIdParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailPageParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.service.BizActivateDetailService;
+
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 激活明细控制器
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ */
+@Tag(name = "激活明细控制器")
+@RestController
+@Validated
+public class BizActivateDetailController {
+
+    @Resource
+    private BizActivateDetailService bizActivateDetailService;
+
+    /**
+     * 获取激活明细分页
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    @Operation(summary = "获取激活明细分页")
+    @SaCheckPermission("/biz/bizactivatedetail/page")
+    @GetMapping("/biz/bizactivatedetail/page")
+    public CommonResult<Page<BizActivateDetail>> page(BizActivateDetailPageParam bizActivateDetailPageParam) {
+        return CommonResult.data(bizActivateDetailService.page(bizActivateDetailPageParam));
+    }
+
+    /**
+     * 添加激活明细
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    @Operation(summary = "添加激活明细")
+    @CommonLog("添加激活明细")
+    @SaCheckPermission("/biz/bizactivatedetail/add")
+    @PostMapping("/biz/bizactivatedetail/add")
+    public CommonResult<String> add(@RequestBody @Valid BizActivateDetailAddParam bizActivateDetailAddParam) {
+        bizActivateDetailService.add(bizActivateDetailAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑激活明细
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    @Operation(summary = "编辑激活明细")
+    @CommonLog("编辑激活明细")
+    @SaCheckPermission("/biz/bizactivatedetail/edit")
+    @PostMapping("/biz/bizactivatedetail/edit")
+    public CommonResult<String> edit(@RequestBody @Valid BizActivateDetailEditParam bizActivateDetailEditParam) {
+        bizActivateDetailService.edit(bizActivateDetailEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 删除激活明细
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    @Operation(summary = "删除激活明细")
+    @CommonLog("删除激活明细")
+    @SaCheckPermission("/biz/bizactivatedetail/delete")
+    @PostMapping("/biz/bizactivatedetail/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   List<BizActivateDetailIdParam> bizActivateDetailIdParamList) {
+        bizActivateDetailService.delete(bizActivateDetailIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取激活明细详情
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    @Operation(summary = "获取激活明细详情")
+    @SaCheckPermission("/biz/bizactivatedetail/detail")
+    @GetMapping("/biz/bizactivatedetail/detail")
+    public CommonResult<BizActivateDetail> detail(@Valid BizActivateDetailIdParam bizActivateDetailIdParam) {
+        return CommonResult.data(bizActivateDetailService.detail(bizActivateDetailIdParam));
+    }
+}

+ 48 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/entity/BizActivateDetail.java

@@ -0,0 +1,48 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.common.pojo.CommonEntity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 激活明细实体
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+@Getter
+@Setter
+@TableName("biz_activate_detail")
+public class BizActivateDetail extends CommonEntity {
+
+    /** 主键Id */
+    @TableId
+    @Schema(description = "主键Id")
+    private String id;
+
+    /** 激活ID */
+    @Schema(description = "激活ID")
+    private String activateId;
+
+    /** 帮助激活用户id */
+    @Schema(description = "帮助激活用户id")
+    private String helpUserId;
+
+}

+ 34 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/enums/BizActivateDetailEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.enums;
+
+import lombok.Getter;
+
+/**
+ * 激活明细枚举
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+@Getter
+public enum BizActivateDetailEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    BizActivateDetailEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/mapper/BizActivateDetailMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail;
+
+/**
+ * 激活明细Mapper接口
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+public interface BizActivateDetailMapper extends BaseMapper<BizActivateDetail> {
+}

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/mapper/mapping/BizActivateDetailMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="vip.xiaonuo.biz.modular.bizactivatedetail.mapper.BizActivateDetailMapper">
+
+</mapper>

+ 42 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailAddParam.java

@@ -0,0 +1,42 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 激活明细添加参数
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+@Getter
+@Setter
+public class BizActivateDetailAddParam {
+
+    /** 激活ID */
+    @Schema(description = "激活ID")
+    private String activateId;
+
+    /** 帮助激活用户id */
+    @Schema(description = "帮助激活用户id")
+    private String helpUserId;
+
+}

+ 47 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailEditParam.java

@@ -0,0 +1,47 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 激活明细编辑参数
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+@Getter
+@Setter
+public class BizActivateDetailEditParam {
+
+    /** 主键Id */
+    @Schema(description = "主键Id", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+
+    /** 激活ID */
+    @Schema(description = "激活ID")
+    private String activateId;
+
+    /** 帮助激活用户id */
+    @Schema(description = "帮助激活用户id")
+    private String helpUserId;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 激活明细Id参数
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+@Getter
+@Setter
+public class BizActivateDetailIdParam {
+
+    /** 主键Id */
+    @Schema(description = "主键Id", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/param/BizActivateDetailPageParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 激活明细查询参数
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+@Getter
+@Setter
+public class BizActivateDetailPageParam {
+
+    /** 当前页 */
+    @Schema(description = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @Schema(description = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @Schema(description = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @Schema(description = "关键词")
+    private String searchKey;
+
+}

+ 80 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/service/BizActivateDetailService.java

@@ -0,0 +1,80 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailAddParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailEditParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailIdParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailPageParam;
+
+import java.util.List;
+
+/**
+ * 激活明细Service接口
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+public interface BizActivateDetailService extends IService<BizActivateDetail> {
+
+    /**
+     * 获取激活明细分页
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    Page<BizActivateDetail> page(BizActivateDetailPageParam bizActivateDetailPageParam);
+
+    /**
+     * 添加激活明细
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    void add(BizActivateDetailAddParam bizActivateDetailAddParam);
+
+    /**
+     * 编辑激活明细
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    void edit(BizActivateDetailEditParam bizActivateDetailEditParam);
+
+    /**
+     * 删除激活明细
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    void delete(List<BizActivateDetailIdParam> bizActivateDetailIdParamList);
+
+    /**
+     * 获取激活明细详情
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     */
+    BizActivateDetail detail(BizActivateDetailIdParam bizActivateDetailIdParam);
+
+    /**
+     * 获取激活明细详情
+     *
+     * @author fanzherong
+     * @date  2025/03/05 14:33
+     **/
+    BizActivateDetail queryEntity(String id);
+}

+ 94 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizactivatedetail/service/impl/BizActivateDetailServiceImpl.java

@@ -0,0 +1,94 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.bizactivatedetail.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail;
+import vip.xiaonuo.biz.modular.bizactivatedetail.mapper.BizActivateDetailMapper;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailAddParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailEditParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailIdParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.param.BizActivateDetailPageParam;
+import vip.xiaonuo.biz.modular.bizactivatedetail.service.BizActivateDetailService;
+
+import java.util.List;
+
+/**
+ * 激活明细Service接口实现类
+ *
+ * @author fanzherong
+ * @date  2025/03/05 14:33
+ **/
+@Service
+public class BizActivateDetailServiceImpl extends ServiceImpl<BizActivateDetailMapper, BizActivateDetail> implements BizActivateDetailService {
+
+    @Override
+    public Page<BizActivateDetail> page(BizActivateDetailPageParam bizActivateDetailPageParam) {
+        QueryWrapper<BizActivateDetail> queryWrapper = new QueryWrapper<BizActivateDetail>().checkSqlInjection();
+        if(ObjectUtil.isAllNotEmpty(bizActivateDetailPageParam.getSortField(), bizActivateDetailPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(bizActivateDetailPageParam.getSortOrder());
+            queryWrapper.orderBy(true, bizActivateDetailPageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(bizActivateDetailPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(BizActivateDetail::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(BizActivateDetailAddParam bizActivateDetailAddParam) {
+        BizActivateDetail bizActivateDetail = BeanUtil.toBean(bizActivateDetailAddParam, BizActivateDetail.class);
+        this.save(bizActivateDetail);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(BizActivateDetailEditParam bizActivateDetailEditParam) {
+        BizActivateDetail bizActivateDetail = this.queryEntity(bizActivateDetailEditParam.getId());
+        BeanUtil.copyProperties(bizActivateDetailEditParam, bizActivateDetail);
+        this.updateById(bizActivateDetail);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<BizActivateDetailIdParam> bizActivateDetailIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(bizActivateDetailIdParamList, BizActivateDetailIdParam::getId));
+    }
+
+    @Override
+    public BizActivateDetail detail(BizActivateDetailIdParam bizActivateDetailIdParam) {
+        return this.queryEntity(bizActivateDetailIdParam.getId());
+    }
+
+    @Override
+    public BizActivateDetail queryEntity(String id) {
+        BizActivateDetail bizActivateDetail = this.getById(id);
+        if(ObjectUtil.isEmpty(bizActivateDetail)) {
+            throw new CommonException("激活明细不存在,id值为:{}", id);
+        }
+        return bizActivateDetail;
+    }
+}

+ 40 - 19
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/wx/WxPayNotifyController.java

@@ -27,6 +27,8 @@ import vip.xiaonuo.biz.api.BizUserApi;
 import vip.xiaonuo.biz.core.enums.FundChangeTypeEnum;
 import vip.xiaonuo.biz.modular.bizactivate.entity.BizActivate;
 import vip.xiaonuo.biz.modular.bizactivate.service.BizActivateService;
+import vip.xiaonuo.biz.modular.bizactivatedetail.entity.BizActivateDetail;
+import vip.xiaonuo.biz.modular.bizactivatedetail.service.BizActivateDetailService;
 import vip.xiaonuo.biz.modular.couponrecord.entity.BizCouponRecord;
 import vip.xiaonuo.biz.modular.couponrecord.service.BizCouponRecordService;
 import vip.xiaonuo.biz.modular.rebaterecord.entity.BizRebateRecord;
@@ -51,6 +53,7 @@ import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.time.Instant;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.ThreadLocalRandom;
@@ -83,6 +86,8 @@ public class WxPayNotifyController {
     private BizRechargePlanConfigService bizRechargePlanConfigService;
     @Resource
     private BizActivateService bizActivateService;
+    @Resource
+    private BizActivateDetailService bizActivateDetailService;
 
     /**
      * 微信支付回调通知
@@ -181,35 +186,51 @@ public class WxPayNotifyController {
                         //查询推荐人最早的一条待激活的记录,帮助激活人数+1
                         BizUser user = bizUserMapper.selectById(bizUser.getReferralUser());
                         BizActivate activate = bizActivateService.getOne(new QueryWrapper<BizActivate>().lambda().eq(BizActivate::getUserId, user.getId())
-                                .eq(BizActivate::getPlanConfigId, planConfig.getId())
                                 .eq(BizActivate::getStatus,"1")
                                 .orderByAsc(BizActivate::getCreateTime)
                                 .last("limit 1"));
                         if(ObjectUtil.isNotNull(activate)){
-                            if(activate.getHelpCount()+1 == planConfig.getHelpCount()){
+                            //查询待激活记录的充值方案信息
+                            BizRechargePlanConfig config = bizRechargePlanConfigService.getById(activate.getPlanConfigId());
+                            //本次充值金额大于待激活记录充值金额,可帮助激活一次
+                            if(bizRechargeRecord.getRechargeAmount().compareTo(config.getRechargeAmount()) > 0){
+                                //根据充值人和激活记录id查询是否帮助激活过,一个人只能激活一次
+                                List<BizActivateDetail> list = bizActivateDetailService.list(new QueryWrapper<BizActivateDetail>().lambda().
+                                        eq(BizActivateDetail::getActivateId, activate.getId()).
+                                        eq(BizActivateDetail::getHelpUserId, bizUser.getId()));
+                                if(ObjectUtil.isEmpty(list)){
+                                    //记录激活明细
+                                    BizActivateDetail bizActivateDetail = new BizActivateDetail();
+                                    bizActivateDetail.setActivateId(activate.getId());
+                                    bizActivateDetail.setHelpUserId(bizUser.getId());
+                                    bizActivateDetailService.save(bizActivateDetail);
+                                    //判断是否到达激活人数
+                                    if(activate.getHelpCount()+1 == planConfig.getHelpCount()){
 
-                                // 记录用户账户资金变动记录
-                                log.info("=========== 记录用户账户资金变动记录 ========");
-                                BizUserFundChangeRecord bizUserFundChangeRecord = new BizUserFundChangeRecord();
-                                bizUserFundChangeRecord.setChangeType(FundChangeTypeEnum.RECHARGE.getValue());
-                                bizUserFundChangeRecord.setUserId(user.getId());
-                                bizUserFundChangeRecord.setOldAccountBalance(user.getAccountBalance());
-                                bizUserFundChangeRecord.setOldVoucherBalance(user.getVoucherBalance());
+                                        // 记录用户账户资金变动记录
+                                        log.info("=========== 记录用户账户资金变动记录 ========");
+                                        BizUserFundChangeRecord bizUserFundChangeRecord = new BizUserFundChangeRecord();
+                                        bizUserFundChangeRecord.setChangeType(FundChangeTypeEnum.RECHARGE.getValue());
+                                        bizUserFundChangeRecord.setUserId(user.getId());
+                                        bizUserFundChangeRecord.setOldAccountBalance(user.getAccountBalance());
+                                        bizUserFundChangeRecord.setOldVoucherBalance(user.getVoucherBalance());
 
-                                //帮助激活人数等于配置的帮助激活人数,账户糕点可激活
-                                user.setAccountBalance(user.getAccountBalance().add(activate.getAccountBalance()));
+                                        //帮助激活人数等于配置的帮助激活人数,账户糕点可激活
+                                        user.setAccountBalance(user.getAccountBalance().add(activate.getAccountBalance()));
 
-                                bizUserFundChangeRecord.setNewAccountBalance(user.getAccountBalance());
-                                bizUserFundChangeRecord.setNewVoucherBalance(user.getVoucherBalance());
-                                bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
+                                        bizUserFundChangeRecord.setNewAccountBalance(user.getAccountBalance());
+                                        bizUserFundChangeRecord.setNewVoucherBalance(user.getVoucherBalance());
+                                        bizUserFundChangeRecordService.save(bizUserFundChangeRecord);
 
-                                //修改推荐人账户余额
-                                bizUserMapper.updateById(user);
+                                        //修改推荐人账户余额
+                                        bizUserMapper.updateById(user);
 
-                                activate.setStatus("2");
+                                        activate.setStatus("2");
+                                    }
+                                    activate.setHelpCount(activate.getHelpCount()+1);
+                                    bizActivateService.updateById(activate);
+                                }
                             }
-                            activate.setHelpCount(activate.getHelpCount()+1);
-                            bizActivateService.updateById(activate);
                         }
                     }
                 }