Browse Source

feat(app): 添加账户汇总、广告、Banner和充电桩功能模块

- 新增账户汇总实体、表单、分页查询及展示VO类
- 实现账户汇总的Mapper、Service及ServiceImpl,包括分页查询、详情、增删改接口
- 新增账户汇总的Controller,提供RESTful接口,支持分页、详情、增删改操作
- 新增广告信息实体、表单、分页查询及展示VO类
- 实现广告信息的Mapper、Service及ServiceImpl,支持动态条件查询及CRUD操作
- 新增广告信息Controller,提供对应的REST接口及权限控制
- 新增Banner信息实体、表单、分页查询及展示VO类
- 实现Banner信息的Mapper、Service及ServiceImpl,支持分页及CRUD操作
- 新增Banner信息Controller,提供RESTful接口及权限控制
- 新增充电桩实体及相关属性,设计充电桩信息管理基础数据结构
- 新增充电桩信息Controller框架和分页列表接口定义
- 使用MapStruct实现实体、表单及VO间的转换,提高代码复用性和一致性
- 统一使用日志注解记录操作日志,完善权限验证及接口文档注释
SheepHy 2 days ago
parent
commit
fa67b24675
100 changed files with 4657 additions and 0 deletions
  1. 76 0
      src/main/java/com/zsElectric/boot/app/controller/AccountsSummaryController.java
  2. 76 0
      src/main/java/com/zsElectric/boot/app/controller/AdvertisingController.java
  3. 76 0
      src/main/java/com/zsElectric/boot/app/controller/BannerInfoController.java
  4. 106 0
      src/main/java/com/zsElectric/boot/app/controller/ChargeDeviceController.java
  5. 76 0
      src/main/java/com/zsElectric/boot/app/controller/ChargeEverydayAmountController.java
  6. 115 0
      src/main/java/com/zsElectric/boot/app/controller/ChargeOrderInfoController.java
  7. 94 0
      src/main/java/com/zsElectric/boot/app/controller/ChargeStationController.java
  8. 76 0
      src/main/java/com/zsElectric/boot/app/controller/CouponController.java
  9. 76 0
      src/main/java/com/zsElectric/boot/app/controller/CouponTemplateController.java
  10. 76 0
      src/main/java/com/zsElectric/boot/app/controller/EcAccountController.java
  11. 76 0
      src/main/java/com/zsElectric/boot/app/controller/EcAccountLogController.java
  12. 76 0
      src/main/java/com/zsElectric/boot/app/controller/EcInfoController.java
  13. 76 0
      src/main/java/com/zsElectric/boot/app/controller/EcUserAccountController.java
  14. 76 0
      src/main/java/com/zsElectric/boot/app/controller/FirmInfoController.java
  15. 76 0
      src/main/java/com/zsElectric/boot/app/controller/FirmStationTimePriceController.java
  16. 76 0
      src/main/java/com/zsElectric/boot/app/controller/NewUserDiscountController.java
  17. 76 0
      src/main/java/com/zsElectric/boot/app/controller/RechargeLevelController.java
  18. 76 0
      src/main/java/com/zsElectric/boot/app/controller/StationTimePriceController.java
  19. 76 0
      src/main/java/com/zsElectric/boot/app/controller/ThirdPartyInfoController.java
  20. 82 0
      src/main/java/com/zsElectric/boot/app/controller/UserAccountController.java
  21. 76 0
      src/main/java/com/zsElectric/boot/app/controller/UserAccountLogController.java
  22. 76 0
      src/main/java/com/zsElectric/boot/app/controller/UserExchangeIntegralRuleController.java
  23. 76 0
      src/main/java/com/zsElectric/boot/app/controller/UserFeedbackController.java
  24. 76 0
      src/main/java/com/zsElectric/boot/app/controller/UserFirmController.java
  25. 94 0
      src/main/java/com/zsElectric/boot/app/controller/UserInfoController.java
  26. 76 0
      src/main/java/com/zsElectric/boot/app/controller/UserInfoIntegralLogController.java
  27. 76 0
      src/main/java/com/zsElectric/boot/app/controller/UserOrderInfoController.java
  28. 14 0
      src/main/java/com/zsElectric/boot/app/converter/AccountsSummaryConverter.java
  29. 14 0
      src/main/java/com/zsElectric/boot/app/converter/AppAdvertisingConverter.java
  30. 14 0
      src/main/java/com/zsElectric/boot/app/converter/AppBannerInfoConverter.java
  31. 14 0
      src/main/java/com/zsElectric/boot/app/converter/AppUserFeedbackConverter.java
  32. 23 0
      src/main/java/com/zsElectric/boot/app/converter/ChargeDeviceConverter.java
  33. 14 0
      src/main/java/com/zsElectric/boot/app/converter/ChargeEverydayAmountConverter.java
  34. 25 0
      src/main/java/com/zsElectric/boot/app/converter/ChargeOrderInfoConverter.java
  35. 23 0
      src/main/java/com/zsElectric/boot/app/converter/ChargeStationConverter.java
  36. 14 0
      src/main/java/com/zsElectric/boot/app/converter/CouponConverter.java
  37. 14 0
      src/main/java/com/zsElectric/boot/app/converter/CouponTemplateConverter.java
  38. 14 0
      src/main/java/com/zsElectric/boot/app/converter/EcAccountConverter.java
  39. 14 0
      src/main/java/com/zsElectric/boot/app/converter/EcAccountLogConverter.java
  40. 14 0
      src/main/java/com/zsElectric/boot/app/converter/EcInfoConverter.java
  41. 14 0
      src/main/java/com/zsElectric/boot/app/converter/EcUserAccountConverter.java
  42. 14 0
      src/main/java/com/zsElectric/boot/app/converter/FirmInfoConverter.java
  43. 14 0
      src/main/java/com/zsElectric/boot/app/converter/FirmStationTimePriceConverter.java
  44. 14 0
      src/main/java/com/zsElectric/boot/app/converter/NewUserDiscountConverter.java
  45. 14 0
      src/main/java/com/zsElectric/boot/app/converter/RechargeLevelConverter.java
  46. 14 0
      src/main/java/com/zsElectric/boot/app/converter/StationTimePriceConverter.java
  47. 14 0
      src/main/java/com/zsElectric/boot/app/converter/ThirdPartyInfoConverter.java
  48. 23 0
      src/main/java/com/zsElectric/boot/app/converter/UserAccountConverter.java
  49. 14 0
      src/main/java/com/zsElectric/boot/app/converter/UserAccountLogConverter.java
  50. 14 0
      src/main/java/com/zsElectric/boot/app/converter/UserExchangeIntegralRuleConverter.java
  51. 14 0
      src/main/java/com/zsElectric/boot/app/converter/UserFirmConverter.java
  52. 23 0
      src/main/java/com/zsElectric/boot/app/converter/UserInfoConverter.java
  53. 14 0
      src/main/java/com/zsElectric/boot/app/converter/UserInfoIntegralLogConverter.java
  54. 14 0
      src/main/java/com/zsElectric/boot/app/converter/UserOrderInfoConverter.java
  55. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/AccountsSummaryMapper.java
  56. 17 0
      src/main/java/com/zsElectric/boot/app/mapper/AdvertisingMapper.java
  57. 17 0
      src/main/java/com/zsElectric/boot/app/mapper/BannerInfoMapper.java
  58. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/ChargeDeviceMapper.java
  59. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/ChargeEverydayAmountMapper.java
  60. 26 0
      src/main/java/com/zsElectric/boot/app/mapper/ChargeOrderInfoMapper.java
  61. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/ChargeStationMapper.java
  62. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/CouponMapper.java
  63. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/CouponTemplateMapper.java
  64. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/EcAccountLogMapper.java
  65. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/EcAccountMapper.java
  66. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/EcInfoMapper.java
  67. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/EcUserAccountMapper.java
  68. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/FirmInfoMapper.java
  69. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/FirmStationTimePriceMapper.java
  70. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/NewUserDiscountMapper.java
  71. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/RechargeLevelMapper.java
  72. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/StationTimePriceMapper.java
  73. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/ThirdPartyInfoMapper.java
  74. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/UserAccountLogMapper.java
  75. 35 0
      src/main/java/com/zsElectric/boot/app/mapper/UserAccountMapper.java
  76. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/UserExchangeIntegralRuleMapper.java
  77. 17 0
      src/main/java/com/zsElectric/boot/app/mapper/UserFeedbackMapper.java
  78. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/UserFirmMapper.java
  79. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/UserInfoIntegralLogMapper.java
  80. 50 0
      src/main/java/com/zsElectric/boot/app/mapper/UserInfoMapper.java
  81. 15 0
      src/main/java/com/zsElectric/boot/app/mapper/UserOrderInfoMapper.java
  82. 60 0
      src/main/java/com/zsElectric/boot/app/model/entity/AccountsSummary.java
  83. 58 0
      src/main/java/com/zsElectric/boot/app/model/entity/Advertising.java
  84. 58 0
      src/main/java/com/zsElectric/boot/app/model/entity/BannerInfo.java
  85. 115 0
      src/main/java/com/zsElectric/boot/app/model/entity/ChargeDevice.java
  86. 80 0
      src/main/java/com/zsElectric/boot/app/model/entity/ChargeEverydayAmount.java
  87. 235 0
      src/main/java/com/zsElectric/boot/app/model/entity/ChargeOrderInfo.java
  88. 220 0
      src/main/java/com/zsElectric/boot/app/model/entity/ChargeStation.java
  89. 85 0
      src/main/java/com/zsElectric/boot/app/model/entity/Coupon.java
  90. 80 0
      src/main/java/com/zsElectric/boot/app/model/entity/CouponTemplate.java
  91. 55 0
      src/main/java/com/zsElectric/boot/app/model/entity/EcAccount.java
  92. 65 0
      src/main/java/com/zsElectric/boot/app/model/entity/EcAccountLog.java
  93. 65 0
      src/main/java/com/zsElectric/boot/app/model/entity/EcInfo.java
  94. 65 0
      src/main/java/com/zsElectric/boot/app/model/entity/EcUserAccount.java
  95. 53 0
      src/main/java/com/zsElectric/boot/app/model/entity/FirmInfo.java
  96. 65 0
      src/main/java/com/zsElectric/boot/app/model/entity/FirmStationTimePrice.java
  97. 55 0
      src/main/java/com/zsElectric/boot/app/model/entity/NewUserDiscount.java
  98. 55 0
      src/main/java/com/zsElectric/boot/app/model/entity/RechargeLevel.java
  99. 60 0
      src/main/java/com/zsElectric/boot/app/model/entity/StationTimePrice.java
  100. 63 0
      src/main/java/com/zsElectric/boot/app/model/entity/ThirdPartyInfo.java

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/AccountsSummaryController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.AccountsSummaryForm;
+import com.zsElectric.boot.app.model.query.AccountsSummaryPageQuery;
+import com.zsElectric.boot.app.model.vo.AccountsSummaryPageVO;
+import com.zsElectric.boot.app.service.AccountsSummaryService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 账户汇总接口
+ */
+@Tag(name = "账户汇总接口")
+@RestController
+@RequestMapping("/api/v1/app/accounts-summary")
+@RequiredArgsConstructor
+public class AccountsSummaryController {
+
+    private final AccountsSummaryService accountsSummaryService;
+
+    @Operation(summary = "账户汇总分页列表")
+    @GetMapping("/page")
+    @Log(value = "账户汇总分页列表", module = LogModuleEnum.USER)
+    public PageResult<AccountsSummaryPageVO> listPagedAccountsSummaries(AccountsSummaryPageQuery queryParams) {
+        IPage<AccountsSummaryPageVO> result = accountsSummaryService.listPagedAccountsSummaries(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "账户汇总详情")
+    @GetMapping("/{id}")
+    @Log(value = "账户汇总详情", module = LogModuleEnum.USER)
+    public Result<AccountsSummaryForm> getAccountsSummaryFormData(
+            @Parameter(description = "账户汇总ID") @PathVariable Long id) {
+        AccountsSummaryForm formData = accountsSummaryService.getAccountsSummaryFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增账户汇总")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增账户汇总", module = LogModuleEnum.USER)
+    public Result<Boolean> saveAccountsSummary(@RequestBody AccountsSummaryForm formData) {
+        boolean result = accountsSummaryService.saveAccountsSummary(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改账户汇总")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改账户汇总", module = LogModuleEnum.USER)
+    public Result<Boolean> updateAccountsSummary(
+            @Parameter(description = "账户汇总ID") @PathVariable Long id,
+            @RequestBody AccountsSummaryForm formData) {
+        boolean result = accountsSummaryService.updateAccountsSummary(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除账户汇总")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除账户汇总", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteAccountsSummaries(
+            @Parameter(description = "账户汇总ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = accountsSummaryService.deleteAccountsSummaries(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/AdvertisingController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.AdvertisingForm;
+import com.zsElectric.boot.app.model.query.AdvertisingPageQuery;
+import com.zsElectric.boot.app.model.vo.AdvertisingPageVO;
+import com.zsElectric.boot.app.service.AdvertisingService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 广告信息接口
+ */
+@Tag(name = "广告信息接口")
+@RestController("appAdvertisingController")
+@RequestMapping("/api/v1/app/advertising")
+@RequiredArgsConstructor
+public class AdvertisingController {
+
+    private final AdvertisingService advertisingService;
+
+    @Operation(summary = "广告信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "广告信息分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<AdvertisingPageVO> listPagedAdvertisings(AdvertisingPageQuery queryParams) {
+        IPage<AdvertisingPageVO> result = advertisingService.listPagedAdvertisings(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "广告信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "广告信息详情", module = LogModuleEnum.OTHER)
+    public Result<AdvertisingForm> getAdvertisingFormData(
+            @Parameter(description = "广告信息ID") @PathVariable Long id) {
+        AdvertisingForm formData = advertisingService.getAdvertisingFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增广告信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增广告信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveAdvertising(@RequestBody AdvertisingForm formData) {
+        boolean result = advertisingService.saveAdvertising(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改广告信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改广告信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateAdvertising(
+            @Parameter(description = "广告信息ID") @PathVariable Long id,
+            @RequestBody AdvertisingForm formData) {
+        boolean result = advertisingService.updateAdvertising(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除广告信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除广告信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteAdvertisings(
+            @Parameter(description = "广告信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = advertisingService.deleteAdvertisings(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/BannerInfoController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.BannerInfoForm;
+import com.zsElectric.boot.app.model.query.BannerInfoPageQuery;
+import com.zsElectric.boot.app.model.vo.BannerInfoPageVO;
+import com.zsElectric.boot.app.service.BannerInfoService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Banner信息接口
+ */
+@Tag(name = "Banner信息接口")
+@RestController("appBannerInfoController")
+@RequestMapping("/api/v1/app/banner-info")
+@RequiredArgsConstructor
+public class BannerInfoController {
+
+    private final BannerInfoService bannerInfoService;
+
+    @Operation(summary = "Banner信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "Banner信息分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<BannerInfoPageVO> listPagedBannerInfos(BannerInfoPageQuery queryParams) {
+        IPage<BannerInfoPageVO> result = bannerInfoService.listPagedBannerInfos(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "Banner信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "Banner信息详情", module = LogModuleEnum.OTHER)
+    public Result<BannerInfoForm> getBannerInfoFormData(
+            @Parameter(description = "Banner信息ID") @PathVariable Long id) {
+        BannerInfoForm formData = bannerInfoService.getBannerInfoFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增Banner信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增Banner信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveBannerInfo(@RequestBody BannerInfoForm formData) {
+        boolean result = bannerInfoService.saveBannerInfo(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改Banner信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改Banner信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateBannerInfo(
+            @Parameter(description = "Banner信息ID") @PathVariable Long id,
+            @RequestBody BannerInfoForm formData) {
+        boolean result = bannerInfoService.updateBannerInfo(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除Banner信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除Banner信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteBannerInfos(
+            @Parameter(description = "Banner信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = bannerInfoService.deleteBannerInfos(ids);
+        return Result.success(result);
+    }
+}

+ 106 - 0
src/main/java/com/zsElectric/boot/app/controller/ChargeDeviceController.java

@@ -0,0 +1,106 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.entity.ChargeDevice;
+import com.zsElectric.boot.app.model.form.ChargeDeviceForm;
+import com.zsElectric.boot.app.model.query.ChargeDevicePageQuery;
+import com.zsElectric.boot.app.model.vo.ChargeDevicePageVO;
+import com.zsElectric.boot.app.service.ChargeDeviceService;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 充电桩信息前端控制器
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Tag(name = "充电桩信息接口")
+@RestController
+@RequestMapping("/api/v1/app/charge-device")
+@RequiredArgsConstructor
+public class ChargeDeviceController {
+
+    private final ChargeDeviceService chargeDeviceService;
+
+    @Operation(summary = "充电桩信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "充电桩信息分页列表", module = LogModuleEnum.DEVICE)
+    public PageResult<ChargeDevicePageVO> listPagedChargeDevices(ChargeDevicePageQuery queryParams) {
+        IPage<ChargeDevicePageVO> result = chargeDeviceService.listPagedChargeDevices(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增充电桩信息")
+    @PostMapping
+    @PreAuthorize("hasAuthority('app:chargeDevice:add')")
+    @Log(value = "新增充电桩信息", module = LogModuleEnum.DEVICE)
+    public Result<Boolean> saveChargeDevice(@RequestBody @Valid ChargeDeviceForm formData) {
+        boolean result = chargeDeviceService.saveChargeDevice(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "充电桩信息表单数据")
+    @GetMapping("/{id}/form")
+    public Result<ChargeDeviceForm> getChargeDeviceForm(
+            @Parameter(description = "充电桩ID") @PathVariable Long id
+    ) {
+        ChargeDeviceForm formData = chargeDeviceService.getChargeDeviceFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改充电桩信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasAuthority('app:chargeDevice:edit')")
+    @Log(value = "修改充电桩信息", module = LogModuleEnum.DEVICE)
+    public Result<Boolean> updateChargeDevice(
+            @Parameter(description = "充电桩ID") @PathVariable Long id,
+            @RequestBody @Valid ChargeDeviceForm formData
+    ) {
+        boolean result = chargeDeviceService.updateChargeDevice(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除充电桩信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasAuthority('app:chargeDevice:delete')")
+    @Log(value = "删除充电桩信息", module = LogModuleEnum.DEVICE)
+    public Result<Boolean> deleteChargeDevices(
+            @Parameter(description = "充电桩ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = chargeDeviceService.deleteChargeDevices(ids);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "根据充电站ID查询充电桩列表")
+    @GetMapping("/station/{stationId}")
+    public Result<List<ChargeDevice>> listByStationId(
+            @Parameter(description = "充电站ID") @PathVariable Long stationId
+    ) {
+        List<ChargeDevice> list = chargeDeviceService.listByStationId(stationId);
+        return Result.success(list);
+    }
+
+    @Operation(summary = "更新充电桩状态")
+    @PutMapping("/{id}/status/{status}")
+    @PreAuthorize("hasAuthority('app:chargeDevice:edit')")
+    @Log(value = "更新充电桩状态", module = LogModuleEnum.DEVICE)
+    public Result<Boolean> updateDeviceStatus(
+            @Parameter(description = "充电桩ID") @PathVariable Long id,
+            @Parameter(description = "状态") @PathVariable Long status
+    ) {
+        boolean result = chargeDeviceService.updateDeviceStatus(id, status);
+        return Result.judge(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/ChargeEverydayAmountController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.ChargeEverydayAmountForm;
+import com.zsElectric.boot.app.model.query.ChargeEverydayAmountPageQuery;
+import com.zsElectric.boot.app.model.vo.ChargeEverydayAmountPageVO;
+import com.zsElectric.boot.app.service.ChargeEverydayAmountService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 充电每日对账金额接口
+ */
+@Tag(name = "充电每日对账金额接口")
+@RestController
+@RequestMapping("/api/v1/app/charge-everyday-amount")
+@RequiredArgsConstructor
+public class ChargeEverydayAmountController {
+
+    private final ChargeEverydayAmountService chargeEverydayAmountService;
+
+    @Operation(summary = "充电每日对账金额分页列表")
+    @GetMapping("/page")
+    @Log(value = "充电每日对账金额分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<ChargeEverydayAmountPageVO> listPagedChargeEverydayAmounts(ChargeEverydayAmountPageQuery queryParams) {
+        IPage<ChargeEverydayAmountPageVO> result = chargeEverydayAmountService.listPagedChargeEverydayAmounts(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "充电每日对账金额详情")
+    @GetMapping("/{id}")
+    @Log(value = "充电每日对账金额详情", module = LogModuleEnum.OTHER)
+    public Result<ChargeEverydayAmountForm> getChargeEverydayAmountFormData(
+            @Parameter(description = "充电每日对账金额ID") @PathVariable Long id) {
+        ChargeEverydayAmountForm formData = chargeEverydayAmountService.getChargeEverydayAmountFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增充电每日对账金额")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增充电每日对账金额", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveChargeEverydayAmount(@RequestBody ChargeEverydayAmountForm formData) {
+        boolean result = chargeEverydayAmountService.saveChargeEverydayAmount(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改充电每日对账金额")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改充电每日对账金额", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateChargeEverydayAmount(
+            @Parameter(description = "充电每日对账金额ID") @PathVariable Long id,
+            @RequestBody ChargeEverydayAmountForm formData) {
+        boolean result = chargeEverydayAmountService.updateChargeEverydayAmount(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除充电每日对账金额")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除充电每日对账金额", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteChargeEverydayAmounts(
+            @Parameter(description = "充电每日对账金额ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = chargeEverydayAmountService.deleteChargeEverydayAmounts(ids);
+        return Result.success(result);
+    }
+}

+ 115 - 0
src/main/java/com/zsElectric/boot/app/controller/ChargeOrderInfoController.java

@@ -0,0 +1,115 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.entity.ChargeOrderInfo;
+import com.zsElectric.boot.app.model.form.ChargeOrderInfoForm;
+import com.zsElectric.boot.app.model.query.ChargeOrderInfoPageQuery;
+import com.zsElectric.boot.app.model.vo.ChargeOrderInfoPageVO;
+import com.zsElectric.boot.app.service.ChargeOrderInfoService;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 充电订单信息前端控制器
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@Tag(name = "充电订单信息接口")
+@RestController
+@RequestMapping("/api/v1/app/charge-order")
+@RequiredArgsConstructor
+public class ChargeOrderInfoController {
+
+    private final ChargeOrderInfoService chargeOrderInfoService;
+
+    @Operation(summary = "充电订单信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "充电订单信息分页列表", module = LogModuleEnum.ORDER)
+    public PageResult<ChargeOrderInfoPageVO> listPagedChargeOrderInfos(ChargeOrderInfoPageQuery queryParams) {
+        IPage<ChargeOrderInfoPageVO> result = chargeOrderInfoService.listPagedChargeOrderInfos(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "充电订单信息详细列表(包含关联信息)")
+    @GetMapping("/page/details")
+    @Log(value = "充电订单信息详细列表", module = LogModuleEnum.ORDER)
+    public PageResult<ChargeOrderInfoPageVO> listPagedChargeOrderInfosWithDetails(ChargeOrderInfoPageQuery queryParams) {
+        IPage<ChargeOrderInfoPageVO> result = chargeOrderInfoService.listPagedChargeOrderInfosWithDetails(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增充电订单信息")
+    @PostMapping
+    @PreAuthorize("hasAuthority('app:chargeOrder:add')")
+    @Log(value = "新增充电订单信息", module = LogModuleEnum.ORDER)
+    public Result<Boolean> saveChargeOrderInfo(@RequestBody @Valid ChargeOrderInfoForm formData) {
+        boolean result = chargeOrderInfoService.saveChargeOrderInfo(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "充电订单信息表单数据")
+    @GetMapping("/{id}/form")
+    public Result<ChargeOrderInfoForm> getChargeOrderInfoForm(
+            @Parameter(description = "订单ID") @PathVariable Long id
+    ) {
+        ChargeOrderInfoForm formData = chargeOrderInfoService.getChargeOrderInfoFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改充电订单信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasAuthority('app:chargeOrder:edit')")
+    @Log(value = "修改充电订单信息", module = LogModuleEnum.ORDER)
+    public Result<Boolean> updateChargeOrderInfo(
+            @Parameter(description = "订单ID") @PathVariable Long id,
+            @RequestBody @Valid ChargeOrderInfoForm formData
+    ) {
+        boolean result = chargeOrderInfoService.updateChargeOrderInfo(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除充电订单信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasAuthority('app:chargeOrder:delete')")
+    @Log(value = "删除充电订单信息", module = LogModuleEnum.ORDER)
+    public Result<Boolean> deleteChargeOrderInfos(
+            @Parameter(description = "订单ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = chargeOrderInfoService.deleteChargeOrderInfos(ids);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "根据订单号查询订单")
+    @GetMapping("/order-no/{chargeOrderNo}")
+    public Result<ChargeOrderInfoForm> getByChargeOrderNo(
+            @Parameter(description = "充电订单号") @PathVariable String chargeOrderNo
+    ) {
+        ChargeOrderInfo orderInfo = chargeOrderInfoService.getByChargeOrderNo(chargeOrderNo);
+        if (orderInfo == null) {
+            return Result.failed("订单不存在");
+        }
+        ChargeOrderInfoForm formData = chargeOrderInfoService.getChargeOrderInfoFormData(orderInfo.getId());
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "导出充电订单信息")
+    @GetMapping("/export")
+    @PreAuthorize("hasAuthority('app:chargeOrder:export')")
+    @Log(value = "导出充电订单信息", module = LogModuleEnum.ORDER)
+    public Result<List<ChargeOrderInfoPageVO>> exportChargeOrderInfos(ChargeOrderInfoPageQuery queryParams) {
+        List<ChargeOrderInfoPageVO> list = chargeOrderInfoService.listForExport(queryParams);
+        return Result.success(list);
+    }
+}

+ 94 - 0
src/main/java/com/zsElectric/boot/app/controller/ChargeStationController.java

@@ -0,0 +1,94 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.ChargeStationForm;
+import com.zsElectric.boot.app.model.query.ChargeStationPageQuery;
+import com.zsElectric.boot.app.model.vo.ChargeStationPageVO;
+import com.zsElectric.boot.app.service.ChargeStationService;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 充电站信息前端控制器
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Tag(name = "充电站信息接口")
+@RestController
+@RequestMapping("/api/v1/app/charge-station")
+@RequiredArgsConstructor
+public class ChargeStationController {
+
+    private final ChargeStationService chargeStationService;
+
+    @Operation(summary = "充电站信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "充电站信息分页列表", module = LogModuleEnum.STATION)
+    public PageResult<ChargeStationPageVO> listPagedChargeStations(ChargeStationPageQuery queryParams) {
+        IPage<ChargeStationPageVO> result = chargeStationService.listPagedChargeStations(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增充电站信息")
+    @PostMapping
+    @PreAuthorize("hasAuthority('app:chargeStation:add')")
+    @Log(value = "新增充电站信息", module = LogModuleEnum.STATION)
+    public Result<Boolean> saveChargeStation(@RequestBody @Valid ChargeStationForm formData) {
+        boolean result = chargeStationService.saveChargeStation(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "充电站信息表单数据")
+    @GetMapping("/{id}/form")
+    public Result<ChargeStationForm> getChargeStationForm(
+            @Parameter(description = "充电站ID") @PathVariable Long id
+    ) {
+        ChargeStationForm formData = chargeStationService.getChargeStationFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改充电站信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasAuthority('app:chargeStation:edit')")
+    @Log(value = "修改充电站信息", module = LogModuleEnum.STATION)
+    public Result<Boolean> updateChargeStation(
+            @Parameter(description = "充电站ID") @PathVariable Long id,
+            @RequestBody @Valid ChargeStationForm formData
+    ) {
+        boolean result = chargeStationService.updateChargeStation(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除充电站信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasAuthority('app:chargeStation:delete')")
+    @Log(value = "删除充电站信息", module = LogModuleEnum.STATION)
+    public Result<Boolean> deleteChargeStations(
+            @Parameter(description = "充电站ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = chargeStationService.deleteChargeStations(ids);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "更新充电站状态")
+    @PutMapping("/{id}/status/{status}")
+    @PreAuthorize("hasAuthority('app:chargeStation:edit')")
+    @Log(value = "更新充电站状态", module = LogModuleEnum.STATION)
+    public Result<Boolean> updateStationStatus(
+            @Parameter(description = "充电站ID") @PathVariable Long id,
+            @Parameter(description = "状态") @PathVariable Long status
+    ) {
+        boolean result = chargeStationService.updateStationStatus(id, status);
+        return Result.judge(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/CouponController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.CouponForm;
+import com.zsElectric.boot.app.model.query.CouponPageQuery;
+import com.zsElectric.boot.app.model.vo.CouponPageVO;
+import com.zsElectric.boot.app.service.CouponService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 优惠券接口
+ */
+@Tag(name = "优惠券接口")
+@RestController
+@RequestMapping("/api/v1/app/coupon")
+@RequiredArgsConstructor
+public class CouponController {
+
+    private final CouponService couponService;
+
+    @Operation(summary = "优惠券分页列表")
+    @GetMapping("/page")
+    @Log(value = "优惠券分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<CouponPageVO> listPagedCoupons(CouponPageQuery queryParams) {
+        IPage<CouponPageVO> result = couponService.listPagedCoupons(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "优惠券详情")
+    @GetMapping("/{id}")
+    @Log(value = "优惠券详情", module = LogModuleEnum.OTHER)
+    public Result<CouponForm> getCouponFormData(
+            @Parameter(description = "优惠券ID") @PathVariable Long id) {
+        CouponForm formData = couponService.getCouponFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增优惠券")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增优惠券", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveCoupon(@RequestBody CouponForm formData) {
+        boolean result = couponService.saveCoupon(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改优惠券")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改优惠券", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateCoupon(
+            @Parameter(description = "优惠券ID") @PathVariable Long id,
+            @RequestBody CouponForm formData) {
+        boolean result = couponService.updateCoupon(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除优惠券")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除优惠券", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteCoupons(
+            @Parameter(description = "优惠券ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = couponService.deleteCoupons(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/CouponTemplateController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.CouponTemplateForm;
+import com.zsElectric.boot.app.model.query.CouponTemplatePageQuery;
+import com.zsElectric.boot.app.model.vo.CouponTemplatePageVO;
+import com.zsElectric.boot.app.service.CouponTemplateService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 优惠券模板接口
+ */
+@Tag(name = "优惠券模板接口")
+@RestController
+@RequestMapping("/api/v1/app/coupon-template")
+@RequiredArgsConstructor
+public class CouponTemplateController {
+
+    private final CouponTemplateService couponTemplateService;
+
+    @Operation(summary = "优惠券模板分页列表")
+    @GetMapping("/page")
+    @Log(value = "优惠券模板分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<CouponTemplatePageVO> listPagedCouponTemplates(CouponTemplatePageQuery queryParams) {
+        IPage<CouponTemplatePageVO> result = couponTemplateService.listPagedCouponTemplates(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "优惠券模板详情")
+    @GetMapping("/{id}")
+    @Log(value = "优惠券模板详情", module = LogModuleEnum.OTHER)
+    public Result<CouponTemplateForm> getCouponTemplateFormData(
+            @Parameter(description = "优惠券模板ID") @PathVariable Long id) {
+        CouponTemplateForm formData = couponTemplateService.getCouponTemplateFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增优惠券模板")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增优惠券模板", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveCouponTemplate(@RequestBody CouponTemplateForm formData) {
+        boolean result = couponTemplateService.saveCouponTemplate(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改优惠券模板")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改优惠券模板", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateCouponTemplate(
+            @Parameter(description = "优惠券模板ID") @PathVariable Long id,
+            @RequestBody CouponTemplateForm formData) {
+        boolean result = couponTemplateService.updateCouponTemplate(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除优惠券模板")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除优惠券模板", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteCouponTemplates(
+            @Parameter(description = "优惠券模板ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = couponTemplateService.deleteCouponTemplates(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/EcAccountController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.EcAccountForm;
+import com.zsElectric.boot.app.model.query.EcAccountPageQuery;
+import com.zsElectric.boot.app.model.vo.EcAccountPageVO;
+import com.zsElectric.boot.app.service.EcAccountService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 商家账户信息接口
+ */
+@Tag(name = "商家账户信息接口")
+@RestController
+@RequestMapping("/api/v1/app/ec-account")
+@RequiredArgsConstructor
+public class EcAccountController {
+
+    private final EcAccountService ecAccountService;
+
+    @Operation(summary = "商家账户信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "商家账户信息分页列表", module = LogModuleEnum.USER)
+    public PageResult<EcAccountPageVO> listPagedEcAccounts(EcAccountPageQuery queryParams) {
+        IPage<EcAccountPageVO> result = ecAccountService.listPagedEcAccounts(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "商家账户信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "商家账户信息详情", module = LogModuleEnum.USER)
+    public Result<EcAccountForm> getEcAccountFormData(
+            @Parameter(description = "商家账户信息ID") @PathVariable Long id) {
+        EcAccountForm formData = ecAccountService.getEcAccountFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增商家账户信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增商家账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> saveEcAccount(@RequestBody EcAccountForm formData) {
+        boolean result = ecAccountService.saveEcAccount(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改商家账户信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改商家账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> updateEcAccount(
+            @Parameter(description = "商家账户信息ID") @PathVariable Long id,
+            @RequestBody EcAccountForm formData) {
+        boolean result = ecAccountService.updateEcAccount(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除商家账户信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除商家账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteEcAccounts(
+            @Parameter(description = "商家账户信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = ecAccountService.deleteEcAccounts(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/EcAccountLogController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.EcAccountLogForm;
+import com.zsElectric.boot.app.model.query.EcAccountLogPageQuery;
+import com.zsElectric.boot.app.model.vo.EcAccountLogPageVO;
+import com.zsElectric.boot.app.service.EcAccountLogService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 商家账户变更记录接口
+ */
+@Tag(name = "商家账户变更记录接口")
+@RestController
+@RequestMapping("/api/v1/app/ec-account-log")
+@RequiredArgsConstructor
+public class EcAccountLogController {
+
+    private final EcAccountLogService ecAccountLogService;
+
+    @Operation(summary = "商家账户变更记录分页列表")
+    @GetMapping("/page")
+    @Log(value = "商家账户变更记录分页列表", module = LogModuleEnum.USER)
+    public PageResult<EcAccountLogPageVO> listPagedEcAccountLogs(EcAccountLogPageQuery queryParams) {
+        IPage<EcAccountLogPageVO> result = ecAccountLogService.listPagedEcAccountLogs(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "商家账户变更记录详情")
+    @GetMapping("/{id}")
+    @Log(value = "商家账户变更记录详情", module = LogModuleEnum.USER)
+    public Result<EcAccountLogForm> getEcAccountLogFormData(
+            @Parameter(description = "商家账户变更记录ID") @PathVariable Long id) {
+        EcAccountLogForm formData = ecAccountLogService.getEcAccountLogFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增商家账户变更记录")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增商家账户变更记录", module = LogModuleEnum.USER)
+    public Result<Boolean> saveEcAccountLog(@RequestBody EcAccountLogForm formData) {
+        boolean result = ecAccountLogService.saveEcAccountLog(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改商家账户变更记录")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改商家账户变更记录", module = LogModuleEnum.USER)
+    public Result<Boolean> updateEcAccountLog(
+            @Parameter(description = "商家账户变更记录ID") @PathVariable Long id,
+            @RequestBody EcAccountLogForm formData) {
+        boolean result = ecAccountLogService.updateEcAccountLog(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除商家账户变更记录")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除商家账户变更记录", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteEcAccountLogs(
+            @Parameter(description = "商家账户变更记录ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = ecAccountLogService.deleteEcAccountLogs(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/EcInfoController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.EcInfoForm;
+import com.zsElectric.boot.app.model.query.EcInfoPageQuery;
+import com.zsElectric.boot.app.model.vo.EcInfoPageVO;
+import com.zsElectric.boot.app.service.EcInfoService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 集团信息接口
+ */
+@Tag(name = "集团信息接口")
+@RestController
+@RequestMapping("/api/v1/app/ec-info")
+@RequiredArgsConstructor
+public class EcInfoController {
+
+    private final EcInfoService ecInfoService;
+
+    @Operation(summary = "集团信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "集团信息分页列表", module = LogModuleEnum.USER)
+    public PageResult<EcInfoPageVO> listPagedEcInfos(EcInfoPageQuery queryParams) {
+        IPage<EcInfoPageVO> result = ecInfoService.listPagedEcInfos(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "集团信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "集团信息详情", module = LogModuleEnum.USER)
+    public Result<EcInfoForm> getEcInfoFormData(
+            @Parameter(description = "集团信息ID") @PathVariable Long id) {
+        EcInfoForm formData = ecInfoService.getEcInfoFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增集团信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增集团信息", module = LogModuleEnum.USER)
+    public Result<Boolean> saveEcInfo(@RequestBody EcInfoForm formData) {
+        boolean result = ecInfoService.saveEcInfo(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改集团信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改集团信息", module = LogModuleEnum.USER)
+    public Result<Boolean> updateEcInfo(
+            @Parameter(description = "集团信息ID") @PathVariable Long id,
+            @RequestBody EcInfoForm formData) {
+        boolean result = ecInfoService.updateEcInfo(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除集团信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除集团信息", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteEcInfos(
+            @Parameter(description = "集团信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = ecInfoService.deleteEcInfos(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/EcUserAccountController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.EcUserAccountForm;
+import com.zsElectric.boot.app.model.query.EcUserAccountPageQuery;
+import com.zsElectric.boot.app.model.vo.EcUserAccountPageVO;
+import com.zsElectric.boot.app.service.EcUserAccountService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 集团个人账户信息接口
+ */
+@Tag(name = "集团个人账户信息接口")
+@RestController
+@RequestMapping("/api/v1/app/ec-user-account")
+@RequiredArgsConstructor
+public class EcUserAccountController {
+
+    private final EcUserAccountService ecUserAccountService;
+
+    @Operation(summary = "集团个人账户信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "集团个人账户信息分页列表", module = LogModuleEnum.USER)
+    public PageResult<EcUserAccountPageVO> listPagedEcUserAccounts(EcUserAccountPageQuery queryParams) {
+        IPage<EcUserAccountPageVO> result = ecUserAccountService.listPagedEcUserAccounts(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "集团个人账户信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "集团个人账户信息详情", module = LogModuleEnum.USER)
+    public Result<EcUserAccountForm> getEcUserAccountFormData(
+            @Parameter(description = "集团个人账户信息ID") @PathVariable Long id) {
+        EcUserAccountForm formData = ecUserAccountService.getEcUserAccountFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增集团个人账户信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增集团个人账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> saveEcUserAccount(@RequestBody EcUserAccountForm formData) {
+        boolean result = ecUserAccountService.saveEcUserAccount(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改集团个人账户信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改集团个人账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> updateEcUserAccount(
+            @Parameter(description = "集团个人账户信息ID") @PathVariable Long id,
+            @RequestBody EcUserAccountForm formData) {
+        boolean result = ecUserAccountService.updateEcUserAccount(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除集团个人账户信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除集团个人账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteEcUserAccounts(
+            @Parameter(description = "集团个人账户信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = ecUserAccountService.deleteEcUserAccounts(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/FirmInfoController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.FirmInfoForm;
+import com.zsElectric.boot.app.model.query.FirmInfoPageQuery;
+import com.zsElectric.boot.app.model.vo.FirmInfoPageVO;
+import com.zsElectric.boot.app.service.FirmInfoService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * B端企业信息接口
+ */
+@Tag(name = "B端企业信息接口")
+@RestController
+@RequestMapping("/api/v1/app/firm-info")
+@RequiredArgsConstructor
+public class FirmInfoController {
+
+    private final FirmInfoService firmInfoService;
+
+    @Operation(summary = "B端企业信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "B端企业信息分页列表", module = LogModuleEnum.USER)
+    public PageResult<FirmInfoPageVO> listPagedFirmInfos(FirmInfoPageQuery queryParams) {
+        IPage<FirmInfoPageVO> result = firmInfoService.listPagedFirmInfos(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "B端企业信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "B端企业信息详情", module = LogModuleEnum.USER)
+    public Result<FirmInfoForm> getFirmInfoFormData(
+            @Parameter(description = "B端企业信息ID") @PathVariable Long id) {
+        FirmInfoForm formData = firmInfoService.getFirmInfoFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增B端企业信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增B端企业信息", module = LogModuleEnum.USER)
+    public Result<Boolean> saveFirmInfo(@RequestBody FirmInfoForm formData) {
+        boolean result = firmInfoService.saveFirmInfo(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改B端企业信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改B端企业信息", module = LogModuleEnum.USER)
+    public Result<Boolean> updateFirmInfo(
+            @Parameter(description = "B端企业信息ID") @PathVariable Long id,
+            @RequestBody FirmInfoForm formData) {
+        boolean result = firmInfoService.updateFirmInfo(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除B端企业信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除B端企业信息", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteFirmInfos(
+            @Parameter(description = "B端企业信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = firmInfoService.deleteFirmInfos(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/FirmStationTimePriceController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.FirmStationTimePriceForm;
+import com.zsElectric.boot.app.model.query.FirmStationTimePricePageQuery;
+import com.zsElectric.boot.app.model.vo.FirmStationTimePricePageVO;
+import com.zsElectric.boot.app.service.FirmStationTimePriceService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 企业专享价格表接口
+ */
+@Tag(name = "企业专享价格表接口")
+@RestController
+@RequestMapping("/api/v1/app/firm-station-time-price")
+@RequiredArgsConstructor
+public class FirmStationTimePriceController {
+
+    private final FirmStationTimePriceService firmStationTimePriceService;
+
+    @Operation(summary = "企业专享价格表分页列表")
+    @GetMapping("/page")
+    @Log(value = "企业专享价格表分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<FirmStationTimePricePageVO> listPagedFirmStationTimePrices(FirmStationTimePricePageQuery queryParams) {
+        IPage<FirmStationTimePricePageVO> result = firmStationTimePriceService.listPagedFirmStationTimePrices(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "企业专享价格表详情")
+    @GetMapping("/{id}")
+    @Log(value = "企业专享价格表详情", module = LogModuleEnum.OTHER)
+    public Result<FirmStationTimePriceForm> getFirmStationTimePriceFormData(
+            @Parameter(description = "企业专享价格表ID") @PathVariable Long id) {
+        FirmStationTimePriceForm formData = firmStationTimePriceService.getFirmStationTimePriceFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增企业专享价格表")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增企业专享价格表", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveFirmStationTimePrice(@RequestBody FirmStationTimePriceForm formData) {
+        boolean result = firmStationTimePriceService.saveFirmStationTimePrice(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改企业专享价格表")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改企业专享价格表", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateFirmStationTimePrice(
+            @Parameter(description = "企业专享价格表ID") @PathVariable Long id,
+            @RequestBody FirmStationTimePriceForm formData) {
+        boolean result = firmStationTimePriceService.updateFirmStationTimePrice(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除企业专享价格表")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除企业专享价格表", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteFirmStationTimePrices(
+            @Parameter(description = "企业专享价格表ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = firmStationTimePriceService.deleteFirmStationTimePrices(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/NewUserDiscountController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.NewUserDiscountForm;
+import com.zsElectric.boot.app.model.query.NewUserDiscountPageQuery;
+import com.zsElectric.boot.app.model.vo.NewUserDiscountPageVO;
+import com.zsElectric.boot.app.service.NewUserDiscountService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 新用户优惠接口
+ */
+@Tag(name = "新用户优惠接口")
+@RestController
+@RequestMapping("/api/v1/app/new-user-discount")
+@RequiredArgsConstructor
+public class NewUserDiscountController {
+
+    private final NewUserDiscountService newUserDiscountService;
+
+    @Operation(summary = "新用户优惠分页列表")
+    @GetMapping("/page")
+    @Log(value = "新用户优惠分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<NewUserDiscountPageVO> listPagedNewUserDiscounts(NewUserDiscountPageQuery queryParams) {
+        IPage<NewUserDiscountPageVO> result = newUserDiscountService.listPagedNewUserDiscounts(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新用户优惠详情")
+    @GetMapping("/{id}")
+    @Log(value = "新用户优惠详情", module = LogModuleEnum.OTHER)
+    public Result<NewUserDiscountForm> getNewUserDiscountFormData(
+            @Parameter(description = "新用户优惠ID") @PathVariable Long id) {
+        NewUserDiscountForm formData = newUserDiscountService.getNewUserDiscountFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增新用户优惠")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增新用户优惠", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveNewUserDiscount(@RequestBody NewUserDiscountForm formData) {
+        boolean result = newUserDiscountService.saveNewUserDiscount(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改新用户优惠")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改新用户优惠", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateNewUserDiscount(
+            @Parameter(description = "新用户优惠ID") @PathVariable Long id,
+            @RequestBody NewUserDiscountForm formData) {
+        boolean result = newUserDiscountService.updateNewUserDiscount(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除新用户优惠")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除新用户优惠", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteNewUserDiscounts(
+            @Parameter(description = "新用户优惠ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = newUserDiscountService.deleteNewUserDiscounts(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/RechargeLevelController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.RechargeLevelForm;
+import com.zsElectric.boot.app.model.query.RechargeLevelPageQuery;
+import com.zsElectric.boot.app.model.vo.RechargeLevelPageVO;
+import com.zsElectric.boot.app.service.RechargeLevelService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 充值档位信息接口
+ */
+@Tag(name = "充值档位信息接口")
+@RestController
+@RequestMapping("/api/v1/app/recharge-level")
+@RequiredArgsConstructor
+public class RechargeLevelController {
+
+    private final RechargeLevelService rechargeLevelService;
+
+    @Operation(summary = "充值档位信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "充值档位信息分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<RechargeLevelPageVO> listPagedRechargeLevels(RechargeLevelPageQuery queryParams) {
+        IPage<RechargeLevelPageVO> result = rechargeLevelService.listPagedRechargeLevels(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "充值档位信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "充值档位信息详情", module = LogModuleEnum.OTHER)
+    public Result<RechargeLevelForm> getRechargeLevelFormData(
+            @Parameter(description = "充值档位信息ID") @PathVariable Long id) {
+        RechargeLevelForm formData = rechargeLevelService.getRechargeLevelFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增充值档位信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增充值档位信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveRechargeLevel(@RequestBody RechargeLevelForm formData) {
+        boolean result = rechargeLevelService.saveRechargeLevel(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改充值档位信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改充值档位信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateRechargeLevel(
+            @Parameter(description = "充值档位信息ID") @PathVariable Long id,
+            @RequestBody RechargeLevelForm formData) {
+        boolean result = rechargeLevelService.updateRechargeLevel(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除充值档位信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除充值档位信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteRechargeLevels(
+            @Parameter(description = "充值档位信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = rechargeLevelService.deleteRechargeLevels(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/StationTimePriceController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.StationTimePriceForm;
+import com.zsElectric.boot.app.model.query.StationTimePricePageQuery;
+import com.zsElectric.boot.app.model.vo.StationTimePricePageVO;
+import com.zsElectric.boot.app.service.StationTimePriceService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 充电站时间段单价接口
+ */
+@Tag(name = "充电站时间段单价接口")
+@RestController
+@RequestMapping("/api/v1/app/station-time-price")
+@RequiredArgsConstructor
+public class StationTimePriceController {
+
+    private final StationTimePriceService stationTimePriceService;
+
+    @Operation(summary = "充电站时间段单价分页列表")
+    @GetMapping("/page")
+    @Log(value = "充电站时间段单价分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<StationTimePricePageVO> listPagedStationTimePrices(StationTimePricePageQuery queryParams) {
+        IPage<StationTimePricePageVO> result = stationTimePriceService.listPagedStationTimePrices(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "充电站时间段单价详情")
+    @GetMapping("/{id}")
+    @Log(value = "充电站时间段单价详情", module = LogModuleEnum.OTHER)
+    public Result<StationTimePriceForm> getStationTimePriceFormData(
+            @Parameter(description = "充电站时间段单价ID") @PathVariable Long id) {
+        StationTimePriceForm formData = stationTimePriceService.getStationTimePriceFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增充电站时间段单价")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增充电站时间段单价", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveStationTimePrice(@RequestBody StationTimePriceForm formData) {
+        boolean result = stationTimePriceService.saveStationTimePrice(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改充电站时间段单价")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改充电站时间段单价", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateStationTimePrice(
+            @Parameter(description = "充电站时间段单价ID") @PathVariable Long id,
+            @RequestBody StationTimePriceForm formData) {
+        boolean result = stationTimePriceService.updateStationTimePrice(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除充电站时间段单价")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除充电站时间段单价", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteStationTimePrices(
+            @Parameter(description = "充电站时间段单价ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = stationTimePriceService.deleteStationTimePrices(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/ThirdPartyInfoController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.ThirdPartyInfoForm;
+import com.zsElectric.boot.app.model.query.ThirdPartyInfoPageQuery;
+import com.zsElectric.boot.app.model.vo.ThirdPartyInfoPageVO;
+import com.zsElectric.boot.app.service.ThirdPartyInfoService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 第三方信息接口
+ */
+@Tag(name = "第三方信息接口")
+@RestController
+@RequestMapping("/api/v1/app/third-party-info")
+@RequiredArgsConstructor
+public class ThirdPartyInfoController {
+
+    private final ThirdPartyInfoService thirdPartyInfoService;
+
+    @Operation(summary = "第三方信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "第三方信息分页列表", module = LogModuleEnum.OTHER)
+    public PageResult<ThirdPartyInfoPageVO> listPagedThirdPartyInfos(ThirdPartyInfoPageQuery queryParams) {
+        IPage<ThirdPartyInfoPageVO> result = thirdPartyInfoService.listPagedThirdPartyInfos(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "第三方信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "第三方信息详情", module = LogModuleEnum.OTHER)
+    public Result<ThirdPartyInfoForm> getThirdPartyInfoFormData(
+            @Parameter(description = "第三方信息ID") @PathVariable Long id) {
+        ThirdPartyInfoForm formData = thirdPartyInfoService.getThirdPartyInfoFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增第三方信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增第三方信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> saveThirdPartyInfo(@RequestBody ThirdPartyInfoForm formData) {
+        boolean result = thirdPartyInfoService.saveThirdPartyInfo(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改第三方信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改第三方信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> updateThirdPartyInfo(
+            @Parameter(description = "第三方信息ID") @PathVariable Long id,
+            @RequestBody ThirdPartyInfoForm formData) {
+        boolean result = thirdPartyInfoService.updateThirdPartyInfo(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除第三方信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除第三方信息", module = LogModuleEnum.OTHER)
+    public Result<Boolean> deleteThirdPartyInfos(
+            @Parameter(description = "第三方信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = thirdPartyInfoService.deleteThirdPartyInfos(ids);
+        return Result.success(result);
+    }
+}

+ 82 - 0
src/main/java/com/zsElectric/boot/app/controller/UserAccountController.java

@@ -0,0 +1,82 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.UserAccountForm;
+import com.zsElectric.boot.app.model.query.UserAccountPageQuery;
+import com.zsElectric.boot.app.model.vo.UserAccountPageVO;
+import com.zsElectric.boot.app.service.UserAccountService;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 用户账户信息前端控制器
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@Tag(name = "用户账户信息接口")
+@RestController
+@RequestMapping("/api/v1/app/user-account")
+@RequiredArgsConstructor
+public class UserAccountController {
+
+    private final UserAccountService userAccountService;
+
+    @Operation(summary = "用户账户信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "用户账户信息分页列表", module = LogModuleEnum.USER)
+    public PageResult<UserAccountPageVO> listPagedUserAccounts(UserAccountPageQuery queryParams) {
+        IPage<UserAccountPageVO> result = userAccountService.listPagedUserAccounts(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增用户账户信息")
+    @PostMapping
+    @PreAuthorize("hasAuthority('app:userAccount:add')")
+    @Log(value = "新增用户账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> saveUserAccount(@RequestBody @Valid UserAccountForm formData) {
+        boolean result = userAccountService.saveUserAccount(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "用户账户信息表单数据")
+    @GetMapping("/{id}/form")
+    public Result<UserAccountForm> getUserAccountForm(
+            @Parameter(description = "账户ID") @PathVariable Long id
+    ) {
+        UserAccountForm formData = userAccountService.getUserAccountFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改用户账户信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasAuthority('app:userAccount:edit')")
+    @Log(value = "修改用户账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> updateUserAccount(
+            @Parameter(description = "账户ID") @PathVariable Long id,
+            @RequestBody @Valid UserAccountForm formData
+    ) {
+        boolean result = userAccountService.updateUserAccount(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除用户账户信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasAuthority('app:userAccount:delete')")
+    @Log(value = "删除用户账户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteUserAccounts(
+            @Parameter(description = "账户ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = userAccountService.deleteUserAccounts(ids);
+        return Result.judge(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/UserAccountLogController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.UserAccountLogForm;
+import com.zsElectric.boot.app.model.query.UserAccountLogPageQuery;
+import com.zsElectric.boot.app.model.vo.UserAccountLogPageVO;
+import com.zsElectric.boot.app.service.UserAccountLogService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 用户账户变更记录接口
+ */
+@Tag(name = "用户账户变更记录接口")
+@RestController
+@RequestMapping("/api/v1/app/user-account-log")
+@RequiredArgsConstructor
+public class UserAccountLogController {
+
+    private final UserAccountLogService userAccountLogService;
+
+    @Operation(summary = "用户账户变更记录分页列表")
+    @GetMapping("/page")
+    @Log(value = "用户账户变更记录分页列表", module = LogModuleEnum.USER)
+    public PageResult<UserAccountLogPageVO> listPagedUserAccountLogs(UserAccountLogPageQuery queryParams) {
+        IPage<UserAccountLogPageVO> result = userAccountLogService.listPagedUserAccountLogs(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "用户账户变更记录详情")
+    @GetMapping("/{id}")
+    @Log(value = "用户账户变更记录详情", module = LogModuleEnum.USER)
+    public Result<UserAccountLogForm> getUserAccountLogFormData(
+            @Parameter(description = "用户账户变更记录ID") @PathVariable Long id) {
+        UserAccountLogForm formData = userAccountLogService.getUserAccountLogFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增用户账户变更记录")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增用户账户变更记录", module = LogModuleEnum.USER)
+    public Result<Boolean> saveUserAccountLog(@RequestBody UserAccountLogForm formData) {
+        boolean result = userAccountLogService.saveUserAccountLog(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改用户账户变更记录")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改用户账户变更记录", module = LogModuleEnum.USER)
+    public Result<Boolean> updateUserAccountLog(
+            @Parameter(description = "用户账户变更记录ID") @PathVariable Long id,
+            @RequestBody UserAccountLogForm formData) {
+        boolean result = userAccountLogService.updateUserAccountLog(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除用户账户变更记录")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除用户账户变更记录", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteUserAccountLogs(
+            @Parameter(description = "用户账户变更记录ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = userAccountLogService.deleteUserAccountLogs(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/UserExchangeIntegralRuleController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.UserExchangeIntegralRuleForm;
+import com.zsElectric.boot.app.model.query.UserExchangeIntegralRulePageQuery;
+import com.zsElectric.boot.app.model.vo.UserExchangeIntegralRulePageVO;
+import com.zsElectric.boot.app.service.UserExchangeIntegralRuleService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 用户积分兑换规则接口
+ */
+@Tag(name = "用户积分兑换规则接口")
+@RestController
+@RequestMapping("/api/v1/app/user-exchange-integral-rule")
+@RequiredArgsConstructor
+public class UserExchangeIntegralRuleController {
+
+    private final UserExchangeIntegralRuleService userExchangeIntegralRuleService;
+
+    @Operation(summary = "用户积分兑换规则分页列表")
+    @GetMapping("/page")
+    @Log(value = "用户积分兑换规则分页列表", module = LogModuleEnum.USER)
+    public PageResult<UserExchangeIntegralRulePageVO> listPagedUserExchangeIntegralRules(UserExchangeIntegralRulePageQuery queryParams) {
+        IPage<UserExchangeIntegralRulePageVO> result = userExchangeIntegralRuleService.listPagedUserExchangeIntegralRules(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "用户积分兑换规则详情")
+    @GetMapping("/{id}")
+    @Log(value = "用户积分兑换规则详情", module = LogModuleEnum.USER)
+    public Result<UserExchangeIntegralRuleForm> getUserExchangeIntegralRuleFormData(
+            @Parameter(description = "用户积分兑换规则ID") @PathVariable Long id) {
+        UserExchangeIntegralRuleForm formData = userExchangeIntegralRuleService.getUserExchangeIntegralRuleFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增用户积分兑换规则")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增用户积分兑换规则", module = LogModuleEnum.USER)
+    public Result<Boolean> saveUserExchangeIntegralRule(@RequestBody UserExchangeIntegralRuleForm formData) {
+        boolean result = userExchangeIntegralRuleService.saveUserExchangeIntegralRule(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改用户积分兑换规则")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改用户积分兑换规则", module = LogModuleEnum.USER)
+    public Result<Boolean> updateUserExchangeIntegralRule(
+            @Parameter(description = "用户积分兑换规则ID") @PathVariable Long id,
+            @RequestBody UserExchangeIntegralRuleForm formData) {
+        boolean result = userExchangeIntegralRuleService.updateUserExchangeIntegralRule(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除用户积分兑换规则")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除用户积分兑换规则", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteUserExchangeIntegralRules(
+            @Parameter(description = "用户积分兑换规则ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = userExchangeIntegralRuleService.deleteUserExchangeIntegralRules(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/UserFeedbackController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.UserFeedbackForm;
+import com.zsElectric.boot.app.model.query.UserFeedbackPageQuery;
+import com.zsElectric.boot.app.model.vo.UserFeedbackPageVO;
+import com.zsElectric.boot.app.service.UserFeedbackService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 用户反馈接口
+ */
+@Tag(name = "用户反馈接口")
+@RestController("appUserFeedbackController")
+@RequestMapping("/api/v1/app/user-feedback")
+@RequiredArgsConstructor
+public class UserFeedbackController {
+
+    private final UserFeedbackService userFeedbackService;
+
+    @Operation(summary = "用户反馈分页列表")
+    @GetMapping("/page")
+    @Log(value = "用户反馈分页列表", module = LogModuleEnum.USER)
+    public PageResult<UserFeedbackPageVO> listPagedUserFeedbacks(UserFeedbackPageQuery queryParams) {
+        IPage<UserFeedbackPageVO> result = userFeedbackService.listPagedUserFeedbacks(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "用户反馈详情")
+    @GetMapping("/{id}")
+    @Log(value = "用户反馈详情", module = LogModuleEnum.USER)
+    public Result<UserFeedbackForm> getUserFeedbackFormData(
+            @Parameter(description = "用户反馈ID") @PathVariable Long id) {
+        UserFeedbackForm formData = userFeedbackService.getUserFeedbackFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增用户反馈")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增用户反馈", module = LogModuleEnum.USER)
+    public Result<Boolean> saveUserFeedback(@RequestBody UserFeedbackForm formData) {
+        boolean result = userFeedbackService.saveUserFeedback(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改用户反馈")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改用户反馈", module = LogModuleEnum.USER)
+    public Result<Boolean> updateUserFeedback(
+            @Parameter(description = "用户反馈ID") @PathVariable Long id,
+            @RequestBody UserFeedbackForm formData) {
+        boolean result = userFeedbackService.updateUserFeedback(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除用户反馈")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除用户反馈", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteUserFeedbacks(
+            @Parameter(description = "用户反馈ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = userFeedbackService.deleteUserFeedbacks(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/UserFirmController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.UserFirmForm;
+import com.zsElectric.boot.app.model.query.UserFirmPageQuery;
+import com.zsElectric.boot.app.model.vo.UserFirmPageVO;
+import com.zsElectric.boot.app.service.UserFirmService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 企业与用户关系信息接口
+ */
+@Tag(name = "企业与用户关系信息接口")
+@RestController
+@RequestMapping("/api/v1/app/user-firm")
+@RequiredArgsConstructor
+public class UserFirmController {
+
+    private final UserFirmService userFirmService;
+
+    @Operation(summary = "企业与用户关系信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "企业与用户关系信息分页列表", module = LogModuleEnum.USER)
+    public PageResult<UserFirmPageVO> listPagedUserFirms(UserFirmPageQuery queryParams) {
+        IPage<UserFirmPageVO> result = userFirmService.listPagedUserFirms(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "企业与用户关系信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "企业与用户关系信息详情", module = LogModuleEnum.USER)
+    public Result<UserFirmForm> getUserFirmFormData(
+            @Parameter(description = "企业与用户关系信息ID") @PathVariable Long id) {
+        UserFirmForm formData = userFirmService.getUserFirmFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增企业与用户关系信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增企业与用户关系信息", module = LogModuleEnum.USER)
+    public Result<Boolean> saveUserFirm(@RequestBody UserFirmForm formData) {
+        boolean result = userFirmService.saveUserFirm(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改企业与用户关系信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改企业与用户关系信息", module = LogModuleEnum.USER)
+    public Result<Boolean> updateUserFirm(
+            @Parameter(description = "企业与用户关系信息ID") @PathVariable Long id,
+            @RequestBody UserFirmForm formData) {
+        boolean result = userFirmService.updateUserFirm(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除企业与用户关系信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除企业与用户关系信息", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteUserFirms(
+            @Parameter(description = "企业与用户关系信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = userFirmService.deleteUserFirms(ids);
+        return Result.success(result);
+    }
+}

+ 94 - 0
src/main/java/com/zsElectric/boot/app/controller/UserInfoController.java

@@ -0,0 +1,94 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.UserInfoForm;
+import com.zsElectric.boot.app.model.query.UserInfoPageQuery;
+import com.zsElectric.boot.app.model.vo.UserInfoPageVO;
+import com.zsElectric.boot.app.service.UserInfoService;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 个人用户信息前端控制器
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Tag(name = "个人用户信息接口")
+@RestController
+@RequestMapping("/api/v1/app/user-info")
+@RequiredArgsConstructor
+public class UserInfoController {
+
+    private final UserInfoService userInfoService;
+
+    @Operation(summary = "个人用户信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "个人用户信息分页列表", module = LogModuleEnum.USER)
+    public PageResult<UserInfoPageVO> listPagedUserInfos(UserInfoPageQuery queryParams) {
+        IPage<UserInfoPageVO> result = userInfoService.listPagedUserInfos(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "新增个人用户信息")
+    @PostMapping
+    @PreAuthorize("hasAuthority('app:userInfo:add')")
+    @Log(value = "新增个人用户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> saveUserInfo(@RequestBody @Valid UserInfoForm formData) {
+        boolean result = userInfoService.saveUserInfo(formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "个人用户信息表单数据")
+    @GetMapping("/{id}/form")
+    public Result<UserInfoForm> getUserInfoForm(
+            @Parameter(description = "用户ID") @PathVariable Long id
+    ) {
+        UserInfoForm formData = userInfoService.getUserInfoFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "修改个人用户信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasAuthority('app:userInfo:edit')")
+    @Log(value = "修改个人用户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> updateUserInfo(
+            @Parameter(description = "用户ID") @PathVariable Long id,
+            @RequestBody @Valid UserInfoForm formData
+    ) {
+        boolean result = userInfoService.updateUserInfo(id, formData);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "删除个人用户信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasAuthority('app:userInfo:delete')")
+    @Log(value = "删除个人用户信息", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteUserInfos(
+            @Parameter(description = "用户ID,多个以英文逗号(,)分割") @PathVariable String ids
+    ) {
+        boolean result = userInfoService.deleteUserInfos(ids);
+        return Result.judge(result);
+    }
+
+    @Operation(summary = "根据手机号查询用户")
+    @GetMapping("/phone/{phone}")
+    public Result<UserInfoForm> getUserInfoByPhone(
+            @Parameter(description = "手机号") @PathVariable String phone
+    ) {
+        var userInfo = userInfoService.getUserInfoByPhone(phone);
+        if (userInfo != null) {
+            return Result.success(userInfoService.getUserInfoFormData(userInfo.getId()));
+        }
+        return Result.success(null);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/UserInfoIntegralLogController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.UserInfoIntegralLogForm;
+import com.zsElectric.boot.app.model.query.UserInfoIntegralLogPageQuery;
+import com.zsElectric.boot.app.model.vo.UserInfoIntegralLogPageVO;
+import com.zsElectric.boot.app.service.UserInfoIntegralLogService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 用户积分日志接口
+ */
+@Tag(name = "用户积分日志接口")
+@RestController
+@RequestMapping("/api/v1/app/user-info-integral-log")
+@RequiredArgsConstructor
+public class UserInfoIntegralLogController {
+
+    private final UserInfoIntegralLogService userInfoIntegralLogService;
+
+    @Operation(summary = "用户积分日志分页列表")
+    @GetMapping("/page")
+    @Log(value = "用户积分日志分页列表", module = LogModuleEnum.USER)
+    public PageResult<UserInfoIntegralLogPageVO> listPagedUserInfoIntegralLogs(UserInfoIntegralLogPageQuery queryParams) {
+        IPage<UserInfoIntegralLogPageVO> result = userInfoIntegralLogService.listPagedUserInfoIntegralLogs(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "用户积分日志详情")
+    @GetMapping("/{id}")
+    @Log(value = "用户积分日志详情", module = LogModuleEnum.USER)
+    public Result<UserInfoIntegralLogForm> getUserInfoIntegralLogFormData(
+            @Parameter(description = "用户积分日志ID") @PathVariable Long id) {
+        UserInfoIntegralLogForm formData = userInfoIntegralLogService.getUserInfoIntegralLogFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增用户积分日志")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增用户积分日志", module = LogModuleEnum.USER)
+    public Result<Boolean> saveUserInfoIntegralLog(@RequestBody UserInfoIntegralLogForm formData) {
+        boolean result = userInfoIntegralLogService.saveUserInfoIntegralLog(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改用户积分日志")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改用户积分日志", module = LogModuleEnum.USER)
+    public Result<Boolean> updateUserInfoIntegralLog(
+            @Parameter(description = "用户积分日志ID") @PathVariable Long id,
+            @RequestBody UserInfoIntegralLogForm formData) {
+        boolean result = userInfoIntegralLogService.updateUserInfoIntegralLog(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除用户积分日志")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除用户积分日志", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteUserInfoIntegralLogs(
+            @Parameter(description = "用户积分日志ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = userInfoIntegralLogService.deleteUserInfoIntegralLogs(ids);
+        return Result.success(result);
+    }
+}

+ 76 - 0
src/main/java/com/zsElectric/boot/app/controller/UserOrderInfoController.java

@@ -0,0 +1,76 @@
+package com.zsElectric.boot.app.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zsElectric.boot.app.model.form.UserOrderInfoForm;
+import com.zsElectric.boot.app.model.query.UserOrderInfoPageQuery;
+import com.zsElectric.boot.app.model.vo.UserOrderInfoPageVO;
+import com.zsElectric.boot.app.service.UserOrderInfoService;
+import com.zsElectric.boot.common.annotation.Log;
+import com.zsElectric.boot.common.enums.LogModuleEnum;
+import com.zsElectric.boot.core.web.PageResult;
+import com.zsElectric.boot.core.web.Result;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 用户支付订单信息接口
+ */
+@Tag(name = "用户支付订单信息接口")
+@RestController
+@RequestMapping("/api/v1/app/user-order-info")
+@RequiredArgsConstructor
+public class UserOrderInfoController {
+
+    private final UserOrderInfoService userOrderInfoService;
+
+    @Operation(summary = "用户支付订单信息分页列表")
+    @GetMapping("/page")
+    @Log(value = "用户支付订单信息分页列表", module = LogModuleEnum.USER)
+    public PageResult<UserOrderInfoPageVO> listPagedUserOrderInfos(UserOrderInfoPageQuery queryParams) {
+        IPage<UserOrderInfoPageVO> result = userOrderInfoService.listPagedUserOrderInfos(queryParams);
+        return PageResult.success(result);
+    }
+
+    @Operation(summary = "用户支付订单信息详情")
+    @GetMapping("/{id}")
+    @Log(value = "用户支付订单信息详情", module = LogModuleEnum.USER)
+    public Result<UserOrderInfoForm> getUserOrderInfoFormData(
+            @Parameter(description = "用户支付订单信息ID") @PathVariable Long id) {
+        UserOrderInfoForm formData = userOrderInfoService.getUserOrderInfoFormData(id);
+        return Result.success(formData);
+    }
+
+    @Operation(summary = "新增用户支付订单信息")
+    @PostMapping
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "新增用户支付订单信息", module = LogModuleEnum.USER)
+    public Result<Boolean> saveUserOrderInfo(@RequestBody UserOrderInfoForm formData) {
+        boolean result = userOrderInfoService.saveUserOrderInfo(formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "修改用户支付订单信息")
+    @PutMapping("/{id}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "修改用户支付订单信息", module = LogModuleEnum.USER)
+    public Result<Boolean> updateUserOrderInfo(
+            @Parameter(description = "用户支付订单信息ID") @PathVariable Long id,
+            @RequestBody UserOrderInfoForm formData) {
+        boolean result = userOrderInfoService.updateUserOrderInfo(id, formData);
+        return Result.success(result);
+    }
+
+    @Operation(summary = "删除用户支付订单信息")
+    @DeleteMapping("/{ids}")
+    @PreAuthorize("hasRole('ADMIN')")
+    @Log(value = "删除用户支付订单信息", module = LogModuleEnum.USER)
+    public Result<Boolean> deleteUserOrderInfos(
+            @Parameter(description = "用户支付订单信息ID,多个以英文逗号(,)分割") @PathVariable String ids) {
+        boolean result = userOrderInfoService.deleteUserOrderInfos(ids);
+        return Result.success(result);
+    }
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/AccountsSummaryConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.AccountsSummary;
+import com.zsElectric.boot.app.model.form.AccountsSummaryForm;
+import com.zsElectric.boot.app.model.vo.AccountsSummaryPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface AccountsSummaryConverter {
+    Page<AccountsSummaryPageVO> toPageVo(Page<AccountsSummary> page);
+    AccountsSummaryForm toForm(AccountsSummary entity);
+    AccountsSummary toEntity(AccountsSummaryForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/AppAdvertisingConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.Advertising;
+import com.zsElectric.boot.app.model.form.AdvertisingForm;
+import com.zsElectric.boot.app.model.vo.AdvertisingPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface AppAdvertisingConverter {
+    Page<AdvertisingPageVO> toPageVo(Page<Advertising> page);
+    AdvertisingForm toForm(Advertising entity);
+    Advertising toEntity(AdvertisingForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/AppBannerInfoConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.BannerInfo;
+import com.zsElectric.boot.app.model.form.BannerInfoForm;
+import com.zsElectric.boot.app.model.vo.BannerInfoPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface AppBannerInfoConverter {
+    Page<BannerInfoPageVO> toPageVo(Page<BannerInfo> page);
+    BannerInfoForm toForm(BannerInfo entity);
+    BannerInfo toEntity(BannerInfoForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/AppUserFeedbackConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.UserFeedback;
+import com.zsElectric.boot.app.model.form.UserFeedbackForm;
+import com.zsElectric.boot.app.model.vo.UserFeedbackPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface AppUserFeedbackConverter {
+    Page<UserFeedbackPageVO> toPageVo(Page<UserFeedback> page);
+    UserFeedbackForm toForm(UserFeedback entity);
+    UserFeedback toEntity(UserFeedbackForm formData);
+}

+ 23 - 0
src/main/java/com/zsElectric/boot/app/converter/ChargeDeviceConverter.java

@@ -0,0 +1,23 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.ChargeDevice;
+import com.zsElectric.boot.app.model.form.ChargeDeviceForm;
+import com.zsElectric.boot.app.model.vo.ChargeDevicePageVO;
+import org.mapstruct.Mapper;
+
+/**
+ * 充电桩信息对象转换器
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Mapper(componentModel = "spring")
+public interface ChargeDeviceConverter {
+
+    Page<ChargeDevicePageVO> toPageVo(Page<ChargeDevice> page);
+
+    ChargeDeviceForm toForm(ChargeDevice entity);
+
+    ChargeDevice toEntity(ChargeDeviceForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/ChargeEverydayAmountConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.ChargeEverydayAmount;
+import com.zsElectric.boot.app.model.form.ChargeEverydayAmountForm;
+import com.zsElectric.boot.app.model.vo.ChargeEverydayAmountPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface ChargeEverydayAmountConverter {
+    Page<ChargeEverydayAmountPageVO> toPageVo(Page<ChargeEverydayAmount> page);
+    ChargeEverydayAmountForm toForm(ChargeEverydayAmount entity);
+    ChargeEverydayAmount toEntity(ChargeEverydayAmountForm formData);
+}

+ 25 - 0
src/main/java/com/zsElectric/boot/app/converter/ChargeOrderInfoConverter.java

@@ -0,0 +1,25 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.ChargeOrderInfo;
+import com.zsElectric.boot.app.model.form.ChargeOrderInfoForm;
+import com.zsElectric.boot.app.model.vo.ChargeOrderInfoPageVO;
+import org.mapstruct.Mapper;
+
+/**
+ * 充电订单信息对象转换器
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@Mapper(componentModel = "spring")
+public interface ChargeOrderInfoConverter {
+
+    Page<ChargeOrderInfoPageVO> toPageVo(Page<ChargeOrderInfo> page);
+
+    ChargeOrderInfoPageVO toPageVo(ChargeOrderInfo entity);
+
+    ChargeOrderInfoForm toForm(ChargeOrderInfo entity);
+
+    ChargeOrderInfo toEntity(ChargeOrderInfoForm formData);
+}

+ 23 - 0
src/main/java/com/zsElectric/boot/app/converter/ChargeStationConverter.java

@@ -0,0 +1,23 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.ChargeStation;
+import com.zsElectric.boot.app.model.form.ChargeStationForm;
+import com.zsElectric.boot.app.model.vo.ChargeStationPageVO;
+import org.mapstruct.Mapper;
+
+/**
+ * 充电站信息对象转换器
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Mapper(componentModel = "spring")
+public interface ChargeStationConverter {
+
+    Page<ChargeStationPageVO> toPageVo(Page<ChargeStation> page);
+
+    ChargeStationForm toForm(ChargeStation entity);
+
+    ChargeStation toEntity(ChargeStationForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/CouponConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.Coupon;
+import com.zsElectric.boot.app.model.form.CouponForm;
+import com.zsElectric.boot.app.model.vo.CouponPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface CouponConverter {
+    Page<CouponPageVO> toPageVo(Page<Coupon> page);
+    CouponForm toForm(Coupon entity);
+    Coupon toEntity(CouponForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/CouponTemplateConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.CouponTemplate;
+import com.zsElectric.boot.app.model.form.CouponTemplateForm;
+import com.zsElectric.boot.app.model.vo.CouponTemplatePageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface CouponTemplateConverter {
+    Page<CouponTemplatePageVO> toPageVo(Page<CouponTemplate> page);
+    CouponTemplateForm toForm(CouponTemplate entity);
+    CouponTemplate toEntity(CouponTemplateForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/EcAccountConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.EcAccount;
+import com.zsElectric.boot.app.model.form.EcAccountForm;
+import com.zsElectric.boot.app.model.vo.EcAccountPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface EcAccountConverter {
+    Page<EcAccountPageVO> toPageVo(Page<EcAccount> page);
+    EcAccountForm toForm(EcAccount entity);
+    EcAccount toEntity(EcAccountForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/EcAccountLogConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.EcAccountLog;
+import com.zsElectric.boot.app.model.form.EcAccountLogForm;
+import com.zsElectric.boot.app.model.vo.EcAccountLogPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface EcAccountLogConverter {
+    Page<EcAccountLogPageVO> toPageVo(Page<EcAccountLog> page);
+    EcAccountLogForm toForm(EcAccountLog entity);
+    EcAccountLog toEntity(EcAccountLogForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/EcInfoConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.EcInfo;
+import com.zsElectric.boot.app.model.form.EcInfoForm;
+import com.zsElectric.boot.app.model.vo.EcInfoPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface EcInfoConverter {
+    Page<EcInfoPageVO> toPageVo(Page<EcInfo> page);
+    EcInfoForm toForm(EcInfo entity);
+    EcInfo toEntity(EcInfoForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/EcUserAccountConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.EcUserAccount;
+import com.zsElectric.boot.app.model.form.EcUserAccountForm;
+import com.zsElectric.boot.app.model.vo.EcUserAccountPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface EcUserAccountConverter {
+    Page<EcUserAccountPageVO> toPageVo(Page<EcUserAccount> page);
+    EcUserAccountForm toForm(EcUserAccount entity);
+    EcUserAccount toEntity(EcUserAccountForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/FirmInfoConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.FirmInfo;
+import com.zsElectric.boot.app.model.form.FirmInfoForm;
+import com.zsElectric.boot.app.model.vo.FirmInfoPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface FirmInfoConverter {
+    Page<FirmInfoPageVO> toPageVo(Page<FirmInfo> page);
+    FirmInfoForm toForm(FirmInfo entity);
+    FirmInfo toEntity(FirmInfoForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/FirmStationTimePriceConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.FirmStationTimePrice;
+import com.zsElectric.boot.app.model.form.FirmStationTimePriceForm;
+import com.zsElectric.boot.app.model.vo.FirmStationTimePricePageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface FirmStationTimePriceConverter {
+    Page<FirmStationTimePricePageVO> toPageVo(Page<FirmStationTimePrice> page);
+    FirmStationTimePriceForm toForm(FirmStationTimePrice entity);
+    FirmStationTimePrice toEntity(FirmStationTimePriceForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/NewUserDiscountConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.NewUserDiscount;
+import com.zsElectric.boot.app.model.form.NewUserDiscountForm;
+import com.zsElectric.boot.app.model.vo.NewUserDiscountPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface NewUserDiscountConverter {
+    Page<NewUserDiscountPageVO> toPageVo(Page<NewUserDiscount> page);
+    NewUserDiscountForm toForm(NewUserDiscount entity);
+    NewUserDiscount toEntity(NewUserDiscountForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/RechargeLevelConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.RechargeLevel;
+import com.zsElectric.boot.app.model.form.RechargeLevelForm;
+import com.zsElectric.boot.app.model.vo.RechargeLevelPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface RechargeLevelConverter {
+    Page<RechargeLevelPageVO> toPageVo(Page<RechargeLevel> page);
+    RechargeLevelForm toForm(RechargeLevel entity);
+    RechargeLevel toEntity(RechargeLevelForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/StationTimePriceConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.StationTimePrice;
+import com.zsElectric.boot.app.model.form.StationTimePriceForm;
+import com.zsElectric.boot.app.model.vo.StationTimePricePageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface StationTimePriceConverter {
+    Page<StationTimePricePageVO> toPageVo(Page<StationTimePrice> page);
+    StationTimePriceForm toForm(StationTimePrice entity);
+    StationTimePrice toEntity(StationTimePriceForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/ThirdPartyInfoConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.ThirdPartyInfo;
+import com.zsElectric.boot.app.model.form.ThirdPartyInfoForm;
+import com.zsElectric.boot.app.model.vo.ThirdPartyInfoPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface ThirdPartyInfoConverter {
+    Page<ThirdPartyInfoPageVO> toPageVo(Page<ThirdPartyInfo> page);
+    ThirdPartyInfoForm toForm(ThirdPartyInfo entity);
+    ThirdPartyInfo toEntity(ThirdPartyInfoForm formData);
+}

+ 23 - 0
src/main/java/com/zsElectric/boot/app/converter/UserAccountConverter.java

@@ -0,0 +1,23 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.UserAccount;
+import com.zsElectric.boot.app.model.form.UserAccountForm;
+import com.zsElectric.boot.app.model.vo.UserAccountPageVO;
+import org.mapstruct.Mapper;
+
+/**
+ * 用户账户信息对象转换器
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@Mapper(componentModel = "spring")
+public interface UserAccountConverter {
+
+    Page<UserAccountPageVO> toPageVo(Page<UserAccount> page);
+
+    UserAccountForm toForm(UserAccount entity);
+
+    UserAccount toEntity(UserAccountForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/UserAccountLogConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.UserAccountLog;
+import com.zsElectric.boot.app.model.form.UserAccountLogForm;
+import com.zsElectric.boot.app.model.vo.UserAccountLogPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface UserAccountLogConverter {
+    Page<UserAccountLogPageVO> toPageVo(Page<UserAccountLog> page);
+    UserAccountLogForm toForm(UserAccountLog entity);
+    UserAccountLog toEntity(UserAccountLogForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/UserExchangeIntegralRuleConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.UserExchangeIntegralRule;
+import com.zsElectric.boot.app.model.form.UserExchangeIntegralRuleForm;
+import com.zsElectric.boot.app.model.vo.UserExchangeIntegralRulePageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface UserExchangeIntegralRuleConverter {
+    Page<UserExchangeIntegralRulePageVO> toPageVo(Page<UserExchangeIntegralRule> page);
+    UserExchangeIntegralRuleForm toForm(UserExchangeIntegralRule entity);
+    UserExchangeIntegralRule toEntity(UserExchangeIntegralRuleForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/UserFirmConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.UserFirm;
+import com.zsElectric.boot.app.model.form.UserFirmForm;
+import com.zsElectric.boot.app.model.vo.UserFirmPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface UserFirmConverter {
+    Page<UserFirmPageVO> toPageVo(Page<UserFirm> page);
+    UserFirmForm toForm(UserFirm entity);
+    UserFirm toEntity(UserFirmForm formData);
+}

+ 23 - 0
src/main/java/com/zsElectric/boot/app/converter/UserInfoConverter.java

@@ -0,0 +1,23 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.UserInfo;
+import com.zsElectric.boot.app.model.form.UserInfoForm;
+import com.zsElectric.boot.app.model.vo.UserInfoPageVO;
+import org.mapstruct.Mapper;
+
+/**
+ * 个人用户信息对象转换器
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper(componentModel = "spring")
+public interface UserInfoConverter {
+
+    Page<UserInfoPageVO> toPageVo(Page<UserInfo> page);
+
+    UserInfoForm toForm(UserInfo entity);
+
+    UserInfo toEntity(UserInfoForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/UserInfoIntegralLogConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.UserInfoIntegralLog;
+import com.zsElectric.boot.app.model.form.UserInfoIntegralLogForm;
+import com.zsElectric.boot.app.model.vo.UserInfoIntegralLogPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface UserInfoIntegralLogConverter {
+    Page<UserInfoIntegralLogPageVO> toPageVo(Page<UserInfoIntegralLog> page);
+    UserInfoIntegralLogForm toForm(UserInfoIntegralLog entity);
+    UserInfoIntegralLog toEntity(UserInfoIntegralLogForm formData);
+}

+ 14 - 0
src/main/java/com/zsElectric/boot/app/converter/UserOrderInfoConverter.java

@@ -0,0 +1,14 @@
+package com.zsElectric.boot.app.converter;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zsElectric.boot.app.model.entity.UserOrderInfo;
+import com.zsElectric.boot.app.model.form.UserOrderInfoForm;
+import com.zsElectric.boot.app.model.vo.UserOrderInfoPageVO;
+import org.mapstruct.Mapper;
+
+@Mapper(componentModel = "spring")
+public interface UserOrderInfoConverter {
+    Page<UserOrderInfoPageVO> toPageVo(Page<UserOrderInfo> page);
+    UserOrderInfoForm toForm(UserOrderInfo entity);
+    UserOrderInfo toEntity(UserOrderInfoForm formData);
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/AccountsSummaryMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.AccountsSummary;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 账户汇总Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+public interface AccountsSummaryMapper extends BaseMapper<AccountsSummary> {
+}

+ 17 - 0
src/main/java/com/zsElectric/boot/app/mapper/AdvertisingMapper.java

@@ -0,0 +1,17 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.Advertising;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 广告信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+@Repository("appAdvertisingMapper")
+public interface AdvertisingMapper extends BaseMapper<Advertising> {
+}

+ 17 - 0
src/main/java/com/zsElectric/boot/app/mapper/BannerInfoMapper.java

@@ -0,0 +1,17 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.BannerInfo;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Banner信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+@Repository("appBannerInfoMapper")
+public interface BannerInfoMapper extends BaseMapper<BannerInfo> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/ChargeDeviceMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.ChargeDevice;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 充电桩信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Mapper
+public interface ChargeDeviceMapper extends BaseMapper<ChargeDevice> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/ChargeEverydayAmountMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.ChargeEverydayAmount;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 充电每日对账金额Mapper接口
+ *
+ * @author boxun
+ * @since 2025-01-14
+ */
+@Mapper
+public interface ChargeEverydayAmountMapper extends BaseMapper<ChargeEverydayAmount> {
+}

+ 26 - 0
src/main/java/com/zsElectric/boot/app/mapper/ChargeOrderInfoMapper.java

@@ -0,0 +1,26 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.ChargeOrderInfo;
+import com.zsElectric.boot.app.model.query.ChargeOrderInfoPageQuery;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 充电订单信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@Mapper
+public interface ChargeOrderInfoMapper extends BaseMapper<ChargeOrderInfo> {
+    
+    /**
+     * 查询充电订单信息列表(带关联详情)
+     *
+     * @param queryParams 查询参数
+     * @return 充电订单信息列表
+     */
+    List<ChargeOrderInfo> selectChargeOrderInfoListWithDetails(ChargeOrderInfoPageQuery queryParams);
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/ChargeStationMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.ChargeStation;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 充电站信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Mapper
+public interface ChargeStationMapper extends BaseMapper<ChargeStation> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/CouponMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.Coupon;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 优惠券Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+public interface CouponMapper extends BaseMapper<Coupon> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/CouponTemplateMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.CouponTemplate;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 优惠券模板Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+public interface CouponTemplateMapper extends BaseMapper<CouponTemplate> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/EcAccountLogMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.EcAccountLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 商家账户变更记录Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Mapper
+public interface EcAccountLogMapper extends BaseMapper<EcAccountLog> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/EcAccountMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.EcAccount;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 商家账户信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Mapper
+public interface EcAccountMapper extends BaseMapper<EcAccount> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/EcInfoMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.EcInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 集团信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Mapper
+public interface EcInfoMapper extends BaseMapper<EcInfo> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/EcUserAccountMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.EcUserAccount;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 集团个人账户信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@Mapper
+public interface EcUserAccountMapper extends BaseMapper<EcUserAccount> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/FirmInfoMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.FirmInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * B端企业信息Mapper接口
+ *
+ * @author boxun
+ * @since 2025-03-03
+ */
+@Mapper
+public interface FirmInfoMapper extends BaseMapper<FirmInfo> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/FirmStationTimePriceMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.FirmStationTimePrice;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 企业专享价格表Mapper接口
+ *
+ * @author boxun
+ * @since 2025-03-05
+ */
+@Mapper
+public interface FirmStationTimePriceMapper extends BaseMapper<FirmStationTimePrice> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/NewUserDiscountMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.NewUserDiscount;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 新用户优惠Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+public interface NewUserDiscountMapper extends BaseMapper<NewUserDiscount> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/RechargeLevelMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.RechargeLevel;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 充值档位信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-31
+ */
+@Mapper
+public interface RechargeLevelMapper extends BaseMapper<RechargeLevel> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/StationTimePriceMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.StationTimePrice;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 充电站时间段单价Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@Mapper
+public interface StationTimePriceMapper extends BaseMapper<StationTimePrice> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/ThirdPartyInfoMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.ThirdPartyInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 第三方信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+public interface ThirdPartyInfoMapper extends BaseMapper<ThirdPartyInfo> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/UserAccountLogMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.UserAccountLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户账户变更记录Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-31
+ */
+@Mapper
+public interface UserAccountLogMapper extends BaseMapper<UserAccountLog> {
+}

+ 35 - 0
src/main/java/com/zsElectric/boot/app/mapper/UserAccountMapper.java

@@ -0,0 +1,35 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.UserAccount;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+
+/**
+ * 用户账户信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@Mapper
+public interface UserAccountMapper extends BaseMapper<UserAccount> {
+
+    /**
+     * 根据用户ID查询账户
+     *
+     * @param userId 用户ID
+     * @return 用户账户
+     */
+    UserAccount selectByUserId(@Param("userId") Long userId);
+
+    /**
+     * 更新账户余额
+     *
+     * @param userId 用户ID
+     * @param changeMoney 变更金额
+     * @return 结果
+     */
+    int updateBalance(@Param("userId") Long userId, @Param("changeMoney") BigDecimal changeMoney);
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/UserExchangeIntegralRuleMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.UserExchangeIntegralRule;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户积分兑换规则Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+public interface UserExchangeIntegralRuleMapper extends BaseMapper<UserExchangeIntegralRule> {
+}

+ 17 - 0
src/main/java/com/zsElectric/boot/app/mapper/UserFeedbackMapper.java

@@ -0,0 +1,17 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.UserFeedback;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 用户反馈Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+@Repository("appUserFeedbackMapper")
+public interface UserFeedbackMapper extends BaseMapper<UserFeedback> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/UserFirmMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.UserFirm;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 企业与用户关系信息Mapper接口
+ *
+ * @author boxun
+ * @since 2025-03-03
+ */
+@Mapper
+public interface UserFirmMapper extends BaseMapper<UserFirm> {
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/UserInfoIntegralLogMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.UserInfoIntegralLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户积分日志Mapper接口
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@Mapper
+public interface UserInfoIntegralLogMapper extends BaseMapper<UserInfoIntegralLog> {
+}

+ 50 - 0
src/main/java/com/zsElectric/boot/app/mapper/UserInfoMapper.java

@@ -0,0 +1,50 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.UserInfo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 个人用户信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-24
+ */
+@Mapper
+public interface UserInfoMapper extends BaseMapper<UserInfo> {
+
+    /**
+     * 查询个人用户信息列表(带所有关联信息)
+     *
+     * @param userInfo 个人用户信息
+     * @return 个人用户信息集合
+     */
+    List<UserInfo> selectUserInfoListWithAllInfo(UserInfo userInfo);
+
+    /**
+     * 根据手机号查询用户信息
+     *
+     * @param phone 手机号
+     * @return 用户信息
+     */
+    UserInfo selectUserInfoByPhone(@Param("phone") String phone);
+
+    /**
+     * 移除集团ID
+     *
+     * @param id 用户ID
+     * @return 结果
+     */
+    int removeEcId(@Param("id") Long id);
+
+    /**
+     * 更新用户积分
+     *
+     * @param userInfo 个人用户信息
+     * @return 结果
+     */
+    int updateUserInfoIntegral(UserInfo userInfo);
+}

+ 15 - 0
src/main/java/com/zsElectric/boot/app/mapper/UserOrderInfoMapper.java

@@ -0,0 +1,15 @@
+package com.zsElectric.boot.app.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zsElectric.boot.app.model.entity.UserOrderInfo;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户支付订单信息Mapper接口
+ *
+ * @author boxun
+ * @since 2024-07-31
+ */
+@Mapper
+public interface UserOrderInfoMapper extends BaseMapper<UserOrderInfo> {
+}

+ 60 - 0
src/main/java/com/zsElectric/boot/app/model/entity/AccountsSummary.java

@@ -0,0 +1,60 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 账户汇总实体
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@TableName("c_accounts_summary")
+@Getter
+@Setter
+public class AccountsSummary extends BaseEntity {
+
+    /**
+     * 汇总日期
+     */
+    private String summaryDate;
+
+    /**
+     * 用户总数
+     */
+    private Integer userCount;
+
+    /**
+     * 总余额
+     */
+    private BigDecimal totalBalance;
+
+    /**
+     * 总充值
+     */
+    private BigDecimal totalRecharge;
+
+    /**
+     * 总消费
+     */
+    private BigDecimal totalCost;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/app/model/entity/Advertising.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 广告信息实体
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@TableName("c_advertising")
+@Getter
+@Setter
+public class Advertising extends BaseEntity {
+
+    /**
+     * 广告标题
+     */
+    private String title;
+
+    /**
+     * 广告图片
+     */
+    private String pic;
+
+    /**
+     * 跳转链接
+     */
+    private String url;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 状态:0禁用 1启用
+     */
+    private Long status;
+
+    /**
+     * 广告位置:1首页弹窗 2充电页弹窗
+     */
+    private Long position;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 58 - 0
src/main/java/com/zsElectric/boot/app/model/entity/BannerInfo.java

@@ -0,0 +1,58 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * Banner信息实体
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@TableName("c_banner_info")
+@Getter
+@Setter
+public class BannerInfo extends BaseEntity {
+
+    /**
+     * Banner标题
+     */
+    private String title;
+
+    /**
+     * Banner图片
+     */
+    private String pic;
+
+    /**
+     * 跳转链接
+     */
+    private String url;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 状态:0禁用 1启用
+     */
+    private Long status;
+
+    /**
+     * Banner类型:1首页 2充电页
+     */
+    private Long bannerType;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 115 - 0
src/main/java/com/zsElectric/boot/app/model/entity/ChargeDevice.java

@@ -0,0 +1,115 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 充电桩信息实体
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@TableName("c_charge_device")
+@Getter
+@Setter
+public class ChargeDevice extends BaseEntity {
+
+    /**
+     * 充电桩编码
+     */
+    private String deviceNo;
+
+    /**
+     * 所属充电站编号
+     */
+    private Long stationId;
+
+    /**
+     * 充电桩名称
+     */
+    private String deviceName;
+
+    /**
+     * 设备类型:1快充 2慢充
+     */
+    private Long deviceType;
+
+    /**
+     * 设备状态:0离网 1空闲 2占用(未充电)3占用(充电中)4占用(预约锁定)255故障
+     */
+    private Long deviceStatus;
+
+    /**
+     * 电类型:1直流设备 2交流设备 3交直流一体设备 4无线设备 5其他
+     */
+    private String eType;
+
+    /**
+     * 更新标识
+     */
+    private Long updateFlag;
+
+    /**
+     * 总功率(单位:KW)
+     */
+    private BigDecimal power;
+
+    /**
+     * 额定电压上限(单位:V)
+     */
+    private Long voltageUpperLimits;
+
+    /**
+     * 额定电压下限(单位:V)
+     */
+    private Long voltageLowerLimits;
+
+    /**
+     * 额定电流(单位:A)
+     */
+    private Long current;
+
+    /**
+     * 车位号
+     */
+    private String parkNo;
+
+    /**
+     * 国家标准:1:2011 2:2015
+     */
+    private String nationalStandard;
+
+    /**
+     * 第三方充电站ID
+     */
+    private String thirdPartyStationId;
+
+    /**
+     * 第三方充电站名称
+     */
+    private String thirdPartyStationName;
+
+    /**
+     * 提示窗状态:1开启 2关闭
+     */
+    private Long tipsStatus;
+
+    /**
+     * 提示内容
+     */
+    private String tipsContent;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 80 - 0
src/main/java/com/zsElectric/boot/app/model/entity/ChargeEverydayAmount.java

@@ -0,0 +1,80 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 充电每日对账金额实体
+ *
+ * @author boxun
+ * @since 2025-01-14
+ */
+@TableName("c_charge_everyday_amount")
+@Getter
+@Setter
+public class ChargeEverydayAmount extends BaseEntity {
+
+    /**
+     * 对账日期
+     */
+    private String accountDate;
+
+    /**
+     * 充电站ID
+     */
+    private Long stationId;
+
+    /**
+     * 充电站名称
+     */
+    private String stationName;
+
+    /**
+     * 订单总数
+     */
+    private Integer orderCount;
+
+    /**
+     * 充电总度数
+     */
+    private BigDecimal totalCharge;
+
+    /**
+     * 总消费金额
+     */
+    private BigDecimal totalCost;
+
+    /**
+     * 总服务费
+     */
+    private BigDecimal totalServiceFee;
+
+    /**
+     * 总电费
+     */
+    private BigDecimal totalElecFee;
+
+    /**
+     * 状态:0待对账 1已对账
+     */
+    private Long status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 235 - 0
src/main/java/com/zsElectric/boot/app/model/entity/ChargeOrderInfo.java

@@ -0,0 +1,235 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 充电订单信息实体
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@TableName("c_charge_order_info")
+@Getter
+@Setter
+public class ChargeOrderInfo extends BaseEntity {
+
+    /**
+     * 用户编号
+     */
+    private Long userId;
+
+    /**
+     * 订单类型:1个人订单 2集团订单
+     */
+    private Long orderType;
+
+    /**
+     * 集团订单所属当前集团编号
+     */
+    private Long ecId;
+
+    /**
+     * 企业ID
+     */
+    private Long firmId;
+
+    /**
+     * 充电桩编号
+     */
+    private Long deviceId;
+
+    /**
+     * 第三方支付订单号
+     */
+    private String paySsn;
+
+    /**
+     * 第三方充电订单号
+     */
+    private String chargeOrderNo;
+
+    /**
+     * 充电开始时间
+     */
+    private String startTime;
+
+    /**
+     * 充电结束时间
+     */
+    private String endTime;
+
+    /**
+     * 充电时间:秒
+     */
+    private Integer chargeTime;
+
+    /**
+     * 状态:0待启动 1充电中 2结算中 3已完成 5未成功充电
+     */
+    private Long status;
+
+    /**
+     * 第三方充电消费总额
+     */
+    private BigDecimal thirdPartyTotalCost;
+
+    /**
+     * 第三方充电服务费
+     */
+    private BigDecimal thirdPartyServerfee;
+
+    /**
+     * 第三方充电金额
+     */
+    private BigDecimal thirdPartyElecfee;
+
+    /**
+     * 实际充电度数(单位:0.001 kw/h)
+     */
+    private BigDecimal totalCharge;
+
+    /**
+     * 平台实际消费
+     */
+    private BigDecimal realCost;
+
+    /**
+     * 平台收取服务费
+     */
+    private BigDecimal realServiceCost;
+
+    /**
+     * 停止类型:1主动停止 2充满停止 3余额不足停止 4电桩按钮停止
+     */
+    private Long stopType;
+
+    /**
+     * 更新标识
+     */
+    private Long updateFlag;
+
+    /**
+     * 请求启动充电带的手机号
+     */
+    private String phoneNum;
+
+    /**
+     * 企业专享优惠价
+     */
+    private BigDecimal firmPrice;
+
+    /**
+     * 车牌号
+     */
+    private String plateNum;
+
+    /**
+     * 充电结束原因
+     */
+    private String stopReason;
+
+    /**
+     * 推送:充电明细信息
+     */
+    private String chargeDetails;
+
+    /**
+     * 第三方充电站ID
+     */
+    private String thirdPartyStationId;
+
+    /**
+     * 预充值金额
+     */
+    private BigDecimal preAmt;
+
+    /**
+     * 平台预扣服务费
+     */
+    private BigDecimal realPredictServiceCost;
+
+    /**
+     * 补缴金额
+     */
+    private BigDecimal maspAmount;
+
+    /**
+     * 平台补缴金额
+     */
+    private BigDecimal maspRealAmount;
+
+    /**
+     * 需要补缴的总金额
+     */
+    private BigDecimal totalMaspMoney;
+
+    /**
+     * 补缴状态:0无需补缴 1待补缴 2已补缴
+     */
+    private Long maspStatus;
+
+    /**
+     * 补缴时间
+     */
+    private String maspTime;
+
+    /**
+     * 优惠金额
+     */
+    private BigDecimal discountMoney;
+
+    /**
+     * 优惠券金额
+     */
+    private BigDecimal couponPrice;
+
+    /**
+     * 优惠券ID
+     */
+    private Long couponId;
+
+    /**
+     * 优惠描述
+     */
+    private String discountDes;
+
+    /**
+     * 优惠活动编号
+     */
+    private Long discountInfoId;
+
+    /**
+     * 按平台计费规则,实际第三方收取的服务费
+     */
+    private BigDecimal realThirdCost;
+
+    /**
+     * 变更后余额
+     */
+    private BigDecimal changeBalance;
+
+    /**
+     * 变更前余额
+     */
+    private BigDecimal beforeBalance;
+
+    /**
+     * 补缴类型
+     */
+    private Integer backType;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 220 - 0
src/main/java/com/zsElectric/boot/app/model/entity/ChargeStation.java

@@ -0,0 +1,220 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 充电站信息实体
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@TableName("c_charge_station")
+@Getter
+@Setter
+public class ChargeStation extends BaseEntity {
+
+    /**
+     * 充电站名称
+     */
+    private String name;
+
+    /**
+     * 充电站地址
+     */
+    private String addr;
+
+    /**
+     * 图片1
+     */
+    private String pic1;
+
+    /**
+     * 图片2
+     */
+    private String pic2;
+
+    /**
+     * 图片3
+     */
+    private String pic3;
+
+    /**
+     * 停车提示
+     */
+    private String parkTips;
+
+    /**
+     * 纬度
+     */
+    private String lat;
+
+    /**
+     * 经度
+     */
+    private String lng;
+
+    /**
+     * 服务费差价
+     */
+    private BigDecimal addServicePrice;
+
+    /**
+     * 更新标识
+     */
+    private Long updateFlag;
+
+    /**
+     * 运营商ID
+     */
+    private String operatorId;
+
+    /**
+     * 第三方充电站ID
+     */
+    private String stationId;
+
+    /**
+     * 设备所属方ID
+     */
+    private String equipmentOwnerId;
+
+    /**
+     * 充电站省市辖区编码
+     */
+    private String areaCode;
+
+    /**
+     * 站点电话
+     */
+    private String stationTel;
+
+    /**
+     * 服务电话
+     */
+    private String serviceTel;
+
+    /**
+     * 站点类型:1公共 50个人 100公交专用 101环卫专用 102物流专用 103出租车专用 255其他
+     */
+    private Long stationType;
+
+    /**
+     * 站点状态:0未知 1建设中 5关闭下线 6维护中 50正常使用
+     */
+    private Long stationStatus;
+
+    /**
+     * 车位总数量
+     */
+    private Long parkNums;
+
+    /**
+     * 充电桩引导描述
+     */
+    private String siteGuide;
+
+    /**
+     * 建设场地
+     */
+    private Long construction;
+
+    /**
+     * 站点图片
+     */
+    private String pictures;
+
+    /**
+     * 使用车型描述
+     */
+    private String matchCars;
+
+    /**
+     * 车位楼层及数量信息
+     */
+    private String parkInfo;
+
+    /**
+     * 营业时间描述
+     */
+    private String busineHours;
+
+    /**
+     * 停车场编码
+     */
+    private String parkelecid;
+
+    /**
+     * 停车场类型
+     */
+    private String parktype;
+
+    /**
+     * 终端总数
+     */
+    private Long equipmentnum;
+
+    /**
+     * 终端空闲总数
+     */
+    private Long balancenum;
+
+    /**
+     * 服务提供
+     */
+    private String serviceProvision;
+
+    /**
+     * 服务提供说明
+     */
+    private String serviceProvisionDetail;
+
+    /**
+     * 发票提供
+     */
+    private String invoiceProvided;
+
+    /**
+     * 营业执照
+     */
+    private String businessLicenceUrl;
+
+    /**
+     * 设备所属方名称
+     */
+    private String equipmentOwnerName;
+
+    /**
+     * 车位余数
+     */
+    private Long carseatleftno;
+
+    /**
+     * 是否显示/上架该站:0不显示/下架 1显示/上架
+     */
+    private Long showStatus;
+
+    /**
+     * 停车费
+     */
+    private BigDecimal parkfee;
+
+    /**
+     * 合约服务费
+     */
+    private BigDecimal contractServicePrice;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 85 - 0
src/main/java/com/zsElectric/boot/app/model/entity/Coupon.java

@@ -0,0 +1,85 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 优惠券实体
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@TableName("c_coupon")
+@Getter
+@Setter
+public class Coupon extends BaseEntity {
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 优惠券模板ID
+     */
+    private Long templateId;
+
+    /**
+     * 优惠券编号
+     */
+    private String couponNo;
+
+    /**
+     * 优惠券名称
+     */
+    private String couponName;
+
+    /**
+     * 优惠金额
+     */
+    private BigDecimal couponAmount;
+
+    /**
+     * 使用门槛
+     */
+    private BigDecimal thresholdAmount;
+
+    /**
+     * 开始时间
+     */
+    private String startTime;
+
+    /**
+     * 结束时间
+     */
+    private String endTime;
+
+    /**
+     * 状态:0未使用 1已使用 2已过期
+     */
+    private Long status;
+
+    /**
+     * 使用时间
+     */
+    private String useTime;
+
+    /**
+     * 使用订单ID
+     */
+    private Long orderId;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 80 - 0
src/main/java/com/zsElectric/boot/app/model/entity/CouponTemplate.java

@@ -0,0 +1,80 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 优惠券模板实体
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@TableName("c_coupon_template")
+@Getter
+@Setter
+public class CouponTemplate extends BaseEntity {
+
+    /**
+     * 模板名称
+     */
+    private String templateName;
+
+    /**
+     * 优惠券类型:1满减券 2折扣券
+     */
+    private Long couponType;
+
+    /**
+     * 优惠金额
+     */
+    private BigDecimal couponAmount;
+
+    /**
+     * 使用门槛
+     */
+    private BigDecimal thresholdAmount;
+
+    /**
+     * 有效天数
+     */
+    private Integer validDays;
+
+    /**
+     * 发放总数
+     */
+    private Integer totalCount;
+
+    /**
+     * 已发放数量
+     */
+    private Integer issuedCount;
+
+    /**
+     * 已使用数量
+     */
+    private Integer usedCount;
+
+    /**
+     * 状态:0禁用 1启用
+     */
+    private Long status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 55 - 0
src/main/java/com/zsElectric/boot/app/model/entity/EcAccount.java

@@ -0,0 +1,55 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 商家账户信息实体
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@TableName("c_ec_account")
+@Getter
+@Setter
+public class EcAccount extends BaseEntity {
+
+    /**
+     * 集团编号
+     */
+    private Long ecId;
+
+    /**
+     * 余额
+     */
+    private BigDecimal balance;
+
+    /**
+     * 累计充值
+     */
+    private BigDecimal total;
+
+    /**
+     * 累计消费
+     */
+    private BigDecimal cost;
+
+    /**
+     * 交易流水号
+     */
+    private String tradeCode;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 65 - 0
src/main/java/com/zsElectric/boot/app/model/entity/EcAccountLog.java

@@ -0,0 +1,65 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 商家账户变更记录实体
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@TableName("c_ec_account_log")
+@Getter
+@Setter
+public class EcAccountLog extends BaseEntity {
+
+    /**
+     * 集团编号
+     */
+    private Long ecId;
+
+    /**
+     * 变更金额
+     */
+    private BigDecimal changeBalance;
+
+    /**
+     * 变更前余额
+     */
+    private BigDecimal beforeBalance;
+
+    /**
+     * 变更后余额
+     */
+    private BigDecimal afterBalance;
+
+    /**
+     * 变更类型:1充值 2退款 3消费 4退回
+     */
+    private Long changeType;
+
+    /**
+     * 变更备注
+     */
+    private String changeNote;
+
+    /**
+     * 变更关联ID
+     */
+    private Long changeId;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 65 - 0
src/main/java/com/zsElectric/boot/app/model/entity/EcInfo.java

@@ -0,0 +1,65 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 集团信息实体
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@TableName("c_ec_info")
+@Getter
+@Setter
+public class EcInfo extends BaseEntity {
+
+    /**
+     * 集团名称
+     */
+    private String ecName;
+
+    /**
+     * 集团负责人编号(用于登录)
+     */
+    private Long userId;
+
+    /**
+     * 协议到期时间
+     */
+    private String ecEndTime;
+
+    /**
+     * 集团费率
+     */
+    private BigDecimal ecDiscount;
+
+    /**
+     * 商户状态 1 正常 2 过期
+     */
+    private Long ecStatus;
+
+    /**
+     * 企业代码
+     */
+    private String ecCode;
+
+    /**
+     * 更新标识
+     */
+    private Long updateFlag;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 65 - 0
src/main/java/com/zsElectric/boot/app/model/entity/EcUserAccount.java

@@ -0,0 +1,65 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 集团个人账户信息实体
+ *
+ * @author boxun
+ * @since 2024-07-30
+ */
+@TableName("c_ec_user_account")
+@Getter
+@Setter
+public class EcUserAccount extends BaseEntity {
+
+    /**
+     * 用户编号
+     */
+    private Long userId;
+
+    /**
+     * 集团编号
+     */
+    private Long ecId;
+
+    /**
+     * 余额
+     */
+    private BigDecimal balance;
+
+    /**
+     * 累计充值
+     */
+    private BigDecimal total;
+
+    /**
+     * 累计消费
+     */
+    private BigDecimal cost;
+
+    /**
+     * 交易流水号
+     */
+    private String tradeCode;
+
+    /**
+     * 欠款金额
+     */
+    private BigDecimal amountOwed;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 53 - 0
src/main/java/com/zsElectric/boot/app/model/entity/FirmInfo.java

@@ -0,0 +1,53 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * B端企业信息实体
+ *
+ * @author boxun
+ * @since 2025-03-03
+ */
+@TableName("c_firm_info")
+@Getter
+@Setter
+public class FirmInfo extends BaseEntity {
+
+    /**
+     * B端企业名称
+     */
+    private String name;
+
+    /**
+     * 状态 0 已下线 1 上线中
+     */
+    private Long status;
+
+    /**
+     * 企业编号
+     */
+    private String number;
+
+    /**
+     * 所属部门ID
+     */
+    private Long deptId;
+
+    /**
+     * 企业人数
+     */
+    private Integer userCount;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 65 - 0
src/main/java/com/zsElectric/boot/app/model/entity/FirmStationTimePrice.java

@@ -0,0 +1,65 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 企业专享价格表实体
+ *
+ * @author boxun
+ * @since 2025-03-05
+ */
+@TableName("c_firm_station_time_price")
+@Getter
+@Setter
+public class FirmStationTimePrice extends BaseEntity {
+
+    /**
+     * 企业ID
+     */
+    private Long firmId;
+
+    /**
+     * 充电站ID
+     */
+    private Long stationId;
+
+    /**
+     * 开始时间(HH:mm)
+     */
+    private String startTime;
+
+    /**
+     * 结束时间(HH:mm)
+     */
+    private String endTime;
+
+    /**
+     * 服务费单价
+     */
+    private BigDecimal servicePrice;
+
+    /**
+     * 电费单价
+     */
+    private BigDecimal elecPrice;
+
+    /**
+     * 状态:0禁用 1启用
+     */
+    private Long status;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 55 - 0
src/main/java/com/zsElectric/boot/app/model/entity/NewUserDiscount.java

@@ -0,0 +1,55 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 新用户优惠实体
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@TableName("c_new_user_discount")
+@Getter
+@Setter
+public class NewUserDiscount extends BaseEntity {
+
+    /**
+     * 优惠名称
+     */
+    private String discountName;
+
+    /**
+     * 优惠金额
+     */
+    private BigDecimal discountAmount;
+
+    /**
+     * 有效天数
+     */
+    private Integer validDays;
+
+    /**
+     * 状态:0禁用 1启用
+     */
+    private Long status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 55 - 0
src/main/java/com/zsElectric/boot/app/model/entity/RechargeLevel.java

@@ -0,0 +1,55 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 充值档位信息实体
+ *
+ * @author boxun
+ * @since 2024-07-31
+ */
+@TableName("c_recharge_level")
+@Getter
+@Setter
+public class RechargeLevel extends BaseEntity {
+
+    /**
+     * 档位名称
+     */
+    private String levelName;
+
+    /**
+     * 充值金额
+     */
+    private BigDecimal rechargeMoney;
+
+    /**
+     * 赠送金额
+     */
+    private BigDecimal giveMoney;
+
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+    /**
+     * 状态:0禁用 1启用
+     */
+    private Long status;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 60 - 0
src/main/java/com/zsElectric/boot/app/model/entity/StationTimePrice.java

@@ -0,0 +1,60 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * 充电站时间段单价实体
+ *
+ * @author boxun
+ * @since 2024-07-29
+ */
+@TableName("c_station_time_price")
+@Getter
+@Setter
+public class StationTimePrice extends BaseEntity {
+
+    /**
+     * 充电站ID
+     */
+    private Long stationId;
+
+    /**
+     * 开始时间(HH:mm)
+     */
+    private String startTime;
+
+    /**
+     * 结束时间(HH:mm)
+     */
+    private String endTime;
+
+    /**
+     * 服务费单价
+     */
+    private BigDecimal servicePrice;
+
+    /**
+     * 电费单价
+     */
+    private BigDecimal elecPrice;
+
+    /**
+     * 状态:0禁用 1启用
+     */
+    private Long status;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

+ 63 - 0
src/main/java/com/zsElectric/boot/app/model/entity/ThirdPartyInfo.java

@@ -0,0 +1,63 @@
+package com.zsElectric.boot.app.model.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.zsElectric.boot.common.base.BaseEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 第三方信息实体
+ *
+ * @author boxun
+ * @since 2024-08-01
+ */
+@TableName("c_third_party_info")
+@Getter
+@Setter
+public class ThirdPartyInfo extends BaseEntity {
+
+    /**
+     * 第三方名称
+     */
+    private String partyName;
+
+    /**
+     * 第三方编码
+     */
+    private String partyCode;
+
+    /**
+     * 运营商ID
+     */
+    private String operatorId;
+
+    /**
+     * 运营商密钥
+     */
+    private String operatorSecret;
+
+    /**
+     * API地址
+     */
+    private String apiUrl;
+
+    /**
+     * 状态:0禁用 1启用
+     */
+    private Long status;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建人ID
+     */
+    private Long createBy;
+
+    /**
+     * 更新人ID
+     */
+    private Long updateBy;
+}

Some files were not shown because too many files changed in this diff