浏览代码

记录账单流水

igl 1 年之前
父节点
当前提交
f941b200ea
共有 21 个文件被更改,包括 190 次插入62 次删除
  1. 45 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/EarningsDTO.java
  2. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/QueryMerchantBalanceParam.java
  3. 3 3
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/CurrencyRecordService.java
  4. 3 4
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/CurrencyRecordMapper.java
  5. 4 5
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/AssessScore.java
  6. 1 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Asset.java
  7. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Comment.java
  8. 11 4
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/CurrencyRecord.java
  9. 4 8
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Enquire.java
  10. 4 4
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/EnquireReply.java
  11. 5 10
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Goods.java
  12. 3 3
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/GoodsAssess.java
  13. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Merchant.java
  14. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/BalanceDetailService.java
  15. 17 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/CurrencyRecordService.java
  16. 2 2
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/BalanceDetailServiceImpl.java
  17. 43 5
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CurrencyRecordServiceImpl.java
  18. 6 2
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/DynamicContentServiceImpl.java
  19. 25 2
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OderHandleServiceImpl.java
  20. 1 1
      vehicle-server/src/main/resources/mapper/CommentMapper.xml
  21. 9 5
      vehicle-server/src/main/resources/mapper/CurrencyRecordMapper.xml

+ 45 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/EarningsDTO.java

@@ -0,0 +1,45 @@
+package com.chelvc.cloud.vehicle.api.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.experimental.SuperBuilder;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 收益返回参数
+ */
+@Data
+@SuperBuilder
+@AllArgsConstructor
+public class EarningsDTO implements Serializable {
+
+    private static final long serialVersionUID = 2280477793188034996L;
+
+    /**
+     * 总收益
+     */
+    private BigDecimal totalAmount;
+
+    /**
+     * 周收益
+     */
+    private BigDecimal weekAmount;
+
+    /**
+     * 月收益
+     */
+    private BigDecimal monthAmount;
+
+    /**
+     * 可提现金额
+     */
+    private BigDecimal withdrawAmount;
+
+    public EarningsDTO(){
+        totalAmount = BigDecimal.ZERO;
+        withdrawAmount = BigDecimal.ZERO;
+        monthAmount  = BigDecimal.ZERO;
+    }
+}

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/QueryMerchantBalanceParam.java

@@ -28,7 +28,7 @@ public class QueryMerchantBalanceParam implements Serializable {
     /**
      * 流水类型:0-收入;1-支出
      */
-    private Integer type;
+    private Integer flowType;
 
     /**
      * 操作类型:1-订单收益;2-提现

+ 3 - 3
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/CurrencyRecordService.java

@@ -1,9 +1,9 @@
 package com.chelvc.cloud.vehicle.api.service;
 
 import com.chelvc.cloud.vehicle.api.dto.CurrencyRecordDTO;
+import com.chelvc.cloud.vehicle.api.dto.EarningsDTO;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * 收益流水记录表数据模型
@@ -16,11 +16,11 @@ public interface CurrencyRecordService {
      * 收益流水记录
      * @return 收益流水记录列表
      */
-    List<CurrencyRecordDTO> listCurrencyRecord();
+    List<CurrencyRecordDTO> listCurrencyRecord(Integer type);
 
     /**
      * 获取用户得总收益、本周收益、本月收益、可提现金额
      * @return
      */
-    Map<String, Object> getCurrencyRecord();
+    EarningsDTO getCurrencyRecord(Integer type);
 }

+ 3 - 4
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/CurrencyRecordMapper.java

@@ -1,11 +1,10 @@
 package com.chelvc.cloud.vehicle.server.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.chelvc.cloud.vehicle.server.entity.Article;
+import com.chelvc.cloud.vehicle.api.dto.EarningsDTO;
 import com.chelvc.cloud.vehicle.server.entity.CurrencyRecord;
 import org.apache.ibatis.annotations.Mapper;
-
-import java.util.Map;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 收益流水记录表数据模型
@@ -21,5 +20,5 @@ public interface CurrencyRecordMapper extends BaseMapper<CurrencyRecord> {
      * @param userId
      * @return
      */
-    Map<String,Object> getCurrencyRecord(Long userId);
+    EarningsDTO getCurrencyRecord(@Param("userId")Long userId, @Param("type")Integer type);
 }

+ 4 - 5
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/AssessScore.java

