Browse Source

feat(business): 新增企业专享价与优惠券模板功能

- 新增企业专享价查询对象 ExclusivePriceQuery
- 修改 FirmInfoForm 的 id 字段描述并移除非空校验
- 优化 FirmInfoMapper 的 getFirmInfoPage 方法参数绑定
- 完善 FirmInfoMapper.xml 中的企业信息分页查询逻辑,增加员工数统计
- 扩展 FirmInfoQuery 支持企业名称和状态查询条件
- 在 FirmInfoVO 中新增员工数字段 empNum
- 在 FirmStationTimePriceController 中添加获取和编辑企业专属价格接口
- 移除 FirmStationTimePriceForm 中主键的非空校验
- 调整 FirmStationTimePriceMapper 的 getExclusivePriceList 返回类型为分页结构
- 更新 FirmStationTimePriceService 接口及实现类支持分页查询企业专属价格
- 统一分页查询中的页码属性命名(pageNum/pageNo)
- 引入促销优惠券模板实体及相关 CURD 控制器、服务层代码
- 添加充值档位信息管理相关模块代码
- 创建促销优惠券模板与充值档位信息的数据传输对象及映射转换器
- 实现促销优惠券模板与充值档位信息的 MyBatis 映射文件和业务逻辑处理类
wzq 3 days ago
parent
commit
126a96b4fb
93 changed files with 4212 additions and 28 deletions
  1. 21 0
      src/main/java/com/zsElectric/boot/business/controller/FirmStationTimePriceController.java
  2. 81 0
      src/main/java/com/zsElectric/boot/business/controller/PromotionCouponTemplateController.java
  3. 81 0
      src/main/java/com/zsElectric/boot/business/controller/RechargeLevelController.java
  4. 81 0
      src/main/java/com/zsElectric/boot/business/controller/UserAccountController.java
  5. 81 0
      src/main/java/com/zsElectric/boot/business/controller/UserAccountLogController.java
  6. 91 0
      src/main/java/com/zsElectric/boot/business/controller/UserExchangeIntegralRuleController.java
  7. 81 0
      src/main/java/com/zsElectric/boot/business/controller/UserFirmController.java
  8. 81 0
      src/main/java/com/zsElectric/boot/business/controller/UserInfoController.java
  9. 81 0
      src/main/java/com/zsElectric/boot/business/controller/UserInfoIntegralLogController.java
  10. 20 0
      src/main/java/com/zsElectric/boot/business/converter/PromotionCouponTemplateConverter.java
  11. 20 0
      src/main/java/com/zsElectric/boot/business/converter/RechargeLevelConverter.java
  12. 20 0
      src/main/java/com/zsElectric/boot/business/converter/UserAccountConverter.java
  13. 20 0
      src/main/java/com/zsElectric/boot/business/converter/UserAccountLogConverter.java
  14. 20 0
      src/main/java/com/zsElectric/boot/business/converter/UserExchangeIntegralRuleConverter.java
  15. 20 0
      src/main/java/com/zsElectric/boot/business/converter/UserFirmConverter.java
  16. 20 0
      src/main/java/com/zsElectric/boot/business/converter/UserInfoConverter.java
  17. 20 0
      src/main/java/com/zsElectric/boot/business/converter/UserInfoIntegralLogConverter.java
  18. 2 1
      src/main/java/com/zsElectric/boot/business/mapper/FirmInfoMapper.java
  19. 1 1
      src/main/java/com/zsElectric/boot/business/mapper/FirmStationTimePriceMapper.java
  20. 29 0
      src/main/java/com/zsElectric/boot/business/mapper/PromotionCouponTemplateMapper.java
  21. 29 0
      src/main/java/com/zsElectric/boot/business/mapper/RechargeLevelMapper.java
  22. 28 0
      src/main/java/com/zsElectric/boot/business/mapper/UserAccountLogMapper.java
  23. 28 0
      src/main/java/com/zsElectric/boot/business/mapper/UserAccountMapper.java
  24. 28 0
      src/main/java/com/zsElectric/boot/business/mapper/UserExchangeIntegralRuleMapper.java
  25. 29 0
      src/main/java/com/zsElectric/boot/business/mapper/UserFirmMapper.java
  26. 28 0
      src/main/java/com/zsElectric/boot/business/mapper/UserInfoIntegralLogMapper.java
  27. 28 0
      src/main/java/com/zsElectric/boot/business/mapper/UserInfoMapper.java
  28. 71 0
      src/main/java/com/zsElectric/boot/business/model/entity/PromotionCouponTemplate.java
  29. 51 0
      src/main/java/com/zsElectric/boot/business/model/entity/RechargeLevel.java
  30. 51 0
      src/main/java/com/zsElectric/boot/business/model/entity/UserAccount.java
  31. 55 0
      src/main/java/com/zsElectric/boot/business/model/entity/UserAccountLog.java
  32. 51 0
      src/main/java/com/zsElectric/boot/business/model/entity/UserExchangeIntegralRule.java
  33. 49 0
      src/main/java/com/zsElectric/boot/business/model/entity/UserFirm.java
  34. 59 0
      src/main/java/com/zsElectric/boot/business/model/entity/UserInfo.java
  35. 57 0
      src/main/java/com/zsElectric/boot/business/model/entity/UserInfoIntegralLog.java
  36. 1 2
      src/main/java/com/zsElectric/boot/business/model/form/FirmInfoForm.java
  37. 0 1
      src/main/java/com/zsElectric/boot/business/model/form/FirmStationTimePriceForm.java
  38. 87 0
      src/main/java/com/zsElectric/boot/business/model/form/PromotionCouponTemplateForm.java
  39. 63 0
      src/main/java/com/zsElectric/boot/business/model/form/RechargeLevelForm.java
  40. 61 0
      src/main/java/com/zsElectric/boot/business/model/form/UserAccountForm.java
  41. 58 0
      src/main/java/com/zsElectric/boot/business/model/form/UserAccountLogForm.java
  42. 60 0
      src/main/java/com/zsElectric/boot/business/model/form/UserExchangeIntegralRuleForm.java
  43. 60 0
      src/main/java/com/zsElectric/boot/business/model/form/UserFirmForm.java
  44. 69 0
      src/main/java/com/zsElectric/boot/business/model/form/UserInfoForm.java
  45. 58 0
      src/main/java/com/zsElectric/boot/business/model/form/UserInfoIntegralLogForm.java
  46. 18 0
      src/main/java/com/zsElectric/boot/business/model/query/ExclusivePriceQuery.java
  47. 5 0
      src/main/java/com/zsElectric/boot/business/model/query/FirmInfoQuery.java
  48. 2 6
      src/main/java/com/zsElectric/boot/business/model/query/PricePolicyPageQuery.java
  49. 37 0
      src/main/java/com/zsElectric/boot/business/model/query/PromotionCouponTemplateQuery.java
  50. 30 0
      src/main/java/com/zsElectric/boot/business/model/query/RechargeLevelQuery.java
  51. 20 0
      src/main/java/com/zsElectric/boot/business/model/query/UserAccountLogQuery.java
  52. 22 0
      src/main/java/com/zsElectric/boot/business/model/query/UserAccountQuery.java
  53. 22 0
      src/main/java/com/zsElectric/boot/business/model/query/UserExchangeIntegralRuleQuery.java
  54. 26 0
      src/main/java/com/zsElectric/boot/business/model/query/UserFirmQuery.java
  55. 22 0
      src/main/java/com/zsElectric/boot/business/model/query/UserInfoIntegralLogQuery.java
  56. 22 0
      src/main/java/com/zsElectric/boot/business/model/query/UserInfoQuery.java
  57. 2 0
      src/main/java/com/zsElectric/boot/business/model/vo/FirmInfoVO.java
  58. 56 0
      src/main/java/com/zsElectric/boot/business/model/vo/PromotionCouponTemplateVO.java
  59. 46 0
      src/main/java/com/zsElectric/boot/business/model/vo/RechargeLevelVO.java
  60. 45 0
      src/main/java/com/zsElectric/boot/business/model/vo/UserAccountLogVO.java
  61. 46 0
      src/main/java/com/zsElectric/boot/business/model/vo/UserAccountVO.java
  62. 46 0
      src/main/java/com/zsElectric/boot/business/model/vo/UserExchangeIntegralRuleVO.java
  63. 47 0
      src/main/java/com/zsElectric/boot/business/model/vo/UserFirmVO.java
  64. 44 0
      src/main/java/com/zsElectric/boot/business/model/vo/UserInfoIntegralLogVO.java
  65. 50 0
      src/main/java/com/zsElectric/boot/business/model/vo/UserInfoVO.java
  66. 2 1
      src/main/java/com/zsElectric/boot/business/service/FirmStationTimePriceService.java
  67. 58 0
      src/main/java/com/zsElectric/boot/business/service/PromotionCouponTemplateService.java
  68. 58 0
      src/main/java/com/zsElectric/boot/business/service/RechargeLevelService.java
  69. 58 0
      src/main/java/com/zsElectric/boot/business/service/UserAccountLogService.java
  70. 58 0
      src/main/java/com/zsElectric/boot/business/service/UserAccountService.java
  71. 59 0
      src/main/java/com/zsElectric/boot/business/service/UserExchangeIntegralRuleService.java
  72. 58 0
      src/main/java/com/zsElectric/boot/business/service/UserFirmService.java
  73. 58 0
      src/main/java/com/zsElectric/boot/business/service/UserInfoIntegralLogService.java
  74. 58 0
      src/main/java/com/zsElectric/boot/business/service/UserInfoService.java
  75. 6 3
      src/main/java/com/zsElectric/boot/business/service/impl/FirmStationTimePriceServiceImpl.java
  76. 1 1
      src/main/java/com/zsElectric/boot/business/service/impl/PricePolicyManagementServiceImpl.java
  77. 103 0
      src/main/java/com/zsElectric/boot/business/service/impl/PromotionCouponTemplateServiceImpl.java
  78. 103 0
      src/main/java/com/zsElectric/boot/business/service/impl/RechargeLevelServiceImpl.java
  79. 103 0
      src/main/java/com/zsElectric/boot/business/service/impl/UserAccountLogServiceImpl.java
  80. 103 0
      src/main/java/com/zsElectric/boot/business/service/impl/UserAccountServiceImpl.java
  81. 131 0
      src/main/java/com/zsElectric/boot/business/service/impl/UserExchangeIntegralRuleServiceImpl.java
  82. 103 0
      src/main/java/com/zsElectric/boot/business/service/impl/UserFirmServiceImpl.java
  83. 103 0
      src/main/java/com/zsElectric/boot/business/service/impl/UserInfoIntegralLogServiceImpl.java
  84. 103 0
      src/main/java/com/zsElectric/boot/business/service/impl/UserInfoServiceImpl.java
  85. 23 12
      src/main/resources/mapper/business/FirmInfoMapper.xml
  86. 42 0
      src/main/resources/mapper/business/PromotionCouponTemplateMapper.xml
  87. 25 0
      src/main/resources/mapper/business/RechargeLevelMapper.xml
  88. 24 0
      src/main/resources/mapper/business/UserAccountLogMapper.xml
  89. 24 0
      src/main/resources/mapper/business/UserAccountMapper.xml
  90. 24 0
      src/main/resources/mapper/business/UserExchangeIntegralRuleMapper.xml
  91. 33 0
      src/main/resources/mapper/business/UserFirmMapper.xml
  92. 27 0
      src/main/resources/mapper/business/UserInfoIntegralLogMapper.xml
  93. 26 0
      src/main/resources/mapper/business/UserInfoMapper.xml

+ 21 - 0
src/main/java/com/zsElectric/boot/business/controller/FirmStationTimePriceController.java

@@ -1,5 +1,9 @@
 package com.zsElectric.boot.business.controller;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.zsElectric.boot.business.model.entity.FirmStationTimePrice;
+import com.zsElectric.boot.business.model.query.ExclusivePriceQuery;
+import com.zsElectric.boot.business.model.vo.ExclusivePriceVO;
 import com.zsElectric.boot.business.service.FirmStationTimePriceService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -18,6 +22,7 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import jakarta.validation.Valid;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -81,4 +86,20 @@ public class FirmStationTimePriceController  {
         return Result.judge(result);
     }
 
+    @Operation(summary = "获取企业专属价格列表")
+    @PostMapping("/listPrice")
+    @PreAuthorize("@ss.hasPerm('business:firmStationTimePrice:listPrice')")
+    public Result<List<ExclusivePriceVO>> getExclusivePriceList(ExclusivePriceQuery queryParams){
+        List<ExclusivePriceVO> exclusivePriceList = firmStationTimePriceService.getExclusivePriceList(queryParams);
+        return Result.success(exclusivePriceList);
+    }
+
+    @Operation(summary = "编辑企业专属价格")
+    @PutMapping("/changePrice/{id}/{price}")
+    @PreAuthorize("@ss.hasPerm('business:firmStationTimePrice:changePrice')")
+    public Result<Void> changePrice(@PathVariable("id")Long id, @PathVariable("price")BigDecimal price){
+        boolean result = firmStationTimePriceService.update(Wrappers.lambdaUpdate(FirmStationTimePrice.class).set(FirmStationTimePrice::getFirmPrice, price).eq(FirmStationTimePrice::getId, id));
+        return Result.judge(result);
+    }
+
 }

+ 81 - 0
src/main/java/com/zsElectric/boot/business/controller/PromotionCouponTemplateController.java

