Bladeren bron

调试订单流程

igl 1 jaar geleden
bovenliggende
commit
2bfc03eb17
35 gewijzigde bestanden met toevoegingen van 213 en 122 verwijderingen
  1. 6 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/PlatformConstant.java
  2. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/OmsOrderDTO.java
  3. 3 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/OmsOrderDetailDTO.java
  4. 6 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/OmsOrderOperateHistoryDTO.java
  5. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/PlatformProfitRatioDTO.java
  6. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/EditPlatformProfitRatioParam.java
  7. 7 0
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/QueryMerchantBalanceParam.java
  8. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/BalanceDetailService.java
  9. 1 1
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/IOmsOrderService.java
  10. 2 2
      vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/InformService.java
  11. 2 2
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/AssetMapper.java
  12. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/BalanceDetail.java
  13. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/CurrencyRecord.java
  14. 6 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/OmsOrderPayHistory.java
  15. 3 3
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/PlatformProfitRatio.java
  16. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/ProfitRatioConfig.java
  17. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/RankAwardConfig.java
  18. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/RankAwardRecord.java
  19. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/UserInvite.java
  20. 1 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/entity/UserProfitRatio.java
  21. 2 2
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/OmsOrderPayHistoryService.java
  22. 6 0
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/UserProfitRatioService.java
  23. 6 4
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/AssessServiceImpl.java
  24. 3 3
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/AssetServiceImpl.java
  25. 9 8
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/BalanceDetailServiceImpl.java
  26. 4 5
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/InformServiceImpl.java
  27. 11 10
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OderHandleServiceImpl.java
  28. 25 9
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderOperateHistoryServiceImpl.java
  29. 4 7
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderPayHistoryServiceImpl.java
  30. 7 6
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderServiceImpl.java
  31. 11 10
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/PlatformProfitRatioServiceImpl.java
  32. 6 18
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/UserInviteServiceImpl.java
  33. 48 1
      vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/UserProfitRatioServiceImpl.java
  34. 22 8
      vehicle-server/src/main/resources/mapper/OmsOrderOperateHistoryMapper.xml
  35. 1 9
      vehicle-server/src/main/resources/mapper/OmsOrderPayHistoryMapper.xml

+ 6 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/constant/PlatformConstant.java

@@ -0,0 +1,6 @@
+package com.chelvc.cloud.vehicle.api.constant;
+
+public interface PlatformConstant {
+
+    static Long PLATFORM_ID = 0L;
+}

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/OmsOrderDTO.java

@@ -14,7 +14,7 @@ import java.util.List;
 
 /**
  * 订单对象 oms_order
- * 
+ *
  * @author liude
  * @date 2023-11-08
  */

+ 3 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/OmsOrderDetailDTO.java

@@ -18,5 +18,8 @@ import java.util.List;
 @AllArgsConstructor
 @ToString(callSuper = true)
 public class OmsOrderDetailDTO extends OmsOrderDTO {
+
+    private static final long serialVersionUID = 5402866033633311581L;
+
     private List<OmsOrderItemDTO> orderItemList;
 }

+ 6 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/OmsOrderOperateHistoryDTO.java

@@ -5,13 +5,16 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
+import java.io.Serializable;
 import java.time.LocalDateTime;
 
 @Data
 @SuperBuilder
 @NoArgsConstructor
 @AllArgsConstructor