@@ -1,18 +1,17 @@
 package com.chelvc.cloud.vehicle.server.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.Entity;
-import com.chelvc.framework.database.interceptor.FilesTypeHandler;
-import lombok.*;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
 import lombok.experimental.SuperBuilder;
 
 import java.math.BigDecimal;
 import java.util.Date;
-import java.util.List;
 
 /**
  * @author valley

+ 1 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Asset.java

@@ -21,6 +21,7 @@ import java.time.LocalDateTime;
 @TableName(autoResultMap = true)
 public class Asset implements Entity<Long> {
 
+    private static final long serialVersionUID = -2573290665569937880L;
     /**
      * 主键
      */

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Comment.java

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.Entity;
-import com.chelvc.framework.database.interceptor.FilesTypeHandler;
+import com.chelvc.framework.database.handler.FilesTypeHandler;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;

+ 11 - 4
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/CurrencyRecord.java

@@ -9,7 +9,7 @@ import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
 import java.math.BigDecimal;
-import java.util.Date;
+import java.time.LocalDateTime;
 
 /**
  * 收益流水记录表数据模型
@@ -22,6 +22,8 @@ import java.util.Date;
 @NoArgsConstructor
 @AllArgsConstructor
 public class CurrencyRecord implements Entity<Long> {
+
+    private static final long serialVersionUID = 4394545660827792531L;
     /**
      * 主键
      */