@@ -0,0 +1,81 @@
+package com.zsElectric.boot.business.controller;
+
+import com.zsElectric.boot.business.service.PromotionCouponTemplateService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zsElectric.boot.business.model.form.PromotionCouponTemplateForm;
+import com.zsElectric.boot.business.model.query.PromotionCouponTemplateQuery;
+import com.zsElectric.boot.business.model.vo.PromotionCouponTemplateVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import jakarta.validation.Valid;
+
+/**
+ * 优惠劵模板前端控制层
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+@Tag(name = "优惠劵模板接口")
+@RestController
+@RequestMapping("/api/v1/promotion-coupon-template")
+@RequiredArgsConstructor
+public class PromotionCouponTemplateController  {
+
+    private final PromotionCouponTemplateService promotionCouponTemplateService;
+
+    @Operation(summary = "优惠劵模板分页列表")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPerm('business:promotion-coupon-template:query')")
+    public PageResult<PromotionCouponTemplateVO> getPromotionCouponTemplatePage(PromotionCouponTemplateQuery queryParams ) {
+        IPage<PromotionCouponTemplateVO> result = promotionCouponTemplateService.getPromotionCouponTemplatePage(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增优惠劵模板")
+    @PostMapping
+    @PreAuthorize("@ss.hasPerm('business:promotion-coupon-template:add')")
+    public Result<Void> savePromotionCouponTemplate(@RequestBody @Valid PromotionCouponTemplateForm formData ) {
+        boolean result = promotionCouponTemplateService.savePromotionCouponTemplate(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "获取优惠劵模板表单数据")
+    @GetMapping("/{id}/form")
+    @PreAuthorize("@ss.hasPerm('business:promotion-coupon-template:edit')")
+    public Result<PromotionCouponTemplateForm> getPromotionCouponTemplateForm(
+        @Parameter(description = "优惠劵模板ID") @PathVariable Long id
+    ) {
+        PromotionCouponTemplateForm formData = promotionCouponTemplateService.getPromotionCouponTemplateFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改优惠劵模板")
+    @PutMapping(value = "/{id}")
+    @PreAuthorize("@ss.hasPerm('business:promotion-coupon-template:edit')")
+    public Result<Void> updatePromotionCouponTemplate(
+            @Parameter(description = "优惠劵模板ID") @PathVariable Long id,
+            @RequestBody @Validated PromotionCouponTemplateForm formData
+    ) {
+        boolean result = promotionCouponTemplateService.updatePromotionCouponTemplate(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除优惠劵模板")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("@ss.hasPerm('business:promotion-coupon-template:delete')")
+    public Result<Void> deletePromotionCouponTemplates(
+        @Parameter(description = "优惠劵模板ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = promotionCouponTemplateService.deletePromotionCouponTemplates(ids);
+        return Result.judge(result);
+    }
+}

+ 81 - 0
src/main/java/com/zsElectric/boot/business/controller/RechargeLevelController.java

@@ -0,0 +1,81 @@
+package com.zsElectric.boot.business.controller;
+
+import com.zsElectric.boot.business.service.RechargeLevelService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zsElectric.boot.business.model.form.RechargeLevelForm;
+import com.zsElectric.boot.business.model.query.RechargeLevelQuery;
+import com.zsElectric.boot.business.model.vo.RechargeLevelVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import jakarta.validation.Valid;
+
+/**
+ * 充值档位信息前端控制层
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+@Tag(name = "充值档位信息接口")
+@RestController
+@RequestMapping("/api/v1/recharge-level")
+@RequiredArgsConstructor
+public class RechargeLevelController  {
+
+    private final RechargeLevelService rechargeLevelService;
+
+    @Operation(summary = "充值档位信息分页列表")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPerm('business:recharge-level:query')")
+    public PageResult<RechargeLevelVO> getRechargeLevelPage(RechargeLevelQuery queryParams ) {
+        IPage<RechargeLevelVO> result = rechargeLevelService.getRechargeLevelPage(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增充值档位信息")
+    @PostMapping
+    @PreAuthorize("@ss.hasPerm('business:recharge-level:add')")
+    public Result<Void> saveRechargeLevel(@RequestBody @Valid RechargeLevelForm formData ) {
+        boolean result = rechargeLevelService.saveRechargeLevel(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "获取充值档位信息表单数据")
+    @GetMapping("/{id}/form")
+    @PreAuthorize("@ss.hasPerm('business:recharge-level:edit')")
+    public Result<RechargeLevelForm> getRechargeLevelForm(
+        @Parameter(description = "充值档位信息ID") @PathVariable Long id
+    ) {
+        RechargeLevelForm formData = rechargeLevelService.getRechargeLevelFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改充值档位信息")
+    @PutMapping(value = "/{id}")
+    @PreAuthorize("@ss.hasPerm('business:recharge-level:edit')")
+    public Result<Void> updateRechargeLevel(
+            @Parameter(description = "充值档位信息ID") @PathVariable Long id,
+            @RequestBody @Validated RechargeLevelForm formData
+    ) {
+        boolean result = rechargeLevelService.updateRechargeLevel(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除充值档位信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("@ss.hasPerm('business:recharge-level:delete')")
+    public Result<Void> deleteRechargeLevels(
+        @Parameter(description = "充值档位信息ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = rechargeLevelService.deleteRechargeLevels(ids);
+        return Result.judge(result);
+    }
+}

+ 81 - 0
src/main/java/com/zsElectric/boot/business/controller/UserAccountController.java

@@ -0,0 +1,81 @@
+package com.zsElectric.boot.business.controller;
+
+import com.zsElectric.boot.business.service.UserAccountService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zsElectric.boot.business.model.form.UserAccountForm;
+import com.zsElectric.boot.business.model.query.UserAccountQuery;
+import com.zsElectric.boot.business.model.vo.UserAccountVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import jakarta.validation.Valid;
+
+/**
+ * 个人账户前端控制层
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+@Tag(name = "个人账户接口")
+@RestController
+@RequestMapping("/api/v1/user-account")
+@RequiredArgsConstructor
+public class UserAccountController  {
+
+    private final UserAccountService userAccountService;
+
+    @Operation(summary = "个人账户分页列表")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPerm('business:user-account:query')")
+    public PageResult<UserAccountVO> getUserAccountPage(UserAccountQuery queryParams ) {
+        IPage<UserAccountVO> result = userAccountService.getUserAccountPage(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增个人账户")
+    @PostMapping
+    @PreAuthorize("@ss.hasPerm('business:user-account:add')")
+    public Result<Void> saveUserAccount(@RequestBody @Valid UserAccountForm formData ) {
+        boolean result = userAccountService.saveUserAccount(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "获取个人账户表单数据")
+    @GetMapping("/{id}/form")
+    @PreAuthorize("@ss.hasPerm('business:user-account:edit')")
+    public Result<UserAccountForm> getUserAccountForm(
+        @Parameter(description = "个人账户ID") @PathVariable Long id
+    ) {
+        UserAccountForm formData = userAccountService.getUserAccountFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改个人账户")
+    @PutMapping(value = "/{id}")
+    @PreAuthorize("@ss.hasPerm('business:user-account:edit')")
+    public Result<Void> updateUserAccount(
+            @Parameter(description = "个人账户ID") @PathVariable Long id,
+            @RequestBody @Validated UserAccountForm formData
+    ) {
+        boolean result = userAccountService.updateUserAccount(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除个人账户")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("@ss.hasPerm('business:user-account:delete')")
+    public Result<Void> deleteUserAccounts(
+        @Parameter(description = "个人账户ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = userAccountService.deleteUserAccounts(ids);
+        return Result.judge(result);
+    }
+}

+ 81 - 0
src/main/java/com/zsElectric/boot/business/controller/UserAccountLogController.java

@@ -0,0 +1,81 @@
+package com.zsElectric.boot.business.controller;
+
+import com.zsElectric.boot.business.service.UserAccountLogService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zsElectric.boot.business.model.form.UserAccountLogForm;
+import com.zsElectric.boot.business.model.query.UserAccountLogQuery;
+import com.zsElectric.boot.business.model.vo.UserAccountLogVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import jakarta.validation.Valid;
+
+/**
+ * 个人账户变更记录前端控制层
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+@Tag(name = "个人账户变更记录接口")
+@RestController
+@RequestMapping("/api/v1/user-account-log")
+@RequiredArgsConstructor
+public class UserAccountLogController  {
+
+    private final UserAccountLogService userAccountLogService;
+
+    @Operation(summary = "个人账户变更记录分页列表")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPerm('business:user-account-log:query')")
+    public PageResult<UserAccountLogVO> getUserAccountLogPage(UserAccountLogQuery queryParams ) {
+        IPage<UserAccountLogVO> result = userAccountLogService.getUserAccountLogPage(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增个人账户变更记录")
+    @PostMapping
+    @PreAuthorize("@ss.hasPerm('business:user-account-log:add')")
+    public Result<Void> saveUserAccountLog(@RequestBody @Valid UserAccountLogForm formData ) {
+        boolean result = userAccountLogService.saveUserAccountLog(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "获取个人账户变更记录表单数据")
+    @GetMapping("/{id}/form")
+    @PreAuthorize("@ss.hasPerm('business:user-account-log:edit')")
+    public Result<UserAccountLogForm> getUserAccountLogForm(
+        @Parameter(description = "个人账户变更记录ID") @PathVariable Long id
+    ) {
+        UserAccountLogForm formData = userAccountLogService.getUserAccountLogFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改个人账户变更记录")
+    @PutMapping(value = "/{id}")
+    @PreAuthorize("@ss.hasPerm('business:user-account-log:edit')")
+    public Result<Void> updateUserAccountLog(
+            @Parameter(description = "个人账户变更记录ID") @PathVariable Long id,
+            @RequestBody @Validated UserAccountLogForm formData
+    ) {
+        boolean result = userAccountLogService.updateUserAccountLog(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除个人账户变更记录")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("@ss.hasPerm('business:user-account-log:delete')")
+    public Result<Void> deleteUserAccountLogs(
+        @Parameter(description = "个人账户变更记录ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = userAccountLogService.deleteUserAccountLogs(ids);
+        return Result.judge(result);
+    }
+}

+ 91 - 0
src/main/java/com/zsElectric/boot/business/controller/UserExchangeIntegralRuleController.java

@@ -0,0 +1,91 @@
+package com.zsElectric.boot.business.controller;
+
+import com.zsElectric.boot.business.service.UserExchangeIntegralRuleService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zsElectric.boot.business.model.form.UserExchangeIntegralRuleForm;
+import com.zsElectric.boot.business.model.query.UserExchangeIntegralRuleQuery;
+import com.zsElectric.boot.business.model.vo.UserExchangeIntegralRuleVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import jakarta.validation.Valid;
+
+/**
+ * 积分兑换规则前端控制层
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+@Tag(name = "积分兑换规则接口")
+@RestController
+@RequestMapping("/api/v1/user-exchange-integral-rule")
+@RequiredArgsConstructor
+public class UserExchangeIntegralRuleController  {
+
+    private final UserExchangeIntegralRuleService userExchangeIntegralRuleService;
+
+    @Operation(summary = "积分兑换规则分页列表")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPerm('business:user-exchange-integral-rule:query')")
+    public PageResult<UserExchangeIntegralRuleVO> getUserExchangeIntegralRulePage(UserExchangeIntegralRuleQuery queryParams ) {
+        IPage<UserExchangeIntegralRuleVO> result = userExchangeIntegralRuleService.getUserExchangeIntegralRulePage(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增积分兑换规则")
+    @PostMapping
+    @PreAuthorize("@ss.hasPerm('business:user-exchange-integral-rule:add')")
+    public Result<Void> saveUserExchangeIntegralRule(@RequestBody @Valid UserExchangeIntegralRuleForm formData ) {
+        boolean result = userExchangeIntegralRuleService.saveUserExchangeIntegralRule(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "获取积分兑换规则表单数据")
+    @GetMapping("/{id}/form")
+    @PreAuthorize("@ss.hasPerm('business:user-exchange-integral-rule:edit')")
+    public Result<UserExchangeIntegralRuleForm> getUserExchangeIntegralRuleForm(
+        @Parameter(description = "积分兑换规则ID") @PathVariable Long id
+    ) {
+        UserExchangeIntegralRuleForm formData = userExchangeIntegralRuleService.getUserExchangeIntegralRuleFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改积分兑换规则")
+    @PutMapping(value = "/{id}")
+    @PreAuthorize("@ss.hasPerm('business:user-exchange-integral-rule:edit')")
+    public Result<Void> updateUserExchangeIntegralRule(
+            @Parameter(description = "积分兑换规则ID") @PathVariable Long id,
+            @RequestBody @Validated UserExchangeIntegralRuleForm formData
+    ) {
+        boolean result = userExchangeIntegralRuleService.updateUserExchangeIntegralRule(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "积分兑换规则启用禁用")
+    @PutMapping(value = "/editStatus/{id}")
+    @PreAuthorize("@ss.hasPerm('business:user-exchange-integral-rule:editStatus')")
+    public Result<Void> editStatus(
+            @Parameter(description = "积分兑换规则ID") @PathVariable Long id
+    ) {
+        boolean result = userExchangeIntegralRuleService.editStatus(id);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除积分兑换规则")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("@ss.hasPerm('business:user-exchange-integral-rule:delete')")
+    public Result<Void> deleteUserExchangeIntegralRules(
+        @Parameter(description = "积分兑换规则ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = userExchangeIntegralRuleService.deleteUserExchangeIntegralRules(ids);
+        return Result.judge(result);
+    }
+}

+ 81 - 0
src/main/java/com/zsElectric/boot/business/controller/UserFirmController.java

@@ -0,0 +1,81 @@
+package com.zsElectric.boot.business.controller;
+
+import com.zsElectric.boot.business.service.UserFirmService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zsElectric.boot.business.model.form.UserFirmForm;
+import com.zsElectric.boot.business.model.query.UserFirmQuery;
+import com.zsElectric.boot.business.model.vo.UserFirmVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import jakarta.validation.Valid;
+
+/**
+ * 企业与用户关系前端控制层
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+@Tag(name = "企业与用户关系接口")
+@RestController
+@RequestMapping("/api/v1/user-firm")
+@RequiredArgsConstructor
+public class UserFirmController  {
+
+    private final UserFirmService userFirmService;
+
+    @Operation(summary = "企业与用户关系分页列表")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPerm('business:user-firm:query')")
+    public PageResult<UserFirmVO> getUserFirmPage(UserFirmQuery queryParams ) {
+        IPage<UserFirmVO> result = userFirmService.getUserFirmPage(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增企业与用户关系")
+    @PostMapping
+    @PreAuthorize("@ss.hasPerm('business:user-firm:add')")
+    public Result<Void> saveUserFirm(@RequestBody @Valid UserFirmForm formData ) {
+        boolean result = userFirmService.saveUserFirm(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "获取企业与用户关系表单数据")
+    @GetMapping("/{id}/form")
+    @PreAuthorize("@ss.hasPerm('business:user-firm:edit')")
+    public Result<UserFirmForm> getUserFirmForm(
+        @Parameter(description = "企业与用户关系ID") @PathVariable Long id
+    ) {
+        UserFirmForm formData = userFirmService.getUserFirmFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改企业与用户关系")
+    @PutMapping(value = "/{id}")
+    @PreAuthorize("@ss.hasPerm('business:user-firm:edit')")
+    public Result<Void> updateUserFirm(
+            @Parameter(description = "企业与用户关系ID") @PathVariable Long id,
+            @RequestBody @Validated UserFirmForm formData
+    ) {
+        boolean result = userFirmService.updateUserFirm(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除企业与用户关系")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("@ss.hasPerm('business:user-firm:delete')")
+    public Result<Void> deleteUserFirms(
+        @Parameter(description = "企业与用户关系ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = userFirmService.deleteUserFirms(ids);
+        return Result.judge(result);
+    }
+}

+ 81 - 0
src/main/java/com/zsElectric/boot/business/controller/UserInfoController.java

@@ -0,0 +1,81 @@
+package com.zsElectric.boot.business.controller;
+
+import com.zsElectric.boot.business.service.UserInfoService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zsElectric.boot.business.model.form.UserInfoForm;
+import com.zsElectric.boot.business.model.query.UserInfoQuery;
+import com.zsElectric.boot.business.model.vo.UserInfoVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import jakarta.validation.Valid;
+
+/**
+ * 个人用户信息前端控制层
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+@Tag(name = "个人用户信息接口")
+@RestController
+@RequestMapping("/api/v1/user-info")
+@RequiredArgsConstructor
+public class UserInfoController  {
+
+    private final UserInfoService userInfoService;
+
+    @Operation(summary = "个人用户信息分页列表")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPerm('business:user-info:query')")
+    public PageResult<UserInfoVO> getUserInfoPage(UserInfoQuery queryParams ) {
+        IPage<UserInfoVO> result = userInfoService.getUserInfoPage(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增个人用户信息")
+    @PostMapping
+    @PreAuthorize("@ss.hasPerm('business:user-info:add')")
+    public Result<Void> saveUserInfo(@RequestBody @Valid UserInfoForm formData ) {
+        boolean result = userInfoService.saveUserInfo(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "获取个人用户信息表单数据")
+    @GetMapping("/{id}/form")
+    @PreAuthorize("@ss.hasPerm('business:user-info:edit')")
+    public Result<UserInfoForm> getUserInfoForm(
+        @Parameter(description = "个人用户信息ID") @PathVariable Long id
+    ) {
+        UserInfoForm formData = userInfoService.getUserInfoFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改个人用户信息")
+    @PutMapping(value = "/{id}")
+    @PreAuthorize("@ss.hasPerm('business:user-info:edit')")
+    public Result<Void> updateUserInfo(
+            @Parameter(description = "个人用户信息ID") @PathVariable Long id,
+            @RequestBody @Validated UserInfoForm formData
+    ) {
+        boolean result = userInfoService.updateUserInfo(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除个人用户信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("@ss.hasPerm('business:user-info:delete')")
+    public Result<Void> deleteUserInfos(
+        @Parameter(description = "个人用户信息ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = userInfoService.deleteUserInfos(ids);
+        return Result.judge(result);
+    }
+}

+ 81 - 0
src/main/java/com/zsElectric/boot/business/controller/UserInfoIntegralLogController.java

@@ -0,0 +1,81 @@
+package com.zsElectric.boot.business.controller;
+
+import com.zsElectric.boot.business.service.UserInfoIntegralLogService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zsElectric.boot.business.model.form.UserInfoIntegralLogForm;
+import com.zsElectric.boot.business.model.query.UserInfoIntegralLogQuery;
+import com.zsElectric.boot.business.model.vo.UserInfoIntegralLogVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import jakarta.validation.Valid;
+
+/**
+ * 用户积分日志记录前端控制层
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+@Tag(name = "用户积分日志记录接口")
+@RestController
+@RequestMapping("/api/v1/user-info-integral-log")
+@RequiredArgsConstructor
+public class UserInfoIntegralLogController  {
+
+    private final UserInfoIntegralLogService userInfoIntegralLogService;
+
+    @Operation(summary = "用户积分日志记录分页列表")
+    @GetMapping("/page")
+    @PreAuthorize("@ss.hasPerm('business:user-info-integral-log:query')")
+    public PageResult<UserInfoIntegralLogVO> getUserInfoIntegralLogPage(UserInfoIntegralLogQuery queryParams ) {
+        IPage<UserInfoIntegralLogVO> result = userInfoIntegralLogService.getUserInfoIntegralLogPage(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增用户积分日志记录")
+    @PostMapping
+    @PreAuthorize("@ss.hasPerm('business:user-info-integral-log:add')")
+    public Result<Void> saveUserInfoIntegralLog(@RequestBody @Valid UserInfoIntegralLogForm formData ) {
+        boolean result = userInfoIntegralLogService.saveUserInfoIntegralLog(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "获取用户积分日志记录表单数据")
+    @GetMapping("/{id}/form")
+    @PreAuthorize("@ss.hasPerm('business:user-info-integral-log:edit')")
+    public Result<UserInfoIntegralLogForm> getUserInfoIntegralLogForm(
+        @Parameter(description = "用户积分日志记录ID") @PathVariable Long id
+    ) {
+        UserInfoIntegralLogForm formData = userInfoIntegralLogService.getUserInfoIntegralLogFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改用户积分日志记录")
+    @PutMapping(value = "/{id}")
+    @PreAuthorize("@ss.hasPerm('business:user-info-integral-log:edit')")
+    public Result<Void> updateUserInfoIntegralLog(
+            @Parameter(description = "用户积分日志记录ID") @PathVariable Long id,
+            @RequestBody @Validated UserInfoIntegralLogForm formData
+    ) {
+        boolean result = userInfoIntegralLogService.updateUserInfoIntegralLog(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除用户积分日志记录")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("@ss.hasPerm('business:user-info-integral-log:delete')")
+    public Result<Void> deleteUserInfoIntegralLogs(
+        @Parameter(description = "用户积分日志记录ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = userInfoIntegralLogService.deleteUserInfoIntegralLogs(ids);
+        return Result.judge(result);
+    }
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/converter/PromotionCouponTemplateConverter.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.converter;
+
+import org.mapstruct.Mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.entity.PromotionCouponTemplate;
+import com.zsElectric.boot.business.model.form.PromotionCouponTemplateForm;
+
+/**
+ * 优惠劵模板对象转换器
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+@Mapper(componentModel = "spring")
+public interface PromotionCouponTemplateConverter{
+
+    PromotionCouponTemplateForm toForm(PromotionCouponTemplate entity);
+
+    PromotionCouponTemplate toEntity(PromotionCouponTemplateForm formData);
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/converter/RechargeLevelConverter.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.converter;
+
+import org.mapstruct.Mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.entity.RechargeLevel;
+import com.zsElectric.boot.business.model.form.RechargeLevelForm;
+
+/**
+ * 充值档位信息对象转换器
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+@Mapper(componentModel = "spring")
+public interface RechargeLevelConverter{
+
+    RechargeLevelForm toForm(RechargeLevel entity);
+
+    RechargeLevel toEntity(RechargeLevelForm formData);
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/converter/UserAccountConverter.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.converter;
+
+import org.mapstruct.Mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.entity.UserAccount;
+import com.zsElectric.boot.business.model.form.UserAccountForm;
+
+/**
+ * 个人账户对象转换器
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+@Mapper(componentModel = "spring")
+public interface UserAccountConverter{
+
+    UserAccountForm toForm(UserAccount entity);
+
+    UserAccount toEntity(UserAccountForm formData);
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/converter/UserAccountLogConverter.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.converter;
+
+import org.mapstruct.Mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.entity.UserAccountLog;
+import com.zsElectric.boot.business.model.form.UserAccountLogForm;
+
+/**
+ * 个人账户变更记录对象转换器
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+@Mapper(componentModel = "spring")
+public interface UserAccountLogConverter{
+
+    UserAccountLogForm toForm(UserAccountLog entity);
+
+    UserAccountLog toEntity(UserAccountLogForm formData);
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/converter/UserExchangeIntegralRuleConverter.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.converter;
+
+import org.mapstruct.Mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.entity.UserExchangeIntegralRule;
+import com.zsElectric.boot.business.model.form.UserExchangeIntegralRuleForm;
+
+/**
+ * 积分兑换规则对象转换器
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+@Mapper(componentModel = "spring")
+public interface UserExchangeIntegralRuleConverter{
+
+    UserExchangeIntegralRuleForm toForm(UserExchangeIntegralRule entity);
+
+    UserExchangeIntegralRule toEntity(UserExchangeIntegralRuleForm formData);
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/converter/UserFirmConverter.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.converter;
+
+import org.mapstruct.Mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.entity.UserFirm;
+import com.zsElectric.boot.business.model.form.UserFirmForm;
+
+/**
+ * 企业与用户关系对象转换器
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+@Mapper(componentModel = "spring")
+public interface UserFirmConverter{
+
+    UserFirmForm toForm(UserFirm entity);
+
+    UserFirm toEntity(UserFirmForm formData);
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/converter/UserInfoConverter.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.converter;
+
+import org.mapstruct.Mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.entity.UserInfo;
+import com.zsElectric.boot.business.model.form.UserInfoForm;
+
+/**
+ * 个人用户信息对象转换器
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+@Mapper(componentModel = "spring")
+public interface UserInfoConverter{
+
+    UserInfoForm toForm(UserInfo entity);
+
+    UserInfo toEntity(UserInfoForm formData);
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/converter/UserInfoIntegralLogConverter.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.converter;
+
+import org.mapstruct.Mapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.entity.UserInfoIntegralLog;
+import com.zsElectric.boot.business.model.form.UserInfoIntegralLogForm;
+
+/**
+ * 用户积分日志记录对象转换器
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+@Mapper(componentModel = "spring")
+public interface UserInfoIntegralLogConverter{
+
+    UserInfoIntegralLogForm toForm(UserInfoIntegralLog entity);
+
+    UserInfoIntegralLog toEntity(UserInfoIntegralLogForm formData);
+}

+ 2 - 1
src/main/java/com/zsElectric/boot/business/mapper/FirmInfoMapper.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zsElectric.boot.business.model.query.FirmInfoQuery;
 import com.zsElectric.boot.business.model.vo.FirmInfoVO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 企业信息Mapper接口
@@ -23,6 +24,6 @@ public interface FirmInfoMapper extends BaseMapper<FirmInfo> {
      * @param queryParams 查询参数
      * @return {@link Page<FirmInfoVO>} 企业信息分页列表
      */