-public class OmsOrderOperateHistoryDTO {
+public class OmsOrderOperateHistoryDTO implements Serializable {
+
+    private static final long serialVersionUID = -8296451330091571213L;
 
     private Long id;
 
@@ -31,4 +34,6 @@ public class OmsOrderOperateHistoryDTO {
     private LocalDateTime createTime;
 
     private LocalDateTime updateTime;
+
+    private OmsOrderDetailDTO orderDetailDTO;
 }

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/PlatformProfitRatioDTO.java

@@ -23,7 +23,7 @@ public class PlatformProfitRatioDTO implements Serializable {
     /**
      * 商家id
      */
-    private Long userId;
+    private Long merchantId;
     /**
      * 商家名称
      */

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

@@ -16,7 +16,7 @@ public class EditPlatformProfitRatioParam implements Serializable {
      * 商家标识
      */
     @NotNull(message = "商家不能为空")
-    private Long userId;
+    private Long merchantId;
 
     /**
      * 分佣比例

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

@@ -5,6 +5,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.util.Date;
 
@@ -34,4 +35,10 @@ public class QueryMerchantBalanceParam implements Serializable {
      * 操作类型:1-订单收益;2-提现
      */
     private Integer operateType;
+
+    /**
+     * 商家id
+     */
+    @NotNull(message = "商家标识不能为空")
+    private Long merchantId;
 }

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/BalanceDetailService.java

@@ -6,6 +6,6 @@ import com.chelvc.framework.common.model.Pagination;
 
 public interface BalanceDetailService {
 
-    Pagination<BalanceDetailDTO> queryByUserId(QueryMerchantBalanceParam param, Integer pageNum,
-                                               Integer pageSize, Long userId, Integer type);
+    Pagination<BalanceDetailDTO> queryByMerchantId(QueryMerchantBalanceParam param, Integer pageNum,
+                                               Integer pageSize, Integer type);
 }

+ 1 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/IOmsOrderService.java

@@ -11,7 +11,7 @@ import java.util.Map;
 
 /**
  * 订单Service接口
- * 
+ *
  * @author liude
  * @date 2023-11-08
  */

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/InformService.java

@@ -31,7 +31,7 @@ public interface InformService {
      * (商家端)查看是否有系统新消息
      *
      */
-    NewMerchantInformDTO getMerchantNewInform(Long userId);
+    NewMerchantInformDTO getMerchantNewInform(Long merchantId);
 
     /**
      * (商家端)获取订单退款申请列表
@@ -39,7 +39,7 @@ public interface InformService {
      * @param paging 分页信息
      * @return 用户的订单通知列表
      */
-    Pagination<OmsOrderReturnApplyIdsDTO> listOrderReturnApply(Long userId, Paging paging);
+    Pagination<OmsOrderReturnApplyIdsDTO> listOrderReturnApply(Long merchantId, Paging paging);
 
     /**
      * 获取用户的支付通知列表

+ 2 - 2
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/AssetMapper.java

@@ -11,6 +11,6 @@ import java.time.LocalDateTime;
 @Mapper
 public interface AssetMapper extends BaseMapper<Asset> {
 
-    @Update("update asset set frozen = frozen - #{payAmount}, total = total + #{platformRealityAmount}, update_time = #{now} where user_id = 1 and type = 0")
-    void updatePlatformAsset(BigDecimal platformRealityAmount, BigDecimal payAmount, LocalDateTime now);
+    @Update("update asset set frozen = frozen - #{payAmount}, total = total + #{platformRealityAmount}, update_time = #{now} where user_id = #{userId} and type = 0")
+    void updatePlatformAsset(BigDecimal platformRealityAmount, BigDecimal payAmount, LocalDateTime now, Long userId);
 }

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

@@ -23,7 +23,7 @@ public class BalanceDetail implements Entity<Long> {
     private static final long serialVersionUID = -4673150288436488029L;
     @TableId(type = IdType.ASSIGN_ID)
     private Long id;
-    private Long userId;
+    private Long targetId;
     private Integer type;
     private Long orderId;
     private Integer flowType;

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

@@ -27,7 +27,7 @@ public class CurrencyRecord implements Entity<Long> {
     /**
      * 主键
      */
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.ASSIGN_ID)
     private Long id;
 
     /**

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

@@ -9,7 +9,7 @@ import lombok.experimental.SuperBuilder;
 
 /**
  * 订单操作付款记录对象 oms_order_operate_history
- * 
+ *
  * @author igl
  * @date 2023-12-15
  */
@@ -36,6 +36,11 @@ public class OmsOrderPayHistory extends ModifyEntity<Long>
      */
     private Long userId;
 
+    /**
+     * 用户id
+     */
+    private Long merchantId;
+
     /**
      * 订单消息标识:0-新消息;1-已查看
      */

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

@@ -27,13 +27,13 @@ public class PlatformProfitRatio implements Serializable {
     /**
      * 主键
      */
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.ASSIGN_ID)
     private Long id;
 
     /**
-     * 用户标识
+     * 商家标识
      */
-    private Long userId;
+    private Long merchantId;
 
     /**
      * 抽成比例

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

@@ -22,7 +22,7 @@ public class ProfitRatioConfig extends BasicEntity<Long> {
     /**
      * 主键
      */
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.ASSIGN_ID)
     private Long id;
 
     /**

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

@@ -22,7 +22,7 @@ public class RankAwardConfig extends BasicEntity<Long> {
     /**
      * 主键
      */
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.ASSIGN_ID)
     private Long id;
 
     /**

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

@@ -24,7 +24,7 @@ public class RankAwardRecord implements Serializable {
     /**
      * 主键
      */
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.ASSIGN_ID)
     private Long id;
 
     /**

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

@@ -26,7 +26,7 @@ public class UserInvite implements Serializable {
     /**
      * 主键
      */
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.ASSIGN_ID)
     private Long id;
 
     /**

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

@@ -26,7 +26,7 @@ public class UserProfitRatio implements Serializable {
     /**
      * 主键
      */
-    @TableId(type = IdType.AUTO)
+    @TableId(type = IdType.ASSIGN_ID)
     private Long id;
 
     /**

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

@@ -21,9 +21,9 @@ public interface OmsOrderPayHistoryService {
 
     /**
      * 查看支付信息
-     * @param userId
+     * @param merchantId
      * @param paging
      * @return
      */
-    Pagination<OmsOrderDTO> selectOmsOrderPayHistoryListByUserId(Long userId, Paging paging);
+    Pagination<OmsOrderDTO> selectOmsOrderPayHistoryListByUserId(Long merchantId, Paging paging);
 }

+ 6 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/UserProfitRatioService.java

@@ -1,5 +1,7 @@
 package com.chelvc.cloud.vehicle.server.service;
 
+import com.chelvc.cloud.vehicle.server.entity.UserProfitRatio;
+
 public interface UserProfitRatioService {
     /**
      * 获取抽佣比例
@@ -8,4 +10,8 @@ public interface UserProfitRatioService {
      * @return
      */
     int queryRatio(Long inviteUserId, Integer type);
+
+    UserProfitRatio selectOne(Long userId, Integer type);
+
+    int update(UserProfitRatio userProfitRatio);
 }

+ 6 - 4
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/AssessServiceImpl.java

@@ -2,14 +2,14 @@ package com.chelvc.cloud.vehicle.server.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chelvc.cloud.uc.api.dto.UserDTO;
+import com.chelvc.cloud.uc.api.service.UserService;
 import com.chelvc.cloud.vehicle.api.dto.AssessRecoverDto;
 import com.chelvc.cloud.vehicle.api.dto.GoodsAssessDto;
-import com.chelvc.cloud.uc.api.dto.UserDTO;
 import com.chelvc.cloud.vehicle.api.param.AssessModifyParam;
 import com.chelvc.cloud.vehicle.api.param.AssessQueryParam;
 import com.chelvc.cloud.vehicle.api.param.AssessRecoverModifyParam;
 import com.chelvc.cloud.vehicle.api.service.AssessService;
-import com.chelvc.cloud.uc.api.service.UserService;
 import com.chelvc.cloud.vehicle.server.copier.AssessRecoverCopier;
 import com.chelvc.cloud.vehicle.server.copier.GoodsAssessCopier;
 import com.chelvc.cloud.vehicle.server.dao.AssessRecoverMapper;
@@ -26,12 +26,14 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**

+ 3 - 3
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/AssetServiceImpl.java

