소스 검색

排名奖励配置

igl 1 년 전
부모
커밋
226ec9971d

+ 17 - 8
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/RankAwardConfigDTO.java

@@ -6,7 +6,6 @@ import lombok.NoArgsConstructor;
 import lombok.experimental.SuperBuilder;
 
 import java.io.Serializable;
-import java.math.BigDecimal;
 import java.util.Date;
 
 @Data
@@ -23,17 +22,17 @@ public class RankAwardConfigDTO implements Serializable {
     private Long id;
 
     /**
-     * 排名上限
+     * 排名名称
      */
-    private int rankHigh;
+    private String name;
 
     /**
-     * 排名下限
+     * 排名
      */
-    private int rankLow;
+    private int rank;
 
     /**
-     * 类类型:1-月排行榜  暂时默认为1
+     * 类型:0-年;1-季;2-月;3-周;4-日 暂时默认为2
      */
     private Integer type;
 
@@ -43,9 +42,19 @@ public class RankAwardConfigDTO implements Serializable {
     private Integer platformType;
 
     /**
-     * 奖励金额
+     * 奖金比例
      */
-    private BigDecimal bonus;
+    private Integer ratio;
+
+    /**
+     * 平台抽佣比例
+     */
+    private Integer commissionRatio;
+
+    /**
+     * 区域等级:0-国家;1-省;2-市;3-区
+     */
+    private Integer regionLevel;
 
     /**
      * 状态:0-正常;1-停用

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

@@ -14,7 +14,6 @@ public interface RankAwardConfigService {
 
     void delete(Long id, Long userId);
 
-    Pagination<RankAwardConfigDTO> queryPageList(QueryRankAwardConfigParam param, Long pageNum,
-                                                 Long pageSize);
+    Pagination<RankAwardConfigDTO> queryPageList(QueryRankAwardConfigParam param, int number, int size);
 
 }

+ 4 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/dao/RankAwardConfigMapper.java

@@ -9,6 +9,7 @@ import com.chelvc.cloud.vehicle.api.dto.RankAwardConfigDTO;
 import com.chelvc.cloud.vehicle.server.entity.RankAwardConfig;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
@@ -20,4 +21,7 @@ public interface RankAwardConfigMapper extends BaseMapper<RankAwardConfig> {
 
     List<RankAwardConfig> checkOtherRankConfig(@Param("page") Integer type, @Param("page") Integer platformType,
                                                @Param("page") int rankHigh, @Param("page") int rankLow, @Param("id") Long id);
+
+    @Select("select * from rank_award_config where id = #{id}")
+    RankAwardConfig queryById(@Param("id")Long id);
 }

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

@@ -10,6 +10,4 @@ public interface PlatformProfitRatioService {
      * @return
      */
     int queryRatio(Long merchantId);
-
-    void aaa();
 }

+ 11 - 33
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/OmsOrderServiceImpl.java

@@ -1,47 +1,17 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.text.SimpleDateFormat;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.uc.api.model.Scope;
-import com.chelvc.cloud.uc.api.service.EmployeeService;
-import com.chelvc.cloud.vehicle.api.dto.CalcAmountDTO;
-import com.chelvc.cloud.vehicle.api.dto.CartPromotionItemDTO;
-import com.chelvc.cloud.vehicle.api.dto.ConfirmOrderResultDTO;
-import com.chelvc.cloud.vehicle.api.dto.CouponDTO;
-import com.chelvc.cloud.vehicle.api.dto.OmsCartItemDTO;
-import com.chelvc.cloud.vehicle.api.dto.OmsOrderDTO;
-import com.chelvc.cloud.vehicle.api.dto.OmsOrderDetailDTO;
-import com.chelvc.cloud.vehicle.api.dto.OmsOrderExampleDTO;
-import com.chelvc.cloud.vehicle.api.dto.OmsOrderItemDTO;
-import com.chelvc.cloud.vehicle.api.dto.UserCouponDTO;
+import com.chelvc.cloud.vehicle.api.dto.*;
 import com.chelvc.cloud.vehicle.api.param.OmsOrderModifyParam;
 import com.chelvc.cloud.vehicle.api.param.OrderPagingParam;
 import com.chelvc.cloud.vehicle.api.util.DateTimeUtils;
 import com.chelvc.cloud.vehicle.server.copier.MerchantCopier;
 import com.chelvc.cloud.vehicle.server.copier.OrderCopier;
 import com.chelvc.cloud.vehicle.server.dao.OmsOrderMapper;
-import com.chelvc.cloud.vehicle.server.entity.Merchant;
-import com.chelvc.cloud.vehicle.server.entity.OmsOrder;
-import com.chelvc.cloud.vehicle.server.entity.OmsOrderItem;
-import com.chelvc.cloud.vehicle.server.entity.OmsOrderSetting;
-import com.chelvc.cloud.vehicle.server.entity.UserCoupon;
-import com.chelvc.cloud.vehicle.server.service.IOmsOrderItemService;
-import com.chelvc.cloud.vehicle.server.service.IOmsOrderService;
-import com.chelvc.cloud.vehicle.server.service.MerchantService;
-import com.chelvc.cloud.vehicle.server.service.OmsCartItemService;
-import com.chelvc.cloud.vehicle.server.service.OmsOrderSettingService;
-import com.chelvc.cloud.vehicle.server.service.OrderHandleService;
-import com.chelvc.cloud.vehicle.server.service.UserCouponService;
+import com.chelvc.cloud.vehicle.server.entity.*;
+import com.chelvc.cloud.vehicle.server.service.*;
 import com.chelvc.framework.base.context.SessionContextHolder;
 import com.chelvc.framework.common.model.Pagination;
 import com.chelvc.framework.common.util.AssertUtils;
@@ -55,6 +25,12 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.util.*;
+
 /**
  * 订单Service业务层处理
  *
@@ -261,6 +237,8 @@ public class OmsOrderServiceImpl extends ServiceImpl<OmsOrderMapper, OmsOrder> i
         deleteCartItemList(cartPromotionItemList, userId);
         //发送延迟消息取消订单
         sendDelayMessageCancelOrder(order.getId());
+        // todo  调用支付逻辑
+
         Map<String, Object> result = new HashMap<>();
         result.put("order", order);
         result.put("orderItemList", orderItemList);

+ 4 - 9
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/PlatformProfitRatioServiceImpl.java

@@ -1,9 +1,5 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.util.List;
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -27,6 +23,10 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
 @RequiredArgsConstructor(onConstructor = @__({@Autowired, @Lazy}))
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.PlatformProfitRatioService.class)
 public class PlatformProfitRatioServiceImpl extends ServiceImpl<PlatformProfitRatioMapper, PlatformProfitRatio>
@@ -85,11 +85,6 @@ public class PlatformProfitRatioServiceImpl extends ServiceImpl<PlatformProfitRa
         return init(merchantId);
     }
 
-    @Override
-    public void aaa() {
-        System.out.println("1111111111");
-    }
-
     @Override
     public Pagination<PlatformProfitRatioDTO> queryPageList(QueryPlatformProfitRatioParam param, Long pageNum,
                                                             Long pageSize) {

+ 14 - 13
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/RankAwardConfigServiceImpl.java

@@ -1,10 +1,8 @@
 package com.chelvc.cloud.vehicle.server.service.impl;
 
-import java.util.Date;
-import java.util.List;
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -21,7 +19,9 @@ import com.chelvc.framework.common.model.Pagination;
 import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
 
 @RequiredArgsConstructor(onConstructor = @__(@Autowired))
 @DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.RankAwardConfigService.class)
@@ -97,9 +97,8 @@ public class RankAwardConfigServiceImpl extends ServiceImpl<RankAwardConfigMappe
     }
 
     @Override
-    @Transactional
     public void delete(Long id, Long userId) {
-        RankAwardConfig config = baseMapper.selectById(id);
+        RankAwardConfig config = baseMapper.queryById(id);
         if (config == null) {
             throw new ResourceUnavailableException("该配置不存在");
         }
@@ -107,20 +106,22 @@ public class RankAwardConfigServiceImpl extends ServiceImpl<RankAwardConfigMappe
         if (status == 0) {
             throw new ResourceUnavailableException("请先停用该配置");
         }
-        config.setUpdater(userId);
-        config.setUpdateTime(new Date());
-        baseMapper.update(config, null);
-        baseMapper.deleteById(id);
+        LambdaUpdateWrapper<RankAwardConfig> wrapper = Wrappers.lambdaUpdate();
+        wrapper.set(RankAwardConfig::getUpdater, userId);
+        wrapper.set(RankAwardConfig::getUpdateTime, new Date());
+        wrapper.set(RankAwardConfig::getDeleted, 1);
+        wrapper.eq(RankAwardConfig::getId, id);
+        baseMapper.update(null, wrapper);
     }
 
     @Override
-    public Pagination<RankAwardConfigDTO> queryPageList(QueryRankAwardConfigParam param, Long pageNum, Long pageSize) {
-        Page<RankAwardConfigDTO> page = new Page<>(pageNum, pageSize);
+    public Pagination<RankAwardConfigDTO> queryPageList(QueryRankAwardConfigParam param, int number, int size) {
+        Page<RankAwardConfigDTO> page = new Page<>(number, size);
         QueryWrapper<RankAwardConfig> wrapper = Wrappers.query();
         wrapper.eq(param.getType() != null, "type", param.getType());
         wrapper.eq(param.getPlatformType() != null, "platform_type", param.getPlatformType());
         wrapper.eq(param.getStatus() != null, "status", param.getStatus());
-        wrapper.orderByAsc("rank_high");
+        wrapper.orderByAsc("rank");
         IPage<RankAwardConfigDTO> result = baseMapper.queryPageList(page, wrapper);
         return Pagination.<RankAwardConfigDTO>builder().total(result.getTotal()).pages(result.getPages())
                 .records(result.getRecords()).build();

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

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.chelvc.cloud.vehicle.server.dao.UserCouponMapper">
+<mapper namespace="com.chelvc.cloud.vehicle.server.dao.PlatformProfitRatioMapper">
 
     <resultMap type="com.chelvc.cloud.vehicle.api.dto.PlatformProfitRatioDTO" id="PlatformProfitRatioResult">
         <result property="id" column="id"/>