-    Page<FirmInfoVO> getFirmInfoPage(Page<FirmInfoVO> page, FirmInfoQuery queryParams);
+    Page<FirmInfoVO> getFirmInfoPage(Page<FirmInfoVO> page, @Param("queryParams")FirmInfoQuery queryParams);
 
 }

+ 1 - 1
src/main/java/com/zsElectric/boot/business/mapper/FirmStationTimePriceMapper.java

@@ -29,5 +29,5 @@ public interface FirmStationTimePriceMapper extends BaseMapper<FirmStationTimePr
      */
     Page<FirmStationTimePriceVO> getFirmStationTimePricePage(Page<FirmStationTimePriceVO> page, FirmStationTimePriceQuery queryParams);
 
-    List<ExclusivePriceDTO> getExclusivePriceList(@Param("stationId") Long stationId, @Param("firmId") Long firmId );
+    Page<ExclusivePriceDTO> getExclusivePriceList(Page<ExclusivePriceDTO> page,@Param("stationId") Long stationId, @Param("firmId") Long firmId );
 }

+ 29 - 0
src/main/java/com/zsElectric/boot/business/mapper/PromotionCouponTemplateMapper.java

@@ -0,0 +1,29 @@
+package com.zsElectric.boot.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.business.model.entity.PromotionCouponTemplate;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.query.PromotionCouponTemplateQuery;
+import com.zsElectric.boot.business.model.vo.PromotionCouponTemplateVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 优惠劵模板Mapper接口
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+@Mapper
+public interface PromotionCouponTemplateMapper extends BaseMapper<PromotionCouponTemplate> {
+
+    /**
+     * 获取优惠劵模板分页数据
+     *
+     * @param page 分页对象
+     * @param queryParams 查询参数
+     * @return {@link Page<PromotionCouponTemplateVO>} 优惠劵模板分页列表
+     */
+    Page<PromotionCouponTemplateVO> getPromotionCouponTemplatePage(Page<PromotionCouponTemplateVO> page,@Param("queryParams") PromotionCouponTemplateQuery queryParams);
+
+}

+ 29 - 0
src/main/java/com/zsElectric/boot/business/mapper/RechargeLevelMapper.java

@@ -0,0 +1,29 @@
+package com.zsElectric.boot.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.business.model.entity.RechargeLevel;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.query.RechargeLevelQuery;
+import com.zsElectric.boot.business.model.vo.RechargeLevelVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 充值档位信息Mapper接口
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+@Mapper
+public interface RechargeLevelMapper extends BaseMapper<RechargeLevel> {
+
+    /**
+     * 获取充值档位信息分页数据
+     *
+     * @param page 分页对象
+     * @param queryParams 查询参数
+     * @return {@link Page<RechargeLevelVO>} 充值档位信息分页列表
+     */
+    Page<RechargeLevelVO> getRechargeLevelPage(Page<RechargeLevelVO> page, @Param("queryParams")RechargeLevelQuery queryParams);
+
+}

+ 28 - 0
src/main/java/com/zsElectric/boot/business/mapper/UserAccountLogMapper.java

@@ -0,0 +1,28 @@
+package com.zsElectric.boot.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.business.model.entity.UserAccountLog;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.query.UserAccountLogQuery;
+import com.zsElectric.boot.business.model.vo.UserAccountLogVO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 个人账户变更记录Mapper接口
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+@Mapper
+public interface UserAccountLogMapper extends BaseMapper<UserAccountLog> {
+
+    /**
+     * 获取个人账户变更记录分页数据
+     *
+     * @param page 分页对象
+     * @param queryParams 查询参数
+     * @return {@link Page<UserAccountLogVO>} 个人账户变更记录分页列表
+     */
+    Page<UserAccountLogVO> getUserAccountLogPage(Page<UserAccountLogVO> page, UserAccountLogQuery queryParams);
+
+}

+ 28 - 0
src/main/java/com/zsElectric/boot/business/mapper/UserAccountMapper.java

@@ -0,0 +1,28 @@
+package com.zsElectric.boot.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.business.model.entity.UserAccount;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.query.UserAccountQuery;
+import com.zsElectric.boot.business.model.vo.UserAccountVO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 个人账户Mapper接口
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+@Mapper
+public interface UserAccountMapper extends BaseMapper<UserAccount> {
+
+    /**
+     * 获取个人账户分页数据
+     *
+     * @param page 分页对象
+     * @param queryParams 查询参数
+     * @return {@link Page<UserAccountVO>} 个人账户分页列表
+     */
+    Page<UserAccountVO> getUserAccountPage(Page<UserAccountVO> page, UserAccountQuery queryParams);
+
+}

+ 28 - 0
src/main/java/com/zsElectric/boot/business/mapper/UserExchangeIntegralRuleMapper.java

@@ -0,0 +1,28 @@
+package com.zsElectric.boot.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.business.model.entity.UserExchangeIntegralRule;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.query.UserExchangeIntegralRuleQuery;
+import com.zsElectric.boot.business.model.vo.UserExchangeIntegralRuleVO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 积分兑换规则Mapper接口
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+@Mapper
+public interface UserExchangeIntegralRuleMapper extends BaseMapper<UserExchangeIntegralRule> {
+
+    /**
+     * 获取积分兑换规则分页数据
+     *
+     * @param page 分页对象
+     * @param queryParams 查询参数
+     * @return {@link Page<UserExchangeIntegralRuleVO>} 积分兑换规则分页列表
+     */
+    Page<UserExchangeIntegralRuleVO> getUserExchangeIntegralRulePage(Page<UserExchangeIntegralRuleVO> page, UserExchangeIntegralRuleQuery queryParams);
+
+}

+ 29 - 0
src/main/java/com/zsElectric/boot/business/mapper/UserFirmMapper.java

@@ -0,0 +1,29 @@
+package com.zsElectric.boot.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.business.model.entity.UserFirm;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.query.UserFirmQuery;
+import com.zsElectric.boot.business.model.vo.UserFirmVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 企业与用户关系Mapper接口
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+@Mapper
+public interface UserFirmMapper extends BaseMapper<UserFirm> {
+
+    /**
+     * 获取企业与用户关系分页数据
+     *
+     * @param page 分页对象
+     * @param queryParams 查询参数
+     * @return {@link Page<UserFirmVO>} 企业与用户关系分页列表
+     */
+    Page<UserFirmVO> getUserFirmPage(Page<UserFirmVO> page,@Param("queryParams") UserFirmQuery queryParams);
+
+}

+ 28 - 0
src/main/java/com/zsElectric/boot/business/mapper/UserInfoIntegralLogMapper.java

@@ -0,0 +1,28 @@
+package com.zsElectric.boot.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.business.model.entity.UserInfoIntegralLog;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.query.UserInfoIntegralLogQuery;
+import com.zsElectric.boot.business.model.vo.UserInfoIntegralLogVO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户积分日志记录Mapper接口
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+@Mapper
+public interface UserInfoIntegralLogMapper extends BaseMapper<UserInfoIntegralLog> {
+
+    /**
+     * 获取用户积分日志记录分页数据
+     *
+     * @param page 分页对象
+     * @param queryParams 查询参数
+     * @return {@link Page<UserInfoIntegralLogVO>} 用户积分日志记录分页列表
+     */
+    Page<UserInfoIntegralLogVO> getUserInfoIntegralLogPage(Page<UserInfoIntegralLogVO> page, UserInfoIntegralLogQuery queryParams);
+
+}

+ 28 - 0
src/main/java/com/zsElectric/boot/business/mapper/UserInfoMapper.java

@@ -0,0 +1,28 @@
+package com.zsElectric.boot.business.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.business.model.entity.UserInfo;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.business.model.query.UserInfoQuery;
+import com.zsElectric.boot.business.model.vo.UserInfoVO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 个人用户信息Mapper接口
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+@Mapper
+public interface UserInfoMapper extends BaseMapper<UserInfo> {
+
+    /**
+     * 获取个人用户信息分页数据
+     *
+     * @param page 分页对象
+     * @param queryParams 查询参数
+     * @return {@link Page<UserInfoVO>} 个人用户信息分页列表
+     */
+    Page<UserInfoVO> getUserInfoPage(Page<UserInfoVO> page, UserInfoQuery queryParams);
+
+}

+ 71 - 0
src/main/java/com/zsElectric/boot/business/model/entity/PromotionCouponTemplate.java

@@ -0,0 +1,71 @@
+package com.zsElectric.boot.business.model.entity;
+
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+
+/**
+ * 优惠劵模板实体对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+@Getter
+@Setter
+@TableName("c_promotion_coupon_template")
+public class PromotionCouponTemplate extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 优惠劵名称
+     */
+    private String name;
+    /**
+     * 描述
+     */
+    private String description;
+    /**
+     * 上线状态 ( 0-下线 1-上线)
+     */
+    private Integer status;
+    /**
+     * 发放数量, -1 - 则表示不限制
+     */
+    private Integer totalCount;
+    /**
+     * 每人限领个数, -1 - 则表示不限制
+     */
+    private Integer takeLimitCount;
+    /**
+     * 失效时间,领取后的几天。
+     */
+    private Integer failureTime;
+    /**
+     * 设置满多少金额可用,单位:分
+     */
+    private BigDecimal usePrice;
+    /**
+     * 优惠金额,单位:分
+     */
+    private BigDecimal discountPrice;
+    /**
+     * 领取时间:周  星期一 1  2  3 4 5 6 7
+     */
+    private String validTimeWeeks;
+    /**
+     * 领取时间 时分  08:20
+     */
+    private String validTimeHour;
+    /**
+     * 创建人
+     */
+    private Long createBy;
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+}

+ 51 - 0
src/main/java/com/zsElectric/boot/business/model/entity/RechargeLevel.java

