Преглед изворни кода

商户退款的时候将pt每日账单加上退款

Yangzw пре 8 месеци
родитељ
комит
b72428c0a1
13 измењених фајлова са 523 додато и 3 уклоњено
  1. 1 0
      feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/ErrorCodeConstants.java
  2. 93 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptdailybill/PtDailyBillController.java
  3. 53 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptdailybill/vo/PtDailyBillPageReqVO.java
  4. 64 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptdailybill/vo/PtDailyBillRespVO.java
  5. 53 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptdailybill/vo/PtDailyBillSaveReqVO.java
  6. 68 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ptdailybill/PtDailyBillDO.java
  7. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/integral/IntegralMapper.java
  8. 34 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/ptdailybill/PtDailyBillMapper.java
  9. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralServiceImpl.java
  10. 63 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptdailybill/PtDailyBillService.java
  11. 77 0
      feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptdailybill/PtDailyBillServiceImpl.java
  12. 1 1
      feifan-module-distri/feifan-module-distri-biz/src/main/resources/mapper/integral/IntegralMapper.xml
  13. 14 0
      feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/aftersale/AfterSaleServiceImpl.java

+ 1 - 0
feifan-module-distri/feifan-module-distri-api/src/main/java/cn/newfeifan/mall/module/distri/enums/ErrorCodeConstants.java

@@ -28,5 +28,6 @@ public interface ErrorCodeConstants {
     ErrorCode SHOP_SETTLEMENT_NOT_EXISTS = new ErrorCode(1_003_031_004, "该结算单记录不存在");
     ErrorCode PT_SETTLEMENT_NOT_EXISTS = new ErrorCode(1_003_031_005, "平台结算记录不存在");
     ErrorCode ORDER_SETTLEMENT_NOT_EXISTS = new ErrorCode(1_003_031_005, "该结算订单二级表记录不存在");
+    ErrorCode PT_DAILY_BILL_NOT_EXISTS = new ErrorCode(1_003_031_006, "平台每日账单不存在");
 
 }

+ 93 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptdailybill/PtDailyBillController.java

