From 79f1b9b23c668e963d08896b9f08bedbad5a5bb8 Mon Sep 17 00:00:00 2001 From: xiezhijun <15270898033@163.com> Date: Thu, 6 May 2021 17:08:55 +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=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom/SysNutritionalVideoController.java | 17 ++++ .../stdiet/custom/domain/SysCommision.java | 7 ++ .../mapper/SysNutritionalVideoMapper.java | 9 ++ .../service/ISysNutritionalVideoService.java | 8 ++ .../impl/SysCommissionDayServiceImpl.java | 65 +++++++++++--- .../impl/SysNutritionalVideoServiceImpl.java | 10 +++ .../mapper/custom/SysCommisionMapper.xml | 6 ++ .../custom/SysNutritionalVideoMapper.xml | 10 +++ stdiet-ui/src/api/custom/nutritionalVideo.js | 9 ++ .../views/custom/commision/config/index.vue | 19 +++- .../views/custom/nutritionQuestion/index.vue | 2 +- .../views/custom/nutritionalVideo/index.vue | 87 +++++++++++++++---- 12 files changed, 219 insertions(+), 30 deletions(-) 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 ce39ad407..feea1ccfb 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 @@ -6,6 +6,7 @@ import java.util.List; import com.aliyun.vod20170321.models.CreateUploadVideoResponse; import com.stdiet.common.core.page.TableDataInfo; import com.stdiet.common.utils.AliyunVideoUtils; +import com.stdiet.common.utils.StringUtils; import com.stdiet.common.utils.oss.AliyunOSSUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; @@ -113,4 +114,20 @@ public class SysNutritionalVideoController extends BaseController { return toAjax(sysNutritionalVideoService.deleteSysNutritionalVideoByIds(ids)); } + + /** + * 修改营养小知识是否微信展示状态 + */ + @PreAuthorize("@ss.hasPermi('custom:nutritionalVideo:edit')") + @Log(title = "微信展示状态修改", businessType = BusinessType.UPDATE) + @GetMapping("/updateWxShow") + public AjaxResult updateWxShow(@RequestParam("id")String id, @RequestParam("showFlag")Integer showFlag) + { + if(StringUtils.isEmpty(id) || showFlag == null){ + return AjaxResult.error(); + } + Long[] ids = {Long.parseLong(id)}; + return toAjax(sysNutritionalVideoService.updateWxshowByIds(showFlag, ids)); + } + } \ No newline at end of file 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 2ee667379..cea8b1c8c 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 @@ -1,5 +1,6 @@ package com.stdiet.custom.domain; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -7,6 +8,7 @@ import com.stdiet.common.annotation.Excel; import com.stdiet.common.core.domain.BaseEntity; import java.math.BigDecimal; +import java.util.Date; /** * 业务提成比例对象 sys_commision @@ -54,6 +56,11 @@ public class SysCommision extends BaseEntity { @Excel(name = "比例", suffix = "%") private Float rate; + /** 比例开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date startTime; + /** * 提成 */ diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionalVideoMapper.java b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionalVideoMapper.java index 2594a4ef1..69d05035a 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionalVideoMapper.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/mapper/SysNutritionalVideoMapper.java @@ -66,4 +66,13 @@ public interface SysNutritionalVideoMapper * @return */ public SysNutritionalVideo selectSysNutritionalVideByVideoId(@Param("videoId")String videoId); + + + /** + * 更新微信展示状态 + * @param wxShow + * @param ids + * @return + */ + public int updateWxshowByIds(@Param("wxShow")Integer wxShow, @Param("array") Long[] ids); } \ No newline at end of file diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionalVideoService.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionalVideoService.java index 1ce1d8232..392469886 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionalVideoService.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/ISysNutritionalVideoService.java @@ -73,4 +73,12 @@ public interface ISysNutritionalVideoService * @return */ public Map searchVideo(String key, Integer status, Integer pageNo, Integer pageSize, String scrollToken); + + /** + * 更新微信展示状态 + * @param wxShow + * @param ids + * @return + */ + public int updateWxshowByIds(Integer wxShow, Long[] ids); } \ No newline at end of file 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 cd1e5a1a2..11d2ccc76 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 @@ -296,7 +296,7 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { //该笔订单当月的成交总额 sysOrderCommisionDayDetail.setMonthOrderTotalAmount(everyMonthTotalAmountMap.get(yearMonth)); //该笔订单对应提成比例 - sysOrderCommisionDayDetail.setCommissionRate(rateMap.get(yearMonth) == null ? rateMap.get("190001") : rateMap.get(yearMonth)); + sysOrderCommisionDayDetail.setCommissionRate(rateMap.get(yearMonth) == null ? rateMap.get("19001") : rateMap.get(yearMonth)); //计算该笔订单总提成 sysOrderCommisionDayDetail.setOrderCommission(getMoney(sysOrderCommisionDayDetail.getOrderAmount().doubleValue() * sysOrderCommisionDayDetail.getCommissionRate() / 100D)); //每年每月提成 @@ -358,25 +358,42 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { List tmpComList = sysCommisionMapper.selectSysCommisionList(tmpQueryCom); Map rateMap = new TreeMap<>(new MyComparator()); //取第一个区间为默认提成比例 - rateMap.put("190001", (tmpComList != null && tmpComList.size() > 0) ? tmpComList.get(0).getRate() : 0.0F); + rateMap.put("19001", (tmpComList != null && tmpComList.size() > 0) ? tmpComList.get(0).getRate() : 0.0F); + //按比例开始时间分类 + Map> rateYearMonthMap = getRateMapByStartTime(tmpComList); for(String yearMonth : amountMap.keySet()){ BigDecimal orderAmount = amountMap.get(yearMonth); rateMap.put(yearMonth, 0F); - if(tmpComList != null && tmpComList.size() > 0){ - for (int i = 0; i < tmpComList.size(); i++) { - SysCommision com = tmpComList.get(i); + List yearMonthRateList = null; + for (String rateMonth : rateYearMonthMap.keySet()) { + if(Long.parseLong(yearMonth) >= Long.parseLong(rateMonth)){ + yearMonthRateList = rateYearMonthMap.get(rateMonth); + }else{ + break; + } + } + if(yearMonthRateList != null && yearMonthRateList.size() > 0){ + for (int i = 0; i < yearMonthRateList.size(); i++) { + SysCommision com = yearMonthRateList.get(i); double cAmount = com.getAmount().floatValue(); - if (orderAmount.floatValue() <= 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 (orderAmount.floatValue() <= cAmount && i == 0 && Long.parseLong(yearMonth) >= rateStartYearMonth) { // 第一条规则 rateMap.put(yearMonth,com.getRate()); break; - } else if (i == tmpComList.size() - 1 && orderAmount.floatValue() > cAmount) { + } else if (i == yearMonthRateList.size() - 1 && orderAmount.floatValue() > cAmount && Long.parseLong(yearMonth) >= rateStartYearMonth) { // 最后一条规则 rateMap.put(yearMonth,com.getRate()); break; - } else if (cAmount < orderAmount.floatValue() && orderAmount.floatValue() <= tmpComList.get(i + 1).getAmount().floatValue()) { + } else if (cAmount < orderAmount.floatValue() && orderAmount.floatValue() <= yearMonthRateList.get(i + 1).getAmount().floatValue() && Long.parseLong(yearMonth) >= rateStartYearMonth) { // 中间规则 - rateMap.put(yearMonth,tmpComList.get(i + 1).getRate()); + rateMap.put(yearMonth,yearMonthRateList.get(i + 1).getRate()); break; } } @@ -385,6 +402,32 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { return rateMap; } + /** + * 根据比例开始执行时间进行分类 + * @param tmpComList + * @return + */ + public Map> getRateMapByStartTime(List tmpComList){ + Map> result = new TreeMap<>(new MyComparator()); + for (SysCommision sysCommision : tmpComList) { + String rateStartYearMonth = null; + if(sysCommision.getStartTime() != null){ + rateStartYearMonth = DateUtils.dateToLocalDate(sysCommision.getStartTime()).getYear() + "" + DateUtils.dateToLocalDate(sysCommision.getStartTime()).getMonth().getValue(); + }else{ + rateStartYearMonth = 19001+""; + } + if(result.containsKey(rateStartYearMonth)){ + result.get(rateStartYearMonth).add(sysCommision); + }else{ + List list = new ArrayList<>(); + list.add(sysCommision); + result.put(rateStartYearMonth, list); + } + } + return result; + } + + /** * 查询2021年1月份之后所有订单,对订单进行处理,得出每笔订单的相关信息 * @param sysCommision 是否 @@ -549,12 +592,12 @@ public class SysCommissionDayServiceImpl implements ISysCommissionDayService { } } } - for (SysOrderCommisionDayDetail c : sysOrderCommisionDayDetailList) { + /**for (SysOrderCommisionDayDetail c : sysOrderCommisionDayDetailList) { System.out.println(c.getOrderId() + "-" + c.getNutritionistId() + "-" + c.getAfterSaleId() + "-"+ DateUtils.localDateToString(c.getServerStartDate(),"yyyy-MM-dd") + "-" + DateUtils.localDateToString(c.getServerEndDate(),"yyyy-MM-dd") + "-" + c.getDayMoney().doubleValue() + "-" + c.getOrderAmount().doubleValue()); - } + }**/ return sysOrderCommisionDayDetailList; } diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionalVideoServiceImpl.java b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionalVideoServiceImpl.java index e8b30a1a1..328db2bf7 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionalVideoServiceImpl.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/service/impl/SysNutritionalVideoServiceImpl.java @@ -180,4 +180,14 @@ public class SysNutritionalVideoServiceImpl implements ISysNutritionalVideoServi return "Normal".equals(status) ? 1 : 0; } + /** + * 更新微信展示状态 + * @param wxShow + * @param ids + * @return + */ + public int updateWxshowByIds(Integer wxShow, Long[] ids){ + return sysNutritionalVideoMapper. updateWxshowByIds(wxShow, ids); + } + } \ No newline at end of file diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml index 69a9eda2b..2c420042e 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysCommisionMapper.xml @@ -12,6 +12,7 @@ + @@ -136,6 +137,8 @@ and user_id = #{userId} and post_id = #{postId} + + order by user_id asc,amount asc,start_time asc + + update sys_nutritional_video set show_flag = #{wxShow} where del_flag = 0 and id in + + #{id} + + + \ No newline at end of file diff --git a/stdiet-ui/src/api/custom/nutritionalVideo.js b/stdiet-ui/src/api/custom/nutritionalVideo.js index 54ddaa39f..de31f2134 100644 --- a/stdiet-ui/src/api/custom/nutritionalVideo.js +++ b/stdiet-ui/src/api/custom/nutritionalVideo.js @@ -60,3 +60,12 @@ export function getUploadVideoAuth(data) { data: data }) } + +// 修改视频展示状态 +export function updateWxShow(data){ + return request({ + url: '/custom/nutritionalVideo/updateWxShow', + method: 'get', + params: data + }) +} diff --git a/stdiet-ui/src/views/custom/commision/config/index.vue b/stdiet-ui/src/views/custom/commision/config/index.vue index 4f7081a6a..a7e6719cb 100644 --- a/stdiet-ui/src/views/custom/commision/config/index.vue +++ b/stdiet-ui/src/views/custom/commision/config/index.vue @@ -12,6 +12,7 @@ v-model="queryParams.postId" placeholder="请选择岗位" clearable + filterable size="small" @change="searchPostChange" > @@ -28,6 +29,7 @@ v-model="queryParams.userId" placeholder="请选择业务员" clearable + filterable size="small" > + + + + + + + - +
- + @@ -36,7 +56,7 @@ v-hasPermi="['custom:nutritionalVideo:add']" >视频上传 - - -