@@ -3,6 +3,7 @@ package com.chelvc.cloud.vehicle.server.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chelvc.cloud.vehicle.api.constant.PlatformConstant;
 import com.chelvc.cloud.vehicle.server.dao.AssetMapper;
 import com.chelvc.cloud.vehicle.server.entity.Asset;
 import com.chelvc.cloud.vehicle.server.service.AssetService;
@@ -49,7 +50,6 @@ public class AssetServiceImpl extends ServiceImpl<AssetMapper, Asset> implements
             } else if (operateType == 1) {
                 asset.setTotal(total.subtract(operateAmount));
             }
-            return asset.getTotal();
         } else if(amountType == 2){
             BigDecimal frozen = asset.getFrozen();
             if (operateType == 1 && frozen.compareTo(operateAmount) < 0) {
@@ -71,11 +71,11 @@ public class AssetServiceImpl extends ServiceImpl<AssetMapper, Asset> implements
 
     @Override
     public void updatePlatformAsset(BigDecimal platformRealityAmount, BigDecimal payAmount) {
-        Asset asset = queryAsset(1L, 0);
+        Asset asset = queryAsset(PlatformConstant.PLATFORM_ID, 0);
         BigDecimal frozen = asset.getFrozen();
         if(frozen.compareTo(payAmount) < 0){
             throw new ResourceUnavailableException("账户冻结余额不足");
         }
-        baseMapper.updatePlatformAsset(platformRealityAmount, payAmount, LocalDateTime.now());
+        baseMapper.updatePlatformAsset(platformRealityAmount, payAmount, LocalDateTime.now(), PlatformConstant.PLATFORM_ID);
     }
 }

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

@@ -25,14 +25,14 @@ public class BalanceDetailServiceImpl extends ServiceImpl<BalanceDetailMapper, B
 
     private final BalanceDetailMapper merchantBalanceDetailMapper;
     @Override
-    public void recordFlow(Long orderId, Integer type, Long userId, BigDecimal operateAmount, BigDecimal surplusAmount,
+    public void recordFlow(Long orderId, Integer type, Long targetId, BigDecimal operateAmount, BigDecimal surplusAmount,
                            Integer flowType, Integer operateType, Long sourceId) {
         BalanceDetail detail = new BalanceDetail();
         detail.setType(type);
         detail.setFlowType(flowType);
         detail.setOperateType(operateType);
         detail.setOrderId(orderId);
-        detail.setUserId(userId);
+        detail.setTargetId(targetId);
         detail.setCreateTime(LocalDateTime.now());
         detail.setOperateAmount(operateAmount);
         detail.setSurplusAmount(surplusAmount);
@@ -41,22 +41,23 @@ public class BalanceDetailServiceImpl extends ServiceImpl<BalanceDetailMapper, B
     }
 
     @Override
-    public Pagination<BalanceDetailDTO> queryByUserId(QueryMerchantBalanceParam param,
-                    Integer pageNum, Integer pageSize, Long userId, Integer type) {
-        if(param == null || userId == null){
+    public Pagination<BalanceDetailDTO> queryByMerchantId(QueryMerchantBalanceParam param,
+                    Integer pageNum, Integer pageSize, Integer type) {
+        Long merchantId = param.getMerchantId();
+        if(merchantId == null){
             return null;
         }
         Page<BalanceDetailDTO> page = new Page<>(pageNum, pageSize);
         IPage<BalanceDetailDTO> result = merchantBalanceDetailMapper
-                .queryByUserId(page, queryWrapper(param, userId, type));
+                .queryByUserId(page, queryWrapper(param, merchantId, type));
         return Pagination.<BalanceDetailDTO>builder().total(result.getTotal()).pages(result.getPages())
                 .records(result.getRecords()).build();
     }
 
-    public QueryWrapper<BalanceDetail> queryWrapper(QueryMerchantBalanceParam param, Long userId, Integer type) {
+    public QueryWrapper<BalanceDetail> queryWrapper(QueryMerchantBalanceParam param, Long merchantId, Integer type) {
         QueryWrapper<BalanceDetail> lqw = Wrappers.query();
         lqw.eq("t1.type", type);
-        lqw.eq("t1.user_id", userId);
+        lqw.eq("t1.target_id", merchantId);
         if(param.getFlowType() != null){
             lqw.eq("t1.flow_type", param.getFlowType());
         }

+ 4 - 5
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/InformServiceImpl.java

@@ -16,7 +16,6 @@ import org.springframework.stereotype.Service;
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.InformService.class)
 public class InformServiceImpl implements InformService {
     private final IOmsOrderOperateHistoryService omsOrderOperateHistoryService;
-    private final DynamicEvaluateRecordService dynamicEvaluateRecordService;
     private final UserCouponService userCouponService;
     private final OmsOrderPayHistoryService omsOrderPayHistoryService;
     private final CommentService commentService;
@@ -61,9 +60,9 @@ public class InformServiceImpl implements InformService {
     }
 
     @Override
-    public NewMerchantInformDTO getMerchantNewInform(Long userId) {
+    public NewMerchantInformDTO getMerchantNewInform(Long merchantId) {
         NewMerchantInformDTO dto = new NewMerchantInformDTO();
-        Integer orderNum = omsOrderReturnApplyService.queryReturnOrderNum(userId);
+        Integer orderNum = omsOrderReturnApplyService.queryReturnOrderNum(merchantId);
         dto.setOrderNum(orderNum);
         return dto;
     }
@@ -74,8 +73,8 @@ public class InformServiceImpl implements InformService {
     }
 
     @Override
-    public Pagination<OmsOrderDTO> selectOmsOrderPayHistoryListByUserId(Long userId, Paging paging) {
-        return omsOrderPayHistoryService.selectOmsOrderPayHistoryListByUserId(userId, paging);
+    public Pagination<OmsOrderDTO> selectOmsOrderPayHistoryListByUserId(Long merchantId, Paging paging) {
+        return omsOrderPayHistoryService.selectOmsOrderPayHistoryListByUserId(merchantId, paging);
     }
 
     @Override

+ 11 - 10
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OderHandleServiceImpl.java

@@ -2,6 +2,7 @@ package com.chelvc.cloud.vehicle.server.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.chelvc.cloud.vehicle.api.constant.PlatformConstant;
 import com.chelvc.cloud.vehicle.api.service.UserInviteService;
 import com.chelvc.cloud.vehicle.server.dao.OmsOrderMapper;
 import com.chelvc.cloud.vehicle.server.entity.OmsOrder;
@@ -146,19 +147,19 @@ public class OderHandleServiceImpl implements OrderHandleService {
         //更新平台资产
         assetService.updatePlatformAsset(platformRealityAmount, payAmount);
         //平台流水
-        currencyRecordService.recordFlow(1L, 0, 0, orderId, userId, 3, platformAmount, deduct, platformRealityAmount);
+        currencyRecordService.recordFlow(PlatformConstant.PLATFORM_ID, 0, 0, orderId, userId, 3, platformAmount, deduct, platformRealityAmount);
 
         omsOrderOperateHistoryService.insertOmsOrderOperateHistory(omsOrder.getId(), userId, omsOrder.getStatus());
-        /*BigDecimal platformSurplusAmount = assetService.updateAsset(1, operateAmount, 1L, 0);
-        balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, operateAmount, platformSurplusAmount, 1, 1,
+        /*BigDecimal platformSurplusAmount = assetService.updateAsset(1, operateAmount, 0L, 0);
+        balanceDetailService.recordFlow(omsOrder.getId(), 0, 0L, operateAmount, platformSurplusAmount, 1, 1,
                 merchantId);
         //邀请用户---分得佣金
         if (userAmount.compareTo(BigDecimal.ZERO) > 0) {
             BigDecimal userSurplusAmount = assetService.updateAsset(0, userAmount, inviteUserId, 1);
             balanceDetailService.recordFlow(omsOrder.getId(), 1, inviteUserId, userAmount, userSurplusAmount, 0, 1,
                     userId);
-            BigDecimal platformSurplusAmount1 = assetService.updateAsset(1, userAmount, 1L, 0);
-            balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, userAmount, platformSurplusAmount1, 1, 1,
+            BigDecimal platformSurplusAmount1 = assetService.updateAsset(1, userAmount, 0L, 0);
+            balanceDetailService.recordFlow(omsOrder.getId(), 0, 0L, userAmount, platformSurplusAmount1, 1, 1,
                     inviteUserId);
         }
         //邀请商家---分得佣金
@@ -166,8 +167,8 @@ public class OderHandleServiceImpl implements OrderHandleService {
             BigDecimal merchantSurplusAmount2 = assetService.updateAsset(0, merchantAmount, inviteMerchantId, 1);
             balanceDetailService.recordFlow(omsOrder.getId(), 1, inviteMerchantId, merchantAmount,
                     merchantSurplusAmount2, 0, 1, merchantId);
-            BigDecimal platformSurplusAmount2 = assetService.updateAsset(1, merchantAmount, 1L, 0);
-            balanceDetailService.recordFlow(omsOrder.getId(), 0, 1L, merchantAmount, platformSurplusAmount2, 1, 1,
+            BigDecimal platformSurplusAmount2 = assetService.updateAsset(1, merchantAmount, 0L, 0);
+            balanceDetailService.recordFlow(omsOrder.getId(), 0, 0L, merchantAmount, platformSurplusAmount2, 1, 1,
                     inviteMerchantId);
         }*/
     }
@@ -175,10 +176,10 @@ public class OderHandleServiceImpl implements OrderHandleService {
     @Override
     public void paySuccess(OmsOrder order) {
         omsOrderMapper.updateById(order);
-        assetService.updateAsset(0, order.getPayAmount(), 1L, 0, 2);
+        assetService.updateAsset(0, order.getPayAmount(), PlatformConstant.PLATFORM_ID, 0, 2);
         omsOrderOperateHistoryService.insertOmsOrderOperateHistory(order.getId(), order.getUserId(), order.getStatus());
-       /* BigDecimal surplusAmount = assetService.updateAsset(0, order.getPayAmount(), 1L, 0);
-        balanceDetailService.recordFlow(order.getId(), 0, 1L, order.getPayAmount(), surplusAmount, 0, 1,
+       /* BigDecimal surplusAmount = assetService.updateAsset(0, order.getPayAmount(), 0L, 0);
+        balanceDetailService.recordFlow(order.getId(), 0, 0L, order.getPayAmount(), surplusAmount, 0, 1,
                 order.getUserId());*/
     }
 

+ 25 - 9
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderOperateHistoryServiceImpl.java

@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chelvc.cloud.vehicle.api.dto.OmsOrderDetailDTO;
 import com.chelvc.cloud.vehicle.api.dto.OmsOrderOperateHistoryDTO;
+import com.chelvc.cloud.vehicle.api.service.IOmsOrderService;
 import com.chelvc.cloud.vehicle.server.dao.OmsOrderOperateHistoryMapper;
 import com.chelvc.cloud.vehicle.server.entity.OmsOrderOperateHistory;
 import com.chelvc.cloud.vehicle.server.service.IOmsOrderOperateHistoryService;
@@ -12,6 +14,10 @@ import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.model.Paging;
 import com.chelvc.framework.common.util.ObjectUtils;
 import com.chelvc.framework.database.context.DatabaseContextHolder;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
@@ -19,17 +25,20 @@ import java.util.List;
 
 /**
  * 订单操作历史记录Service业务层处理
- * 
+ *
  * @author liude
  * @date 2023-11-08
  */
 @Service
+@RequiredArgsConstructor(onConstructor = @__({@Autowired, @Lazy}))
 public class OmsOrderOperateHistoryServiceImpl extends ServiceImpl<OmsOrderOperateHistoryMapper, OmsOrderOperateHistory>
         implements IOmsOrderOperateHistoryService
 {
+    private final IOmsOrderService omsOrderService;
+
     /**
      * 查询订单操作历史记录
-     * 
+     *
      * @param id 订单操作历史记录主键
      * @return 订单操作历史记录
      */
@@ -41,7 +50,7 @@ public class OmsOrderOperateHistoryServiceImpl extends ServiceImpl<OmsOrderOpera
 
     /**
      * 查询订单操作历史记录列表
-     * 
+     *
      * @param omsOrderOperateHistory 订单操作历史记录
      * @return 订单操作历史记录
      */
@@ -53,7 +62,7 @@ public class OmsOrderOperateHistoryServiceImpl extends ServiceImpl<OmsOrderOpera
 
     /**
      * 新增订单操作历史记录
-     * 
+     *
      * @param orderId 订单标识
      * @param userId 用户标识
      * @param orderStatus 订单状态
@@ -77,7 +86,7 @@ public class OmsOrderOperateHistoryServiceImpl extends ServiceImpl<OmsOrderOpera
 
     /**
      * 修改订单操作历史记录
-     * 
+     *
      * @param omsOrderOperateHistory 订单操作历史记录
      * @return 结果
      */
@@ -89,7 +98,7 @@ public class OmsOrderOperateHistoryServiceImpl extends ServiceImpl<OmsOrderOpera
 
     /**
      * 批量删除订单操作历史记录
-     * 
+     *
      * @param ids 需要删除的订单操作历史记录主键
      * @return 结果
      */
@@ -101,7 +110,7 @@ public class OmsOrderOperateHistoryServiceImpl extends ServiceImpl<OmsOrderOpera
 
     /**
      * 删除订单操作历史记录信息
-     * 
+     *
      * @param id 订单操作历史记录主键
      * @return 结果
      */
@@ -122,8 +131,15 @@ public class OmsOrderOperateHistoryServiceImpl extends ServiceImpl<OmsOrderOpera
         Page<OmsOrderOperateHistory> page = this.lambdaQuery()
                 .eq(OmsOrderOperateHistory::getUserId, userId)
                 .orderByAsc(OmsOrderOperateHistory::getCreateTime).page(DatabaseContextHolder.page(paging));
-        List<OmsOrderOperateHistory> OmsOrderOperateHistories = page.getRecords();
-        List<OmsOrderOperateHistoryDTO> copy = ObjectUtils.copying(OmsOrderOperateHistories, OmsOrderOperateHistoryDTO.class);
+        List<OmsOrderOperateHistory> omsOrderOperateHistories = page.getRecords();
+        if(CollectionUtils.isEmpty(omsOrderOperateHistories)){
+            return null;
+        }
+        List<OmsOrderOperateHistoryDTO> copy = ObjectUtils.copying(omsOrderOperateHistories, OmsOrderOperateHistoryDTO.class);
+        for(OmsOrderOperateHistoryDTO history : copy){
+            OmsOrderDetailDTO detail = omsOrderService.detail(history.getOrderId());
+            history.setOrderDetailDTO(detail);
+        }
         return DatabaseContextHolder.pagination(page, copy);
     }
 

+ 4 - 7
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderPayHistoryServiceImpl.java

@@ -10,7 +10,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.vehicle.api.dto.OmsOrderDTO;
 import com.chelvc.cloud.vehicle.server.dao.OmsOrderPayHistoryMapper;
 import com.chelvc.cloud.vehicle.server.entity.OmsOrderPayHistory;
-import com.chelvc.cloud.vehicle.server.service.IOmsOrderService;
 import com.chelvc.cloud.vehicle.server.service.OmsOrderPayHistoryService;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.model.Paging;
@@ -22,8 +21,6 @@ import org.springframework.stereotype.Service;
 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
 public class OmsOrderPayHistoryServiceImpl extends ServiceImpl<OmsOrderPayHistoryMapper, OmsOrderPayHistory> implements OmsOrderPayHistoryService {
 
-    private final IOmsOrderService omsOrderService;
-
     @Override
     public Integer queryNewInformNum(Long userId) {
         LambdaQueryWrapper<OmsOrderPayHistory> lwq = Wrappers.lambdaQuery();
@@ -42,16 +39,16 @@ public class OmsOrderPayHistoryServiceImpl extends ServiceImpl<OmsOrderPayHistor
     }
 
     @Override
-    public Pagination<OmsOrderDTO> selectOmsOrderPayHistoryListByUserId(Long userId, Paging paging) {
+    public Pagination<OmsOrderDTO> selectOmsOrderPayHistoryListByUserId(Long merchantId, Paging paging) {
         Page<OmsOrderDTO> page = new Page<>(paging.getIndex(), paging.getSize());
-        IPage<OmsOrderDTO> result = baseMapper.selectOmsOrderPayHistoryListByUserId(page, queryWrapper(userId));
+        IPage<OmsOrderDTO> result = baseMapper.selectOmsOrderPayHistoryListByUserId(page, queryWrapper(merchantId));
         return Pagination.<OmsOrderDTO>builder().total(result.getTotal()).pages(result.getPages())
                 .records(result.getRecords()).build();
     }
 
-    private QueryWrapper<OmsOrderPayHistory> queryWrapper(Long userId) {
+    private QueryWrapper<OmsOrderPayHistory> queryWrapper(Long merchantId) {
         QueryWrapper<OmsOrderPayHistory> lqw = Wrappers.query();
-        lqw.eq("t1.user_id", userId);
+        lqw.eq("t1.merchant_id", merchantId);
         lqw.orderByDesc("t1.create_time","t1.id");
         return lqw;
     }

+ 7 - 6
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderServiceImpl.java

@@ -74,7 +74,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
 //        result.setMemberIntegration(currentMember.getIntegration());
 //        //获取积分使用规则
 //        UmsIntegrationConsumeSetting integrationConsumeSetting = integrationConsumeSettingMapper.selectByPrimaryKey
-//        (1L);
+//        (PlatformConstant.);
 //        result.setIntegrationConsumeSetting(integrationConsumeSetting);
 //        //计算总金额、活动优惠、应付金额
         CalcAmountDTO calcAmount = calcCartAmount(cartItemList);
@@ -133,6 +133,7 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
                 Asserts.check(true, "该优惠券不可用");
             }
             //对下单商品的优惠券进行处理
+            assert userCouponDTO != null;
             handleCouponAmount(orderItemList, userCouponDTO);
         }
         //判断是否使用积分
@@ -417,12 +418,10 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
     @Override
     public OmsOrderDetailDTO detail(Long orderId) {
         OmsOrder omsOrder = this.baseMapper.selectOmsOrderById(orderId);
-        OmsOrderItem orderItem = new OmsOrderItem();
-        orderItem.setOrderId(orderId);
-        List<OmsOrderItem> orderItemList = omsOrderItemService.selectByExample(orderItem);
+        List<OmsOrderItemDTO> orderItemList = omsOrderItemService.getOrderItemByOrderId(orderId);
         OmsOrderDetailDTO orderDetail = new OmsOrderDetailDTO();
         BeanUtils.copyProperties(omsOrder, orderDetail);
-//        orderDetail.setOrderItemList(orderItemList);
+        orderDetail.setOrderItemList(orderItemList);
         return orderDetail;
     }
 
@@ -828,10 +827,12 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
         AssertUtils.available(orderId, "订单不存在");
         OmsOrder omsOrder = baseMapper.selectById(orderId);
         AssertUtils.available(omsOrder, "订单不存在");
+        //List<Long> merchantIds = this.merchantService.getMerchantIdsByUserId(merchantUserId);
+        AssertUtils.available(merchantId, "商家不存在");
         AssertUtils.available(omsOrder.getMerchantId() != null && omsOrder.getMerchantId().equals(merchantId),
                 "该订单商品不属于此商家");
         Integer status = omsOrder.getStatus();
-        AssertUtils.available(status != 1, "该订单不可用");
+        AssertUtils.available(status == 1, "该订单不可用");
         DatabaseContextHolder.transactional((Executor) () -> {
             orderHandleService.handleOrder(omsOrder);
         });

+ 11 - 10
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/PlatformProfitRatioServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chelvc.cloud.vehicle.api.constant.PlatformConstant;
 import com.chelvc.cloud.vehicle.api.dto.PlatformProfitRatioDTO;
 import com.chelvc.cloud.vehicle.api.param.EditPlatformProfitRatioParam;
 import com.chelvc.cloud.vehicle.api.param.QueryPlatformProfitRatioParam;
@@ -60,8 +61,8 @@ public class PlatformProfitRatioServiceImpl extends ServiceImpl<PlatformProfitRa
             List<PlatformProfitRatioDTO> records = platformProfitRatioDTOPagination.getRecords();
             if (!CollectionUtils.isEmpty(records)) {
                 for (PlatformProfitRatioDTO dto : records) {
-                    Long userId = dto.getUserId();
-                    BigDecimal amount = omsOrderService.queryAmountByLastMonth(userId);
+                    Long merchantId = dto.getMerchantId();
+                    BigDecimal amount = omsOrderService.queryAmountByLastMonth(merchantId);
                     for (ProfitRatioConfig config : profitRatioConfigs) {
                         int num = config.getNum();
                         if (amount.compareTo(new BigDecimal(num)) > -1) {
@@ -78,7 +79,7 @@ public class PlatformProfitRatioServiceImpl extends ServiceImpl<PlatformProfitRa
     @Override
     public int queryRatio(Long merchantId) {
         LambdaQueryWrapper<PlatformProfitRatio> wrapper = Wrappers.lambdaQuery();
-        wrapper.eq(PlatformProfitRatio::getUserId, merchantId);
+        wrapper.eq(PlatformProfitRatio::getMerchantId, merchantId);
         PlatformProfitRatio platformProfitRatio = baseMapper.selectOne(wrapper);
         if (platformProfitRatio != null) {
             return platformProfitRatio.getRatio();
@@ -107,13 +108,13 @@ public class PlatformProfitRatioServiceImpl extends ServiceImpl<PlatformProfitRa
                 .records(result.getRecords()).build();
     }
 
-    public int init(Long userId) {
+    public int init(Long merchantId) {
         ProfitRatioConfig config = profitRatioConfigService.queryByTypeAndLeast(1);
         PlatformProfitRatio ratio = new PlatformProfitRatio();
-        ratio.setUserId(userId);
+        ratio.setMerchantId(merchantId);
         ratio.setRatio(config == null ? 10 : config.getRatio());
-        ratio.setUpdater(1L);
-        ratio.setUpdater(1L);
+        ratio.setUpdater(PlatformConstant.PLATFORM_ID);
+        ratio.setUpdater(PlatformConstant.PLATFORM_ID);
         ratio.setUpdateTime(LocalDateTime.now());
         ratio.setCreateTime(LocalDateTime.now());
         ratio.setTurnover(new BigDecimal("0"));
@@ -123,12 +124,12 @@ public class PlatformProfitRatioServiceImpl extends ServiceImpl<PlatformProfitRa
 
     @Override
     public void edit(EditPlatformProfitRatioParam param) {
-        Long userId = param.getUserId();
+        Long merchantId = param.getMerchantId();
         LambdaQueryWrapper<PlatformProfitRatio> wrapper = Wrappers.lambdaQuery();
-        wrapper.eq(PlatformProfitRatio::getUserId, userId);
+        wrapper.eq(PlatformProfitRatio::getMerchantId, merchantId);
         PlatformProfitRatio platformProfitRatio = baseMapper.selectOne(wrapper);
         if (platformProfitRatio == null) {
-            init(userId);
+            init(merchantId);
             return;
         }
         platformProfitRatio.setRatio(param.getRatio());

+ 6 - 18
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/UserInviteServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.uc.api.dto.UserDTO;
 import com.chelvc.cloud.uc.api.service.UserService;
+import com.chelvc.cloud.vehicle.api.constant.PlatformConstant;
 import com.chelvc.cloud.vehicle.api.dto.TeamDTO;
 import com.chelvc.cloud.vehicle.api.dto.TeamDetailsDTO;
 import com.chelvc.cloud.vehicle.api.param.TeamInvitePageParam;
@@ -12,11 +13,11 @@ import com.chelvc.cloud.vehicle.api.param.UserInviteParams;
 import com.chelvc.cloud.vehicle.api.service.UserInviteService;
 import com.chelvc.cloud.vehicle.server.dao.ProfitRatioConfigMapper;
 import com.chelvc.cloud.vehicle.server.dao.UserInviteMapper;
-import com.chelvc.cloud.vehicle.server.dao.UserProfitRatioMapper;
 import com.chelvc.cloud.vehicle.server.entity.ProfitRatioConfig;
 import com.chelvc.cloud.vehicle.server.entity.UserInvite;
 import com.chelvc.cloud.vehicle.server.entity.UserProfitRatio;
 import com.chelvc.cloud.vehicle.server.service.MerchantService;
+import com.chelvc.cloud.vehicle.server.service.UserProfitRatioService;
 import com.chelvc.framework.common.exception.ResourceUnavailableException;
 import com.chelvc.framework.common.function.Executor;
 import com.chelvc.framework.common.model.Paging;
@@ -39,7 +40,7 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
 
     private final ProfitRatioConfigMapper profitRatioConfigMapper;
 
-    private final UserProfitRatioMapper userProfitRatioMapper;
+    private final UserProfitRatioService userProfitRatioService;
 
     @DubboReference
     UserService userService;
@@ -76,20 +77,7 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
             lwq.eq(UserInvite::getType, type);
             Integer total = baseMapper.selectCount(lwq);
             int ratio = 0;
-            LambdaQueryWrapper<UserProfitRatio> lambdaQuery = Wrappers.lambdaQuery();
-            lambdaQuery.eq(UserProfitRatio::getUserId, userId);
-            lambdaQuery.eq(UserProfitRatio::getType, type);
-            UserProfitRatio userProfitRatio = userProfitRatioMapper.selectOne(lambdaQuery);
-            if (userProfitRatio == null) {
-                userProfitRatio = new UserProfitRatio();
-                userProfitRatio.setRatio(ratio);
-                userProfitRatio.setUserId(userId);
-                userProfitRatio.setType(type);
-                userProfitRatio.setCreateTime(LocalDateTime.now());
-                userProfitRatio.setUpdateTime(LocalDateTime.now());
-                userProfitRatio.setUpdater(1L);
-                userProfitRatioMapper.insert(userProfitRatio);
-            }
+            UserProfitRatio userProfitRatio = userProfitRatioService.selectOne(userId, type);
             int oldRatio = userProfitRatio.getRatio();
             LambdaQueryWrapper<ProfitRatioConfig> config = Wrappers.lambdaQuery();
             config.eq(ProfitRatioConfig::getType, type);
@@ -108,8 +96,8 @@ public class UserInviteServiceImpl extends ServiceImpl<UserInviteMapper, UserInv
             if (ratio != 0 && ratio != oldRatio) {
                 userProfitRatio.setRatio(ratio);
                 userProfitRatio.setUpdateTime(LocalDateTime.now());
-                userProfitRatio.setUpdater(1L);
-                userProfitRatioMapper.update(userProfitRatio, null);
+                userProfitRatio.setUpdater(PlatformConstant.PLATFORM_ID);
+                userProfitRatioService.update(userProfitRatio);
             }
         });
     }

+ 48 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/UserProfitRatioServiceImpl.java

@@ -3,16 +3,24 @@ package com.chelvc.cloud.vehicle.server.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.chelvc.cloud.vehicle.api.constant.PlatformConstant;
+import com.chelvc.cloud.vehicle.server.dao.ProfitRatioConfigMapper;
 import com.chelvc.cloud.vehicle.server.dao.UserProfitRatioMapper;
+import com.chelvc.cloud.vehicle.server.entity.ProfitRatioConfig;
 import com.chelvc.cloud.vehicle.server.entity.UserProfitRatio;
 import com.chelvc.cloud.vehicle.server.service.UserProfitRatioService;
 import lombok.RequiredArgsConstructor;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.time.LocalDateTime;
+import java.util.List;
+
 @Service
 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
 public class UserProfitRatioServiceImpl extends ServiceImpl<UserProfitRatioMapper, UserProfitRatio> implements UserProfitRatioService {
+    private final ProfitRatioConfigMapper profitRatioConfigMapper;
 
     @Override
     public int queryRatio(Long inviteUserId, Integer type) {
@@ -21,8 +29,47 @@ public class UserProfitRatioServiceImpl extends ServiceImpl<UserProfitRatioMappe
         wrapper.eq(UserProfitRatio::getType, type);
         UserProfitRatio userProfitRatio = baseMapper.selectOne(wrapper);
         if(userProfitRatio == null){
-            return 0;
+            UserProfitRatio init = init(inviteUserId, type);
+            return init.getRatio();
         }
         return userProfitRatio.getRatio();
     }
+
+    @Override
+    public UserProfitRatio selectOne(Long userId, Integer type) {
+        LambdaQueryWrapper<UserProfitRatio> lambdaQuery = Wrappers.lambdaQuery();
+        lambdaQuery.eq(UserProfitRatio::getUserId, userId);
+        lambdaQuery.eq(UserProfitRatio::getType, type);
+        UserProfitRatio userProfitRatio = baseMapper.selectOne(lambdaQuery);
+        if (userProfitRatio == null) {
+            return init(userId, type);
+        }
+        return userProfitRatio;
+    }
+
+    @Override
+    public int update(UserProfitRatio userProfitRatio) {
+        return baseMapper.update(userProfitRatio, null);
+    }
+
+    public UserProfitRatio init(Long userId, Integer type){
+        LambdaQueryWrapper<ProfitRatioConfig> config = Wrappers.lambdaQuery();
+        config.eq(ProfitRatioConfig::getType, type);
+        config.eq(ProfitRatioConfig::getStatus, 0);
+        config.orderByAsc(ProfitRatioConfig::getRatio);
+        List<ProfitRatioConfig> list = profitRatioConfigMapper.selectList(config);
+        int ratio = 0;
+        if(CollectionUtils.isNotEmpty(list)){
+            ratio = list.get(0).getRatio();
+        }
+        UserProfitRatio userProfitRatio = new UserProfitRatio();
+        userProfitRatio.setRatio(ratio);
+        userProfitRatio.setUserId(userId);
+        userProfitRatio.setType(type);
+        userProfitRatio.setCreateTime(LocalDateTime.now());
+        userProfitRatio.setUpdateTime(LocalDateTime.now());
+        userProfitRatio.setUpdater(PlatformConstant.PLATFORM_ID);
+        baseMapper.insert(userProfitRatio);
+        return userProfitRatio;
+    }
 }

+ 22 - 8
vehicle-server/src/main/resources/mapper/OmsOrderOperateHistoryMapper.xml

@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.chelvc.cloud.vehicle.server.dao.OmsOrderOperateHistoryMapper">
-    
+
     <resultMap type="com.chelvc.cloud.vehicle.server.entity.OmsOrderOperateHistory" id="OmsOrderOperateHistoryResult">
         <result property="id"    column="id"    />
         <result property="orderId"    column="order_id"    />
@@ -16,37 +16,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectOmsOrderOperateHistoryVo">
-        select id, order_id, user_id, operate_man, create_time, order_status, flag, note from oms_order_operate_history
+        select id, order_id, user_id, operate_man, create_time, update_time, order_status, flag, note from oms_order_operate_history
     </sql>
 
     <select id="selectOmsOrderOperateHistoryList" parameterType="com.chelvc.cloud.vehicle.server.entity.OmsOrderOperateHistory" resultMap="OmsOrderOperateHistoryResult">
         <include refid="selectOmsOrderOperateHistoryVo"/>
-        <where>  
+        <where>
             <if test="orderId != null "> and order_id = #{orderId}</if>
-            <if test="operateMan != null  and operateMan != ''"> and operate_man = #{operateMan}</if>
+            <if test="userId != null"> and user_id = #{userId}</if>
+            <if test="operateMan != null"> and operate_man = #{operateMan}</if>
             <if test="orderStatus != null "> and order_status = #{orderStatus}</if>
             <if test="note != null  and note != ''"> and note = #{note}</if>
         </where>
     </select>
-    
+
     <select id="selectOmsOrderOperateHistoryById" parameterType="Long" resultMap="OmsOrderOperateHistoryResult">
         <include refid="selectOmsOrderOperateHistoryVo"/>
         where id = #{id}
     </select>
-        
+
     <insert id="insertOmsOrderOperateHistory" parameterType="com.chelvc.cloud.vehicle.server.entity.OmsOrderOperateHistory" useGeneratedKeys="true" keyProperty="id">
         insert into oms_order_operate_history
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="orderId != null">order_id,</if>
             <if test="operateMan != null">operate_man,</if>
+            <if test="userId != null">user_id,</if>
             <if test="createTime != null">create_time,</if>
+            <if test="updateTime != null">update_time,</if>
             <if test="orderStatus != null">order_status,</if>
             <if test="note != null">note,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="orderId != null">#{orderId},</if>
+            <if test="userId != null">#{userId},</if>
             <if test="operateMan != null">#{operateMan},</if>
             <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
             <if test="orderStatus != null">#{orderStatus},</if>
             <if test="note != null">#{note},</if>
          </trim>
@@ -56,9 +61,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         update oms_order_operate_history
         <trim prefix="SET" suffixOverrides=",">
             <if test="orderId != null">order_id = #{orderId},</if>
+            <if test="userId != null">user_id = #{userId},</if>
             <if test="operateMan != null">operate_man = #{operateMan},</if>
             <if test="createTime != null">create_time = #{createTime},</if>
             <if test="orderStatus != null">order_status = #{orderStatus},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
             <if test="note != null">note = #{note},</if>
         </trim>
         where id = #{id}
@@ -69,7 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </delete>
 
     <delete id="deleteOmsOrderOperateHistoryByIds" parameterType="String">
-        delete from oms_order_operate_history where id in 
+        delete from oms_order_operate_history where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
@@ -87,4 +94,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where user_id = #{userId}
         and flag = 0
     </update>
-</mapper>
+
+    <insert id="batchInsertOmsOrderOperateHistory" keyColumn="id" keyProperty="list.id" parameterType="java.util.List" useGeneratedKeys="true">
+        insert into oms_order_pay_history (id,order_id,user_id,order_status,create_time) values
+        <foreach collection="list" item="item" index="index" separator="," >
+            (#{item.id},#{item.orderId},#{item.userId},#{item.orderStatus},#{item.createTime})
+        </foreach>
+    </insert>
+</mapper>

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

@@ -4,18 +4,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.chelvc.cloud.vehicle.server.dao.OmsOrderPayHistoryMapper">
 
-
     <select id="selectOmsOrderPayHistoryListByUserId" resultType="com.chelvc.cloud.vehicle.api.dto.OmsOrderDTO">
         select t2.*
         from oms_order_pay_history t1
         left join oms_order t2 on t1.order_id = t2.id
         ${ew.getCustomSqlSegment}
     </select>
-
-    <insert id="batchInsertOmsOrderOperateHistory" keyColumn="id" keyProperty="list.id" parameterType="java.util.List" useGeneratedKeys="true">
-        insert into oms_order_pay_history (id,order_id,user_id,order_status,create_time) values
-        <foreach collection="list" item="item" index="index" separator="," >
-            (#{item.id},#{item.orderId},#{item.userId},#{item.orderStatus},#{item.createTime})
-        </foreach>
-    </insert>
-</mapper>
+</mapper>