Explorar el Código

完成店铺定时结算

lubo hace 4 meses
padre
commit
5938da67f8
Se han modificado 21 ficheros con 1156 adiciones y 3 borrados
  1. 11 0
      ruoyi-admin/src/main/java/com/ruoyi/schedule/BusinessSchedule.java
  2. 5 0
      ruoyi-admin/src/main/resources/application.yml
  3. 118 0
      ruoyi-api/src/main/java/com/ruoyi/api/controller/shop/ApiBusinessDayBillController.java
  4. 9 1
      ruoyi-line/src/main/java/com/ruoyi/onlineorder/OnLineOrderProperties.java
  5. 2 0
      ruoyi-business/src/main/java/com/ruoyi/business/mapper/BusinessMapper.java
  6. 2 0
      ruoyi-business/src/main/java/com/ruoyi/business/service/IBusinessService.java
  7. 3 0
      ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BusinessApplyServiceImpl.java
  8. 13 0
      ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BusinessServiceImpl.java
  9. 117 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/controller/BusinessDayBillController.java
  10. 73 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/domain/BusinessDayBill.java
  11. 106 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/domain/bo/BusinessDayBillBo.java
  12. 33 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/domain/bo/BusinessDayBillChangeBo.java
  13. 108 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/domain/vo/BusinessDayBillVo.java
  14. 56 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/enums/BusinessDayBillChangeType.java
  15. 53 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/exception/BusinessDayBillExceptionEnum.java
  16. 15 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/mapper/BusinessDayBillMapper.java
  17. 127 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/service/IBusinessDayBillService.java
  18. 277 0
      ruoyi-business/src/main/java/com/ruoyi/businessDayBill/service/impl/BusinessDayBillServiceImpl.java
  19. 5 0
      ruoyi-business/src/main/resources/mapper/business/BusinessMapper.xml
  20. 22 0
      ruoyi-business/src/main/resources/mapper/businessDayBill/BusinessDayBillMapper.xml
  21. 1 2
      ruoyi-line/src/main/java/com/ruoyi/onlineorder/service/impl/OnlineOrderServiceImpl.java

+ 11 - 0
ruoyi-admin/src/main/java/com/ruoyi/schedule/BusinessSchedule.java

@@ -2,6 +2,7 @@ package com.ruoyi.schedule;
 
 import com.ruoyi.business.domain.Business;
 import com.ruoyi.business.service.IBusinessService;
+import com.ruoyi.businessDayBill.service.IBusinessDayBillService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Configuration;
@@ -10,6 +11,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
 
 @Component
@@ -21,6 +23,7 @@ import java.util.List;
 public class BusinessSchedule {
 
     private final IBusinessService businessService;
+    private final IBusinessDayBillService businessDayBillService;
 
     // 每晚一点钏执行一次 店铺过期
     @Scheduled(cron = "${task1h}")
@@ -36,4 +39,12 @@ public class BusinessSchedule {
             }
         });
     }
+
+    /**
+     * 每晚0点过5分开始执行一次结算
+     */
+    @Scheduled(cron = "${task0h5}")
+    public void settlementDayBill() {
+        businessDayBillService.settlementDayBill(new Date());
+    }
 }

+ 5 - 0
ruoyi-admin/src/main/resources/application.yml

@@ -401,7 +401,12 @@ task1h: 0 0 1 * * ?
 #每天0点 30秒
 task0h30: 0 30 0 * * ?
 
+#每天0点 5秒
+task0h5: 0 5 0 * * ?
+
 online-order:
   payExpireMinute: 30
   endOrderDay: 7
+  settlementExpenseRatio: 0.994
+
 

+ 118 - 0
ruoyi-api/src/main/java/com/ruoyi/api/controller/shop/ApiBusinessDayBillController.java