@@ -34,10 +36,15 @@ public class CurrencyRecord implements Entity<Long> {
     private Long userId;
 
     /**
-     * 账单类型:0-收入;1-支出
+     * 类型:0-平台;1-用户;2-商户
      */
     private Integer type;
 
+    /**
+     * 账单类型:0-收入;1-支出
+     */
+    private Integer currencyType;
+
     /**
      * 订单标识
      */
@@ -46,7 +53,7 @@ public class CurrencyRecord implements Entity<Long> {
     /**
      * 来源用户
      */
-    private Long sourceUserId;
+    private Long sourceId;
 
     /**
      * 类型:-1-提现;0-商品出售;1-用户分佣;2-商户分佣;3-平台分佣;4-商家所得
@@ -71,7 +78,7 @@ public class CurrencyRecord implements Entity<Long> {
     /**
      * 创建时间
      */
-    private Date createTime;
+    private LocalDateTime createTime;
 
 
 }

+ 4 - 8
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Enquire.java

@@ -1,21 +1,17 @@
 package com.chelvc.cloud.vehicle.server.entity;
 
-import java.util.List;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.ModifyEntity;
-import com.chelvc.framework.database.interceptor.FilesTypeHandler;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.ToString;
+import com.chelvc.framework.database.handler.FilesTypeHandler;
+import lombok.*;
 import lombok.experimental.SuperBuilder;
 
+import java.util.List;
+
 /**
  * 询价数据模型
  *

+ 4 - 4
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/EnquireReply.java

@@ -1,20 +1,20 @@
 package com.chelvc.cloud.vehicle.server.entity;
 
-import java.util.Date;
-import java.util.List;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.Entity;
-import com.chelvc.framework.database.interceptor.FilesTypeHandler;
+import com.chelvc.framework.database.handler.FilesTypeHandler;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 询价回复数据模型
  *

+ 5 - 10
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Goods.java

@@ -1,24 +1,19 @@
 package com.chelvc.cloud.vehicle.server.entity;
 
-import java.util.List;
-
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.chelvc.cloud.vehicle.api.constant.CategoryType;
 import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
 import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.ModifyEntity;
-import com.chelvc.framework.database.interceptor.FilesTypeHandler;
-import com.chelvc.framework.database.interceptor.LongsTypeHandler;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.NoArgsConstructor;
-import lombok.ToString;
+import com.chelvc.framework.database.handler.FilesTypeHandler;
+import com.chelvc.framework.database.handler.LongsTypeHandler;
+import lombok.*;
 import lombok.experimental.SuperBuilder;
 
+import java.util.List;
+
 /**
  * 商品数据模型
  *

+ 3 - 3
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/GoodsAssess.java

@@ -1,12 +1,12 @@
 package com.chelvc.cloud.vehicle.server.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.chelvc.framework.common.model.File;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
 import com.chelvc.framework.database.entity.ModifyEntity;
-import com.chelvc.framework.database.interceptor.FilesTypeHandler;
+import com.chelvc.framework.database.handler.FilesTypeHandler;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/Merchant.java

@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.chelvc.cloud.vehicle.api.constant.MerchantStatus;
 import com.chelvc.framework.common.model.File;
 import com.chelvc.framework.database.entity.ModifyEntity;
-import com.chelvc.framework.database.interceptor.FilesTypeHandler;
+import com.chelvc.framework.database.handler.FilesTypeHandler;
 import lombok.*;
 import lombok.experimental.SuperBuilder;
 

+ 1 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/BalanceDetailService.java

@@ -4,7 +4,7 @@ import java.math.BigDecimal;
 
 public interface BalanceDetailService {
     /**
-     * 记录用户流水
+     * 记录余额明细
      * @param orderId 订单id
      * @param type 类型:0-平台;1-用户;2-商户
      * @param userId 用户id

+ 17 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/CurrencyRecordService.java

@@ -3,6 +3,8 @@ package com.chelvc.cloud.vehicle.server.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.chelvc.cloud.vehicle.server.entity.CurrencyRecord;
 
+import java.math.BigDecimal;
+
 /**
  * 收益流水记录表操作接口
  *
@@ -10,4 +12,19 @@ import com.chelvc.cloud.vehicle.server.entity.CurrencyRecord;
  * @date 2024/03/15
  */
 public interface CurrencyRecordService extends IService<CurrencyRecord> {
+
+    /**
+     * 记录用户流水
+     * @param userId 用户id
+     * @param type 类型:0-平台;1-用户;2-商户
+     * @param currencyType 流水类型:0-收入;1-支出
+     * @param orderId 订单id
+     * @param sourceId 来源id
+     * @param sourceType 类型:-1-提现;0-商品出售;1-用户分佣;2-商户分佣;3-平台分佣;4-商家所得
+     * @param amount 操作金额
+     * @param deduct 扣除金额:提现-手续费;分佣扣税
+     * @param realityAmount 实际金额
+     */
+    void recordFlow(Long userId, Integer type, Integer currencyType, Long orderId, Long sourceId, Integer sourceType,
+                    BigDecimal amount, BigDecimal deduct, BigDecimal realityAmount);
 }

+ 2 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/BalanceDetailServiceImpl.java

@@ -57,8 +57,8 @@ public class BalanceDetailServiceImpl extends ServiceImpl<BalanceDetailMapper, B
         QueryWrapper<BalanceDetail> lqw = Wrappers.query();
         lqw.eq("t1.type", type);
         lqw.eq("t1.user_id", userId);
-        if(param.getType() != null){
-            lqw.eq("t1.type", param.getType());
+        if(param.getFlowType() != null){
+            lqw.eq("t1.flow_type", param.getFlowType());
         }
         if(param.getOperateType() != null){
             lqw.eq("t1.operate_type", param.getOperateType());

+ 43 - 5
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/CurrencyRecordServiceImpl.java

@@ -1,15 +1,22 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.vehicle.api.dto.CurrencyRecordDTO;
+import com.chelvc.cloud.vehicle.api.dto.EarningsDTO;
 import com.chelvc.cloud.vehicle.server.copier.CurrencyRecordCopier;
 import com.chelvc.cloud.vehicle.server.dao.CurrencyRecordMapper;
+import com.chelvc.cloud.vehicle.server.entity.Asset;
 import com.chelvc.cloud.vehicle.server.entity.CurrencyRecord;
+import com.chelvc.cloud.vehicle.server.service.AssetService;
 import com.chelvc.cloud.vehicle.server.service.CurrencyRecordService;
 import com.chelvc.framework.base.context.SessionContextHolder;
+import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
 import java.util.List;
-import java.util.Map;
 
 /**
  * 收益流水记录表操作接口
@@ -17,21 +24,52 @@ import java.util.Map;
  * @author liude
  * @date 2024/03/15
  */
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.CurrencyRecordService.class)
 public class CurrencyRecordServiceImpl extends ServiceImpl<CurrencyRecordMapper, CurrencyRecord> implements CurrencyRecordService,
         com.chelvc.cloud.vehicle.api.service.CurrencyRecordService {
 
+    private final AssetService assetService;
+
      @Override
-     public List<CurrencyRecordDTO> listCurrencyRecord(){
+     public List<CurrencyRecordDTO> listCurrencyRecord(Integer type){
       Long userId = SessionContextHolder.getId();
          List<CurrencyRecord> currencyRecords = this.lambdaQuery()
                  .eq(CurrencyRecord::getUserId,userId)
+                 .eq(CurrencyRecord::getType, type)
                  .list();
       return CurrencyRecordCopier.INSTANCE.copying(currencyRecords);
      }
     @Override
-    public Map<String, Object> getCurrencyRecord(){
+    public EarningsDTO getCurrencyRecord(Integer type){
         Long userId = SessionContextHolder.getId();
-        return this.baseMapper.getCurrencyRecord(userId);
+        EarningsDTO currencyRecord = this.baseMapper.getCurrencyRecord(userId, type);
+        if(currencyRecord == null){
+            currencyRecord = new EarningsDTO();
+        }
+        Asset asset = assetService.queryAsset(userId, type);
+        if(asset == null){
+            currencyRecord.setWithdrawAmount(BigDecimal.ZERO);
+        } else {
+            currencyRecord.setWithdrawAmount(asset.getTotal());
+        }
+        return currencyRecord;
+    }
+
+    @Override
+    public void recordFlow(Long userId, Integer type, Integer currencyType, Long orderId, Long sourceId,
+                           Integer sourceType, BigDecimal amount, BigDecimal deduct, BigDecimal realityAmount) {
+        CurrencyRecord currencyRecord = new CurrencyRecord();
+        currencyRecord.setUserId(userId);
+        currencyRecord.setType(type);
+        currencyRecord.setCurrencyType(currencyType);
+        currencyRecord.setOrderId(orderId);
+        currencyRecord.setSourceId(sourceId);
+        currencyRecord.setSourceType(sourceType);
+        currencyRecord.setAmount(amount);
+        currencyRecord.setDeduct(deduct);
+        currencyRecord.setRealityAmount(realityAmount);
+        currencyRecord.setCreateTime(LocalDateTime.now());
+        baseMapper.insert(currencyRecord);
     }
- }
+}

+ 6 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/DynamicContentServiceImpl.java

@@ -25,8 +25,10 @@ import com.chelvc.cloud.vehicle.server.service.DynamicContentService;
 import com.chelvc.cloud.vehicle.server.service.DynamicEvaluateRecordService;
 import com.chelvc.cloud.vehicle.server.service.DynamicResourceService;
 import com.chelvc.framework.common.exception.ResourceUnavailableException;
+import com.chelvc.framework.common.function.Executor;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.model.Paging;
+import com.chelvc.framework.database.context.DatabaseContextHolder;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -376,8 +378,10 @@ public class DynamicContentServiceImpl implements DynamicContentService, com.che
   @Override
   //@Transactional
   public void shieldByUserId(Long userId, Integer type) {
-    baseMapper.shieldByUserId(userId, type);
-    dynamicCommentMapper.shieldByUserId(userId, type);
+    DatabaseContextHolder.transactional((Executor) () -> {
+      baseMapper.shieldByUserId(userId, type);
+      dynamicCommentMapper.shieldByUserId(userId, type);
+    });
   }
 
   @Override

+ 25 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OderHandleServiceImpl.java

@@ -35,6 +35,7 @@ public class OderHandleServiceImpl implements OrderHandleService {
     private final PlatformProfitRatioService platformProfitRatioService;
     private final AssetService assetService;
     private final BalanceDetailService balanceDetailService;
+    private final CurrencyRecordService currencyRecordService;
 
     @Override
     public void orderPay(Long orderId) {
@@ -76,6 +77,7 @@ public class OderHandleServiceImpl implements OrderHandleService {
         if (i != 1) {
             throw new ResourceUnavailableException("处理失败");
         }
+        Long orderId = omsOrder.getId();
         //分佣逻辑=====================================
         //实际支付金额
         BigDecimal payAmount = omsOrder.getPayAmount();
@@ -110,9 +112,30 @@ public class OderHandleServiceImpl implements OrderHandleService {
         }
         //商家应得金额
         BigDecimal operateAmount = payAmount.subtract(platformAmount);
+        //记录商家余额明细
         BigDecimal surplusAmount = assetService.updateAsset(0, operateAmount, merchantId, 2);
         balanceDetailService.recordFlow(omsOrder.getId(), 2, merchantId, operateAmount, surplusAmount, 0, 1, userId);
-        BigDecimal platformSurplusAmount = assetService.updateAsset(1, operateAmount, 1L, 0);
+        //记录流水--------------------------
+        //商家流水
+        BigDecimal MerchantDeduct = BigDecimal.ZERO;  //扣税
+        currencyRecordService.recordFlow(merchantId, 2, 0, orderId, userId, 0, operateAmount, MerchantDeduct, operateAmount);
+        //邀请用户---分得佣金
+        if (userAmount.compareTo(BigDecimal.ZERO) > 0) {
+            platformAmount = platformAmount.subtract(userAmount);
+            BigDecimal deduct = BigDecimal.ZERO;  //扣税
+            currencyRecordService.recordFlow(inviteUserId, 1, 0, orderId, userId, 1, userAmount, deduct, userAmount);
+        }
+        //邀请商家---分得佣金
+        if (merchantAmount.compareTo(BigDecimal.ZERO) > 0) {
+            platformAmount = platformAmount.subtract(merchantAmount);
+            BigDecimal deduct = BigDecimal.ZERO;  //扣税
+            currencyRecordService.recordFlow(inviteMerchantId, 1, 0, orderId, userId, 2, merchantAmount, deduct, merchantAmount);
+        }
+        //平台流水
+        BigDecimal deduct = BigDecimal.ZERO;  //扣税
+        currencyRecordService.recordFlow(1L, 0, 0, orderId, userId, 3, platformAmount, deduct, platformAmount);
+
+        /*BigDecimal platformSurplusAmount = assetService.updateAsset(1, operateAmount, 1L, 0);
         balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, operateAmount, platformSurplusAmount, 1, 1,
                 merchantId);
         //邀请用户---分得佣金
@@ -132,7 +155,7 @@ public class OderHandleServiceImpl implements OrderHandleService {
             BigDecimal platformSurplusAmount2 = assetService.updateAsset(1, merchantAmount, 1L, 0);
             balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, merchantAmount, platformSurplusAmount2, 1, 1,
                     inviteMerchantId);
-        }
+        }*/
     }
 
     @Override

+ 1 - 1
vehicle-server/src/main/resources/mapper/CommentMapper.xml

@@ -7,7 +7,7 @@
         <result column="score" property="score" jdbcType="DOUBLE"/>
         <result column="content" property="content" jdbcType="VARCHAR"/>
         <result column="attachments" property="attachments" jdbcType="VARCHAR"
-                typeHandler="com.chelvc.framework.database.interceptor.FilesTypeHandler"/>
+                typeHandler="com.chelvc.framework.database.handler.FilesTypeHandler"/>
         <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
     </resultMap>
 

+ 9 - 5
vehicle-server/src/main/resources/mapper/CurrencyRecordMapper.xml

@@ -4,12 +4,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.chelvc.cloud.vehicle.server.dao.CurrencyRecordMapper">
     
-    <select id="getCurrencyRecord" resultType="java.util.Map">
+    <select id="getCurrencyRecord" resultType="com.chelvc.cloud.vehicle.api.dto.EarningsDTO">
         SELECT
-        ( SELECT sum( reality_amount ) FROM currency_record WHERE create_time >= CURDATE() - INTERVAL 60 DAY AND create_time = CURDATE() AND user_id = #{userId} ) monthAmount,
-        ( SELECT sum( reality_amount ) FROM currency_record WHERE create_time >= CURDATE() - INTERVAL 8 DAY AND create_time = CURDATE() AND user_id = #{userId} ) dayAmount,
-        ( SELECT sum( reality_amount ) FROM currency_record WHERE user_id = #{userId} ) totalAmount
+        SUM(reality_amount) AS totalAmount, -- 总数据
+        SUM(CASE WHEN DATE_FORMAT(create_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m') THEN reality_amount ELSE 0 END) AS monthAmount, -- 本月数据
+        SUM(CASE WHEN DATE_FORMAT(create_time, '%Y-%m-%d') >= DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY) AND DATE_FORMAT(create_time, '%Y-%m-%d') <![CDATA[ >=]]> DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY) THEN reality_amount ELSE 0 END) AS weekAmount -- 本周数据
         FROM
-        dual
+        currency_record
+        WHERE
+        user_id = #{userId}
+        and currency_type = 0
+        and type = #{type}
     </select>
 </mapper>