@@ -0,0 +1,51 @@
+package com.zsElectric.boot.business.model.entity;
+
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+
+/**
+ * 充值档位信息实体对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+@Getter
+@Setter
+@TableName("c_recharge_level")
+public class RechargeLevel extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 充值档位名称
+     */
+    private String name;
+    /**
+     * 充值金额
+     */
+    private BigDecimal money;
+    /**
+     * 状态 (0-不可用 1-可用)
+     */
+    private Integer status;
+    /**
+     * 充值提示
+     */
+    private String tips;
+    /**
+     * 创建人
+     */
+    private Long createBy;
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+    /**
+     * 逻辑删除(0-未删除 1-已删除)
+     */
+    private Integer isDeleted;
+}

+ 51 - 0
src/main/java/com/zsElectric/boot/business/model/entity/UserAccount.java

@@ -0,0 +1,51 @@
+package com.zsElectric.boot.business.model.entity;
+
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+
+/**
+ * 个人账户实体对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+@Getter
+@Setter
+@TableName("c_user_account")
+public class UserAccount extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户编号
+     */
+    private Long userId;
+    /**
+     * 可用抵用券余额
+     */
+    private BigDecimal balance;
+    /**
+     * 交易码
+     */
+    private String tradeCode;
+    /**
+     * 欠款金额
+     */
+    private BigDecimal amountOwed;
+    /**
+     * 创建人
+     */
+    private Long createBy;
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+    /**
+     * 逻辑删除(0-未删除 1-已删除)
+     */
+    private Integer isDeleted;
+}

+ 55 - 0
src/main/java/com/zsElectric/boot/business/model/entity/UserAccountLog.java

@@ -0,0 +1,55 @@
+package com.zsElectric.boot.business.model.entity;
+
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+
+/**
+ * 个人账户变更记录实体对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+@Getter
+@Setter
+@TableName("c_user_account_log")
+public class UserAccountLog extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户编号
+     */
+    private Long userId;
+    /**
+     * 变更类型 1 增加 2 减少
+     */
+    private Integer changeType;
+    /**
+     * 变更记录
+     */
+    private String changeNote;
+    /**
+     * 变更记录编号(订单号或充电订单号)
+     */
+    private Long changeId;
+    /**
+     * 账户类型(1个人账户,2集团账户)
+     */
+    private Integer accountType;
+    /**
+     * 商家编号
+     */
+    private Long ecId;
+    /**
+     * 变更前余额
+     */
+    private BigDecimal beforeBalance;
+    /**
+     * 变更余额
+     */
+    private BigDecimal changeBalance;
+}

+ 51 - 0
src/main/java/com/zsElectric/boot/business/model/entity/UserExchangeIntegralRule.java

@@ -0,0 +1,51 @@
+package com.zsElectric.boot.business.model.entity;
+
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+
+/**
+ * 积分兑换规则实体对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+@Getter
+@Setter
+@TableName("c_user_exchange_integral_rule")
+public class UserExchangeIntegralRule extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 兑换度数基数(按照多少度进行兑换)
+     */
+    private BigDecimal degree;
+    /**
+     * 1度电获得的积分(如1度1积分)
+     */
+    private BigDecimal gainIntegral;
+    /**
+     * 是否启用(0-停用 1-启用)
+     */
+    private Integer status;
+    /**
+     * 乐观锁
+     */
+    private Integer version;
+    /**
+     * 创建人
+     */
+    private Long createBy;
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+    /**
+     * 逻辑删除(0-未删除 1-已删除)
+     */
+    private Integer isDeleted;
+}

+ 49 - 0
src/main/java/com/zsElectric/boot/business/model/entity/UserFirm.java

@@ -0,0 +1,49 @@
+package com.zsElectric.boot.business.model.entity;
+
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+/**
+ * 企业与用户关系实体对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+@Getter
+@Setter
+@TableName("c_user_firm")
+public class UserFirm extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户id
+     */
+    private Long userId;
+    /**
+     * 手机号
+     */
+    private String phone;
+    /**
+     * 企业id
+     */
+    private Long firmId;
+    /**
+     * 身份 1 管理员 2普通员工
+     */
+    private Integer type;
+    /**
+     * 创建人
+     */
+    private Long createBy;
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+    /**
+     * 逻辑删除(0-未删除 1-已删除)
+     */
+    private Integer isDeleted;
+}

+ 59 - 0
src/main/java/com/zsElectric/boot/business/model/entity/UserInfo.java

@@ -0,0 +1,59 @@
+package com.zsElectric.boot.business.model.entity;
+
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+
+/**
+ * 个人用户信息实体对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+@Getter
+@Setter
+@TableName("c_user_info")
+public class UserInfo extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 所属集团编号
+     */
+    private Long ecId;
+    /**
+     * 昵称
+     */
+    private String nickName;
+    /**
+     * 手机号
+     */
+    private String phone;
+    /**
+     * 微信openid
+     */
+    private String wechat;
+    /**
+     * 积分
+     */
+    private BigDecimal integralNum;
+    /**
+     * 所属第三方(无则为自营)
+     */
+    private Long groupId;
+    /**
+     * 创建人
+     */
+    private Long createBy;
+    /**
+     * 更新人
+     */
+    private Long updateBy;
+    /**
+     * 逻辑删除(0-未删除 1-已删除)
+     */
+    private Integer isDeleted;
+}

+ 57 - 0
src/main/java/com/zsElectric/boot/business/model/entity/UserInfoIntegralLog.java

@@ -0,0 +1,57 @@
+package com.zsElectric.boot.business.model.entity;
+
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 用户积分日志记录实体对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+@Getter
+@Setter
+@TableName("c_user_info_integral_log")
+public class UserInfoIntegralLog{
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+    /**
+     * 原积分
+     */
+    private BigDecimal integralNumOrg;
+    /**
+     * 积分
+     */
+    private BigDecimal integralNum;
+    /**
+     * 类型(1,增加;2,扣减)
+     */
+    private Integer type;
+    /**
+     * 来源(1自动上账,2手动上账)
+     */
+    private String sourceType;
+    /**
+     * 来源单号
+     */
+    private String changNo;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 创建人
+     */
+    private LocalDateTime createTime;
+
+}

+ 1 - 2
src/main/java/com/zsElectric/boot/business/model/form/FirmInfoForm.java

