From 9f2b055deec7d1f0ef5e1d2175652dd88c3bd369 Mon Sep 17 00:00:00 2001 From: xiezhijun <15270898033@163.com> Date: Thu, 6 May 2021 19:53:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E6=88=90=E4=BC=98=E5=8C=96=EF=BC=8C?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E7=AE=A1=E7=90=86=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom/SysCommisionController.java | 49 ++++++++-- .../custom/SysNutritionalVideoController.java | 6 +- .../stdiet/custom/domain/SysCommision.java | 3 + .../custom/domain/SysNutritionalVideo.java | 3 + .../custom/mapper/SysCommisionMapper.java | 2 + .../custom/service/ISysCommisionService.java | 7 ++ .../service/ISysCommissionDayService.java | 7 ++ .../service/impl/SysCommisionServiceImpl.java | 10 ++ .../impl/SysCommissionDayServiceImpl.java | 1 + .../mapper/custom/SysCommisionMapper.xml | 13 +++ .../src/components/FileUpload/UploadFile.vue | 6 +- .../src/components/UploadVideo/index.vue | 26 ++++-- .../views/custom/nutritionalVideo/index.vue | 93 ++++++++++++------- 13 files changed, 179 insertions(+), 47 deletions(-) diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCommisionController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCommisionController.java index bbef32ffb..663b886a7 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCommisionController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysCommisionController.java @@ -2,14 +2,20 @@ package com.stdiet.web.controller.custom; import java.math.BigDecimal; import java.math.RoundingMode; +import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import com.stdiet.common.utils.DateUtils; import com.stdiet.custom.domain.SysCommissionDayDetail; import com.stdiet.custom.domain.SysOrder; import com.stdiet.custom.domain.SysOrderCommisionDayDetail; import com.stdiet.custom.dto.request.SysOrderCommision; import com.stdiet.custom.service.ISysCommissionDayService; +import com.stdiet.custom.service.ISysNutritionalVideoService; import com.stdiet.custom.service.ISysOrderService; +import com.stdiet.custom.service.impl.SysCommissionDayServiceImpl; import com.stdiet.framework.web.domain.server.Sys; import com.stdiet.system.domain.CusSalesman; import com.stdiet.system.service.ISysUserService; @@ -41,6 +47,7 @@ import com.stdiet.common.core.page.TableDataInfo; @RestController @RequestMapping("/custom/commision") public class SysCommisionController extends BaseController { + @Autowired private ISysCommisionService sysCommisionService; @@ -50,6 +57,9 @@ public class SysCommisionController extends BaseController { @Autowired private ISysCommissionDayService sysCommissionDayService; + @Autowired + private ISysNutritionalVideoService sysNutritionalVideoService; + /** * 查询业务提成比例列表 */ @@ -158,6 +168,14 @@ public class SysCommisionController extends BaseController { @GetMapping("/detail") public TableDataInfo getDetail(SysCommision sysCommision) { startPage(); + if(sysCommision.getPostId() != null && sysCommision.getPostId().intValue() > 0){ + //查询售后所有ID + SysCommision param = new SysCommision(); + param.setPostId(sysCommision.getPostId()); + List userIds = sysCommisionService.getAfterSaleId(param); + sysCommision.setUserIds(userIds.size() == 0 ? null : userIds); + sysCommision.setPostId(null); + } List list = sysCommisionService.selectSysCommisionDetail(sysCommision); for (SysCommision detail : list) { detail.setRate(0F); @@ -165,22 +183,38 @@ public class SysCommisionController extends BaseController { tmpQueryCom.setUserId(detail.getUserId()); tmpQueryCom.setPostId(detail.getPostId()); List tmpComList = sysCommisionService.selectSysCommisionList(tmpQueryCom); - + //按比例开始时间分类 + Map> rateYearMonthMap = sysCommissionDayService.getRateMapByStartTime(tmpComList); + String yearMonth = DateUtils.stringToLocalDate(sysCommision.getBeginTime(),"yyyy-MM-dd").getYear() + "" + DateUtils.stringToLocalDate(sysCommision.getBeginTime(),"yyyy-MM-dd").getMonth().getValue(); + List yearMonthRateList = new ArrayList<>(); + for (String rateMonth : rateYearMonthMap.keySet()) { + if(Long.parseLong(yearMonth) >= Long.parseLong(rateMonth)){ + yearMonthRateList = rateYearMonthMap.get(rateMonth); + }else{ + break; + } + } float dAmount = detail.getAmount().floatValue(); - for (int i = 0; i < tmpComList.size(); i++) { - SysCommision com = tmpComList.get(i); + for (int i = 0; i < yearMonthRateList.size(); i++) { + SysCommision com = yearMonthRateList.get(i); float cAmount = com.getAmount().floatValue(); - if (dAmount <= cAmount && i == 0) { + Long rateStartYearMonth = null; + if(com.getStartTime() != null){ + rateStartYearMonth = Long.parseLong(DateUtils.dateToLocalDate(com.getStartTime()).getYear() + "" + DateUtils.dateToLocalDate(com.getStartTime()).getMonth().getValue()); + }else{ + rateStartYearMonth = 19001L; + } + if (dAmount <= cAmount && i == 0 && Long.parseLong(yearMonth) >= rateStartYearMonth) { // 第一条规则 detail.setRate(com.getRate()); break; - } else if (i == tmpComList.size() - 1 && dAmount > cAmount) { + } else if (i == yearMonthRateList.size() - 1 && dAmount > cAmount && Long.parseLong(yearMonth) >= rateStartYearMonth) { // 最后一条规则 detail.setRate(com.getRate()); break; - } else if (cAmount < dAmount && dAmount <= tmpComList.get(i + 1).getAmount().floatValue()) { + } else if (cAmount < dAmount && dAmount <= yearMonthRateList.get(i + 1).getAmount().floatValue() && Long.parseLong(yearMonth) >= rateStartYearMonth) { // 中间规则 - detail.setRate(tmpComList.get(i + 1).getRate()); + detail.setRate(yearMonthRateList.get(i + 1).getRate()); break; } } @@ -188,6 +222,7 @@ public class SysCommisionController extends BaseController { float amount = detail.getAmount().floatValue(); amount = amount * detail.getRate() / 100F; detail.setCommision(new BigDecimal(amount)); + } return getDataTable(list); } diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionalVideoController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionalVideoController.java index feea1ccfb..a9481895b 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionalVideoController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysNutritionalVideoController.java @@ -57,7 +57,11 @@ public class SysNutritionalVideoController extends BaseController @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { - return AjaxResult.success(sysNutritionalVideoService.selectSysNutritionalVideoById(id)); + SysNutritionalVideo sysNutritionalVideos = sysNutritionalVideoService.selectSysNutritionalVideoById(id); + if(sysNutritionalVideos != null && StringUtils.isNotEmpty(sysNutritionalVideos.getCoverUrl())){ + sysNutritionalVideos.setPreviewUrl(AliyunOSSUtils.generatePresignedUrl(sysNutritionalVideos.getCoverUrl())); + } + return AjaxResult.success(sysNutritionalVideos); } /** diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCommision.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCommision.java index cea8b1c8c..85e5c363d 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCommision.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysCommision.java @@ -9,6 +9,7 @@ import com.stdiet.common.core.domain.BaseEntity; import java.math.BigDecimal; import java.util.Date; +import java.util.List; /** * 业务提成比例对象 sys_commision @@ -30,6 +31,8 @@ public class SysCommision extends BaseEntity { */ private Long userId; + private List userIds; + /** * 岗位id */ diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysNutritionalVideo.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysNutritionalVideo.java index 3b5c148c5..650fc3425 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysNutritionalVideo.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysNutritionalVideo.java @@ -32,6 +32,9 @@ public class SysNutritionalVideo extends BaseEntity @Excel(name = "视频封面URL") private String coverUrl; + //预览URL + private String previewUrl; + /** 视频标题 */ @Excel(name = "视频标题") private String title; diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysCommisionMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysCommisionMapper.java index d2b211970..1ab95860f 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysCommisionMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysCommisionMapper.java @@ -68,4 +68,6 @@ public interface SysCommisionMapper * @return */ List getAfterSaleAndNutri(SysCommision sysCommision); + + List getAfterSaleId(SysCommision sysCommision); } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysCommisionService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysCommisionService.java index 2a121d1bb..c723c82a8 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysCommisionService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysCommisionService.java @@ -62,4 +62,11 @@ public interface ISysCommisionService public int deleteSysCommisionById(Long ruleId); public List selectSysCommisionDetail(SysCommision sysCommision); + + /** + * 查询售后、营养师用户信息 + * @param sysCommision + * @return + */ + List getAfterSaleId(SysCommision sysCommision); } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysCommissionDayService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysCommissionDayService.java index f3fae710c..36822dabc 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysCommissionDayService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysCommissionDayService.java @@ -39,4 +39,11 @@ public interface ISysCommissionDayService { */ AjaxResult calculateOrderCommissionDetail(SysCommision sysCommision); + /** + * 根据开始生效时间分类提成比例 + * @param tmpComList + * @return + */ + Map> getRateMapByStartTime(List tmpComList); + } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommisionServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommisionServiceImpl.java index 8cfa7824e..0fe38baa7 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommisionServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommisionServiceImpl.java @@ -98,4 +98,14 @@ public class SysCommisionServiceImpl implements ISysCommisionService public List selectSysCommisionDetail(SysCommision sysCommision) { return sysCommisionMapper.selectSysCommisionDetail(sysCommision); } + + /** + * 查询售后、营养师用户信息 + * @param sysCommision + * @return + */ + @Override + public List getAfterSaleId(SysCommision sysCommision){ + return sysCommisionMapper.getAfterSaleId(sysCommision); + } } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java index 11d2ccc76..48d5f0d2e 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysCommissionDayServiceImpl.java @@ -407,6 +407,7 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { * @param tmpComList * @return */ + @Override public Map> getRateMapByStartTime(List tmpComList){ Map> result = new TreeMap<>(new MyComparator()); for (SysCommision sysCommision : tmpComList) { diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml index 2c420042e..5ae329ab6 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml @@ -115,6 +115,12 @@ and post_id = #{postId} and user_id = #{userId} + + and user_id in + + #{id} + + @@ -213,4 +219,11 @@ and sp.post_id = #{postId} and su.user_id = #{userId} + + \ No newline at end of file diff --git a/stdiet-ui/src/components/FileUpload/UploadFile.vue b/stdiet-ui/src/components/FileUpload/UploadFile.vue index bf60cf2ed..6a07e4b7c 100644 --- a/stdiet-ui/src/components/FileUpload/UploadFile.vue +++ b/stdiet-ui/src/components/FileUpload/UploadFile.vue @@ -7,7 +7,7 @@ :on-success="handleFileSuccess" :accept="'.png,.jpg'" :before-upload="beforeAvatarUpload"> - +
1、只能上传png、jpg文件,且每个文件不超过{{ @@ -75,6 +75,10 @@ export default { prefix: { type: String, default: "videoCover", + }, + coverUrl:{ + type: String, + default: "" } } }; diff --git a/stdiet-ui/src/components/UploadVideo/index.vue b/stdiet-ui/src/components/UploadVideo/index.vue index 2b97fc116..01beea4ea 100644 --- a/stdiet-ui/src/components/UploadVideo/index.vue +++ b/stdiet-ui/src/components/UploadVideo/index.vue @@ -1,6 +1,7 @@