@@ -0,0 +1,93 @@
+package cn.newfeifan.mall.module.distri.controller.admin.ptdailybill;
+
+import cn.newfeifan.mall.framework.common.pojo.CommonResult;
+import cn.newfeifan.mall.framework.common.pojo.PageParam;
+import cn.newfeifan.mall.framework.common.pojo.PageResult;
+import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
+import cn.newfeifan.mall.framework.excel.core.util.ExcelUtils;
+import cn.newfeifan.mall.framework.operatelog.core.annotations.OperateLog;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.PtDailyBillPageReqVO;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.PtDailyBillRespVO;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.PtDailyBillSaveReqVO;
+import cn.newfeifan.mall.module.distri.dal.dataobject.ptdailybill.PtDailyBillDO;
+import cn.newfeifan.mall.module.distri.service.ptdailybill.PtDailyBillService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.io.IOException;
+import java.util.List;
+
+import static cn.newfeifan.mall.framework.common.pojo.CommonResult.success;
+import static cn.newfeifan.mall.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
+
+@Tag(name = "管理后台 - 平台每日账单统计")
+@RestController
+@RequestMapping("/distri/pt-daily-bill")
+@Validated
+public class PtDailyBillController {
+
+    @Resource
+    private PtDailyBillService ptDailyBillService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建平台每日账单统计")
+    @PreAuthorize("@ss.hasPermission('distri:pt-daily-bill:create')")
+    public CommonResult<Long> createPtDailyBill(@Valid @RequestBody PtDailyBillSaveReqVO createReqVO) {
+        return success(ptDailyBillService.createPtDailyBill(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新平台每日账单统计")
+    @PreAuthorize("@ss.hasPermission('distri:pt-daily-bill:update')")
+    public CommonResult<Boolean> updatePtDailyBill(@Valid @RequestBody PtDailyBillSaveReqVO updateReqVO) {
+        ptDailyBillService.updatePtDailyBill(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除平台每日账单统计")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('distri:pt-daily-bill:delete')")
+    public CommonResult<Boolean> deletePtDailyBill(@RequestParam("id") Long id) {
+        ptDailyBillService.deletePtDailyBill(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得平台每日账单统计")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('distri:pt-daily-bill:query')")
+    public CommonResult<PtDailyBillRespVO> getPtDailyBill(@RequestParam("id") Long id) {
+        PtDailyBillDO ptDailyBill = ptDailyBillService.getPtDailyBill(id);
+        return success(BeanUtils.toBean(ptDailyBill, PtDailyBillRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得平台每日账单统计分页")
+    @PreAuthorize("@ss.hasPermission('distri:pt-daily-bill:query')")
+    public CommonResult<PageResult<PtDailyBillRespVO>> getPtDailyBillPage(@Valid PtDailyBillPageReqVO pageReqVO) {
+        PageResult<PtDailyBillDO> pageResult = ptDailyBillService.getPtDailyBillPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, PtDailyBillRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出平台每日账单统计 Excel")
+    @PreAuthorize("@ss.hasPermission('distri:pt-daily-bill:export')")
+    @OperateLog(type = EXPORT)
+    public void exportPtDailyBillExcel(@Valid PtDailyBillPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<PtDailyBillDO> list = ptDailyBillService.getPtDailyBillPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "平台每日账单统计.xls", "数据", PtDailyBillRespVO.class,
+                        BeanUtils.toBean(list, PtDailyBillRespVO.class));
+    }
+
+}

+ 53 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptdailybill/vo/PtDailyBillPageReqVO.java

@@ -0,0 +1,53 @@
+package cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo;
+
+import cn.newfeifan.mall.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+import static cn.newfeifan.mall.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 平台每日账单统计分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class PtDailyBillPageReqVO extends PageParam {
+
+    @Schema(description = "金额,单位:分", example = "24178")
+    private Long price;
+
+    @Schema(description = "确收金额,单位:分", example = "4933")
+    private Long receivedPrice;
+
+    @Schema(description = "订单数,默认为0", example = "24153")
+    private Long orderCount;
+
+    @Schema(description = "退款金额, 单位: 分", example = "25468")
+    private Long refundPrice;
+
+    @Schema(description = "积分")
+    private Long integral;
+
+    @Schema(description = "确收积分")
+    private Long receivedIntegral;
+
+    @Schema(description = "退款积分")
+    private Long refundIntegral;
+
+    @Schema(description = "订单所属日期")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDate[] orderCalcTime;
+
+    @Schema(description = "订单ID列表,文本类型")
+    private String orderIds;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 64 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptdailybill/vo/PtDailyBillRespVO.java

@@ -0,0 +1,64 @@
+package cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 平台每日账单统计 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class PtDailyBillRespVO {
+
+    @Schema(description = "账单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4121")
+    @ExcelProperty("账单编号")
+    private Long id;
+
+    @Schema(description = "金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "24178")
+    @ExcelProperty("金额,单位:分")
+    private Long price;
+
+    @Schema(description = "确收金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "4933")
+    @ExcelProperty("确收金额,单位:分")
+    private Long receivedPrice;
+
+    @Schema(description = "订单数,默认为0", requiredMode = Schema.RequiredMode.REQUIRED, example = "24153")
+    @ExcelProperty("订单数,默认为0")
+    private Long orderCount;
+
+    @Schema(description = "退款金额, 单位: 分", requiredMode = Schema.RequiredMode.REQUIRED, example = "25468")
+    @ExcelProperty("退款金额, 单位: 分")
+    private Long refundPrice;
+
+    @Schema(description = "积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("积分")
+    private Long integral;
+
+    @Schema(description = "确收积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("确收积分")
+    private Long receivedIntegral;
+
+    @Schema(description = "退款积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("退款积分")
+    private Long refundIntegral;
+
+    @Schema(description = "订单所属日期", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("订单所属日期")
+    private LocalDate orderCalcTime;
+
+    @Schema(description = "订单ID列表,文本类型", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("订单ID列表,文本类型")
+    private String orderIds;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    public String getOrderCalcTime() {
+        return orderCalcTime.toString();
+    }
+
+}

+ 53 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/controller/admin/ptdailybill/vo/PtDailyBillSaveReqVO.java

@@ -0,0 +1,53 @@
+package cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
+
+@Schema(description = "管理后台 - 平台每日账单统计新增/修改 Request VO")
+@Data
+public class PtDailyBillSaveReqVO {
+
+    @Schema(description = "账单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4121")
+    private Long id;
+
+    @Schema(description = "金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "24178")
+    @NotNull(message = "金额,单位:分不能为空")
+    private Long price;
+
+    @Schema(description = "确收金额,单位:分", requiredMode = Schema.RequiredMode.REQUIRED, example = "4933")
+    @NotNull(message = "确收金额,单位:分不能为空")
+    private Long receivedPrice;
+
+    @Schema(description = "订单数,默认为0", requiredMode = Schema.RequiredMode.REQUIRED, example = "24153")
+    @NotNull(message = "订单数,默认为0不能为空")
+    private Long orderCount;
+
+    @Schema(description = "退款金额, 单位: 分", requiredMode = Schema.RequiredMode.REQUIRED, example = "25468")
+    @NotNull(message = "退款金额, 单位: 分不能为空")
+    private Long refundPrice;
+
+    @Schema(description = "积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "积分不能为空")
+    private Long integral;
+
+    @Schema(description = "确收积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "确收积分不能为空")
+    private Long receivedIntegral;
+
+    @Schema(description = "退款积分", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "退款积分不能为空")
+    private Long refundIntegral;
+
+    @Schema(description = "订单所属日期", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "订单所属日期不能为空")
+    private LocalDate orderCalcTime;
+
+    @Schema(description = "订单ID列表,文本类型", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "订单ID列表,文本类型不能为空")
+    private String orderIds;
+
+}

+ 68 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/dataobject/ptdailybill/PtDailyBillDO.java

@@ -0,0 +1,68 @@
+package cn.newfeifan.mall.module.distri.dal.dataobject.ptdailybill;
+
+import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+import java.time.LocalDate;
+
+/**
+ * 平台每日账单统计 DO
+ *
+ * @author 非繁人
+ */
+@TableName("distri_pt_daily_bill")
+@KeySequence("distri_pt_daily_bill_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PtDailyBillDO extends BaseDO {
+
+    /**
+     * 账单编号
+     */
+    @TableId
+    private Long id;
+    /**
+     * 金额,单位:分
+     */
+    private Long price;
+    /**
+     * 确收金额,单位:分
+     */
+    private Long receivedPrice;
+    /**
+     * 订单数,默认为0
+     */
+    private Long orderCount;
+    /**
+     * 退款金额, 单位: 分
+     */
+    private Long refundPrice;
+    /**
+     * 积分
+     */
+    private Long integral;
+    /**
+     * 确收积分
+     */
+    private Long receivedIntegral;
+    /**
+     * 退款积分
+     */
+    private Long refundIntegral;
+    /**
+     * 订单所属日期
+     */
+    private LocalDate orderCalcTime;
+    /**
+     * 订单ID列表,文本类型
+     */
+    private String orderIds;
+
+}

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/integral/IntegralMapper.java → feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/integral/IntegralMapper.java

@@ -1,4 +1,4 @@
-package cn.newfeifan.mall.module.distri.dal.integral;
+package cn.newfeifan.mall.module.distri.dal.mysql.integral;
 
 import cn.newfeifan.mall.framework.mybatis.core.mapper.BaseMapperX;
 import cn.newfeifan.mall.module.distri.dal.dataobject.integral.IntegralDO;

+ 34 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/dal/mysql/ptdailybill/PtDailyBillMapper.java

@@ -0,0 +1,34 @@
+package cn.newfeifan.mall.module.distri.dal.mysql.ptdailybill;
+
+
+import cn.newfeifan.mall.framework.common.pojo.PageResult;
+import cn.newfeifan.mall.framework.mybatis.core.mapper.BaseMapperX;
+import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.*;
+import cn.newfeifan.mall.module.distri.dal.dataobject.ptdailybill.PtDailyBillDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 平台每日账单统计 Mapper
+ *
+ * @author 非繁人
+ */
+@Mapper
+public interface PtDailyBillMapper extends BaseMapperX<PtDailyBillDO> {
+
+    default PageResult<PtDailyBillDO> selectPage(PtDailyBillPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<PtDailyBillDO>()
+                .eqIfPresent(PtDailyBillDO::getPrice, reqVO.getPrice())
+                .eqIfPresent(PtDailyBillDO::getReceivedPrice, reqVO.getReceivedPrice())
+                .eqIfPresent(PtDailyBillDO::getOrderCount, reqVO.getOrderCount())
+                .eqIfPresent(PtDailyBillDO::getRefundPrice, reqVO.getRefundPrice())
+                .eqIfPresent(PtDailyBillDO::getIntegral, reqVO.getIntegral())
+                .eqIfPresent(PtDailyBillDO::getReceivedIntegral, reqVO.getReceivedIntegral())
+                .eqIfPresent(PtDailyBillDO::getRefundIntegral, reqVO.getRefundIntegral())
+                .betweenIfPresent(PtDailyBillDO::getOrderCalcTime, reqVO.getOrderCalcTime())
+                .eqIfPresent(PtDailyBillDO::getOrderIds, reqVO.getOrderIds())
+                .betweenIfPresent(PtDailyBillDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(PtDailyBillDO::getId));
+    }
+
+}

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/integral/IntegralServiceImpl.java

@@ -2,7 +2,7 @@ package cn.newfeifan.mall.module.distri.service.integral;
 
 import cn.newfeifan.mall.module.distri.controller.admin.ptprofitlog.vo.PtProfitLogSaveReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.integral.IntegralDO;
-import cn.newfeifan.mall.module.distri.dal.integral.IntegralMapper;
+import cn.newfeifan.mall.module.distri.dal.mysql.integral.IntegralMapper;
 import cn.newfeifan.mall.module.distri.dal.mysql.ptprofit.PtProfitMapper;
 import cn.newfeifan.mall.module.distri.enums.CaclEnum;
 import cn.newfeifan.mall.module.distri.service.ptprofitlog.PtProfitLogService;

+ 63 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptdailybill/PtDailyBillService.java

@@ -0,0 +1,63 @@
+package cn.newfeifan.mall.module.distri.service.ptdailybill;
+
+import cn.newfeifan.mall.framework.common.pojo.PageResult;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.PtDailyBillPageReqVO;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.PtDailyBillSaveReqVO;
+import cn.newfeifan.mall.module.distri.dal.dataobject.ptdailybill.PtDailyBillDO;
+
+import javax.validation.Valid;
+import java.time.LocalDate;
+
+/**
+ * 平台每日账单统计 Service 接口
+ *
+ * @author 非繁人
+ */
+public interface PtDailyBillService {
+
+    /**
+     * 创建平台每日账单统计
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createPtDailyBill(@Valid PtDailyBillSaveReqVO createReqVO);
+
+    /**
+     * 更新平台每日账单统计
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updatePtDailyBill(@Valid PtDailyBillSaveReqVO updateReqVO);
+
+    /**
+     * 删除平台每日账单统计
+     *
+     * @param id 编号
+     */
+    void deletePtDailyBill(Long id);
+
+    /**
+     * 获得平台每日账单统计
+     *
+     * @param id 编号
+     * @return 平台每日账单统计
+     */
+    PtDailyBillDO getPtDailyBill(Long id);
+
+    /**
+     * 获得平台每日账单统计分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 平台每日账单统计分页
+     */
+    PageResult<PtDailyBillDO> getPtDailyBillPage(PtDailyBillPageReqVO pageReqVO);
+
+    /**
+     * 获得平台每日账单统计
+     *
+     * @param localDate 日期
+     * @return 平台每日账单统计
+     */
+    PtDailyBillDO getPtDailyBill(LocalDate localDate);
+}

+ 77 - 0
feifan-module-distri/feifan-module-distri-biz/src/main/java/cn/newfeifan/mall/module/distri/service/ptdailybill/PtDailyBillServiceImpl.java

@@ -0,0 +1,77 @@
+package cn.newfeifan.mall.module.distri.service.ptdailybill;
+
+import cn.newfeifan.mall.framework.common.pojo.PageResult;
+import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.PtDailyBillPageReqVO;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.PtDailyBillSaveReqVO;
+import cn.newfeifan.mall.module.distri.dal.dataobject.ptdailybill.PtDailyBillDO;
+import cn.newfeifan.mall.module.distri.dal.mysql.ptdailybill.PtDailyBillMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+import java.time.LocalDate;
+
+import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.newfeifan.mall.module.distri.enums.ErrorCodeConstants.PT_DAILY_BILL_NOT_EXISTS;
+
+/**
+ * 平台每日账单统计 Service 实现类
+ *
+ * @author 非繁人
+ */
+@Service
+@Validated
+public class PtDailyBillServiceImpl implements PtDailyBillService {
+
+    @Resource
+    private PtDailyBillMapper ptDailyBillMapper;
+
+    @Override
+    public Long createPtDailyBill(PtDailyBillSaveReqVO createReqVO) {
+        // 插入
+        PtDailyBillDO ptDailyBill = BeanUtils.toBean(createReqVO, PtDailyBillDO.class);
+        ptDailyBillMapper.insert(ptDailyBill);
+        // 返回
+        return ptDailyBill.getId();
+    }
+
+    @Override
+    public void updatePtDailyBill(PtDailyBillSaveReqVO updateReqVO) {
+        // 校验存在
+        validatePtDailyBillExists(updateReqVO.getId());
+        // 更新
+        PtDailyBillDO updateObj = BeanUtils.toBean(updateReqVO, PtDailyBillDO.class);
+        ptDailyBillMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deletePtDailyBill(Long id) {
+        // 校验存在
+        validatePtDailyBillExists(id);
+        // 删除
+        ptDailyBillMapper.deleteById(id);
+    }
+
+    private void validatePtDailyBillExists(Long id) {
+        if (ptDailyBillMapper.selectById(id) == null) {
+            throw exception(PT_DAILY_BILL_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public PtDailyBillDO getPtDailyBill(Long id) {
+        return ptDailyBillMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<PtDailyBillDO> getPtDailyBillPage(PtDailyBillPageReqVO pageReqVO) {
+        return ptDailyBillMapper.selectPage(pageReqVO);
+    }
+
+    @Override
+    public PtDailyBillDO getPtDailyBill(LocalDate localDate) {
+        return ptDailyBillMapper.selectOne(PtDailyBillDO::getOrderCalcTime,localDate);
+    }
+
+}

+ 1 - 1
feifan-module-distri/feifan-module-distri-biz/src/main/resources/mapper/integral/IntegralMapper.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="cn.newfeifan.mall.module.distri.dal.integral.IntegralMapper">
+<mapper namespace="cn.newfeifan.mall.module.distri.dal.mysql.integral.IntegralMapper">
 
     <!--
         一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。

+ 14 - 0
feifan-module-mall/feifan-module-trade-biz/src/main/java/cn/newfeifan/mall/module/trade/service/aftersale/AfterSaleServiceImpl.java

@@ -9,10 +9,13 @@ import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
 import cn.newfeifan.mall.framework.common.util.object.ObjectUtils;
 import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.newfeifan.mall.module.distri.controller.admin.dailybill.vo.DailyBillSaveReqVO;
+import cn.newfeifan.mall.module.distri.controller.admin.ptdailybill.vo.PtDailyBillSaveReqVO;
 import cn.newfeifan.mall.module.distri.dal.dataobject.dailybill.DailyBillDO;
+import cn.newfeifan.mall.module.distri.dal.dataobject.ptdailybill.PtDailyBillDO;
 import cn.newfeifan.mall.module.distri.enums.CaclEnum;
 import cn.newfeifan.mall.module.distri.service.dailybill.DailyBillService;
 import cn.newfeifan.mall.module.distri.service.integral.IntegralService;
+import cn.newfeifan.mall.module.distri.service.ptdailybill.PtDailyBillService;
 import cn.newfeifan.mall.module.pay.api.refund.PayRefundApi;
 import cn.newfeifan.mall.module.pay.api.refund.dto.PayRefundCreateReqDTO;
 import cn.newfeifan.mall.module.system.controller.admin.user.vo.user.UserShopDetailsVO;
@@ -110,6 +113,9 @@ public class AfterSaleServiceImpl implements AfterSaleService {
     @Resource
     private DailyBillService dailyBillService;
 
+    @Resource
+    private PtDailyBillService ptDailyBillService;
+
 
     @Override
     public PageResult<AfterSaleDO> getAfterSalePage(AfterSalePageReqVO pageReqVO) {
@@ -411,6 +417,7 @@ public class AfterSaleServiceImpl implements AfterSaleService {
 
         //查询该订单是否有对应的日结单
         DailyBillDO dailyBill = dailyBillService.getDailyBill(afterSale.getMerchantId(), afterSale.getShopId(), tradeOrderDO.getCreateTime().toLocalDate());
+        PtDailyBillDO ptDailyBill = ptDailyBillService.getPtDailyBill(tradeOrderDO.getCreateTime().toLocalDate());
 
         //记录退还积分
         if(payIntegral>0) {
@@ -433,6 +440,9 @@ public class AfterSaleServiceImpl implements AfterSaleService {
                 //有就追加退回积分
                 dailyBill.setRefundIntegral(dailyBill.getRefundIntegral()+payIntegral);
                 dailyBill.setReceivedIntegral(dailyBill.getReceivedIntegral()-payIntegral);
+
+                ptDailyBill.setRefundIntegral(ptDailyBill.getRefundIntegral()+payIntegral);
+                ptDailyBill.setReceivedIntegral(ptDailyBill.getReceivedIntegral()-payIntegral);
             }
         }
 
@@ -441,6 +451,10 @@ public class AfterSaleServiceImpl implements AfterSaleService {
             dailyBill.setRefundPrice(dailyBill.getRefundPrice()+afterSale.getRefundPrice());
             dailyBill.setReceivedPrice(dailyBill.getReceivedPrice()-afterSale.getRefundPrice());
             dailyBillService.updateDailyBill(BeanUtils.toBean(dailyBill,DailyBillSaveReqVO.class));
+
+            ptDailyBill.setRefundPrice(ptDailyBill.getRefundPrice()+afterSale.getRefundPrice());
+            ptDailyBill.setReceivedPrice(ptDailyBill.getReceivedPrice()-afterSale.getRefundPrice());
+            ptDailyBillService.updatePtDailyBill(BeanUtils.toBean(ptDailyBill, PtDailyBillSaveReqVO.class));
         }
 
         //2. 减少退货物品对应的冻结积分