cup 2 년 전
부모
커밋
313c4ef9c0

+ 11 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/channel/mall/ChannelTicketController.java

@@ -30,6 +30,7 @@ import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
 import lombok.AllArgsConstructor;
 import ma.glasnost.orika.MapperFacade;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -122,7 +123,16 @@ public class ChannelTicketController extends BaseApiController {
 //            .eq(null != param.getCategoryId() && 0 != param.getCategoryId(), TicketBox::getCategoryId, param.getCategoryId())
 //            .eq(TicketBox::getStatus, TicketBoxStatusEnum.PUT_ON)
 //            .orderByDesc(TicketBox::getSortWeight));
-    List<TicketBoxListVO> ticketBoxListVOList = mapperFacade.mapAsList(ticketBoxes, TicketBoxListVO.class);
+    List<TicketBoxListVO> ticketBoxListVOList = new ArrayList<>();
+    if (CollectionUtils.isNotEmpty(ticketBoxes)) {
+      for (TicketBox ticketBox : ticketBoxes) {
+        TicketBoxListVO ticketBoxListVO = new TicketBoxListVO();
+        BeanUtils.copyProperties(ticketBox, ticketBoxListVO);
+        // 设置经销商分佣比
+        ticketBoxListVO.setChannelCommRate(channel.getCommRate());
+        ticketBoxListVOList.add(ticketBoxListVO);
+      }
+    }
     TableDataInfo rspData = getDataTable(ticketBoxes);
     rspData.setRows(ticketBoxListVOList);
     return rspData;

+ 20 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/user/UserTicketController.java

@@ -13,6 +13,8 @@ import com.qs.mp.admin.domain.param.TicketBoxParam;
 import com.qs.mp.admin.domain.param.TicketParam;
 import com.qs.mp.admin.domain.vo.*;
 import com.qs.mp.admin.service.*;
+import com.qs.mp.channel.domain.Channel;
+import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.core.page.TableDataInfo;
 import com.qs.mp.common.core.redis.DistributedLocker;
@@ -93,6 +95,9 @@ public class UserTicketController extends BaseApiController {
   @Autowired
   private DistributedLocker distributedLocker;
 
+  @Autowired
+  private IChannelService channelService;
+
   /**
    * 盲票进货列表
    */
@@ -130,6 +135,21 @@ public class UserTicketController extends BaseApiController {
       }
       TicketBox ticketBox = ticketBoxService.getById(param.getBoxId());
       TicketBoxVO ticketBoxVO = mapperFacade.map(ticketBox, TicketBoxVO.class);
+
+
+      // 设置经销商佣金比
+      if (hostHolder.getUser() != null) {
+        Long channelId = hostHolder.getUser().getChannelId();
+        if (channelId != null && channelId > 0) {
+          Channel channel = channelService.getById(channelId);
+          if (channel != null) {
+            ticketBoxVO.setChannelCommRate(channel.getCommRate());
+          }
+        }
+      }
+
+
+
       // 设置奖项标签信息
       QueryWrapper<TicketAwards> queryWrapper = new QueryWrapper<>();
       queryWrapper.eq("box_id",ticketBox.getBoxId());

+ 0 - 8
mp-service/src/main/java/com/qs/mp/admin/domain/TicketBox.java

@@ -240,13 +240,5 @@ public class TicketBox implements Serializable {
     return 0;
   }
 
-  @ApiModelProperty("分佣金额")
-  public BigDecimal getSaleCommPrice() {
-    if (Objects.isNull(this.saleCommRate) || Objects.isNull(this.salePrice)) {
-      return BigDecimal.ZERO;
-    }
-
-    return this.saleCommRate.multiply(new BigDecimal(this.salePrice)).divide(new BigDecimal(100),2, RoundingMode.HALF_UP);
-  }
 
 }

+ 7 - 5
mp-service/src/main/java/com/qs/mp/admin/domain/vo/TicketBoxListVO.java

@@ -119,12 +119,14 @@ public class TicketBoxListVO {
   @ApiModelProperty("上架时间")
   private Date onTime;
 
+  @ApiModelProperty("经销商分佣百分比")
+  private BigDecimal channelCommRate;
+
   @ApiModelProperty("分佣金额")
-  public BigDecimal getSaleCommPrice() {
-    if (Objects.isNull(this.saleCommRate) || Objects.isNull(this.salePrice)) {
-      return BigDecimal.ZERO;
+  public Integer getSaleCommPrice() {
+    if (Objects.isNull(this.saleCommRate) || Objects.isNull(this.salePrice) || Objects.isNull(this.channelCommRate)) {
+      return 0;
     }
-
-    return this.saleCommRate.multiply(new BigDecimal(this.salePrice)).divide(new BigDecimal(100),2, RoundingMode.HALF_UP);
+    return BigDecimal.valueOf(this.salePrice).multiply(this.saleCommRate).multiply(this.channelCommRate).divide(BigDecimal.valueOf(10000), 0, RoundingMode.HALF_UP).intValue();
   }
 }

+ 16 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/TicketBoxVO.java

@@ -1,7 +1,11 @@
 package com.qs.mp.admin.domain.vo;
 
 import com.qs.mp.admin.domain.TicketBox;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.List;
+import java.util.Objects;
 
 import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.domain.vo.ChannelVO;
@@ -32,4 +36,16 @@ public class TicketBoxVO extends TicketBox {
   // 奖级列表(后台显示)
   @ApiModelProperty("奖级列表(后台显示)")
   List<TicketAwardsVO> awardsList;
+
+  @ApiModelProperty("经销商分佣百分比")
+  private BigDecimal channelCommRate;
+
+  @ApiModelProperty("分佣金额")
+  public Integer getSaleCommPrice() {
+    if (Objects.isNull(super.getSaleCommRate()) || Objects.isNull(super.getSalePrice()) || Objects.isNull(this.channelCommRate)) {
+      return 0;
+    }
+    return BigDecimal.valueOf(super.getSalePrice()).multiply(super.getSaleCommRate()).multiply(this.channelCommRate).divide(BigDecimal.valueOf(10000), 0, RoundingMode.HALF_UP).intValue();
+
+  }
 }