@@ -0,0 +1,118 @@
+package com.ruoyi.api.controller.shop;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.ruoyi.api.controller.common.AbstractApiController;
+import com.ruoyi.businessDayBill.domain.bo.BusinessDayBillBo;
+import com.ruoyi.businessDayBill.domain.vo.BusinessDayBillVo;
+import com.ruoyi.businessDayBill.service.IBusinessDayBillService;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.validate.QueryGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 商家日账单Controller
+ *
+ * @author lubo
+ * @date 2025-11-28
+ */
+@Validated
+@Api(value = "商家日账单控制器", tags = {"商家日账单管理"})
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/api/businessDayBill/businessDayBill")
+public class ApiBusinessDayBillController extends AbstractApiController {
+
+    private final IBusinessDayBillService iBusinessDayBillService;
+
+    /**
+     * 分页查询商家日账单列表
+     */
+    @ApiOperation("查询商家日账单列表")
+    @SaCheckPermission("businessDayBill:businessDayBill:list")
+    @GetMapping("/page")
+    public TableDataInfo<BusinessDayBillVo> page(@Validated(QueryGroup.class) BusinessDayBillBo bo, PageQuery pageQuery) {
+        return iBusinessDayBillService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 获取商家日账单详细信息
+     */
+    @ApiOperation("获取商家日账单详细信息")
+    @SaCheckPermission("businessDayBill:businessDayBill:query")
+    @GetMapping("/info/{dayBillId}")
+    public R<BusinessDayBillVo> getInfo(@ApiParam("主键")
+                                                  @NotNull(message = "主键不能为空")
+                                                  @PathVariable("dayBillId") Long dayBillId) {
+        return R.ok(iBusinessDayBillService.queryById(dayBillId));
+    }
+
+    /**
+     * 新增商家日账单
+     */
+    @ApiOperation("新增商家日账单")
+    @SaCheckPermission("businessDayBill:businessDayBill:add")
+    @Log(title = "商家日账单", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping("/add")
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody BusinessDayBillBo bo) {
+        return toAjax(iBusinessDayBillService.insertByBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改商家日账单
+     */
+    @ApiOperation("修改商家日账单")
+    @SaCheckPermission("businessDayBill:businessDayBill:edit")
+    @Log(title = "商家日账单", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/edit")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusinessDayBillBo bo) {
+        return toAjax(iBusinessDayBillService.updateByBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除商家日账单
+     */
+    @ApiOperation("删除商家日账单")
+    @SaCheckPermission("businessDayBill:businessDayBill:remove")
+    @Log(title = "商家日账单", businessType = BusinessType.DELETE)
+    @PostMapping("/del/{dayBillIds}")
+    public R<Void> remove(@ApiParam("主键串")
+                                       @NotEmpty(message = "主键不能为空")
+                                       @PathVariable Long[] dayBillIds) {
+        return toAjax(iBusinessDayBillService.deleteWithValidByIds(Arrays.asList(dayBillIds), true) ? 1 : 0);
+    }
+
+    /**
+     * 导出商家日账单列表
+     */
+    @ApiOperation("导出商家日账单列表")
+    @SaCheckPermission("businessDayBill:businessDayBill:export")
+    @Log(title = "商家日账单", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(@Validated BusinessDayBillBo bo, HttpServletResponse response) {
+        List<BusinessDayBillVo> list = iBusinessDayBillService.queryList(bo);
+        ExcelUtil.exportExcel(list, "商家日账单", BusinessDayBillVo.class, response);
+    }
+
+}

+ 9 - 1
ruoyi-line/src/main/java/com/ruoyi/onlineorder/OnLineOrderProperties.java

@@ -1,9 +1,11 @@
-package com.ruoyi.onlineorder;
+package com.ruoyi.business.domain;
 
 import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 
+import java.math.BigDecimal;
+
 @Data
 @Component
 @ConfigurationProperties(prefix = "online-order")
@@ -18,4 +20,10 @@ public class OnLineOrderProperties {
      * 订单封单时间
      */
     private  Integer endOrderDay;
+
+
+    /**
+     * 结算费用比例
+     */
+    private BigDecimal settlementExpenseRatio;
 }

+ 2 - 0
ruoyi-business/src/main/java/com/ruoyi/business/mapper/BusinessMapper.java

@@ -17,4 +17,6 @@ import java.util.List;
 public interface BusinessMapper extends BaseMapperPlus<BusinessMapper, Business, BusinessVo> {
 
     List<BusinessCountByAreaCodeVo> countOfAreaCodeBy(@Param("cityCode")String parentCode);
+
+    List<Long> loadNoCloseBusinessIds();
 }

+ 2 - 0
ruoyi-business/src/main/java/com/ruoyi/business/service/IBusinessService.java

@@ -143,4 +143,6 @@ public interface IBusinessService {
     Boolean renew(BusinessBo bo);
 
     TableDataInfo<BusinessVo> partnerPage(BusinessBo bo, PageQuery pageQuery);
+
+    List<Long> loadNoCloseBusinessIds();
 }

+ 3 - 0
ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BusinessApplyServiceImpl.java

@@ -21,6 +21,7 @@ import com.ruoyi.business.exception.BusinessApplyExceptionEnum;
 import com.ruoyi.business.mapper.BusinessApplyMapper;
 import com.ruoyi.business.service.IBusinessApplyService;
 import com.ruoyi.business.service.IBusinessService;
+import com.ruoyi.businessDayBill.service.IBusinessDayBillService;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.AuditStatus;
@@ -61,6 +62,8 @@ public class BusinessApplyServiceImpl implements IBusinessApplyService {
     @Resource
     private IAgentAccountCodeService agentAccountCodeService;
 
+
+
     /**
      * 查询商家申请分页
      *

+ 13 - 0
ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BusinessServiceImpl.java

@@ -33,6 +33,7 @@ import com.ruoyi.business.mapper.BusinessMapper;
 import com.ruoyi.business.service.IBusinessBalanceRecordService;
 import com.ruoyi.business.service.IBusinessService;
 import com.ruoyi.business.service.IBusinessVerifierService;
+import com.ruoyi.businessDayBill.service.IBusinessDayBillService;
 import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.domain.entity.SysDept;
 import com.ruoyi.common.core.page.TableDataInfo;
@@ -82,6 +83,10 @@ public class BusinessServiceImpl implements IBusinessService {
     @Resource
     private IAgentService agentService;
 
+    @Lazy
+    @Resource
+    private IBusinessDayBillService businessDayBillService;
+
     /**
      * 查询商家分页
      *
@@ -261,6 +266,9 @@ public class BusinessServiceImpl implements IBusinessService {
             verifierBo.setBusinessId(bo.getBusinessId());
             verifierBo.setUserId(bo.getRelationUserId());
             businessVerifierService.insertByBo(verifierBo);
+            // 初始化日账单
+            businessDayBillService.initBusinessDayBill(add.getBusinessId(),new Date());
+
         }
 
         return flag;
@@ -640,4 +648,9 @@ public class BusinessServiceImpl implements IBusinessService {
         return TableDataInfo.build(result);
     }
 
+    @Override
+    public List<Long> loadNoCloseBusinessIds() {
+        return this.baseMapper.loadNoCloseBusinessIds();
+    }
+
 }

+ 117 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/controller/BusinessDayBillController.java

@@ -0,0 +1,117 @@
+package com.ruoyi.businessDayBill.controller;
+
+import java.util.List;
+import java.util.Arrays;
+import java.util.concurrent.TimeUnit;
+
+import lombok.RequiredArgsConstructor;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.*;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.validation.annotation.Validated;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.core.validate.QueryGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.businessDayBill.domain.vo.BusinessDayBillVo;
+import com.ruoyi.businessDayBill.domain.bo.BusinessDayBillBo;
+import com.ruoyi.businessDayBill.service.IBusinessDayBillService;
+import com.ruoyi.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 商家日账单Controller
+ *
+ * @author lubo
+ * @date 2025-11-28
+ */
+@Validated
+@Api(value = "商家日账单控制器", tags = {"商家日账单管理"})
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/businessDayBill/businessDayBill")
+public class BusinessDayBillController extends BaseController {
+
+    private final IBusinessDayBillService iBusinessDayBillService;
+
+    /**
+     * 分页查询商家日账单列表
+     */
+    @ApiOperation("查询商家日账单列表")
+    @SaCheckPermission("businessDayBill:businessDayBill:list")
+    @GetMapping("/page")
+    public TableDataInfo<BusinessDayBillVo> page(@Validated(QueryGroup.class) BusinessDayBillBo bo, PageQuery pageQuery) {
+        return iBusinessDayBillService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 获取商家日账单详细信息
+     */
+    @ApiOperation("获取商家日账单详细信息")
+    @SaCheckPermission("businessDayBill:businessDayBill:query")
+    @GetMapping("/info/{dayBillId}")
+    public R<BusinessDayBillVo> getInfo(@ApiParam("主键")
+                                                  @NotNull(message = "主键不能为空")
+                                                  @PathVariable("dayBillId") Long dayBillId) {
+        return R.ok(iBusinessDayBillService.queryById(dayBillId));
+    }
+
+    /**
+     * 新增商家日账单
+     */
+    @ApiOperation("新增商家日账单")
+    @SaCheckPermission("businessDayBill:businessDayBill:add")
+    @Log(title = "商家日账单", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping("/add")
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody BusinessDayBillBo bo) {
+        return toAjax(iBusinessDayBillService.insertByBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 修改商家日账单
+     */
+    @ApiOperation("修改商家日账单")
+    @SaCheckPermission("businessDayBill:businessDayBill:edit")
+    @Log(title = "商家日账单", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/edit")
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusinessDayBillBo bo) {
+        return toAjax(iBusinessDayBillService.updateByBo(bo) ? 1 : 0);
+    }
+
+    /**
+     * 删除商家日账单
+     */
+    @ApiOperation("删除商家日账单")
+    @SaCheckPermission("businessDayBill:businessDayBill:remove")
+    @Log(title = "商家日账单", businessType = BusinessType.DELETE)
+    @PostMapping("/del/{dayBillIds}")
+    public R<Void> remove(@ApiParam("主键串")
+                                       @NotEmpty(message = "主键不能为空")
+                                       @PathVariable Long[] dayBillIds) {
+        return toAjax(iBusinessDayBillService.deleteWithValidByIds(Arrays.asList(dayBillIds), true) ? 1 : 0);
+    }
+
+    /**
+     * 导出商家日账单列表
+     */
+    @ApiOperation("导出商家日账单列表")
+    @SaCheckPermission("businessDayBill:businessDayBill:export")
+    @Log(title = "商家日账单", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(@Validated BusinessDayBillBo bo, HttpServletResponse response) {
+        List<BusinessDayBillVo> list = iBusinessDayBillService.queryList(bo);
+        ExcelUtil.exportExcel(list, "商家日账单", BusinessDayBillVo.class, response);
+    }
+
+}

+ 73 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/domain/BusinessDayBill.java

@@ -0,0 +1,73 @@
+package com.ruoyi.businessDayBill.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 商家日账单对象 tb_business_day_bill
+ *
+ * @author lubo
+ * @date 2025-11-28
+ */
+@Data
+@TableName("tb_business_day_bill")
+public class BusinessDayBill implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 日账单ID
+     */
+    @TableId(value = "day_bill_id")
+    private Long dayBillId;
+    /**
+     * 日期字面值(例:2025-10-16)
+     */
+    private String dayValue;
+    /**
+     * 日期
+     */
+    private Date billDay;
+    /**
+     * 商家ID
+     */
+    private Long businessId;
+    /**
+     * 商家名称
+     */
+    private String businessName;
+    /**
+     * 实际收款
+     */
+    private BigDecimal actualReceivePayment;
+    /**
+     * 实际到账
+     */
+    private BigDecimal actualCredited;
+    /**
+     * 用户消耗积分
+     */
+    private BigDecimal userUsePoint;
+    /**
+     * 店铺发放积分
+     */
+    private BigDecimal businessGivePoint;
+    /**
+     * 今日结算
+     */
+    private BigDecimal todaySettlement;
+    /**
+     * 结算时间
+     */
+    private Date todaySettlementTime;
+
+}

+ 106 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/domain/bo/BusinessDayBillBo.java

@@ -0,0 +1,106 @@
+package com.ruoyi.businessDayBill.domain.bo;
+
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import javax.validation.constraints.*;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 商家日账单业务对象 tb_business_day_bill
+ *
+ * @author lubo
+ * @date 2025-11-28
+ */
+@Builder
+@Data
+@EqualsAndHashCode
+@ApiModel("商家日账单业务对象")
+public class BusinessDayBillBo implements Serializable {
+
+    /**
+     * 日账单ID
+     */
+    @ApiModelProperty(value = "日账单ID", required = true)
+    @NotNull(message = "日账单ID不能为空", groups = { EditGroup.class })
+    private Long dayBillId;
+
+    /**
+     * 日期字面值(例:2025-10-16)
+     */
+    @ApiModelProperty(value = "日期字面值(例:2025-10-16)", required = true)
+    @NotBlank(message = "日期字面值(例:2025-10-16)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String dayValue;
+
+    /**
+     * 日期
+     */
+    @ApiModelProperty(value = "日期", required = true)
+    @NotNull(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Date billDay;
+
+    /**
+     * 商家ID
+     */
+    @ApiModelProperty(value = "商家ID", required = true)
+    @NotNull(message = "商家ID不能为空", groups = { AddGroup.class, EditGroup.class })
+    private Long businessId;
+
+    /**
+     * 商家名称
+     */
+    @ApiModelProperty(value = "商家名称", required = true)
+    @NotBlank(message = "商家名称不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String businessName;
+
+    /**
+     * 实际收款
+     */
+    @ApiModelProperty(value = "实际收款", required = true)
+    @NotNull(message = "实际收款不能为空", groups = { AddGroup.class, EditGroup.class })
+    private BigDecimal actualReceivePayment;
+
+    /**
+     * 实际到账
+     */
+    @ApiModelProperty(value = "实际到账", required = true)
+    @NotNull(message = "实际到账不能为空", groups = { AddGroup.class, EditGroup.class })
+    private BigDecimal actualCredited;
+
+    /**
+     * 用户消耗积分
+     */
+    @ApiModelProperty(value = "用户消耗积分", required = true)
+    private BigDecimal userUsePoint;
+
+    /**
+     * 店铺发放积分
+     */
+    @ApiModelProperty(value = "店铺发放积分", required = true)
+    private BigDecimal businessGivePoint;
+
+    /**
+     * 今日结算
+     */
+    @ApiModelProperty(value = "今日结算", required = true)
+    private BigDecimal todaySettlement;
+
+    /**
+     * 结算时间
+     */
+    @ApiModelProperty(value = "结算时间", required = true)
+    private Date todaySettlementTime;
+
+
+}

+ 33 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/domain/bo/BusinessDayBillChangeBo.java

@@ -0,0 +1,33 @@
+package com.ruoyi.businessDayBill.domain.bo;
+
+import com.ruoyi.businessDayBill.enums.BusinessDayBillChangeType;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@Builder
+@Data
+@EqualsAndHashCode
+@ApiModel("商家日账单改改变业务对象")
+public class BusinessDayBillChangeBo implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    @ApiModelProperty(value = "商家ID", required = true)
+    private Long businessId;
+
+    @ApiModelProperty(value = "商家日账单改变类型", required = true)
+    private BusinessDayBillChangeType changeType;
+
+    @ApiModelProperty(value = "商家日账单改变值", required = true)
+    private BigDecimal changeAmount;
+
+    @ApiModelProperty(value = "商家日账单改变时间", required = true)
+    private Date changeTime;
+}

+ 108 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/domain/vo/BusinessDayBillVo.java

@@ -0,0 +1,108 @@
+package com.ruoyi.businessDayBill.domain.vo;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.ruoyi.common.annotation.ExcelDictFormat;
+import com.ruoyi.common.convert.ExcelDictConvert;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 商家日账单视图对象 tb_business_day_bill
+ *
+ * @author lubo
+ * @date 2025-11-28
+ */
+@Data
+@ApiModel("商家日账单视图对象")
+@ExcelIgnoreUnannotated
+public class BusinessDayBillVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 日账单ID
+     */
+    @ExcelProperty(value = "日账单ID")
+    @ApiModelProperty("日账单ID")
+    private Long dayBillId;
+
+    /**
+     * 日期字面值(例:2025-10-16)
+     */
+    @ExcelProperty(value = "日期字面值(例:2025-10-16)")
+    @ApiModelProperty("日期字面值(例:2025-10-16)")
+    private String dayValue;
+
+    /**
+     * 日期
+     */
+    @ExcelProperty(value = "日期")
+    @ApiModelProperty("日期")
+    private Date billDay;
+
+    /**
+     * 商家ID
+     */
+    @ExcelProperty(value = "商家ID")
+    @ApiModelProperty("商家ID")
+    private Long businessId;
+
+    /**
+     * 商家名称
+     */
+    @ExcelProperty(value = "商家名称")
+    @ApiModelProperty("商家名称")
+    private String businessName;
+
+    /**
+     * 实际收款
+     */
+    @ExcelProperty(value = "实际收款")
+    @ApiModelProperty("实际收款")
+    private BigDecimal actualReceivePayment;
+
+    /**
+     * 实际到账
+     */
+    @ExcelProperty(value = "实际到账")
+    @ApiModelProperty("实际到账")
+    private BigDecimal actualCredited;
+
+    /**
+     * 用户消耗积分
+     */
+    @ExcelProperty(value = "用户消耗积分")
+    @ApiModelProperty("用户消耗积分")
+    private BigDecimal userUsePoint;
+
+    /**
+     * 店铺发放积分
+     */
+    @ExcelProperty(value = "店铺发放积分")
+    @ApiModelProperty("店铺发放积分")
+    private BigDecimal businessGivePoint;
+
+    /**
+     * 今日结算
+     */
+    @ExcelProperty(value = "今日结算")
+    @ApiModelProperty("今日结算")
+    private BigDecimal todaySettlement;
+
+    /**
+     * 结算时间
+     */
+    @ExcelProperty(value = "结算时间")
+    @ApiModelProperty("结算时间")
+    private Date todaySettlementTime;
+
+
+}

+ 56 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/enums/BusinessDayBillChangeType.java

@@ -0,0 +1,56 @@
+package com.ruoyi.businessDayBill.enums;
+
+import com.ruoyi.common.enums.IIntegerEnum;
+
+import java.util.Objects;
+
+
+/**
+ * 商家账单改变类型枚举
+ */
+public enum BusinessDayBillChangeType implements IIntegerEnum<Integer> {
+    // 0 用户下单实际收款,1用户下单实际到账,2用户积分消耗,3店铺发放积分,4 用户退款
+    USER_ORDER(0, "用户下单实际收款"),
+    USER_CREDITED(1, "用户下单实际到账"),
+    USER_USE_POINT(2,"用户积分消耗"),
+    BUSINESS_GIVE_POINT(3, "店铺发放积分"),
+    USER_REFUND(4, "用户退款");
+
+    private Integer code;
+
+    private String msg;
+
+    BusinessDayBillChangeType(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return code;
+    }
+
+    @Override
+    public String getMsg() {
+        return msg;
+    }
+
+
+    public static BusinessDayBillChangeType getByCode(int code, BusinessDayBillChangeType[] values) {
+        for (BusinessDayBillChangeType value : values) {
+            if (Objects.equals(code, value.getCode())) {
+                return value;
+            }
+        }
+        return null;
+    }
+
+    public static BusinessDayBillChangeType getByCode(int code) {
+        for (BusinessDayBillChangeType value : BusinessDayBillChangeType.values()) {
+            if (Objects.equals(code, value.getCode())) {
+                return value;
+            }
+        }
+        return null;
+    }
+}

+ 53 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/exception/BusinessDayBillExceptionEnum.java

@@ -0,0 +1,53 @@
+package com.ruoyi.businessDayBill.exception;
+
+import com.ruoyi.common.enums.IIntegerEnum;
+import java.util.Objects;
+
+
+/**
+ * 异常枚举
+ */
+public enum BusinessDayBillExceptionEnum implements IIntegerEnum {
+
+    // TODO 注意检查错误码,保证系统内唯一
+    BusinessDayBill_IS_NOT_EXISTS(200001, "商家日账单不存在"),
+
+    ;
+
+    private Integer code;
+
+    private String msg;
+
+    BusinessDayBillExceptionEnum(Integer code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    @Override
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    @Override
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public static BusinessDayBillExceptionEnum getByCode(int code, BusinessDayBillExceptionEnum[] values) {
+        for (BusinessDayBillExceptionEnum value : values) {
+            if (Objects.equals(code, value.getCode())) {
+                return value;
+            }
+        }
+        return null;
+    }
+
+}

+ 15 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/mapper/BusinessDayBillMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.businessDayBill.mapper;
+
+import com.ruoyi.businessDayBill.domain.BusinessDayBill;
+import com.ruoyi.businessDayBill.domain.vo.BusinessDayBillVo;
+import com.ruoyi.common.core.mapper.BaseMapperPlus;
+
+/**
+ * 商家日账单Mapper接口
+ *
+ * @author lubo
+ * @date 2025-11-28
+ */
+public interface BusinessDayBillMapper extends BaseMapperPlus<BusinessDayBillMapper, BusinessDayBill, BusinessDayBillVo> {
+
+}

+ 127 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/service/IBusinessDayBillService.java

@@ -0,0 +1,127 @@
+package com.ruoyi.businessDayBill.service;
+
+import com.ruoyi.businessDayBill.domain.BusinessDayBill;
+import com.ruoyi.businessDayBill.domain.bo.BusinessDayBillChangeBo;
+import com.ruoyi.businessDayBill.domain.vo.BusinessDayBillVo;
+import com.ruoyi.businessDayBill.domain.bo.BusinessDayBillBo;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.domain.PageQuery;
+
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 商家日账单Service接口
+ *
+ * @author lubo
+ * @date 2025-11-28
+ */
+public interface IBusinessDayBillService {
+
+    /**
+     * 查询商家日账单分页
+     *
+     * @param bo 商家日账单
+     * @return 商家日账单集合
+     */
+    TableDataInfo<BusinessDayBillVo> queryPageList(BusinessDayBillBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询商家日账单列表
+     *
+     * @param bo 商家日账单
+     * @return 商家日账单集合
+     */
+    List<BusinessDayBillVo> queryList(BusinessDayBillBo bo);
+
+    /**
+     * 查询商家日账单
+     *
+     * @param dayBillId 商家日账单主键
+     * @return 商家日账单
+     */
+    BusinessDayBillVo queryById(Long dayBillId);
+
+    /**
+     * 详情商家日账单
+     *
+     * @param dayBillId 商家日账单主键
+     * @return 商家日账单
+     */
+    BusinessDayBill loadById(Long dayBillId, Boolean tw);
+
+    /**
+     * 新增商家日账单
+     *
+     * @param bo 商家日账单
+     * @return 结果
+     */
+    Boolean insertByBo(BusinessDayBillBo bo);
+
+    /**
+     * 修改商家日账单
+     *
+     * @param bo 商家日账单
+     * @return 结果
+     */
+    Boolean updateByBo(BusinessDayBillBo bo);
+
+    /**
+     * 校验并批量删除商家日账单信息
+     *
+     * @param ids 需要删除的商家日账单主键集合
+     * @param isValid 是否校验,true-删除前校验,false-不校验
+     * @return 结果
+     */
+    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    /**
+     * 根据商家ID和账单日期查询
+     *
+     * @param businessId 商家ID
+     * @param billDate 账单日期
+     * @return 商家日账单
+     */
+    BusinessDayBill loadById(Long businessId, Date billDate);
+
+    /**
+     * 根据商家ID和账单日期查询并加锁
+     *
+     * @param businessId 商家ID
+     * @param billDate 账单日期
+     * @return 商家日账单
+     */
+    BusinessDayBill loadLockById(Long businessId, Date billDate);
+
+    /**
+     * 初始化商家日账单
+     *
+     * @param businessId 商家ID
+     * @param billDate 账单日期
+     */
+    BusinessDayBill initBusinessDayBill(Long businessId, Date billDate);
+
+
+    /**
+     * 初始化所有商家日账
+     * @param billDate 账单日期
+     */
+    void initAllBusinessDayBill(Date billDate);
+
+
+    /**
+     * 修改商家日账单
+     *
+     * @param bo 商家日账单
+     */
+    void changeBusinessDayBill(BusinessDayBillChangeBo bo);
+
+
+    /**
+     * 今日结算
+     * @param date 账单日期
+     */
+    void settlementDayBill(Date date);
+
+}

+ 277 - 0
ruoyi-business/src/main/java/com/ruoyi/businessDayBill/service/impl/BusinessDayBillServiceImpl.java

@@ -0,0 +1,277 @@
+package com.ruoyi.businessDayBill.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.alipay.api.domain.MaterialUnit;
+import com.ruoyi.business.domain.Business;
+import com.ruoyi.business.domain.OnLineOrderProperties;
+import com.ruoyi.business.service.IBusinessService;
+import com.ruoyi.businessDayBill.domain.bo.BusinessDayBillChangeBo;
+import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.common.utils.BeanCopyUtils;
+import com.ruoyi.common.utils.MathUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import com.ruoyi.businessDayBill.domain.bo.BusinessDayBillBo;
+import com.ruoyi.businessDayBill.domain.vo.BusinessDayBillVo;
+import com.ruoyi.businessDayBill.domain.BusinessDayBill;
+import com.ruoyi.businessDayBill.mapper.BusinessDayBillMapper;
+import com.ruoyi.businessDayBill.service.IBusinessDayBillService;
+import com.ruoyi.businessDayBill.exception.BusinessDayBillExceptionEnum;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+
+/**
+ * 商家日账单Service业务层处理
+ *
+ * @author lubo
+ * @date 2025-11-28
+ */
+@RequiredArgsConstructor
+@Service
+public class BusinessDayBillServiceImpl implements IBusinessDayBillService {
+
+    private final BusinessDayBillMapper baseMapper;
+    private final IBusinessService businessService;
+    private final OnLineOrderProperties onLineOrderProperties;
+
+
+
+    /**
+     * 查询商家日账单分页
+     *
+     * @param bo 商家日账单
+     * @return 商家日账单
+     */
+    @Override
+    public TableDataInfo<BusinessDayBillVo> queryPageList(BusinessDayBillBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<BusinessDayBill> lqw = buildQueryWrapper(bo);
+        Page<BusinessDayBillVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询商家日账单列表
+     *
+     * @param bo 商家日账单
+     * @return 商家日账单
+     */
+    @Override
+    public List<BusinessDayBillVo> queryList(BusinessDayBillBo bo) {
+        LambdaQueryWrapper<BusinessDayBill> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<BusinessDayBill> buildQueryWrapper(BusinessDayBillBo bo) {
+        LambdaQueryWrapper<BusinessDayBill> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getDayValue()), BusinessDayBill::getDayValue, bo.getDayValue());
+        lqw.eq(bo.getBillDay() != null, BusinessDayBill::getBillDay, bo.getBillDay());
+        lqw.eq(bo.getBusinessId() != null, BusinessDayBill::getBusinessId, bo.getBusinessId());
+        lqw.like(StringUtils.isNotBlank(bo.getBusinessName()), BusinessDayBill::getBusinessName, bo.getBusinessName());
+        lqw.eq(bo.getActualReceivePayment() != null, BusinessDayBill::getActualReceivePayment, bo.getActualReceivePayment());
+        lqw.eq(bo.getActualCredited() != null, BusinessDayBill::getActualCredited, bo.getActualCredited());
+        lqw.eq(bo.getUserUsePoint() != null, BusinessDayBill::getUserUsePoint, bo.getUserUsePoint());
+        lqw.eq(bo.getBusinessGivePoint() != null, BusinessDayBill::getBusinessGivePoint, bo.getBusinessGivePoint());
+        lqw.eq(bo.getTodaySettlement() != null, BusinessDayBill::getTodaySettlement, bo.getTodaySettlement());
+        lqw.eq(bo.getTodaySettlementTime() != null, BusinessDayBill::getTodaySettlementTime, bo.getTodaySettlementTime());
+        return lqw;
+    }
+
+
+
+
+    /**
+     * 查询商家日账单
+     *
+     * @param dayBillId 商家日账单主键
+     * @return 商家日账单
+     */
+    @Override
+    public BusinessDayBillVo queryById(Long dayBillId){
+        return baseMapper.selectVoById(dayBillId);
+    }
+
+    /**
+     * 详情商家日账单
+     *
+     * @param dayBillId 商家日账单主键
+     * @return 商家日账单
+     */
+    @Override
+    public BusinessDayBill loadById(Long dayBillId, Boolean tw){
+        BusinessDayBill info = this.baseMapper.selectById(dayBillId);
+        if(ObjectUtil.isEmpty(info) && tw){
+            throw new ServiceException(BusinessDayBillExceptionEnum.BusinessDayBill_IS_NOT_EXISTS);
+        }
+        return info;
+    }
+
+    /**
+     * 新增商家日账单
+     *
+     * @param bo 商家日账单
+     * @return 结果
+     */
+    @Override
+    public Boolean insertByBo(BusinessDayBillBo bo) {
+        BusinessDayBill add = BeanUtil.toBean(bo, BusinessDayBill.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setDayBillId(add.getDayBillId());
+        }
+        return flag;
+    }
+
+    /**
+     * 修改商家日账单
+     *
+     * @param bo 商家日账单
+     * @return 结果
+     */
+    @Override
+    public Boolean updateByBo(BusinessDayBillBo bo) {
+        BusinessDayBill businessDayBill = baseMapper.selectById(bo.getDayBillId());
+        BusinessDayBill update = BeanCopyUtils.copy(bo, businessDayBill);
+        validEntityBeforeSave(update);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(BusinessDayBill entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除商家日账单
+     *
+     * @param ids 需要删除的商家日账单主键
+     * @return 结果
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+
+    @Override
+    public BusinessDayBill loadById(Long businessId, Date billDate) {
+        String format = DateUtil.format(billDate, "yyyy-MM-dd");
+        return this.baseMapper.selectOne(new LambdaQueryWrapper<BusinessDayBill>()
+            .eq(BusinessDayBill::getBusinessId, businessId)
+            .eq(BusinessDayBill::getDayValue, format)
+            .last("limit 1")
+        );
+    }
+
+    @Override
+    public BusinessDayBill loadLockById(Long businessId, Date billDate) {
+        String format = DateUtil.format(billDate, "yyyy-MM-dd");
+        return this.baseMapper.selectOne(new LambdaQueryWrapper<BusinessDayBill>()
+            .eq(BusinessDayBill::getBusinessId, businessId)
+            .eq(BusinessDayBill::getDayValue, format)
+            .last("limit 1 for update")
+        );
+    }
+
+    /**
+     * 初始化商家日账单
+     *
+     * @param businessId 商家ID
+     * @param billDate   账单日期
+     */
+    @Override
+    public BusinessDayBill initBusinessDayBill(Long businessId, Date billDate) {
+        String format = DateUtil.format(billDate, "yyyy-MM-dd");
+        Business business = businessService.loadById(businessId, true);
+        BusinessDayBill businessDayBill = this.loadById(businessId, billDate);
+        if(businessDayBill == null)
+        {
+            businessDayBill = new BusinessDayBill();
+            businessDayBill.setBusinessId(businessId);
+            businessDayBill.setBusinessName(business.getBusinessName());
+            businessDayBill.setDayValue(format);
+            businessDayBill.setBillDay(DateUtil.parse( format, "yyyy-MM-dd"));
+            businessDayBill.setTodaySettlement(BigDecimal.ZERO);
+            businessDayBill.setActualReceivePayment(BigDecimal.ZERO);
+            businessDayBill.setActualCredited(BigDecimal.ZERO);
+            businessDayBill.setUserUsePoint(BigDecimal.ZERO);
+            businessDayBill.setBusinessGivePoint(BigDecimal.ZERO);
+            businessDayBill.setTodaySettlementTime(new Date());
+            this.baseMapper.insert(businessDayBill);
+        }
+        return businessDayBill;
+    }
+
+    /**
+     * 初始化所有商家日账单
+     * @param billDate    账单日期
+     */
+    @Override
+    public void initAllBusinessDayBill(Date billDate) {
+        List<Long > businessIds =  businessService.loadNoCloseBusinessIds();
+        businessIds.forEach(businessId -> {
+            this.initBusinessDayBill(businessId, billDate);
+        });
+    }
+
+    @Override
+    public void changeBusinessDayBill(BusinessDayBillChangeBo bo) {
+        this.initBusinessDayBill(bo.getBusinessId(), bo.getChangeTime());
+        BusinessDayBill businessDayBill = this.loadLockById(bo.getBusinessId(), bo.getChangeTime());
+        switch (bo.getChangeType())
+        {
+            case USER_ORDER:
+                businessDayBill.setActualReceivePayment( businessDayBill.getActualReceivePayment().add(bo.getChangeAmount()));
+                break;
+            case USER_CREDITED:
+                businessDayBill.setActualCredited( businessDayBill.getActualCredited().add(bo.getChangeAmount()));
+                break;
+            case USER_USE_POINT:
+                businessDayBill.setUserUsePoint( businessDayBill.getUserUsePoint().add(bo.getChangeAmount()));
+                break;
+            case BUSINESS_GIVE_POINT:
+                businessDayBill.setBusinessGivePoint( businessDayBill.getBusinessGivePoint().add(bo.getChangeAmount()));
+                break;
+            case USER_REFUND:
+                businessDayBill.setActualReceivePayment( businessDayBill.getActualCredited().subtract(bo.getChangeAmount()));
+                break;
+        }
+        this.baseMapper.updateById(businessDayBill);
+    }
+
+    @Override
+    public void settlementDayBill(Date date) {
+        String format = DateUtil.format(date, "yyyy-MM-dd");
+        List<BusinessDayBill>  businessDayBills = this.baseMapper.selectList(new LambdaQueryWrapper<BusinessDayBill>()
+            .eq(BusinessDayBill::getDayValue, format)
+            .orderByAsc(BusinessDayBill::getBusinessId)
+        );
+
+        for(BusinessDayBill businessDayBill : businessDayBills)
+        {
+            businessDayBill.setTodaySettlement(MathUtils.multiply(businessDayBill.getActualCredited(), onLineOrderProperties.getSettlementExpenseRatio(),3));
+            businessDayBill.setTodaySettlementTime(date);
+            this.baseMapper.updateById(businessDayBill);
+        }
+    }
+
+
+}

+ 5 - 0
ruoyi-business/src/main/resources/mapper/business/BusinessMapper.xml

@@ -70,4 +70,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         city_code = #{cityCode}
         group by area_code
     </select>
+
+    <select id="loadNoCloseBusinessIds" resultType="java.lang.Long">
+        select business_id from tb_business where del_flag = 0 and close_status = 0
+        order by business_id asc
+    </select>
 </mapper>

+ 22 - 0
ruoyi-business/src/main/resources/mapper/businessDayBill/BusinessDayBillMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.businessDayBill.mapper.BusinessDayBillMapper">
+
+    <resultMap type="com.ruoyi.businessDayBill.domain.BusinessDayBill" id="BusinessDayBillResult">
+        <result property="dayBillId" column="day_bill_id"/>
+        <result property="dayValue" column="day_value"/>
+        <result property="billDay" column="bill_day"/>
+        <result property="businessId" column="business_id"/>
+        <result property="businessName" column="business_name"/>
+        <result property="actualReceivePayment" column="actual_receive_payment"/>
+        <result property="actualCredited" column="actual_credited"/>
+        <result property="userUsePoint" column="user_use_point"/>
+        <result property="businessGivePoint" column="business_give_point"/>
+        <result property="todaySettlement" column="today_settlement"/>
+        <result property="todaySettlementTime" column="today_settlement_time"/>
+    </resultMap>
+
+
+</mapper>

+ 1 - 2
ruoyi-line/src/main/java/com/ruoyi/onlineorder/service/impl/OnlineOrderServiceImpl.java

@@ -18,9 +18,8 @@ import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.BeanCopyUtils;
 import com.ruoyi.common.utils.MathUtils;
 import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.newwxpay.config.NewWxPayProperties;
 import com.ruoyi.newwxpay.pay.PayNotifyResult;
-import com.ruoyi.onlineorder.OnLineOrderProperties;
+import com.ruoyi.business.domain.OnLineOrderProperties;
 import com.ruoyi.onlineorder.domain.OnlineOrder;
 import com.ruoyi.onlineorder.domain.bo.CreateOnlineOrderBo;
 import com.ruoyi.onlineorder.domain.bo.OnlineOrderBo;