@@ -23,8 +23,7 @@ public class FirmInfoForm implements Serializable {
     @Serial
     private static final long serialVersionUID = 1L;
 
-    @Schema(description = "B端企业列表")
-    @NotNull(message = "B端企业列表不能为空")
+    @Schema(description = "主键ID")
     private Long id;
 
     @Schema(description = "部门id")

+ 0 - 1
src/main/java/com/zsElectric/boot/business/model/form/FirmStationTimePriceForm.java

@@ -25,7 +25,6 @@ public class FirmStationTimePriceForm implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @Schema(description = "主键")
-    @NotNull(message = "主键不能为空")
     private Long id;
 
     @Schema(description = "企业专享优惠价")

+ 87 - 0
src/main/java/com/zsElectric/boot/business/model/form/PromotionCouponTemplateForm.java

@@ -0,0 +1,87 @@
+package com.zsElectric.boot.business.model.form;
+
+import java.io.Serial;
+import java.io.Serializable;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.math.BigDecimal;
+import jakarta.validation.constraints.*;
+
+/**
+ * 优惠劵模板表单对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+@Getter
+@Setter
+@Schema(description = "优惠劵模板表单对象")
+public class PromotionCouponTemplateForm implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键ID")
+    @NotNull(message = "主键ID不能为空")
+    private Long id;
+
+    @Schema(description = "优惠劵名称")
+    @NotBlank(message = "优惠劵名称不能为空")
+    @Size(max=50, message="优惠劵名称长度不能超过50个字符")
+    private String name;
+
+    @Schema(description = "描述")
+    @Size(max=500, message="描述长度不能超过500个字符")
+    private String description;
+
+    @Schema(description = "上线状态 ( 0-下线 1-上线)")
+    @NotNull(message = "上线状态 ( 0-下线 1-上线)不能为空")
+    private Integer status;
+
+    @Schema(description = "发放数量, -1 - 则表示不限制")
+    @NotNull(message = "发放数量, -1 - 则表示不限制不能为空")
+    private Integer totalCount;
+
+    @Schema(description = "每人限领个数, -1 - 则表示不限制")
+    private Integer takeLimitCount;
+
+    @Schema(description = "失效时间,领取后的几天。")
+    private Integer failureTime;
+
+    @Schema(description = "设置满多少金额可用,单位:分")
+    @NotNull(message = "设置满多少金额可用,单位:分不能为空")
+    private BigDecimal usePrice;
+
+    @Schema(description = "优惠金额,单位:分")
+    @NotNull(message = "优惠金额,单位:分不能为空")
+    private BigDecimal discountPrice;
+
+    @Schema(description = "领取时间:周  星期一 1  2  3 4 5 6 7")
+    @NotBlank(message = "领取时间:周  星期一 1  2  3 4 5 6 7不能为空")
+    @Size(max=50, message="领取时间:周  星期一 1  2  3 4 5 6 7长度不能超过50个字符")
+    private String validTimeWeeks;
+
+    @Schema(description = "领取时间 时分  08:20")
+    @NotBlank(message = "领取时间 时分  08:20不能为空")
+    @Size(max=50, message="领取时间 时分  08:20长度不能超过50个字符")
+    private String validTimeHour;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+
+}

+ 63 - 0
src/main/java/com/zsElectric/boot/business/model/form/RechargeLevelForm.java

@@ -0,0 +1,63 @@
+package com.zsElectric.boot.business.model.form;
+
+import java.io.Serial;
+import java.io.Serializable;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.math.BigDecimal;
+import jakarta.validation.constraints.*;
+
+/**
+ * 充值档位信息表单对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+@Getter
+@Setter
+@Schema(description = "充值档位信息表单对象")
+public class RechargeLevelForm implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键ID")
+    @NotNull(message = "主键ID不能为空")
+    private Long id;
+
+    @Schema(description = "充值档位名称")
+    @Size(max=255, message="充值档位名称长度不能超过255个字符")
+    private String name;
+
+    @Schema(description = "充值金额")
+    private BigDecimal money;
+
+    @Schema(description = "状态 (0-不可用 1-可用)")
+    private Integer status;
+
+    @Schema(description = "充值提示")
+    @Size(max=255, message="充值提示长度不能超过255个字符")
+    private String tips;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+
+
+}

+ 61 - 0
src/main/java/com/zsElectric/boot/business/model/form/UserAccountForm.java

@@ -0,0 +1,61 @@
+package com.zsElectric.boot.business.model.form;
+
+import java.io.Serial;
+import java.io.Serializable;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.math.BigDecimal;
+import jakarta.validation.constraints.*;
+
+/**
+ * 个人账户表单对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+@Getter
+@Setter
+@Schema(description = "个人账户表单对象")
+public class UserAccountForm implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "个人账户信息")
+    private Long id;
+
+    @Schema(description = "用户编号")
+    private Long userId;
+
+    @Schema(description = "可用抵用券余额")
+    private BigDecimal balance;
+
+    @Schema(description = "交易码")
+    @Size(max=255, message="交易码长度不能超过255个字符")
+    private String tradeCode;
+
+    @Schema(description = "欠款金额")
+    private BigDecimal amountOwed;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+
+
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/business/model/form/UserAccountLogForm.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.model.form;
+
+import java.io.Serial;
+import java.io.Serializable;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import jakarta.validation.constraints.*;
+
+/**
+ * 个人账户变更记录表单对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+@Getter
+@Setter
+@Schema(description = "个人账户变更记录表单对象")
+public class UserAccountLogForm implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "个人账户日志编号")
+    private Long id;
+
+    @Schema(description = "用户编号")
+    private Long userId;
+
+    @Schema(description = "变更类型 1 增加 2 减少")
+    private Integer changeType;
+
+    @Schema(description = "变更记录")
+    @Size(max=255, message="变更记录长度不能超过255个字符")
+    private String changeNote;
+
+    @Schema(description = "变更记录编号(订单号或充电订单号)")
+    private Long changeId;
+
+    @Schema(description = "账户类型(1个人账户,2集团账户)")
+    private Integer accountType;
+
+    @Schema(description = "商家编号")
+    private Long ecId;
+
+    @Schema(description = "变更前余额")
+    private BigDecimal beforeBalance;
+
+    @Schema(description = "变更余额")
+    private BigDecimal changeBalance;
+
+    @Schema(description = "变更时间")
+    @Size(max=20, message="变更时间长度不能超过20个字符")
+    private String createTime;
+
+
+}

+ 60 - 0
src/main/java/com/zsElectric/boot/business/model/form/UserExchangeIntegralRuleForm.java

@@ -0,0 +1,60 @@
+package com.zsElectric.boot.business.model.form;
+
+import java.io.Serial;
+import java.io.Serializable;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.math.BigDecimal;
+import jakarta.validation.constraints.*;
+
+/**
+ * 积分兑换规则表单对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+@Getter
+@Setter
+@Schema(description = "积分兑换规则表单对象")
+public class UserExchangeIntegralRuleForm implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键")
+    private Long id;
+
+    @Schema(description = "兑换度数基数(按照多少度进行兑换)")
+    private BigDecimal degree;
+
+    @Schema(description = "1度电获得的积分(如1度1积分)")
+    private BigDecimal gainIntegral;
+
+    @Schema(description = "是否启用(0-停用 1-启用)")
+    private Integer status;
+
+    @Schema(description = "乐观锁")
+    private Integer version;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+
+
+}

+ 60 - 0
src/main/java/com/zsElectric/boot/business/model/form/UserFirmForm.java

@@ -0,0 +1,60 @@
+package com.zsElectric.boot.business.model.form;
+
+import java.io.Serial;
+import java.io.Serializable;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.*;
+
+/**
+ * 企业与用户关系表单对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+@Getter
+@Setter
+@Schema(description = "企业与用户关系表单对象")
+public class UserFirmForm implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键id")
+    private Long id;
+
+    @Schema(description = "用户id")
+    private Long userId;
+
+    @Schema(description = "手机号")
+    @Size(max=12, message="手机号长度不能超过12个字符")
+    private String phone;
+
+    @Schema(description = "企业id")
+    private Long firmId;
+
+    @Schema(description = "身份 1 管理员 2普通员工")
+    private Integer type;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+
+
+}

+ 69 - 0
src/main/java/com/zsElectric/boot/business/model/form/UserInfoForm.java

@@ -0,0 +1,69 @@
+package com.zsElectric.boot.business.model.form;
+
+import java.io.Serial;
+import java.io.Serializable;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.math.BigDecimal;
+import jakarta.validation.constraints.*;
+
+/**
+ * 个人用户信息表单对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+@Getter
+@Setter
+@Schema(description = "个人用户信息表单对象")
+public class UserInfoForm implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "个人用户编号")
+    private Long id;
+
+    @Schema(description = "所属集团编号")
+    private Long ecId;
+
+    @Schema(description = "昵称")
+    @Size(max=32, message="昵称长度不能超过32个字符")
+    private String nickName;
+
+    @Schema(description = "手机号")
+    @Size(max=20, message="手机号长度不能超过20个字符")
+    private String phone;
+
+    @Schema(description = "微信openid")
+    @Size(max=128, message="微信openid长度不能超过128个字符")
+    private String wechat;
+
+    @Schema(description = "积分")
+    private BigDecimal integralNum;
+
+    @Schema(description = "所属第三方(无则为自营)")
+    private Long groupId;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @Schema(description = "创建人")
+    private Long createBy;
+
+    @Schema(description = "更新时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @Schema(description = "更新人")
+    private Long updateBy;
+
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+
+
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/business/model/form/UserInfoIntegralLogForm.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.model.form;
+
+import java.io.Serial;
+import java.io.Serializable;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.math.BigDecimal;
+import jakarta.validation.constraints.*;
+
+/**
+ * 用户积分日志记录表单对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+@Getter
+@Setter
+@Schema(description = "用户积分日志记录表单对象")
+public class UserInfoIntegralLogForm implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键ID")
+    private Long id;
+
+    @Schema(description = "用户ID")
+    private Long userId;
+
+    @Schema(description = "原积分")
+    private BigDecimal integralNumOrg;
+
+    @Schema(description = "积分")
+    private BigDecimal integralNum;
+
+    @Schema(description = "类型(1,增加;2,扣减)")
+    private Integer type;
+
+    @Schema(description = "来源(1自动上账,2手动上账)")
+    @Size(max=2, message="来源(1自动上账,2手动上账)长度不能超过2个字符")
+    private String sourceType;
+
+    @Schema(description = "来源单号")
+    @Size(max=100, message="来源单号长度不能超过100个字符")
+    private String changNo;
+
+    @Schema(description = "备注")
+    @Size(max=255, message="备注长度不能超过255个字符")
+    private String remark;
+
+    @Schema(description = "创建时间")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+}

+ 18 - 0
src/main/java/com/zsElectric/boot/business/model/query/ExclusivePriceQuery.java

@@ -0,0 +1,18 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+@Schema(description ="企业专享价查询对象")
+@Getter
+@Setter
+public class ExclusivePriceQuery extends BasePageQuery {
+
+    @Schema(description = "充电站id", requiredMode = Schema.RequiredMode.REQUIRED)
+    private Long stationId;
+
+    @Schema(description = "企业id", requiredMode = Schema.RequiredMode.REQUIRED)
+    private Long firmId;
+}

+ 5 - 0
src/main/java/com/zsElectric/boot/business/model/query/FirmInfoQuery.java

@@ -18,4 +18,9 @@ import java.util.List;
 @Setter
 public class FirmInfoQuery extends BasePageQuery {
 
+    @Schema(description = "企业名称")
+    private String name;
+
+    @Schema(description = "上下线状态(0 已下线  1 上线中)")
+    private Integer status;
 }

+ 2 - 6
src/main/java/com/zsElectric/boot/business/model/query/PricePolicyPageQuery.java

@@ -1,5 +1,6 @@
 package com.zsElectric.boot.business.model.query;
 
+import com.zsElectric.boot.common.base.BasePageQuery;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,7 +12,7 @@ import lombok.Data;
  */
 @Data
 @Schema(description = "价格策略分页查询参数")
-public class PricePolicyPageQuery {
+public class PricePolicyPageQuery extends BasePageQuery {
 
     @Schema(description = "充电站ID", example = "193")
     private String stationId;
@@ -19,9 +20,4 @@ public class PricePolicyPageQuery {
     @Schema(description = "充电站名称", example = "轩宇智慧停车场")
     private String stationName;
 
-    @Schema(description = "页码", example = "1")
-    private Integer pageNo = 1;
-
-    @Schema(description = "每页数量", example = "10")
-    private Integer pageSize = 10;
 }

+ 37 - 0
src/main/java/com/zsElectric/boot/business/model/query/PromotionCouponTemplateQuery.java

@@ -0,0 +1,37 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+import java.util.List;
+import java.math.BigDecimal;
+
+/**
+ * 优惠劵模板分页查询对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+@Schema(description ="优惠劵模板查询对象")
+@Getter
+@Setter
+public class PromotionCouponTemplateQuery extends BasePageQuery {
+
+    @Schema(description = "优惠劵模板名称")
+    private String name;
+
+    @Schema(description = "上线状态 ( 0-下线 1-上线)")
+    private Integer status;
+
+    @Schema(description = "开始时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime startTime;
+
+    @Schema(description = "结束时间")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime endTime;
+}

+ 30 - 0
src/main/java/com/zsElectric/boot/business/model/query/RechargeLevelQuery.java

@@ -0,0 +1,30 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.math.BigDecimal;
+
+/**
+ * 充值档位信息分页查询对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+@Schema(description ="充值档位信息查询对象")
+@Getter
+@Setter
+public class RechargeLevelQuery extends BasePageQuery {
+
+    @Schema(description = "充点券名称")
+    private String name;
+
+    @Schema(description = "面值")
+    private BigDecimal money;
+
+    @Schema(description = "状态 (0-不可用 1-可用)")
+    private Integer status;
+}

+ 20 - 0
src/main/java/com/zsElectric/boot/business/model/query/UserAccountLogQuery.java

@@ -0,0 +1,20 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+
+/**
+ * 个人账户变更记录分页查询对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+@Schema(description ="个人账户变更记录查询对象")
+@Getter
+@Setter
+public class UserAccountLogQuery extends BasePageQuery {
+
+}

+ 22 - 0
src/main/java/com/zsElectric/boot/business/model/query/UserAccountQuery.java

@@ -0,0 +1,22 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.math.BigDecimal;
+
+/**
+ * 个人账户分页查询对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+@Schema(description ="个人账户查询对象")
+@Getter
+@Setter
+public class UserAccountQuery extends BasePageQuery {
+
+}

+ 22 - 0
src/main/java/com/zsElectric/boot/business/model/query/UserExchangeIntegralRuleQuery.java

@@ -0,0 +1,22 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.math.BigDecimal;
+
+/**
+ * 积分兑换规则分页查询对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+@Schema(description ="积分兑换规则查询对象")
+@Getter
+@Setter
+public class UserExchangeIntegralRuleQuery extends BasePageQuery {
+
+}

+ 26 - 0
src/main/java/com/zsElectric/boot/business/model/query/UserFirmQuery.java

@@ -0,0 +1,26 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 企业与用户关系分页查询对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+@Schema(description ="企业与用户关系查询对象")
+@Getter
+@Setter
+public class UserFirmQuery extends BasePageQuery {
+
+    @Schema(description = "手机号")
+    private String phone;
+
+    @Schema(description = "身份类型 1 管理员 2普通员工")
+    private Integer type;
+}

+ 22 - 0
src/main/java/com/zsElectric/boot/business/model/query/UserInfoIntegralLogQuery.java

@@ -0,0 +1,22 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.math.BigDecimal;
+
+/**
+ * 用户积分日志记录分页查询对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+@Schema(description ="用户积分日志记录查询对象")
+@Getter
+@Setter
+public class UserInfoIntegralLogQuery extends BasePageQuery {
+
+}

+ 22 - 0
src/main/java/com/zsElectric/boot/business/model/query/UserInfoQuery.java

@@ -0,0 +1,22 @@
+package com.zsElectric.boot.business.model.query;
+
+import com.zsElectric.boot.common.base.BasePageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.math.BigDecimal;
+
+/**
+ * 个人用户信息分页查询对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+@Schema(description ="个人用户信息查询对象")
+@Getter
+@Setter
+public class UserInfoQuery extends BasePageQuery {
+
+}

+ 2 - 0
src/main/java/com/zsElectric/boot/business/model/vo/FirmInfoVO.java

@@ -28,6 +28,8 @@ public class FirmInfoVO implements Serializable {
     private Long deptId;
     @Schema(description = "B端企业名称")
     private String name;
+    @Schema(description = "员工数")
+    private Integer empNum;
     @Schema(description = "企业编号")
     private String number;
     @Schema(description = "状态 0 已下线  1 上线中")

+ 56 - 0
src/main/java/com/zsElectric/boot/business/model/vo/PromotionCouponTemplateVO.java

@@ -0,0 +1,56 @@
+package com.zsElectric.boot.business.model.vo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+/**
+ * 优惠劵模板视图对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+@Getter
+@Setter
+@Schema( description = "优惠劵模板视图对象")
+public class PromotionCouponTemplateVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键ID")
+    private Long id;
+    @Schema(description = "优惠劵名称")
+    private String name;
+    @Schema(description = "描述")
+    private String description;
+    @Schema(description = "上线状态 ( 0-下线 1-上线)")
+    private Integer status;
+    @Schema(description = "发放数量, -1 - 则表示不限制")
+    private Integer totalCount;
+    @Schema(description = "每人限领个数, -1 - 则表示不限制")
+    private Integer takeLimitCount;
+    @Schema(description = "失效时间,领取后的几天。")
+    private Integer failureTime;
+    @Schema(description = "设置满多少金额可用,单位:分")
+    private BigDecimal usePrice;
+    @Schema(description = "优惠金额,单位:分")
+    private BigDecimal discountPrice;
+    @Schema(description = "领取时间:周  星期一 1  2  3 4 5 6 7")
+    private String validTimeWeeks;
+    @Schema(description = "领取时间 时分  08:20")
+    private String validTimeHour;
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+    @Schema(description = "创建人")
+    private Long createBy;
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+    @Schema(description = "更新人")
+    private Long updateBy;
+}

+ 46 - 0
src/main/java/com/zsElectric/boot/business/model/vo/RechargeLevelVO.java

@@ -0,0 +1,46 @@
+package com.zsElectric.boot.business.model.vo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+/**
+ * 充值档位信息视图对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+@Getter
+@Setter
+@Schema( description = "充值档位信息视图对象")
+public class RechargeLevelVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键ID")
+    private Long id;
+    @Schema(description = "充值档位名称")
+    private String name;
+    @Schema(description = "充值金额")
+    private BigDecimal money;
+    @Schema(description = "状态 (0-不可用 1-可用)")
+    private Integer status;
+    @Schema(description = "充值提示")
+    private String tips;
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+    @Schema(description = "创建人")
+    private Long createBy;
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+    @Schema(description = "更新人")
+    private Long updateBy;
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+}

+ 45 - 0
src/main/java/com/zsElectric/boot/business/model/vo/UserAccountLogVO.java

@@ -0,0 +1,45 @@
+package com.zsElectric.boot.business.model.vo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+
+/**
+ * 个人账户变更记录视图对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+@Getter
+@Setter
+@Schema( description = "个人账户变更记录视图对象")
+public class UserAccountLogVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "个人账户日志编号")
+    private Long id;
+    @Schema(description = "用户编号")
+    private Long userId;
+    @Schema(description = "变更类型 1 增加 2 减少")
+    private Integer changeType;
+    @Schema(description = "变更记录")
+    private String changeNote;
+    @Schema(description = "变更记录编号(订单号或充电订单号)")
+    private Long changeId;
+    @Schema(description = "账户类型(1个人账户,2集团账户)")
+    private Integer accountType;
+    @Schema(description = "商家编号")
+    private Long ecId;
+    @Schema(description = "变更前余额")
+    private BigDecimal beforeBalance;
+    @Schema(description = "变更余额")
+    private BigDecimal changeBalance;
+    @Schema(description = "变更时间")
+    private String createTime;
+}

+ 46 - 0
src/main/java/com/zsElectric/boot/business/model/vo/UserAccountVO.java

@@ -0,0 +1,46 @@
+package com.zsElectric.boot.business.model.vo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+/**
+ * 个人账户视图对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+@Getter
+@Setter
+@Schema( description = "个人账户视图对象")
+public class UserAccountVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "个人账户信息")
+    private Long id;
+    @Schema(description = "用户编号")
+    private Long userId;
+    @Schema(description = "可用抵用券余额")
+    private BigDecimal balance;
+    @Schema(description = "交易码")
+    private String tradeCode;
+    @Schema(description = "欠款金额")
+    private BigDecimal amountOwed;
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+    @Schema(description = "创建人")
+    private Long createBy;
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+    @Schema(description = "更新人")
+    private Long updateBy;
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+}

+ 46 - 0
src/main/java/com/zsElectric/boot/business/model/vo/UserExchangeIntegralRuleVO.java

@@ -0,0 +1,46 @@
+package com.zsElectric.boot.business.model.vo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+/**
+ * 积分兑换规则视图对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+@Getter
+@Setter
+@Schema( description = "积分兑换规则视图对象")
+public class UserExchangeIntegralRuleVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键")
+    private Long id;
+    @Schema(description = "兑换度数基数(按照多少度进行兑换)")
+    private BigDecimal degree;
+    @Schema(description = "1度电获得的积分(如1度1积分)")
+    private BigDecimal gainIntegral;
+    @Schema(description = "是否启用(0-停用 1-启用)")
+    private Integer status;
+    @Schema(description = "乐观锁")
+    private Integer version;
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+    @Schema(description = "创建人")
+    private Long createBy;
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+    @Schema(description = "更新人")
+    private Long updateBy;
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+}

+ 47 - 0
src/main/java/com/zsElectric/boot/business/model/vo/UserFirmVO.java

@@ -0,0 +1,47 @@
+package com.zsElectric.boot.business.model.vo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+
+/**
+ * 企业与用户关系视图对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+@Getter
+@Setter
+@Schema( description = "企业与用户关系视图对象")
+public class UserFirmVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键id")
+    private Long id;
+    @Schema(description = "用户id")
+    private Long userId;
+    @Schema(description = "手机号")
+    private String phone;
+    @Schema(description = "企业id")
+    private Long firmId;
+    @Schema(description = "企业id")
+    private String firmName;
+    @Schema(description = "身份 1 管理员 2普通员工")
+    private Integer type;
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+    @Schema(description = "创建人")
+    private Long createBy;
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+    @Schema(description = "更新人")
+    private Long updateBy;
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+}

+ 44 - 0
src/main/java/com/zsElectric/boot/business/model/vo/UserInfoIntegralLogVO.java

@@ -0,0 +1,44 @@
+package com.zsElectric.boot.business.model.vo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+/**
+ * 用户积分日志记录视图对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+@Getter
+@Setter
+@Schema( description = "用户积分日志记录视图对象")
+public class UserInfoIntegralLogVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "主键ID")
+    private Long id;
+    @Schema(description = "用户ID")
+    private Long userId;
+    @Schema(description = "原积分")
+    private BigDecimal integralNumOrg;
+    @Schema(description = "积分")
+    private BigDecimal integralNum;
+    @Schema(description = "类型(1,增加;2,扣减)")
+    private Integer type;
+    @Schema(description = "来源(1自动上账,2手动上账)")
+    private String sourceType;
+    @Schema(description = "来源单号")
+    private String changNo;
+    @Schema(description = "备注")
+    private String remark;
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+}

+ 50 - 0
src/main/java/com/zsElectric/boot/business/model/vo/UserInfoVO.java

@@ -0,0 +1,50 @@
+package com.zsElectric.boot.business.model.vo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+/**
+ * 个人用户信息视图对象
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+@Getter
+@Setter
+@Schema( description = "个人用户信息视图对象")
+public class UserInfoVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @Schema(description = "个人用户编号")
+    private Long id;
+    @Schema(description = "所属集团编号")
+    private Long ecId;
+    @Schema(description = "昵称")
+    private String nickName;
+    @Schema(description = "手机号")
+    private String phone;
+    @Schema(description = "微信openid")
+    private String wechat;
+    @Schema(description = "积分")
+    private BigDecimal integralNum;
+    @Schema(description = "所属第三方(无则为自营)")
+    private Long groupId;
+    @Schema(description = "创建时间")
+    private LocalDateTime createTime;
+    @Schema(description = "创建人")
+    private Long createBy;
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+    @Schema(description = "更新人")
+    private Long updateBy;
+    @Schema(description = "逻辑删除(0-未删除 1-已删除)")
+    private Integer isDeleted;
+}

+ 2 - 1
src/main/java/com/zsElectric/boot/business/service/FirmStationTimePriceService.java

@@ -2,6 +2,7 @@ package com.zsElectric.boot.business.service;
 
 import com.zsElectric.boot.business.model.entity.FirmStationTimePrice;
 import com.zsElectric.boot.business.model.form.FirmStationTimePriceForm;
+import com.zsElectric.boot.business.model.query.ExclusivePriceQuery;
 import com.zsElectric.boot.business.model.query.FirmStationTimePriceQuery;
 import com.zsElectric.boot.business.model.vo.ExclusivePriceVO;
 import com.zsElectric.boot.business.model.vo.FirmStationTimePriceVO;
@@ -58,5 +59,5 @@ public interface FirmStationTimePriceService extends IService<FirmStationTimePri
      */
     boolean deleteFirmStationTimePrices(String ids);
 
-    List<ExclusivePriceVO> getExclusivePriceList(Long stationId, Long firmId);
+    List<ExclusivePriceVO> getExclusivePriceList(ExclusivePriceQuery queryParams);
 }

+ 58 - 0
src/main/java/com/zsElectric/boot/business/service/PromotionCouponTemplateService.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.service;
+
+import com.zsElectric.boot.business.model.entity.PromotionCouponTemplate;
+import com.zsElectric.boot.business.model.form.PromotionCouponTemplateForm;
+import com.zsElectric.boot.business.model.query.PromotionCouponTemplateQuery;
+import com.zsElectric.boot.business.model.vo.PromotionCouponTemplateVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 优惠劵模板服务类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+public interface PromotionCouponTemplateService extends IService<PromotionCouponTemplate> {
+
+    /**
+     *优惠劵模板分页列表
+     *
+     * @return {@link IPage<PromotionCouponTemplateVO>} 优惠劵模板分页列表
+     */
+    IPage<PromotionCouponTemplateVO> getPromotionCouponTemplatePage(PromotionCouponTemplateQuery queryParams);
+
+    /**
+     * 获取优惠劵模板表单数据
+     *
+     * @param id 优惠劵模板ID
+     * @return 优惠劵模板表单数据
+     */
+     PromotionCouponTemplateForm getPromotionCouponTemplateFormData(Long id);
+
+    /**
+     * 新增优惠劵模板
+     *
+     * @param formData 优惠劵模板表单对象
+     * @return 是否新增成功
+     */
+    boolean savePromotionCouponTemplate(PromotionCouponTemplateForm formData);
+
+    /**
+     * 修改优惠劵模板
+     *
+     * @param id   优惠劵模板ID
+     * @param formData 优惠劵模板表单对象
+     * @return 是否修改成功
+     */
+    boolean updatePromotionCouponTemplate(Long id, PromotionCouponTemplateForm formData);
+
+    /**
+     * 删除优惠劵模板
+     *
+     * @param ids 优惠劵模板ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    boolean deletePromotionCouponTemplates(String ids);
+
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/business/service/RechargeLevelService.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.service;
+
+import com.zsElectric.boot.business.model.entity.RechargeLevel;
+import com.zsElectric.boot.business.model.form.RechargeLevelForm;
+import com.zsElectric.boot.business.model.query.RechargeLevelQuery;
+import com.zsElectric.boot.business.model.vo.RechargeLevelVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 充值档位信息服务类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+public interface RechargeLevelService extends IService<RechargeLevel> {
+
+    /**
+     *充值档位信息分页列表
+     *
+     * @return {@link IPage<RechargeLevelVO>} 充值档位信息分页列表
+     */
+    IPage<RechargeLevelVO> getRechargeLevelPage(RechargeLevelQuery queryParams);
+
+    /**
+     * 获取充值档位信息表单数据
+     *
+     * @param id 充值档位信息ID
+     * @return 充值档位信息表单数据
+     */
+     RechargeLevelForm getRechargeLevelFormData(Long id);
+
+    /**
+     * 新增充值档位信息
+     *
+     * @param formData 充值档位信息表单对象
+     * @return 是否新增成功
+     */
+    boolean saveRechargeLevel(RechargeLevelForm formData);
+
+    /**
+     * 修改充值档位信息
+     *
+     * @param id   充值档位信息ID
+     * @param formData 充值档位信息表单对象
+     * @return 是否修改成功
+     */
+    boolean updateRechargeLevel(Long id, RechargeLevelForm formData);
+
+    /**
+     * 删除充值档位信息
+     *
+     * @param ids 充值档位信息ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    boolean deleteRechargeLevels(String ids);
+
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/business/service/UserAccountLogService.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.service;
+
+import com.zsElectric.boot.business.model.entity.UserAccountLog;
+import com.zsElectric.boot.business.model.form.UserAccountLogForm;
+import com.zsElectric.boot.business.model.query.UserAccountLogQuery;
+import com.zsElectric.boot.business.model.vo.UserAccountLogVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 个人账户变更记录服务类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+public interface UserAccountLogService extends IService<UserAccountLog> {
+
+    /**
+     *个人账户变更记录分页列表
+     *
+     * @return {@link IPage<UserAccountLogVO>} 个人账户变更记录分页列表
+     */
+    IPage<UserAccountLogVO> getUserAccountLogPage(UserAccountLogQuery queryParams);
+
+    /**
+     * 获取个人账户变更记录表单数据
+     *
+     * @param id 个人账户变更记录ID
+     * @return 个人账户变更记录表单数据
+     */
+     UserAccountLogForm getUserAccountLogFormData(Long id);
+
+    /**
+     * 新增个人账户变更记录
+     *
+     * @param formData 个人账户变更记录表单对象
+     * @return 是否新增成功
+     */
+    boolean saveUserAccountLog(UserAccountLogForm formData);
+
+    /**
+     * 修改个人账户变更记录
+     *
+     * @param id   个人账户变更记录ID
+     * @param formData 个人账户变更记录表单对象
+     * @return 是否修改成功
+     */
+    boolean updateUserAccountLog(Long id, UserAccountLogForm formData);
+
+    /**
+     * 删除个人账户变更记录
+     *
+     * @param ids 个人账户变更记录ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    boolean deleteUserAccountLogs(String ids);
+
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/business/service/UserAccountService.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.service;
+
+import com.zsElectric.boot.business.model.entity.UserAccount;
+import com.zsElectric.boot.business.model.form.UserAccountForm;
+import com.zsElectric.boot.business.model.query.UserAccountQuery;
+import com.zsElectric.boot.business.model.vo.UserAccountVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 个人账户服务类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+public interface UserAccountService extends IService<UserAccount> {
+
+    /**
+     *个人账户分页列表
+     *
+     * @return {@link IPage<UserAccountVO>} 个人账户分页列表
+     */
+    IPage<UserAccountVO> getUserAccountPage(UserAccountQuery queryParams);
+
+    /**
+     * 获取个人账户表单数据
+     *
+     * @param id 个人账户ID
+     * @return 个人账户表单数据
+     */
+     UserAccountForm getUserAccountFormData(Long id);
+
+    /**
+     * 新增个人账户
+     *
+     * @param formData 个人账户表单对象
+     * @return 是否新增成功
+     */
+    boolean saveUserAccount(UserAccountForm formData);
+
+    /**
+     * 修改个人账户
+     *
+     * @param id   个人账户ID
+     * @param formData 个人账户表单对象
+     * @return 是否修改成功
+     */
+    boolean updateUserAccount(Long id, UserAccountForm formData);
+
+    /**
+     * 删除个人账户
+     *
+     * @param ids 个人账户ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    boolean deleteUserAccounts(String ids);
+
+}

+ 59 - 0
src/main/java/com/zsElectric/boot/business/service/UserExchangeIntegralRuleService.java

@@ -0,0 +1,59 @@
+package com.zsElectric.boot.business.service;
+
+import com.zsElectric.boot.business.model.entity.UserExchangeIntegralRule;
+import com.zsElectric.boot.business.model.form.UserExchangeIntegralRuleForm;
+import com.zsElectric.boot.business.model.query.UserExchangeIntegralRuleQuery;
+import com.zsElectric.boot.business.model.vo.UserExchangeIntegralRuleVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 积分兑换规则服务类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+public interface UserExchangeIntegralRuleService extends IService<UserExchangeIntegralRule> {
+
+    /**
+     *积分兑换规则分页列表
+     *
+     * @return {@link IPage<UserExchangeIntegralRuleVO>} 积分兑换规则分页列表
+     */
+    IPage<UserExchangeIntegralRuleVO> getUserExchangeIntegralRulePage(UserExchangeIntegralRuleQuery queryParams);
+
+    /**
+     * 获取积分兑换规则表单数据
+     *
+     * @param id 积分兑换规则ID
+     * @return 积分兑换规则表单数据
+     */
+     UserExchangeIntegralRuleForm getUserExchangeIntegralRuleFormData(Long id);
+
+    /**
+     * 新增积分兑换规则
+     *
+     * @param formData 积分兑换规则表单对象
+     * @return 是否新增成功
+     */
+    boolean saveUserExchangeIntegralRule(UserExchangeIntegralRuleForm formData);
+
+    /**
+     * 修改积分兑换规则
+     *
+     * @param id   积分兑换规则ID
+     * @param formData 积分兑换规则表单对象
+     * @return 是否修改成功
+     */
+    boolean updateUserExchangeIntegralRule(Long id, UserExchangeIntegralRuleForm formData);
+
+    /**
+     * 删除积分兑换规则
+     *
+     * @param ids 积分兑换规则ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    boolean deleteUserExchangeIntegralRules(String ids);
+
+    boolean editStatus(Long id);
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/business/service/UserFirmService.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.service;
+
+import com.zsElectric.boot.business.model.entity.UserFirm;
+import com.zsElectric.boot.business.model.form.UserFirmForm;
+import com.zsElectric.boot.business.model.query.UserFirmQuery;
+import com.zsElectric.boot.business.model.vo.UserFirmVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 企业与用户关系服务类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+public interface UserFirmService extends IService<UserFirm> {
+
+    /**
+     *企业与用户关系分页列表
+     *
+     * @return {@link IPage<UserFirmVO>} 企业与用户关系分页列表
+     */
+    IPage<UserFirmVO> getUserFirmPage(UserFirmQuery queryParams);
+
+    /**
+     * 获取企业与用户关系表单数据
+     *
+     * @param id 企业与用户关系ID
+     * @return 企业与用户关系表单数据
+     */
+     UserFirmForm getUserFirmFormData(Long id);
+
+    /**
+     * 新增企业与用户关系
+     *
+     * @param formData 企业与用户关系表单对象
+     * @return 是否新增成功
+     */
+    boolean saveUserFirm(UserFirmForm formData);
+
+    /**
+     * 修改企业与用户关系
+     *
+     * @param id   企业与用户关系ID
+     * @param formData 企业与用户关系表单对象
+     * @return 是否修改成功
+     */
+    boolean updateUserFirm(Long id, UserFirmForm formData);
+
+    /**
+     * 删除企业与用户关系
+     *
+     * @param ids 企业与用户关系ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    boolean deleteUserFirms(String ids);
+
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/business/service/UserInfoIntegralLogService.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.service;
+
+import com.zsElectric.boot.business.model.entity.UserInfoIntegralLog;
+import com.zsElectric.boot.business.model.form.UserInfoIntegralLogForm;
+import com.zsElectric.boot.business.model.query.UserInfoIntegralLogQuery;
+import com.zsElectric.boot.business.model.vo.UserInfoIntegralLogVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 用户积分日志记录服务类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+public interface UserInfoIntegralLogService extends IService<UserInfoIntegralLog> {
+
+    /**
+     *用户积分日志记录分页列表
+     *
+     * @return {@link IPage<UserInfoIntegralLogVO>} 用户积分日志记录分页列表
+     */
+    IPage<UserInfoIntegralLogVO> getUserInfoIntegralLogPage(UserInfoIntegralLogQuery queryParams);
+
+    /**
+     * 获取用户积分日志记录表单数据
+     *
+     * @param id 用户积分日志记录ID
+     * @return 用户积分日志记录表单数据
+     */
+     UserInfoIntegralLogForm getUserInfoIntegralLogFormData(Long id);
+
+    /**
+     * 新增用户积分日志记录
+     *
+     * @param formData 用户积分日志记录表单对象
+     * @return 是否新增成功
+     */
+    boolean saveUserInfoIntegralLog(UserInfoIntegralLogForm formData);
+
+    /**
+     * 修改用户积分日志记录
+     *
+     * @param id   用户积分日志记录ID
+     * @param formData 用户积分日志记录表单对象
+     * @return 是否修改成功
+     */
+    boolean updateUserInfoIntegralLog(Long id, UserInfoIntegralLogForm formData);
+
+    /**
+     * 删除用户积分日志记录
+     *
+     * @param ids 用户积分日志记录ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    boolean deleteUserInfoIntegralLogs(String ids);
+
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/business/service/UserInfoService.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.business.service;
+
+import com.zsElectric.boot.business.model.entity.UserInfo;
+import com.zsElectric.boot.business.model.form.UserInfoForm;
+import com.zsElectric.boot.business.model.query.UserInfoQuery;
+import com.zsElectric.boot.business.model.vo.UserInfoVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 个人用户信息服务类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+public interface UserInfoService extends IService<UserInfo> {
+
+    /**
+     *个人用户信息分页列表
+     *
+     * @return {@link IPage<UserInfoVO>} 个人用户信息分页列表
+     */
+    IPage<UserInfoVO> getUserInfoPage(UserInfoQuery queryParams);
+
+    /**
+     * 获取个人用户信息表单数据
+     *
+     * @param id 个人用户信息ID
+     * @return 个人用户信息表单数据
+     */
+     UserInfoForm getUserInfoFormData(Long id);
+
+    /**
+     * 新增个人用户信息
+     *
+     * @param formData 个人用户信息表单对象
+     * @return 是否新增成功
+     */
+    boolean saveUserInfo(UserInfoForm formData);
+
+    /**
+     * 修改个人用户信息
+     *
+     * @param id   个人用户信息ID
+     * @param formData 个人用户信息表单对象
+     * @return 是否修改成功
+     */
+    boolean updateUserInfo(Long id, UserInfoForm formData);
+
+    /**
+     * 删除个人用户信息
+     *
+     * @param ids 个人用户信息ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    boolean deleteUserInfos(String ids);
+
+}

+ 6 - 3
src/main/java/com/zsElectric/boot/business/service/impl/FirmStationTimePriceServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.zsElectric.boot.business.model.dto.ExclusivePriceDTO;
+import com.zsElectric.boot.business.model.query.ExclusivePriceQuery;
 import com.zsElectric.boot.business.model.vo.ExclusivePriceVO;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -106,9 +107,11 @@ public class FirmStationTimePriceServiceImpl extends ServiceImpl<FirmStationTime
     }
 
     @Override
-    public List<ExclusivePriceVO> getExclusivePriceList(Long stationId, Long firmId) {
-        List<ExclusivePriceDTO> exclusivePriceList = baseMapper.getExclusivePriceList(stationId, firmId);
-        List<ExclusivePriceVO> priceVOList=new ArrayList<>();
+    public List<ExclusivePriceVO> getExclusivePriceList(ExclusivePriceQuery queryParams) {
+        Page<ExclusivePriceDTO> page = baseMapper.getExclusivePriceList(new Page<>(queryParams.getPageNum(),
+                queryParams.getPageSize()), queryParams.getStationId(), queryParams.getFirmId());
+        List<ExclusivePriceDTO> exclusivePriceList = page.getRecords();
+                List<ExclusivePriceVO> priceVOList=new ArrayList<>();
 
         exclusivePriceList.forEach(priceVO -> {
             ExclusivePriceVO respVO = BeanUtil.toBean(priceVO, ExclusivePriceVO.class);

+ 1 - 1
src/main/java/com/zsElectric/boot/business/service/impl/PricePolicyManagementServiceImpl.java

@@ -71,7 +71,7 @@ public class PricePolicyManagementServiceImpl implements PricePolicyManagementSe
         }
         
         Page<ThirdPartyStationInfo> stationPage = stationInfoMapper.selectPage(
-                new Page<>(query.getPageNo(), query.getPageSize()),
+                new Page<>(query.getPageNum(), query.getPageSize()),
                 queryWrapper
         );
 

+ 103 - 0
src/main/java/com/zsElectric/boot/business/service/impl/PromotionCouponTemplateServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zsElectric.boot.business.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zsElectric.boot.business.mapper.PromotionCouponTemplateMapper;
+import com.zsElectric.boot.business.service.PromotionCouponTemplateService;
+import com.zsElectric.boot.business.model.entity.PromotionCouponTemplate;
+import com.zsElectric.boot.business.model.form.PromotionCouponTemplateForm;
+import com.zsElectric.boot.business.model.query.PromotionCouponTemplateQuery;
+import com.zsElectric.boot.business.model.vo.PromotionCouponTemplateVO;
+import com.zsElectric.boot.business.converter.PromotionCouponTemplateConverter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * 优惠劵模板服务实现类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 15:11
+ */
+@Service
+@RequiredArgsConstructor
+public class PromotionCouponTemplateServiceImpl extends ServiceImpl<PromotionCouponTemplateMapper, PromotionCouponTemplate> implements PromotionCouponTemplateService {
+
+    private final PromotionCouponTemplateConverter promotionCouponTemplateConverter;
+
+    /**
+    * 获取优惠劵模板分页列表
+    *
+    * @param queryParams 查询参数
+    * @return {@link IPage<PromotionCouponTemplateVO>} 优惠劵模板分页列表
+    */
+    @Override
+    public IPage<PromotionCouponTemplateVO> getPromotionCouponTemplatePage(PromotionCouponTemplateQuery queryParams) {
+        Page<PromotionCouponTemplateVO> pageVO = this.baseMapper.getPromotionCouponTemplatePage(
+                new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
+                queryParams
+        );
+        return pageVO;
+    }
+    
+    /**
+     * 获取优惠劵模板表单数据
+     *
+     * @param id 优惠劵模板ID
+     * @return 优惠劵模板表单数据
+     */
+    @Override
+    public PromotionCouponTemplateForm getPromotionCouponTemplateFormData(Long id) {
+        PromotionCouponTemplate entity = this.getById(id);
+        return promotionCouponTemplateConverter.toForm(entity);
+    }
+    
+    /**
+     * 新增优惠劵模板
+     *
+     * @param formData 优惠劵模板表单对象
+     * @return 是否新增成功
+     */
+    @Override
+    public boolean savePromotionCouponTemplate(PromotionCouponTemplateForm formData) {
+        PromotionCouponTemplate entity = promotionCouponTemplateConverter.toEntity(formData);
+        return this.save(entity);
+    }
+    
+    /**
+     * 更新优惠劵模板
+     *
+     * @param id   优惠劵模板ID
+     * @param formData 优惠劵模板表单对象
+     * @return 是否修改成功
+     */
+    @Override
+    public boolean updatePromotionCouponTemplate(Long id,PromotionCouponTemplateForm formData) {
+        PromotionCouponTemplate entity = promotionCouponTemplateConverter.toEntity(formData);
+        return this.updateById(entity);
+    }
+    
+    /**
+     * 删除优惠劵模板
+     *
+     * @param ids 优惠劵模板ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    @Override
+    public boolean deletePromotionCouponTemplates(String ids) {
+        Assert.isTrue(StrUtil.isNotBlank(ids), "删除的优惠劵模板数据为空");
+        // 逻辑删除
+        List<Long> idList = Arrays.stream(ids.split(","))
+                .map(Long::parseLong)
+                .toList();
+        return this.removeByIds(idList);
+    }
+
+}

+ 103 - 0
src/main/java/com/zsElectric/boot/business/service/impl/RechargeLevelServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zsElectric.boot.business.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zsElectric.boot.business.mapper.RechargeLevelMapper;
+import com.zsElectric.boot.business.service.RechargeLevelService;
+import com.zsElectric.boot.business.model.entity.RechargeLevel;
+import com.zsElectric.boot.business.model.form.RechargeLevelForm;
+import com.zsElectric.boot.business.model.query.RechargeLevelQuery;
+import com.zsElectric.boot.business.model.vo.RechargeLevelVO;
+import com.zsElectric.boot.business.converter.RechargeLevelConverter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * 充值档位信息服务实现类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 14:47
+ */
+@Service
+@RequiredArgsConstructor
+public class RechargeLevelServiceImpl extends ServiceImpl<RechargeLevelMapper, RechargeLevel> implements RechargeLevelService {
+
+    private final RechargeLevelConverter rechargeLevelConverter;
+
+    /**
+    * 获取充值档位信息分页列表
+    *
+    * @param queryParams 查询参数
+    * @return {@link IPage<RechargeLevelVO>} 充值档位信息分页列表
+    */
+    @Override
+    public IPage<RechargeLevelVO> getRechargeLevelPage(RechargeLevelQuery queryParams) {
+        Page<RechargeLevelVO> pageVO = this.baseMapper.getRechargeLevelPage(
+                new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
+                queryParams
+        );
+        return pageVO;
+    }
+    
+    /**
+     * 获取充值档位信息表单数据
+     *
+     * @param id 充值档位信息ID
+     * @return 充值档位信息表单数据
+     */
+    @Override
+    public RechargeLevelForm getRechargeLevelFormData(Long id) {
+        RechargeLevel entity = this.getById(id);
+        return rechargeLevelConverter.toForm(entity);
+    }
+    
+    /**
+     * 新增充值档位信息
+     *
+     * @param formData 充值档位信息表单对象
+     * @return 是否新增成功
+     */
+    @Override
+    public boolean saveRechargeLevel(RechargeLevelForm formData) {
+        RechargeLevel entity = rechargeLevelConverter.toEntity(formData);
+        return this.save(entity);
+    }
+    
+    /**
+     * 更新充值档位信息
+     *
+     * @param id   充值档位信息ID
+     * @param formData 充值档位信息表单对象
+     * @return 是否修改成功
+     */
+    @Override
+    public boolean updateRechargeLevel(Long id,RechargeLevelForm formData) {
+        RechargeLevel entity = rechargeLevelConverter.toEntity(formData);
+        return this.updateById(entity);
+    }
+    
+    /**
+     * 删除充值档位信息
+     *
+     * @param ids 充值档位信息ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    @Override
+    public boolean deleteRechargeLevels(String ids) {
+        Assert.isTrue(StrUtil.isNotBlank(ids), "删除的充值档位信息数据为空");
+        // 逻辑删除
+        List<Long> idList = Arrays.stream(ids.split(","))
+                .map(Long::parseLong)
+                .toList();
+        return this.removeByIds(idList);
+    }
+
+}

+ 103 - 0
src/main/java/com/zsElectric/boot/business/service/impl/UserAccountLogServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zsElectric.boot.business.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zsElectric.boot.business.mapper.UserAccountLogMapper;
+import com.zsElectric.boot.business.service.UserAccountLogService;
+import com.zsElectric.boot.business.model.entity.UserAccountLog;
+import com.zsElectric.boot.business.model.form.UserAccountLogForm;
+import com.zsElectric.boot.business.model.query.UserAccountLogQuery;
+import com.zsElectric.boot.business.model.vo.UserAccountLogVO;
+import com.zsElectric.boot.business.converter.UserAccountLogConverter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * 个人账户变更记录服务实现类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:18
+ */
+@Service
+@RequiredArgsConstructor
+public class UserAccountLogServiceImpl extends ServiceImpl<UserAccountLogMapper, UserAccountLog> implements UserAccountLogService {
+
+    private final UserAccountLogConverter userAccountLogConverter;
+
+    /**
+    * 获取个人账户变更记录分页列表
+    *
+    * @param queryParams 查询参数
+    * @return {@link IPage<UserAccountLogVO>} 个人账户变更记录分页列表
+    */
+    @Override
+    public IPage<UserAccountLogVO> getUserAccountLogPage(UserAccountLogQuery queryParams) {
+        Page<UserAccountLogVO> pageVO = this.baseMapper.getUserAccountLogPage(
+                new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
+                queryParams
+        );
+        return pageVO;
+    }
+    
+    /**
+     * 获取个人账户变更记录表单数据
+     *
+     * @param id 个人账户变更记录ID
+     * @return 个人账户变更记录表单数据
+     */
+    @Override
+    public UserAccountLogForm getUserAccountLogFormData(Long id) {
+        UserAccountLog entity = this.getById(id);
+        return userAccountLogConverter.toForm(entity);
+    }
+    
+    /**
+     * 新增个人账户变更记录
+     *
+     * @param formData 个人账户变更记录表单对象
+     * @return 是否新增成功
+     */
+    @Override
+    public boolean saveUserAccountLog(UserAccountLogForm formData) {
+        UserAccountLog entity = userAccountLogConverter.toEntity(formData);
+        return this.save(entity);
+    }
+    
+    /**
+     * 更新个人账户变更记录
+     *
+     * @param id   个人账户变更记录ID
+     * @param formData 个人账户变更记录表单对象
+     * @return 是否修改成功
+     */
+    @Override
+    public boolean updateUserAccountLog(Long id,UserAccountLogForm formData) {
+        UserAccountLog entity = userAccountLogConverter.toEntity(formData);
+        return this.updateById(entity);
+    }
+    
+    /**
+     * 删除个人账户变更记录
+     *
+     * @param ids 个人账户变更记录ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    @Override
+    public boolean deleteUserAccountLogs(String ids) {
+        Assert.isTrue(StrUtil.isNotBlank(ids), "删除的个人账户变更记录数据为空");
+        // 逻辑删除
+        List<Long> idList = Arrays.stream(ids.split(","))
+                .map(Long::parseLong)
+                .toList();
+        return this.removeByIds(idList);
+    }
+
+}

+ 103 - 0
src/main/java/com/zsElectric/boot/business/service/impl/UserAccountServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zsElectric.boot.business.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zsElectric.boot.business.mapper.UserAccountMapper;
+import com.zsElectric.boot.business.service.UserAccountService;
+import com.zsElectric.boot.business.model.entity.UserAccount;
+import com.zsElectric.boot.business.model.form.UserAccountForm;
+import com.zsElectric.boot.business.model.query.UserAccountQuery;
+import com.zsElectric.boot.business.model.vo.UserAccountVO;
+import com.zsElectric.boot.business.converter.UserAccountConverter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * 个人账户服务实现类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:20
+ */
+@Service
+@RequiredArgsConstructor
+public class UserAccountServiceImpl extends ServiceImpl<UserAccountMapper, UserAccount> implements UserAccountService {
+
+    private final UserAccountConverter userAccountConverter;
+
+    /**
+    * 获取个人账户分页列表
+    *
+    * @param queryParams 查询参数
+    * @return {@link IPage<UserAccountVO>} 个人账户分页列表
+    */
+    @Override
+    public IPage<UserAccountVO> getUserAccountPage(UserAccountQuery queryParams) {
+        Page<UserAccountVO> pageVO = this.baseMapper.getUserAccountPage(
+                new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
+                queryParams
+        );
+        return pageVO;
+    }
+    
+    /**
+     * 获取个人账户表单数据
+     *
+     * @param id 个人账户ID
+     * @return 个人账户表单数据
+     */
+    @Override
+    public UserAccountForm getUserAccountFormData(Long id) {
+        UserAccount entity = this.getById(id);
+        return userAccountConverter.toForm(entity);
+    }
+    
+    /**
+     * 新增个人账户
+     *
+     * @param formData 个人账户表单对象
+     * @return 是否新增成功
+     */
+    @Override
+    public boolean saveUserAccount(UserAccountForm formData) {
+        UserAccount entity = userAccountConverter.toEntity(formData);
+        return this.save(entity);
+    }
+    
+    /**
+     * 更新个人账户
+     *
+     * @param id   个人账户ID
+     * @param formData 个人账户表单对象
+     * @return 是否修改成功
+     */
+    @Override
+    public boolean updateUserAccount(Long id,UserAccountForm formData) {
+        UserAccount entity = userAccountConverter.toEntity(formData);
+        return this.updateById(entity);
+    }
+    
+    /**
+     * 删除个人账户
+     *
+     * @param ids 个人账户ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    @Override
+    public boolean deleteUserAccounts(String ids) {
+        Assert.isTrue(StrUtil.isNotBlank(ids), "删除的个人账户数据为空");
+        // 逻辑删除
+        List<Long> idList = Arrays.stream(ids.split(","))
+                .map(Long::parseLong)
+                .toList();
+        return this.removeByIds(idList);
+    }
+
+}

+ 131 - 0
src/main/java/com/zsElectric/boot/business/service/impl/UserExchangeIntegralRuleServiceImpl.java

@@ -0,0 +1,131 @@
+package com.zsElectric.boot.business.service.impl;
+
+import cn.hutool.core.util.ObjUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zsElectric.boot.business.mapper.UserExchangeIntegralRuleMapper;
+import com.zsElectric.boot.business.service.UserExchangeIntegralRuleService;
+import com.zsElectric.boot.business.model.entity.UserExchangeIntegralRule;
+import com.zsElectric.boot.business.model.form.UserExchangeIntegralRuleForm;
+import com.zsElectric.boot.business.model.query.UserExchangeIntegralRuleQuery;
+import com.zsElectric.boot.business.model.vo.UserExchangeIntegralRuleVO;
+import com.zsElectric.boot.business.converter.UserExchangeIntegralRuleConverter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * 积分兑换规则服务实现类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:07
+ */
+@Service
+@RequiredArgsConstructor
+public class UserExchangeIntegralRuleServiceImpl extends ServiceImpl<UserExchangeIntegralRuleMapper, UserExchangeIntegralRule> implements UserExchangeIntegralRuleService {
+
+    private final UserExchangeIntegralRuleConverter userExchangeIntegralRuleConverter;
+
+    /**
+    * 获取积分兑换规则分页列表
+    *
+    * @param queryParams 查询参数
+    * @return {@link IPage<UserExchangeIntegralRuleVO>} 积分兑换规则分页列表
+    */
+    @Override
+    public IPage<UserExchangeIntegralRuleVO> getUserExchangeIntegralRulePage(UserExchangeIntegralRuleQuery queryParams) {
+        Page<UserExchangeIntegralRuleVO> pageVO = this.baseMapper.getUserExchangeIntegralRulePage(
+                new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
+                queryParams
+        );
+        return pageVO;
+    }
+    
+    /**
+     * 获取积分兑换规则表单数据
+     *
+     * @param id 积分兑换规则ID
+     * @return 积分兑换规则表单数据
+     */
+    @Override
+    public UserExchangeIntegralRuleForm getUserExchangeIntegralRuleFormData(Long id) {
+        UserExchangeIntegralRule entity = this.getById(id);
+        return userExchangeIntegralRuleConverter.toForm(entity);
+    }
+    
+    /**
+     * 新增积分兑换规则
+     *
+     * @param formData 积分兑换规则表单对象
+     * @return 是否新增成功
+     */
+    @Override
+    public boolean saveUserExchangeIntegralRule(UserExchangeIntegralRuleForm formData) {
+        UserExchangeIntegralRule entity = userExchangeIntegralRuleConverter.toEntity(formData);
+        return this.save(entity);
+    }
+    
+    /**
+     * 更新积分兑换规则
+     *
+     * @param id   积分兑换规则ID
+     * @param formData 积分兑换规则表单对象
+     * @return 是否修改成功
+     */
+    @Override
+    public boolean updateUserExchangeIntegralRule(Long id,UserExchangeIntegralRuleForm formData) {
+        UserExchangeIntegralRule entity = userExchangeIntegralRuleConverter.toEntity(formData);
+        return this.updateById(entity);
+    }
+    
+    /**
+     * 删除积分兑换规则
+     *
+     * @param ids 积分兑换规则ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    @Override
+    public boolean deleteUserExchangeIntegralRules(String ids) {
+        Assert.isTrue(StrUtil.isNotBlank(ids), "删除的积分兑换规则数据为空");
+        // 逻辑删除
+        List<Long> idList = Arrays.stream(ids.split(","))
+                .map(Long::parseLong)
+                .toList();
+        return this.removeByIds(idList);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean editStatus(Long id) {
+        UserExchangeIntegralRule rule = this.baseMapper.selectById(id);
+        if (ObjUtil.isNull(rule)) {
+            throw new RuntimeException("积分兑换规则不存在");
+        }
+            int status;
+            if (rule.getStatus() == 0) {
+                status = 1;
+            } else {
+                status = 0;
+            }
+            // 判断参数值,表只允许存在1个状态为1的数据
+            if (status == 1) {
+                // 将当前状态为1的记录状态设为0
+                this.update(Wrappers.lambdaUpdate(UserExchangeIntegralRule.class)
+                        .eq(UserExchangeIntegralRule::getStatus, 1)
+                        .set(UserExchangeIntegralRule::getStatus, 0));
+            }
+            // 更新目标记录的状态
+            rule.setStatus(status);
+            return this.updateById(rule);
+    }
+
+}

+ 103 - 0
src/main/java/com/zsElectric/boot/business/service/impl/UserFirmServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zsElectric.boot.business.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zsElectric.boot.business.mapper.UserFirmMapper;
+import com.zsElectric.boot.business.service.UserFirmService;
+import com.zsElectric.boot.business.model.entity.UserFirm;
+import com.zsElectric.boot.business.model.form.UserFirmForm;
+import com.zsElectric.boot.business.model.query.UserFirmQuery;
+import com.zsElectric.boot.business.model.vo.UserFirmVO;
+import com.zsElectric.boot.business.converter.UserFirmConverter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * 企业与用户关系服务实现类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:29
+ */
+@Service
+@RequiredArgsConstructor
+public class UserFirmServiceImpl extends ServiceImpl<UserFirmMapper, UserFirm> implements UserFirmService {
+
+    private final UserFirmConverter userFirmConverter;
+
+    /**
+    * 获取企业与用户关系分页列表
+    *
+    * @param queryParams 查询参数
+    * @return {@link IPage<UserFirmVO>} 企业与用户关系分页列表
+    */
+    @Override
+    public IPage<UserFirmVO> getUserFirmPage(UserFirmQuery queryParams) {
+        Page<UserFirmVO> pageVO = this.baseMapper.getUserFirmPage(
+                new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
+                queryParams
+        );
+        return pageVO;
+    }
+    
+    /**
+     * 获取企业与用户关系表单数据
+     *
+     * @param id 企业与用户关系ID
+     * @return 企业与用户关系表单数据
+     */
+    @Override
+    public UserFirmForm getUserFirmFormData(Long id) {
+        UserFirm entity = this.getById(id);
+        return userFirmConverter.toForm(entity);
+    }
+    
+    /**
+     * 新增企业与用户关系
+     *
+     * @param formData 企业与用户关系表单对象
+     * @return 是否新增成功
+     */
+    @Override
+    public boolean saveUserFirm(UserFirmForm formData) {
+        UserFirm entity = userFirmConverter.toEntity(formData);
+        return this.save(entity);
+    }
+    
+    /**
+     * 更新企业与用户关系
+     *
+     * @param id   企业与用户关系ID
+     * @param formData 企业与用户关系表单对象
+     * @return 是否修改成功
+     */
+    @Override
+    public boolean updateUserFirm(Long id,UserFirmForm formData) {
+        UserFirm entity = userFirmConverter.toEntity(formData);
+        return this.updateById(entity);
+    }
+    
+    /**
+     * 删除企业与用户关系
+     *
+     * @param ids 企业与用户关系ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    @Override
+    public boolean deleteUserFirms(String ids) {
+        Assert.isTrue(StrUtil.isNotBlank(ids), "删除的企业与用户关系数据为空");
+        // 逻辑删除
+        List<Long> idList = Arrays.stream(ids.split(","))
+                .map(Long::parseLong)
+                .toList();
+        return this.removeByIds(idList);
+    }
+
+}

+ 103 - 0
src/main/java/com/zsElectric/boot/business/service/impl/UserInfoIntegralLogServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zsElectric.boot.business.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zsElectric.boot.business.mapper.UserInfoIntegralLogMapper;
+import com.zsElectric.boot.business.service.UserInfoIntegralLogService;
+import com.zsElectric.boot.business.model.entity.UserInfoIntegralLog;
+import com.zsElectric.boot.business.model.form.UserInfoIntegralLogForm;
+import com.zsElectric.boot.business.model.query.UserInfoIntegralLogQuery;
+import com.zsElectric.boot.business.model.vo.UserInfoIntegralLogVO;
+import com.zsElectric.boot.business.converter.UserInfoIntegralLogConverter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * 用户积分日志记录服务实现类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:25
+ */
+@Service
+@RequiredArgsConstructor
+public class UserInfoIntegralLogServiceImpl extends ServiceImpl<UserInfoIntegralLogMapper, UserInfoIntegralLog> implements UserInfoIntegralLogService {
+
+    private final UserInfoIntegralLogConverter userInfoIntegralLogConverter;
+
+    /**
+    * 获取用户积分日志记录分页列表
+    *
+    * @param queryParams 查询参数
+    * @return {@link IPage<UserInfoIntegralLogVO>} 用户积分日志记录分页列表
+    */
+    @Override
+    public IPage<UserInfoIntegralLogVO> getUserInfoIntegralLogPage(UserInfoIntegralLogQuery queryParams) {
+        Page<UserInfoIntegralLogVO> pageVO = this.baseMapper.getUserInfoIntegralLogPage(
+                new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
+                queryParams
+        );
+        return pageVO;
+    }
+    
+    /**
+     * 获取用户积分日志记录表单数据
+     *
+     * @param id 用户积分日志记录ID
+     * @return 用户积分日志记录表单数据
+     */
+    @Override
+    public UserInfoIntegralLogForm getUserInfoIntegralLogFormData(Long id) {
+        UserInfoIntegralLog entity = this.getById(id);
+        return userInfoIntegralLogConverter.toForm(entity);
+    }
+    
+    /**
+     * 新增用户积分日志记录
+     *
+     * @param formData 用户积分日志记录表单对象
+     * @return 是否新增成功
+     */
+    @Override
+    public boolean saveUserInfoIntegralLog(UserInfoIntegralLogForm formData) {
+        UserInfoIntegralLog entity = userInfoIntegralLogConverter.toEntity(formData);
+        return this.save(entity);
+    }
+    
+    /**
+     * 更新用户积分日志记录
+     *
+     * @param id   用户积分日志记录ID
+     * @param formData 用户积分日志记录表单对象
+     * @return 是否修改成功
+     */
+    @Override
+    public boolean updateUserInfoIntegralLog(Long id,UserInfoIntegralLogForm formData) {
+        UserInfoIntegralLog entity = userInfoIntegralLogConverter.toEntity(formData);
+        return this.updateById(entity);
+    }
+    
+    /**
+     * 删除用户积分日志记录
+     *
+     * @param ids 用户积分日志记录ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    @Override
+    public boolean deleteUserInfoIntegralLogs(String ids) {
+        Assert.isTrue(StrUtil.isNotBlank(ids), "删除的用户积分日志记录数据为空");
+        // 逻辑删除
+        List<Long> idList = Arrays.stream(ids.split(","))
+                .map(Long::parseLong)
+                .toList();
+        return this.removeByIds(idList);
+    }
+
+}

+ 103 - 0
src/main/java/com/zsElectric/boot/business/service/impl/UserInfoServiceImpl.java

@@ -0,0 +1,103 @@
+package com.zsElectric.boot.business.service.impl;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zsElectric.boot.business.mapper.UserInfoMapper;
+import com.zsElectric.boot.business.service.UserInfoService;
+import com.zsElectric.boot.business.model.entity.UserInfo;
+import com.zsElectric.boot.business.model.form.UserInfoForm;
+import com.zsElectric.boot.business.model.query.UserInfoQuery;
+import com.zsElectric.boot.business.model.vo.UserInfoVO;
+import com.zsElectric.boot.business.converter.UserInfoConverter;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import cn.hutool.core.lang.Assert;
+import cn.hutool.core.util.StrUtil;
+
+/**
+ * 个人用户信息服务实现类
+ *
+ * @author zsElectric
+ * @since 2025-12-12 10:27
+ */
+@Service
+@RequiredArgsConstructor
+public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements UserInfoService {
+
+    private final UserInfoConverter userInfoConverter;
+
+    /**
+    * 获取个人用户信息分页列表
+    *
+    * @param queryParams 查询参数
+    * @return {@link IPage<UserInfoVO>} 个人用户信息分页列表
+    */
+    @Override
+    public IPage<UserInfoVO> getUserInfoPage(UserInfoQuery queryParams) {
+        Page<UserInfoVO> pageVO = this.baseMapper.getUserInfoPage(
+                new Page<>(queryParams.getPageNum(), queryParams.getPageSize()),
+                queryParams
+        );
+        return pageVO;
+    }
+    
+    /**
+     * 获取个人用户信息表单数据
+     *
+     * @param id 个人用户信息ID
+     * @return 个人用户信息表单数据
+     */
+    @Override
+    public UserInfoForm getUserInfoFormData(Long id) {
+        UserInfo entity = this.getById(id);
+        return userInfoConverter.toForm(entity);
+    }
+    
+    /**
+     * 新增个人用户信息
+     *
+     * @param formData 个人用户信息表单对象
+     * @return 是否新增成功
+     */
+    @Override
+    public boolean saveUserInfo(UserInfoForm formData) {
+        UserInfo entity = userInfoConverter.toEntity(formData);
+        return this.save(entity);
+    }
+    
+    /**
+     * 更新个人用户信息
+     *
+     * @param id   个人用户信息ID
+     * @param formData 个人用户信息表单对象
+     * @return 是否修改成功
+     */
+    @Override
+    public boolean updateUserInfo(Long id,UserInfoForm formData) {
+        UserInfo entity = userInfoConverter.toEntity(formData);
+        return this.updateById(entity);
+    }
+    
+    /**
+     * 删除个人用户信息
+     *
+     * @param ids 个人用户信息ID,多个以英文逗号(,)分割
+     * @return 是否删除成功
+     */
+    @Override
+    public boolean deleteUserInfos(String ids) {
+        Assert.isTrue(StrUtil.isNotBlank(ids), "删除的个人用户信息数据为空");
+        // 逻辑删除
+        List<Long> idList = Arrays.stream(ids.split(","))
+                .map(Long::parseLong)
+                .toList();
+        return this.removeByIds(idList);
+    }
+
+}

+ 23 - 12
src/main/resources/mapper/business/FirmInfoMapper.xml

@@ -5,20 +5,31 @@
     <!-- 获取企业信息分页列表 -->
     <select id="getFirmInfoPage" resultType="com.zsElectric.boot.business.model.vo.FirmInfoVO">
         SELECT
-                id,
-                dept_id,
-                name,
-                number,
-                status,
-                create_time,
-                create_by,
-                update_time,
-                update_by,
-                is_deleted
+            a.id,
+            a.dept_id,
+            a.NAME,
+            a.number,
+            COUNT( b.id ) AS empNum,
+            a.STATUS,
+            a.create_time,
+            a.create_by,
+            a.update_time,
+            a.update_by,
+            a.is_deleted
         FROM
-            c_firm_info
-        <where> is_deleted = 0
+        c_firm_info a
+        INNER JOIN c_user_firm b ON a.id = b.firm_id
+        <where>
+            a.is_deleted = 0
+            <if test="queryParams.name != null">
+                AND a.name LIKE CONCAT('%', #{queryParams.name}, '%')
+            </if>
+         <if test="queryParams.status != null">
+                AND a.status = #{queryParams.status}
+            </if>
         </where>
+        GROUP BY
+        a.id
     </select>
 
 </mapper>

+ 42 - 0
src/main/resources/mapper/business/PromotionCouponTemplateMapper.xml

@@ -0,0 +1,42 @@
+<?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="com.zsElectric.boot.business.mapper.PromotionCouponTemplateMapper">
+
+    <!-- 获取优惠劵模板分页列表 -->
+    <select id="getPromotionCouponTemplatePage" resultType="com.zsElectric.boot.business.model.vo.PromotionCouponTemplateVO">
+        SELECT
+        id,
+        name,
+        description,
+        status,
+        total_count,
+        take_limit_count,
+        failure_time,
+        use_price,
+        discount_price,
+        valid_time_weeks,
+        valid_time_hour,
+        create_time,
+        create_by,
+        update_time,
+        update_by
+        FROM
+        c_promotion_coupon_template
+        <where>
+            is_deleted = 0
+            <if test="queryParams.name != null and queryParams.name != ''">
+                AND name LIKE CONCAT('%', #{queryParams.name}, '%')
+            </if>
+            <if test="queryParams.status != null">
+                AND status = #{queryParams.status}
+            </if>
+            <if test="queryParams.startTime != null">
+                AND create_time <![CDATA[  >=  ]]> #{queryParams.startTime,jdbcType=DATE}
+            </if>
+            <if test="queryParams.endTime != null">
+                AND create_time <![CDATA[  <=  ]]> #{queryParams.endTime,jdbcType=DATE}
+            </if>
+        </where>
+    </select>
+
+</mapper>

+ 25 - 0
src/main/resources/mapper/business/RechargeLevelMapper.xml

@@ -0,0 +1,25 @@
+<?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="com.zsElectric.boot.business.mapper.RechargeLevelMapper">
+
+    <!-- 获取充值档位信息分页列表 -->
+    <select id="getRechargeLevelPage" resultType="com.zsElectric.boot.business.model.vo.RechargeLevelVO">
+        SELECT
+                id,
+                name,
+                money,
+                status,
+                tips,
+                create_time,
+                create_by,
+                update_time,
+                update_by,
+                is_deleted
+        FROM
+            c_recharge_level
+        <where>
+            is_deleted = 0
+        </where>
+    </select>
+
+</mapper>

+ 24 - 0
src/main/resources/mapper/business/UserAccountLogMapper.xml

@@ -0,0 +1,24 @@
+<?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="com.zsElectric.boot.business.mapper.UserAccountLogMapper">
+
+    <!-- 获取个人账户变更记录分页列表 -->
+    <select id="getUserAccountLogPage" resultType="com.zsElectric.boot.business.model.vo.UserAccountLogVO">
+        SELECT
+                id,
+                user_id,
+                change_type,
+                change_note,
+                change_id,
+                account_type,
+                ec_id,
+                before_balance,
+                change_balance,
+                create_time
+        FROM
+            c_user_account_log
+        <where>
+        </where>
+    </select>
+
+</mapper>

+ 24 - 0
src/main/resources/mapper/business/UserAccountMapper.xml

@@ -0,0 +1,24 @@
+<?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="com.zsElectric.boot.business.mapper.UserAccountMapper">
+
+    <!-- 获取个人账户分页列表 -->
+    <select id="getUserAccountPage" resultType="com.zsElectric.boot.business.model.vo.UserAccountVO">
+        SELECT
+                id,
+                user_id,
+                balance,
+                trade_code,
+                amount_owed,
+                create_time,
+                create_by,
+                update_time,
+                update_by,
+                is_deleted
+        FROM
+            c_user_account
+        <where>
+        </where>
+    </select>
+
+</mapper>

+ 24 - 0
src/main/resources/mapper/business/UserExchangeIntegralRuleMapper.xml

@@ -0,0 +1,24 @@
+<?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="com.zsElectric.boot.business.mapper.UserExchangeIntegralRuleMapper">
+
+    <!-- 获取积分兑换规则分页列表 -->
+    <select id="getUserExchangeIntegralRulePage" resultType="com.zsElectric.boot.business.model.vo.UserExchangeIntegralRuleVO">
+        SELECT
+                id,
+                degree,
+                gain_integral,
+                status,
+                version,
+                create_time,
+                create_by,
+                update_time,
+                update_by,
+                is_deleted
+        FROM
+            c_user_exchange_integral_rule
+        <where>
+        </where>
+    </select>
+
+</mapper>

+ 33 - 0
src/main/resources/mapper/business/UserFirmMapper.xml

@@ -0,0 +1,33 @@
+<?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="com.zsElectric.boot.business.mapper.UserFirmMapper">
+
+    <!-- 获取企业与用户关系分页列表 -->
+    <select id="getUserFirmPage" resultType="com.zsElectric.boot.business.model.vo.UserFirmVO">
+        SELECT
+        a.id,
+        a.user_id,
+        a.phone,
+        a.firm_id,
+        b.name AS firmName,
+        a.type,
+        a.create_time,
+        a.create_by,
+        a.update_time,
+        a.update_by,
+        a.is_deleted
+        FROM
+        c_user_firm a
+        LEFT JOIN c_firm_info b ON a.firm_id = b.id
+        <where>
+            a.is_deleted = 0 and b.is_deleted = 0
+            <if test="queryParams.phone != null and queryParams.phone != ''">
+                AND a.phone LIKE CONCAT('%', #{queryParams.phone}, '%')
+            </if>
+            <if test="queryParams.type != null">
+                AND a.type = #{queryParams.type}
+            </if>
+        </where>
+    </select>
+
+</mapper>

+ 27 - 0
src/main/resources/mapper/business/UserInfoIntegralLogMapper.xml

@@ -0,0 +1,27 @@
+<?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="com.zsElectric.boot.business.mapper.UserInfoIntegralLogMapper">
+
+    <!-- 获取用户积分日志记录分页列表 -->
+    <select id="getUserInfoIntegralLogPage" resultType="com.zsElectric.boot.business.model.vo.UserInfoIntegralLogVO">
+        SELECT
+                id,
+                user_id,
+                integral_num_org,
+                integral_num,
+                type,
+                source_type,
+                chang_no,
+                remark,
+                create_time,
+                create_by,
+                update_time,
+                update_by,
+                is_deleted
+        FROM
+            c_user_info_integral_log
+        <where>
+        </where>
+    </select>
+
+</mapper>

+ 26 - 0
src/main/resources/mapper/business/UserInfoMapper.xml

@@ -0,0 +1,26 @@
+<?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="com.zsElectric.boot.business.mapper.UserInfoMapper">
+
+    <!-- 获取个人用户信息分页列表 -->
+    <select id="getUserInfoPage" resultType="com.zsElectric.boot.business.model.vo.UserInfoVO">
+        SELECT
+                id,
+                ec_id,
+                nickName,
+                phone,
+                wechat,
+                integral_num,
+                group_id,
+                create_time,
+                create_by,
+                update_time,
+                update_by,
+                is_deleted
+        FROM
+            c_user_info
+        <where>
+        </where>
+    </select>
+
+</mapper>