提交 3cb6416c authored 作者: 吕本才's avatar 吕本才

颁奖页面接口

上级 e1c815cb
...@@ -66,7 +66,14 @@ public class DealerBigScreenController extends BaseController { ...@@ -66,7 +66,14 @@ public class DealerBigScreenController extends BaseController {
*/ */
@GetMapping("/group/region") @GetMapping("/group/region")
public AjaxResult groupTotalList() { public AjaxResult groupTotalList() {
List<DealerBigScreenGroupResultRes> list = resultService.groupTotalList(); List<DealerBigScreenGroupResultRes> list = resultService.groupBySalesRegionGroupTotalList();
return success(list);
}
@GetMapping("/result/reward")
public AjaxResult getRewardList( String groupType ,Integer ranking,String groupName) {
List<DealerBigScreenRewardResultRes> list = resultService.getRewardList(groupType,ranking,groupName);
return success(list); return success(list);
} }
......
package com.ruoyi.dealer.domain.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
/**
* 第二列的分组结果
*/
@Data
public class DealerBigScreenRewardResultRes {
private Integer roundTime;
private String groupName;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String salesRegionGroupName;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private String dealerName;
@JsonInclude(JsonInclude.Include.NON_EMPTY)
private Long dealerId;
private Integer paymentTtl;
private Integer goalTtlAct;
/**
* 达成率
*/
private String paymentPercentage;
}
...@@ -3,10 +3,7 @@ package com.ruoyi.dealer.service; ...@@ -3,10 +3,7 @@ package com.ruoyi.dealer.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.dealer.domain.DealerRoundResult; import com.ruoyi.dealer.domain.DealerRoundResult;
import com.ruoyi.dealer.domain.dto.DealerBigScreenGroupListRes; import com.ruoyi.dealer.domain.dto.*;
import com.ruoyi.dealer.domain.dto.DealerBigScreenGroupResultRes;
import com.ruoyi.dealer.domain.dto.DealerBigScreenTotalResultRes;
import com.ruoyi.dealer.domain.dto.DealerRoundDetailListRes;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List; import java.util.List;
...@@ -17,7 +14,7 @@ import java.util.List; ...@@ -17,7 +14,7 @@ import java.util.List;
public interface IDealerRoundResultService extends IService<DealerRoundResult> { public interface IDealerRoundResultService extends IService<DealerRoundResult> {
List<DealerBigScreenGroupListRes> groupList(String CategoryName); List<DealerBigScreenGroupListRes> groupList(String CategoryName);
List<DealerBigScreenGroupResultRes> groupTotalList(); List<DealerBigScreenGroupResultRes> groupBySalesRegionGroupTotalList();
List<DealerRoundDetailListRes> groupRoundList(Integer roundTime, String phone, String dealerName); List<DealerRoundDetailListRes> groupRoundList(Integer roundTime, String phone, String dealerName);
...@@ -29,5 +26,6 @@ public interface IDealerRoundResultService extends IService<DealerRoundResult> { ...@@ -29,5 +26,6 @@ public interface IDealerRoundResultService extends IService<DealerRoundResult> {
DealerBigScreenTotalResultRes totalResult(); DealerBigScreenTotalResultRes totalResult();
void downloadExcel(HttpServletResponse response, String group); void downloadExcel(HttpServletResponse response, String group);
// 自定义业务方法声明(可选)
} List<DealerBigScreenRewardResultRes> getRewardList(String groupType, Integer ranking, String groupName);
}
...@@ -10,10 +10,8 @@ import com.ruoyi.common.utils.SecurityUtils; ...@@ -10,10 +10,8 @@ import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.dealer.domain.DealerBaseInfo; import com.ruoyi.dealer.domain.DealerBaseInfo;
import com.ruoyi.dealer.domain.DealerResult; import com.ruoyi.dealer.domain.DealerResult;
import com.ruoyi.dealer.domain.DealerRoundResult; import com.ruoyi.dealer.domain.DealerRoundResult;
import com.ruoyi.dealer.domain.dto.DealerBigScreenDynamicRes; import com.ruoyi.dealer.domain.dto.*;
import com.ruoyi.dealer.domain.dto.DealerRoundInfo; import com.ruoyi.dealer.domain.dto.DealerRoundInfo;
import com.ruoyi.dealer.domain.dto.TurnRoundInfoReq;
import com.ruoyi.dealer.domain.dto.WechatDealerRoundInfoReq;
import com.ruoyi.dealer.mapper.DealerRoundInfoMapper; import com.ruoyi.dealer.mapper.DealerRoundInfoMapper;
import com.ruoyi.dealer.service.DealerRoundInfoService; import com.ruoyi.dealer.service.DealerRoundInfoService;
import com.ruoyi.dealer.service.IDealerBaseInfoService; import com.ruoyi.dealer.service.IDealerBaseInfoService;
...@@ -181,15 +179,13 @@ public class DealerRoundInfoServiceImpl extends ServiceImpl<DealerRoundInfoMappe ...@@ -181,15 +179,13 @@ public class DealerRoundInfoServiceImpl extends ServiceImpl<DealerRoundInfoMappe
// 第1轮结束的时候,更新的下汇总的结果表 // 第1轮结束的时候,更新的下汇总的结果表
if (turnRoundInfoReq.getRoundTime() == 1 && turnRoundInfoReq.getRoundOver()) { if (turnRoundInfoReq.getRoundTime() == 1 && turnRoundInfoReq.getRoundOver()) {
// 查询结果数据 // 查询结果数据
// List<DealerRoundResult> roundResults = roundResultService.groupRoundList(); List<DealerBigScreenGroupResultRes> dealerBigScreenGroupResultRes = roundResultService.groupBySalesRegionGroupTotalList();
List<DealerRoundResult> roundResults = new ArrayList<>(); Collection<DealerResult> resultList = dealerBigScreenGroupResultRes.stream().map(result -> {
Collection<DealerResult> resultList = roundResults.stream().map(result -> {
DealerResult item = new DealerResult(); DealerResult item = new DealerResult();
item.setResultId(result.getResultId()); item.setRoundTime(result.getRoundTime());
item.setRoundTime(result.getRoundTime());
item.setPaymentTtl(result.getPaymentTtl()); item.setPaymentTtl(result.getPaymentTtl());
item.setGoalTtlAct(result.getGoalTtlAct()); item.setGoalTtlAct(result.getGoalTtlAct());
item.setPaymentPercentage(result.getPaymentPercentage()); item.setPaymentPercentage(getPercentage(result.getPaymentTtl(), result.getGoalTtlAct(),4));
item.setSalesRegionGroupName(result.getSalesRegionGroupName()); item.setSalesRegionGroupName(result.getSalesRegionGroupName());
return item; return item;
......
...@@ -68,7 +68,6 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM ...@@ -68,7 +68,6 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
res.setRoundTime(item.getRoundTime()); res.setRoundTime(item.getRoundTime());
res.setGoalTtlAct(item.getGoalTtlAct()); res.setGoalTtlAct(item.getGoalTtlAct());
res.setPaymentTtl(item.getPaymentTtl()); res.setPaymentTtl(item.getPaymentTtl());
res.setPaymentPercentage(getPercentage(item.getPaymentTtl(), item.getGoalTtlAct(), 2) + "%"); res.setPaymentPercentage(getPercentage(item.getPaymentTtl(), item.getGoalTtlAct(), 2) + "%");
list.add(res); list.add(res);
}); });
...@@ -77,7 +76,7 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM ...@@ -77,7 +76,7 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
} }
@Override @Override
public List<DealerBigScreenGroupResultRes> groupTotalList() { public List<DealerBigScreenGroupResultRes> groupBySalesRegionGroupTotalList() {
List<DealerBigScreenGroupResultDto> dealerBigScreenGroupResultRes = this.getBaseMapper().groupTotalList(); List<DealerBigScreenGroupResultDto> dealerBigScreenGroupResultRes = this.getBaseMapper().groupTotalList();
List<DealerBigScreenGroupResultRes> list = new ArrayList<>(); List<DealerBigScreenGroupResultRes> list = new ArrayList<>();
dealerBigScreenGroupResultRes.forEach(item -> { dealerBigScreenGroupResultRes.forEach(item -> {
...@@ -265,6 +264,53 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM ...@@ -265,6 +264,53 @@ public class DealerRoundResultServiceImpl extends ServiceImpl<DealerRoundResultM
} }
@Override
public List<DealerBigScreenRewardResultRes> getRewardList(String groupType, Integer ranking, String groupName) {
if(groupType.equals("大区")){
//查询结果
List<DealerBigScreenGroupResultRes> list = this.groupBySalesRegionGroupTotalList();
// 转换为响应对象
List<DealerBigScreenRewardResultRes> resList = list.stream().map(item -> {
DealerBigScreenRewardResultRes res = new DealerBigScreenRewardResultRes();
res.setRoundTime(1);
res.setGroupName(item.getSalesRegionGroupName());
res.setPaymentTtl(item.getPaymentTtl());
res.setGoalTtlAct(item.getGoalTtlAct());
res.setPaymentPercentage(item.getPaymentPercentage()+"%");
res.setSalesRegionGroupName(item.getSalesRegionGroupName());
return res;
}).collect(Collectors.toList());
return resList;
} else{
String categoryName = "A";
if("鲲鹏组".equals(groupName)){
categoryName = "A";
}else if("青龙组".equals(groupName)){
categoryName = "B";
}else{
categoryName = "C";
}
List<DealerBigScreenGroupListRes> dealerBigScreenGroupListRes = this.groupList(categoryName);
List<DealerBigScreenRewardResultRes> resList = dealerBigScreenGroupListRes.stream().map(item -> {
DealerBigScreenRewardResultRes res = new DealerBigScreenRewardResultRes();
res.setGroupName(item.getGroupName());
res.setRoundTime(item.getRoundTime());
res.setDealerName(item.getDealerName());
res.setDealerId(item.getDealerId());
res.setGroupName(item.getGroupName());
res.setPaymentTtl(item.getPaymentTtl());
res.setGoalTtlAct(item.getGoalTtlAct());
res.setPaymentPercentage(this.getPercentage(item.getPaymentTtl(), item.getGoalTtlAct(), 2)+"%");
return res;
}).collect(Collectors.toList());
return resList;
}
}
private String getPercentage(Integer paymentTtl, Integer goalTtlAct, Integer scale) { private String getPercentage(Integer paymentTtl, Integer goalTtlAct, Integer scale) {
if (null == paymentTtl || null == goalTtlAct) { if (null == paymentTtl || null == goalTtlAct) {
return "0"; return "0";
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论