From b4b6d93e2f6ba1817d9e9b163311367ee560140b Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 13 Feb 2025 16:53:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E8=B4=A6=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ava => ProfitSharingConfigController.java} | 31 ++++++++++++++++--- .../dto/ProfitSharingConfigReqQuery.java | 7 +++++ .../dto/ProfitSharingConfigVO.java | 11 +++++++ .../entity/ProfitSharingUser.java | 1 - .../mapper/ProfitSharingConfigMapper.java | 4 +++ .../mapper/ProfitSharingConfigMapper.xml | 14 +++++++++ 6 files changed, 63 insertions(+), 5 deletions(-) rename src/main/java/com/ycwl/basic/profitsharing/controller/{ProfitSharingController.java => ProfitSharingConfigController.java} (76%) create mode 100644 src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingConfigReqQuery.java create mode 100644 src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingConfigVO.java create mode 100644 src/main/resources/mapper/ProfitSharingConfigMapper.xml diff --git a/src/main/java/com/ycwl/basic/profitsharing/controller/ProfitSharingController.java b/src/main/java/com/ycwl/basic/profitsharing/controller/ProfitSharingConfigController.java similarity index 76% rename from src/main/java/com/ycwl/basic/profitsharing/controller/ProfitSharingController.java rename to src/main/java/com/ycwl/basic/profitsharing/controller/ProfitSharingConfigController.java index ef41564..bc0bcce 100644 --- a/src/main/java/com/ycwl/basic/profitsharing/controller/ProfitSharingController.java +++ b/src/main/java/com/ycwl/basic/profitsharing/controller/ProfitSharingConfigController.java @@ -1,5 +1,9 @@ package com.ycwl.basic.profitsharing.controller; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.ycwl.basic.profitsharing.dto.ProfitSharingConfigReqQuery; +import com.ycwl.basic.profitsharing.dto.ProfitSharingConfigVO; import com.ycwl.basic.profitsharing.entity.ProfitSharingConfig; import com.ycwl.basic.profitsharing.entity.ProfitSharingUser; import com.ycwl.basic.profitsharing.mapper.ProfitSharingConfigMapper; @@ -9,17 +13,25 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; +import java.util.Date; import java.util.List; @RestController @RequestMapping("/api/profitSharingConfig/v1") -public class ProfitSharingController { +public class ProfitSharingConfigController { @Autowired private ProfitSharingConfigMapper configMapper; @Autowired private ProfitSharingUserMapper userMapper; - + // 新增: 分页查询接口 + @PostMapping("/page") + public ApiResponse> pageQuery(@RequestBody ProfitSharingConfigReqQuery req) { + PageHelper.startPage(req.getPageNum(), req.getPageSize()); + List list = configMapper.list(req); + PageInfo pageInfo = new PageInfo<>(list); + return ApiResponse.success(pageInfo); + } // 增加: 插入新的ProfitSharingConfig记录 @PostMapping("/add") public ApiResponse addConfig(@RequestBody ProfitSharingConfig config) { @@ -28,6 +40,8 @@ public class ProfitSharingController { if (existingConfig != null) { return ApiResponse.fail("该景区已存在配置"); } + config.setCreateTime(new Date()); + config.setUpdateTime(new Date()); configMapper.insert(config); // 获取生成的 configId Long configId = config.getId(); @@ -85,7 +99,7 @@ public class ProfitSharingController { return ApiResponse.success("配置更新成功"); } - @GetMapping("/findById/{id}") + @GetMapping("/{id}") public ApiResponse findById(@PathVariable Long id) { ProfitSharingConfig config = configMapper.findById(id); config.setUsers(userMapper.findByConfigId(id)); @@ -100,9 +114,18 @@ public class ProfitSharingController { } // 查询: 根据scenicId查询单个记录 - @GetMapping("/findByScenicId/{scenicId}") + @GetMapping("/scenicId/{scenicId}") public ApiResponse findByScenicId(@PathVariable Long scenicId) { ProfitSharingConfig config = configMapper.findByScenicId(scenicId); + if (config == null) { + config = new ProfitSharingConfig(); + config.setScenicId(scenicId); + config.setName("默认配置"); + config.setCreateTime(new Date()); + config.setUpdateTime(new Date()); + configMapper.insert(config); + } + config.setUsers(userMapper.findByConfigId(config.getId())); return ApiResponse.success(config); } } diff --git a/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingConfigReqQuery.java b/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingConfigReqQuery.java new file mode 100644 index 0000000..490e350 --- /dev/null +++ b/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingConfigReqQuery.java @@ -0,0 +1,7 @@ +package com.ycwl.basic.profitsharing.dto; + +import com.ycwl.basic.model.common.BaseQueryParameterReq; + +public class ProfitSharingConfigReqQuery extends BaseQueryParameterReq { + private Long scenicId; +} diff --git a/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingConfigVO.java b/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingConfigVO.java new file mode 100644 index 0000000..14bb01e --- /dev/null +++ b/src/main/java/com/ycwl/basic/profitsharing/dto/ProfitSharingConfigVO.java @@ -0,0 +1,11 @@ +package com.ycwl.basic.profitsharing.dto; + +import com.ycwl.basic.profitsharing.entity.ProfitSharingConfig; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode +public class ProfitSharingConfigVO extends ProfitSharingConfig { + private String scenicName; +} diff --git a/src/main/java/com/ycwl/basic/profitsharing/entity/ProfitSharingUser.java b/src/main/java/com/ycwl/basic/profitsharing/entity/ProfitSharingUser.java index f8c5d7f..aff99bf 100644 --- a/src/main/java/com/ycwl/basic/profitsharing/entity/ProfitSharingUser.java +++ b/src/main/java/com/ycwl/basic/profitsharing/entity/ProfitSharingUser.java @@ -23,7 +23,6 @@ public class ProfitSharingUser { * 实际分账比例,单位为% */ private BigDecimal realRate; - private BigDecimal orderAmount; // 订单金额 public void setWxPayConfig(String wxPayConfig) { this.wxPayConfig = JSON.parseObject(wxPayConfig, Map.class); diff --git a/src/main/java/com/ycwl/basic/profitsharing/mapper/ProfitSharingConfigMapper.java b/src/main/java/com/ycwl/basic/profitsharing/mapper/ProfitSharingConfigMapper.java index af3981b..801b593 100644 --- a/src/main/java/com/ycwl/basic/profitsharing/mapper/ProfitSharingConfigMapper.java +++ b/src/main/java/com/ycwl/basic/profitsharing/mapper/ProfitSharingConfigMapper.java @@ -1,5 +1,8 @@ package com.ycwl.basic.profitsharing.mapper; +import com.github.pagehelper.Page; +import com.ycwl.basic.profitsharing.dto.ProfitSharingConfigReqQuery; +import com.ycwl.basic.profitsharing.dto.ProfitSharingConfigVO; import com.ycwl.basic.profitsharing.entity.ProfitSharingConfig; import org.apache.ibatis.annotations.*; @@ -29,4 +32,5 @@ public interface ProfitSharingConfigMapper { @Select("SELECT * FROM profit_sharing_config WHERE scenic_id = #{scenicId}") ProfitSharingConfig findByScenicId(Long scenicId); + List list(ProfitSharingConfigReqQuery req); } \ No newline at end of file diff --git a/src/main/resources/mapper/ProfitSharingConfigMapper.xml b/src/main/resources/mapper/ProfitSharingConfigMapper.xml new file mode 100644 index 0000000..0bf0333 --- /dev/null +++ b/src/main/resources/mapper/ProfitSharingConfigMapper.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file