@ -84,8 +84,8 @@ public class SysOrderController extends OrderBaseController {
|
|||||||
order.setPhone(StringUtils.hiddenPhoneNumber(order.getPhone()));
|
order.setPhone(StringUtils.hiddenPhoneNumber(order.getPhone()));
|
||||||
}
|
}
|
||||||
//根据服务时长、赠送天数计算服务天数
|
//根据服务时长、赠送天数计算服务天数
|
||||||
int month = order.getServeTimeId() != null ? order.getServeTimeId().intValue()/30 : 0;
|
int month = order.getServeTimeId() != null ? order.getServeTimeId().intValue() / 30 : 0;
|
||||||
if(order.getStartTime() != null && order.getServerEndTime() != null && order.getServeTimeId() != null && month > 0){
|
if (order.getStartTime() != null && order.getServerEndTime() != null && order.getServeTimeId() != null && month > 0) {
|
||||||
long serverDay = ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(order.getStartTime()), DateUtils.dateToLocalDate(order.getStartTime()).plusMonths(month).plusDays(order.getGiveServeDay() == null ? 0 : order.getGiveServeDay())) + 1;
|
long serverDay = ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(order.getStartTime()), DateUtils.dateToLocalDate(order.getStartTime()).plusMonths(month).plusDays(order.getGiveServeDay() == null ? 0 : order.getGiveServeDay())) + 1;
|
||||||
order.setServerDay(Integer.parseInt(serverDay + ""));
|
order.setServerDay(Integer.parseInt(serverDay + ""));
|
||||||
}
|
}
|
||||||
@ -155,9 +155,9 @@ public class SysOrderController extends OrderBaseController {
|
|||||||
@GetMapping(value = "/getInfoDetail")
|
@GetMapping(value = "/getInfoDetail")
|
||||||
public AjaxResult getInfoDetail(@RequestParam("orderId") Long orderId) {
|
public AjaxResult getInfoDetail(@RequestParam("orderId") Long orderId) {
|
||||||
SysOrder order = sysOrderService.selectSysOrderById(orderId);
|
SysOrder order = sysOrderService.selectSysOrderById(orderId);
|
||||||
if(order != null){
|
if (order != null) {
|
||||||
List<SysUser> userList = userService.selectAllUser();
|
List<SysUser> userList = userService.selectAllUser();
|
||||||
for(SysUser user : userList){
|
for (SysUser user : userList) {
|
||||||
if (user.getUserId().equals(order.getPreSaleId())) {
|
if (user.getUserId().equals(order.getPreSaleId())) {
|
||||||
order.setPreSale(user.getNickName());
|
order.setPreSale(user.getNickName());
|
||||||
}
|
}
|
||||||
@ -212,9 +212,9 @@ public class SysOrderController extends OrderBaseController {
|
|||||||
*/
|
*/
|
||||||
@PreAuthorize("@ss.hasPermi('custom:order:remove')")
|
@PreAuthorize("@ss.hasPermi('custom:order:remove')")
|
||||||
@Log(title = "销售订单", businessType = BusinessType.DELETE)
|
@Log(title = "销售订单", businessType = BusinessType.DELETE)
|
||||||
@DeleteMapping("/{orderIds}")
|
@DeleteMapping("/{orderId}")
|
||||||
public AjaxResult remove(@PathVariable Long[] orderIds) {
|
public AjaxResult remove(@PathVariable Long orderId) {
|
||||||
return toAjax(sysOrderService.deleteSysOrderByIds(orderIds));
|
return toAjax(sysOrderService.deleteSysOrderById(orderId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package com.stdiet.custom.service;
|
package com.stdiet.custom.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.stdiet.custom.domain.SysOrder;
|
||||||
import com.stdiet.custom.domain.SysRecipesPlan;
|
import com.stdiet.custom.domain.SysRecipesPlan;
|
||||||
import org.springframework.core.annotation.Order;
|
import org.springframework.core.annotation.Order;
|
||||||
|
|
||||||
@ -87,4 +89,6 @@ public interface ISysRecipesPlanService
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan);
|
List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan);
|
||||||
|
|
||||||
|
public void myGenerateRecipesPlan(SysOrder sysOrder);
|
||||||
}
|
}
|
@ -1,22 +1,22 @@
|
|||||||
package com.stdiet.custom.service.impl;
|
package com.stdiet.custom.service.impl;
|
||||||
|
|
||||||
|
import com.stdiet.common.utils.DateUtils;
|
||||||
|
import com.stdiet.custom.domain.SysOrder;
|
||||||
|
import com.stdiet.custom.mapper.SysOrderMapper;
|
||||||
|
import com.stdiet.custom.service.ISysCommissionDayService;
|
||||||
|
import com.stdiet.custom.service.ISysOrderPauseService;
|
||||||
|
import com.stdiet.custom.service.ISysOrderService;
|
||||||
|
import com.stdiet.custom.service.ISysRecipesPlanService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import com.stdiet.common.utils.DateUtils;
|
|
||||||
import com.stdiet.custom.service.ISysCommissionDayService;
|
|
||||||
import com.stdiet.custom.service.ISysOrderPauseService;
|
|
||||||
import com.stdiet.custom.service.ISysRecipesPlanService;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import com.stdiet.custom.mapper.SysOrderMapper;
|
|
||||||
import com.stdiet.custom.domain.SysOrder;
|
|
||||||
import com.stdiet.custom.service.ISysOrderService;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 销售订单Service业务层处理
|
* 销售订单Service业务层处理
|
||||||
*
|
*
|
||||||
@ -75,10 +75,10 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
|||||||
setOrderServerEndDate(sysOrder);
|
setOrderServerEndDate(sysOrder);
|
||||||
sysOrder.setOrderId(Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, orderTime)));
|
sysOrder.setOrderId(Long.parseLong(DateUtils.parseDateToStr(DateUtils.YYYYMMDDHHMMSS, orderTime)));
|
||||||
int row = sysOrderMapper.insertSysOrder(sysOrder);
|
int row = sysOrderMapper.insertSysOrder(sysOrder);
|
||||||
if(row > 0){
|
// if (row > 0) {
|
||||||
//异步生成食谱计划
|
// //异步生成食谱计划
|
||||||
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
|
// sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
|
||||||
}
|
// }
|
||||||
return row;
|
return row;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,9 +97,10 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
|||||||
sysOrder.setUpdateTime(DateUtils.getNowDate());
|
sysOrder.setUpdateTime(DateUtils.getNowDate());
|
||||||
//更新订单
|
//更新订单
|
||||||
int row = sysOrderMapper.updateSysOrder(sysOrder);
|
int row = sysOrderMapper.updateSysOrder(sysOrder);
|
||||||
if(row > 0){
|
// 审核后的订单才生成食谱
|
||||||
|
if (row > 0 && oldSysOrder.getReviewStatus().equals("no") && sysOrder.getReviewStatus().equals("yes")) {
|
||||||
//异步更新食谱计划
|
//异步更新食谱计划
|
||||||
if(isNeedRegenerateRecipesPlan(oldSysOrder, sysOrder)){
|
if (isNeedRegenerateRecipesPlan(oldSysOrder, sysOrder)) {
|
||||||
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
|
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -108,19 +109,20 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 判断是否需要重新生成食谱计划
|
* 判断是否需要重新生成食谱计划
|
||||||
|
*
|
||||||
* @param oldSysOrder
|
* @param oldSysOrder
|
||||||
* @param newSysOrder
|
* @param newSysOrder
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private boolean isNeedRegenerateRecipesPlan(SysOrder oldSysOrder, SysOrder newSysOrder){
|
private boolean isNeedRegenerateRecipesPlan(SysOrder oldSysOrder, SysOrder newSysOrder) {
|
||||||
if(oldSysOrder.getServeTimeId() != null && newSysOrder.getServeTimeId() != null && oldSysOrder.getServeTimeId().intValue() != newSysOrder.getServeTimeId().intValue()){
|
if (oldSysOrder.getServeTimeId() != null && newSysOrder.getServeTimeId() != null && oldSysOrder.getServeTimeId().intValue() != newSysOrder.getServeTimeId().intValue()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if(newSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay().intValue() != newSysOrder.getGiveServeDay().intValue()){
|
if (newSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay() != null && oldSysOrder.getGiveServeDay().intValue() != newSysOrder.getGiveServeDay().intValue()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if(oldSysOrder.getStartTime() != null && newSysOrder.getStartTime() != null
|
if (oldSysOrder.getStartTime() != null && newSysOrder.getStartTime() != null
|
||||||
&& ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(oldSysOrder.getStartTime()), DateUtils.dateToLocalDate(newSysOrder.getStartTime())) != 0){
|
&& ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(oldSysOrder.getStartTime()), DateUtils.dateToLocalDate(newSysOrder.getStartTime())) != 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -135,7 +137,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
|||||||
@Override
|
@Override
|
||||||
public int deleteSysOrderByIds(Long[] orderIds) {
|
public int deleteSysOrderByIds(Long[] orderIds) {
|
||||||
int row = sysOrderMapper.deleteSysOrderByIds(orderIds);
|
int row = sysOrderMapper.deleteSysOrderByIds(orderIds);
|
||||||
if(row > 0){
|
if (row > 0) {
|
||||||
deletePauseAndPlan(orderIds);
|
deletePauseAndPlan(orderIds);
|
||||||
}
|
}
|
||||||
return row;
|
return row;
|
||||||
@ -150,7 +152,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
|||||||
@Override
|
@Override
|
||||||
public int deleteSysOrderById(Long orderId) {
|
public int deleteSysOrderById(Long orderId) {
|
||||||
int row = sysOrderMapper.deleteSysOrderById(orderId);
|
int row = sysOrderMapper.deleteSysOrderById(orderId);
|
||||||
if(row > 0){
|
if (row > 0) {
|
||||||
Long[] orderIdArray = new Long[1];
|
Long[] orderIdArray = new Long[1];
|
||||||
orderIdArray[0] = orderId;
|
orderIdArray[0] = orderId;
|
||||||
deletePauseAndPlan(orderIdArray);
|
deletePauseAndPlan(orderIdArray);
|
||||||
@ -160,6 +162,7 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 计算所有订单总额
|
* 计算所有订单总额
|
||||||
|
*
|
||||||
* @param sysOrder
|
* @param sysOrder
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ -170,21 +173,22 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据订单ID更新该订单的服务到期时间,异步更新食谱计划
|
* 根据订单ID更新该订单的服务到期时间,异步更新食谱计划
|
||||||
* @param orderId 订单ID
|
*
|
||||||
|
* @param orderId 订单ID
|
||||||
* @param updatePlan 是否更新食谱
|
* @param updatePlan 是否更新食谱
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int updateOrderServerEndDate(Long orderId, boolean updatePlan){
|
public int updateOrderServerEndDate(Long orderId, boolean updatePlan) {
|
||||||
int row = 0;
|
int row = 0;
|
||||||
//更新订单服务到期时间
|
//更新订单服务到期时间
|
||||||
SysOrder sysOrder = selectSysOrderById(orderId);
|
SysOrder sysOrder = selectSysOrderById(orderId);
|
||||||
if(sysOrder != null){
|
if (sysOrder != null) {
|
||||||
//设置服务到期时间
|
//设置服务到期时间
|
||||||
setOrderServerEndDate(sysOrder);
|
setOrderServerEndDate(sysOrder);
|
||||||
sysOrder.setUpdateTime(new Date());
|
sysOrder.setUpdateTime(new Date());
|
||||||
row = updateSysOrder(sysOrder);
|
row = updateSysOrder(sysOrder);
|
||||||
if(row > 0){
|
if (row > 0) {
|
||||||
//异步更新食谱计划
|
//异步更新食谱计划
|
||||||
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
|
sysRecipesPlanService.regenerateRecipesPlan(sysOrder.getOrderId());
|
||||||
}
|
}
|
||||||
@ -194,18 +198,20 @@ public class SysOrderServiceImpl implements ISysOrderService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 给对象SysOrder对象设置服务到期时间
|
* 给对象SysOrder对象设置服务到期时间
|
||||||
|
*
|
||||||
* @param sysOrder
|
* @param sysOrder
|
||||||
*/
|
*/
|
||||||
private void setOrderServerEndDate(SysOrder sysOrder){
|
private void setOrderServerEndDate(SysOrder sysOrder) {
|
||||||
LocalDate serverEndDate = sysCommissionDayService.getServerEndDate(sysOrder);
|
LocalDate serverEndDate = sysCommissionDayService.getServerEndDate(sysOrder);
|
||||||
sysOrder.setServerEndTime(serverEndDate != null ? DateUtils.localDateToDate(serverEndDate) : null);
|
sysOrder.setServerEndTime(serverEndDate != null ? DateUtils.localDateToDate(serverEndDate) : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除订单的同时删除暂停记录、食谱计划安排
|
* 删除订单的同时删除暂停记录、食谱计划安排
|
||||||
|
*
|
||||||
* @param orderIds 订单ID集合
|
* @param orderIds 订单ID集合
|
||||||
*/
|
*/
|
||||||
private void deletePauseAndPlan(Long[] orderIds){
|
private void deletePauseAndPlan(Long[] orderIds) {
|
||||||
//删除暂停记录
|
//删除暂停记录
|
||||||
sysOrderPauseService.deletePauseByOrderId(orderIds);
|
sysOrderPauseService.deletePauseByOrderId(orderIds);
|
||||||
//删除食谱计划
|
//删除食谱计划
|
||||||
|
@ -109,6 +109,8 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
|
|||||||
return sysRecipesPlanMapper.deleteSysRecipesPlanById(id);
|
return sysRecipesPlanMapper.deleteSysRecipesPlanById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 异步方法,根据订单ID生成对应的食谱计划,退款订单不生成食谱计划
|
* 异步方法,根据订单ID生成对应的食谱计划,退款订单不生成食谱计划
|
||||||
*
|
*
|
||||||
@ -122,8 +124,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SysOrder sysOrder = sysOrderService.selectSysOrderById(orderId);
|
SysOrder sysOrder = sysOrderService.selectSysOrderById(orderId);
|
||||||
//订单为空、金额小于0不进行食谱生成、更新,只对2021年开始的订单进行食谱计划生成
|
//订单为空、金额小于0不进行食谱生成、更新,只对2021年开始的订单进行食谱计划生成,判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划
|
||||||
if (sysOrder == null && DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear() < 2021) {
|
if (sysOrder == null && DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear() < 2021
|
||||||
|
|| sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// System.out.println(DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear());
|
// System.out.println(DateUtils.dateToLocalDate(sysOrder.getOrderTime()).getYear());
|
||||||
@ -140,10 +143,10 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
|
|||||||
//删除该订单对于食谱
|
//删除该订单对于食谱
|
||||||
delRecipesPlanByOrderId(orderIdArray);
|
delRecipesPlanByOrderId(orderIdArray);
|
||||||
}
|
}
|
||||||
//判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划
|
// //判断订单金额、开始时间、结束时间,为空则直接返回,不重新生成食谱计划
|
||||||
if (sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) {
|
// if (sysOrder.getAmount().floatValue() <= 0 || sysOrder.getStartTime() == null || sysOrder.getServerEndTime() == null) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
SysOrderPause pauseParam = new SysOrderPause();
|
SysOrderPause pauseParam = new SysOrderPause();
|
||||||
pauseParam.setOrderId(sysOrder.getOrderId());
|
pauseParam.setOrderId(sysOrder.getOrderId());
|
||||||
//暂停记录列表
|
//暂停记录列表
|
||||||
@ -288,4 +291,9 @@ public class SysRecipesPlanServiceImpl implements ISysRecipesPlanService {
|
|||||||
public List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan) {
|
public List<SysRecipesPlan> selectPlanListByOrderId(SysRecipesPlan sysRecipesPlan) {
|
||||||
return sysRecipesPlanMapper.selectPlanListByOrderId(sysRecipesPlan);
|
return sysRecipesPlanMapper.selectPlanListByOrderId(sysRecipesPlan);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void myGenerateRecipesPlan(SysOrder sysOrder) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
@ -31,7 +31,7 @@
|
|||||||
<sql id="groupAmountVo">
|
<sql id="groupAmountVo">
|
||||||
SELECT ${column} AS user_id, ${postId} AS post_id, SUM(amount) AS amount
|
SELECT ${column} AS user_id, ${postId} AS post_id, SUM(amount) AS amount
|
||||||
FROM sys_order
|
FROM sys_order
|
||||||
WHERE ${column} IS NOT NULL AND ${column} <> 0
|
WHERE ${column} IS NOT NULL AND ${column} <> 0 AND del_flag = 0
|
||||||
AND review_status = 'yes'
|
AND review_status = 'yes'
|
||||||
<if test="beginTime != null and beginTime != ''">AND date_format(order_time,'%y%m%d') >=
|
<if test="beginTime != null and beginTime != ''">AND date_format(order_time,'%y%m%d') >=
|
||||||
date_format(${beginTime},'%y%m%d')
|
date_format(${beginTime},'%y%m%d')
|
||||||
|
@ -90,6 +90,7 @@
|
|||||||
and 0 > amount
|
and 0 > amount
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="true">and del_flag = 0</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@ -126,6 +127,7 @@
|
|||||||
and 0 > amount
|
and 0 > amount
|
||||||
</if>
|
</if>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="true">and del_flag = 0</if>
|
||||||
</where>
|
</where>
|
||||||
order by order_time desc
|
order by order_time desc
|
||||||
</select>
|
</select>
|
||||||
@ -246,14 +248,14 @@
|
|||||||
</update>
|
</update>
|
||||||
|
|
||||||
<delete id="deleteSysOrderById" parameterType="Long">
|
<delete id="deleteSysOrderById" parameterType="Long">
|
||||||
delete from sys_order where order_id = #{orderId}
|
update sys_order set del_flag = 1 where order_id = #{orderId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<delete id="deleteSysOrderByIds" parameterType="String">
|
<delete id="deleteSysOrderByIds" parameterType="String">
|
||||||
delete from sys_order where order_id in
|
<!-- delete from sys_order where order_id in-->
|
||||||
<foreach item="orderId" collection="array" open="(" separator="," close=")">
|
<!-- <foreach item="orderId" collection="array" open="(" separator="," close=")">-->
|
||||||
#{orderId}
|
<!-- #{orderId}-->
|
||||||
</foreach>
|
<!-- </foreach>-->
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<resultMap type="SysOrder" id="SysOrderResultExtended">
|
<resultMap type="SysOrder" id="SysOrderResultExtended">
|
||||||
@ -323,7 +325,7 @@
|
|||||||
from sys_order o
|
from sys_order o
|
||||||
left join sys_user su_sale on su_sale.user_id = o.after_sale_id and su_sale.del_flag = 0
|
left join sys_user su_sale on su_sale.user_id = o.after_sale_id and su_sale.del_flag = 0
|
||||||
left join sys_user su_nutritionist on su_nutritionist.user_id = o.nutritionist_id and su_nutritionist.del_flag = 0
|
left join sys_user su_nutritionist on su_nutritionist.user_id = o.nutritionist_id and su_nutritionist.del_flag = 0
|
||||||
where review_status = 'yes' and o.order_time >= '2021-01-01'
|
where review_status = 'yes' and o.order_time >= '2021-01-01' and del_flag = 0
|
||||||
<if test="userId != null">
|
<if test="userId != null">
|
||||||
and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId})
|
and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId})
|
||||||
</if>
|
</if>
|
||||||
|
@ -31,12 +31,13 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectSysRecipesPlanVo">
|
<sql id="selectSysRecipesPlanVo">
|
||||||
select id, order_id, start_date, end_date, recipes_id, send_flag, send_time, create_time, create_by, update_time, update_by, del_flag from sys_recipes_plan
|
select id, order_id, cus_id, start_date, end_date, recipes_id, send_flag, send_time, create_time, create_by, update_time, update_by, del_flag from sys_recipes_plan
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectSysRecipesPlanList" parameterType="SysRecipesPlan" resultMap="SysRecipesPlanResult">
|
<select id="selectSysRecipesPlanList" parameterType="SysRecipesPlan" resultMap="SysRecipesPlanResult">
|
||||||
<include refid="selectSysRecipesPlanVo"/> where del_flag = 0
|
<include refid="selectSysRecipesPlanVo"/> where del_flag = 0
|
||||||
<if test="orderId != null "> and order_id = #{orderId}</if>
|
<if test="orderId != null "> and order_id = #{orderId}</if>
|
||||||
|
<if test="cusId != null "> and cus_id = #{cusId}</if>
|
||||||
<if test="startDate != null "> and start_date = #{startDate}</if>
|
<if test="startDate != null "> and start_date = #{startDate}</if>
|
||||||
<if test="endDate != null "> and end_date = #{endDate}</if>
|
<if test="endDate != null "> and end_date = #{endDate}</if>
|
||||||
<if test="recipesId != null "> and recipes_id = #{recipesId}</if>
|
<if test="recipesId != null "> and recipes_id = #{recipesId}</if>
|
||||||
@ -53,6 +54,7 @@
|
|||||||
insert into sys_recipes_plan
|
insert into sys_recipes_plan
|
||||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||||
<if test="orderId != null">order_id,</if>
|
<if test="orderId != null">order_id,</if>
|
||||||
|
<if test="cusId != null">cus_id,</if>
|
||||||
<if test="startDate != null">start_date,</if>
|
<if test="startDate != null">start_date,</if>
|
||||||
<if test="endDate != null">end_date,</if>
|
<if test="endDate != null">end_date,</if>
|
||||||
<if test="recipesId != null">recipes_id,</if>
|
<if test="recipesId != null">recipes_id,</if>
|
||||||
@ -66,6 +68,7 @@
|
|||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="orderId != null">#{orderId},</if>
|
<if test="orderId != null">#{orderId},</if>
|
||||||
|
<if test="cusId != null">#{cusId},</if>
|
||||||
<if test="startDate != null">#{startDate},</if>
|
<if test="startDate != null">#{startDate},</if>
|
||||||
<if test="endDate != null">#{endDate},</if>
|
<if test="endDate != null">#{endDate},</if>
|
||||||
<if test="recipesId != null">#{recipesId},</if>
|
<if test="recipesId != null">#{recipesId},</if>
|
||||||
@ -83,6 +86,7 @@
|
|||||||
update sys_recipes_plan
|
update sys_recipes_plan
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
<if test="orderId != null">order_id = #{orderId},</if>
|
<if test="orderId != null">order_id = #{orderId},</if>
|
||||||
|
<if test="cusId != null">cus_id = #{cusId},</if>
|
||||||
<if test="startDate != null">start_date = #{startDate},</if>
|
<if test="startDate != null">start_date = #{startDate},</if>
|
||||||
<if test="endDate != null">end_date = #{endDate},</if>
|
<if test="endDate != null">end_date = #{endDate},</if>
|
||||||
<if test="recipesId != null">recipes_id = #{recipesId},</if>
|
<if test="recipesId != null">recipes_id = #{recipesId},</if>
|
||||||
@ -111,10 +115,10 @@
|
|||||||
<!-- 批量插入食谱计划 -->
|
<!-- 批量插入食谱计划 -->
|
||||||
<insert id="insertBatch">
|
<insert id="insertBatch">
|
||||||
INSERT INTO sys_recipes_plan
|
INSERT INTO sys_recipes_plan
|
||||||
(order_id, start_date, end_date, send_flag, send_time, recipes_id)
|
(order_id, cus_id, start_date, end_date, send_flag, send_time, recipes_id)
|
||||||
VALUES
|
VALUES
|
||||||
<foreach collection ="list" item="plan" separator =",">
|
<foreach collection ="list" item="plan" separator =",">
|
||||||
(#{plan.orderId}, #{plan.startDate}, #{plan.endDate}, #{plan.sendFlag}, #{plan.sendTime}, #{plan.recipesId})
|
(#{plan.orderId}, #{plan.cusId}, #{plan.startDate}, #{plan.endDate}, #{plan.sendFlag}, #{plan.sendTime}, #{plan.recipesId})
|
||||||
</foreach >
|
</foreach >
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
@ -71,18 +71,28 @@
|
|||||||
>详情</el-button
|
>详情</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="scope.row.orderType === 'main'"
|
v-if="
|
||||||
|
scope.row.orderType === 'main' &&
|
||||||
|
(checkPermi(['custom:order:review']) ||
|
||||||
|
(checkPermi(['custom:order:edit']) &&
|
||||||
|
userId === scope.row.preSaleId &&
|
||||||
|
scope.row.reviewStatus === 'no'))
|
||||||
|
"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
@click="handleOnEditClick(scope.row)"
|
@click="handleOnEditClick(scope.row)"
|
||||||
v-hasPermi="['custom:order:edit']"
|
|
||||||
>修改</el-button
|
>修改</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="scope.row.orderType === 'main'"
|
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
v-hasPermi="['custom:order:remove']"
|
v-if="
|
||||||
|
scope.row.orderType === 'main' &&
|
||||||
|
(checkPermi(['custom:order:review']) ||
|
||||||
|
(checkPermi(['custom:order:remove']) &&
|
||||||
|
userId === scope.row.preSaleId &&
|
||||||
|
scope.row.reviewStatus === 'no'))
|
||||||
|
"
|
||||||
@click="handleOnDeleteClick(scope.row)"
|
@click="handleOnDeleteClick(scope.row)"
|
||||||
>删除</el-button
|
>删除</el-button
|
||||||
>
|
>
|
||||||
@ -103,8 +113,10 @@
|
|||||||
<script>
|
<script>
|
||||||
import { listOrder, delOrder } from "@/api/custom/order";
|
import { listOrder, delOrder } from "@/api/custom/order";
|
||||||
import OrderEdit from "@/components/OrderEdit";
|
import OrderEdit from "@/components/OrderEdit";
|
||||||
import OrderAdd from "@/components/OrderAdd";
|
// import OrderAdd from "@/components/OrderAdd";
|
||||||
import OrderDetail from "@/components/OrderDetail";
|
import OrderDetail from "@/components/OrderDetail";
|
||||||
|
import { mapGetters } from "vuex";
|
||||||
|
import { checkPermi } from "@/utils/permission";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "CustomerOrderDrawer",
|
name: "CustomerOrderDrawer",
|
||||||
@ -121,7 +133,11 @@ export default {
|
|||||||
orderList: [],
|
orderList: [],
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters(["userId"]),
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
checkPermi,
|
||||||
showDrawer(data) {
|
showDrawer(data) {
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
this.data = data;
|
this.data = data;
|
||||||
@ -150,6 +166,7 @@ export default {
|
|||||||
}
|
}
|
||||||
return arr;
|
return arr;
|
||||||
}, []);
|
}, []);
|
||||||
|
console.log(this.orderList);
|
||||||
|
|
||||||
this.visible = true;
|
this.visible = true;
|
||||||
});
|
});
|
||||||
|
@ -74,32 +74,34 @@ const mutations = {
|
|||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
async init({ commit, dispatch }, payload) {
|
async init({ commit, dispatch }, payload) {
|
||||||
// console.log(payload);
|
return new Promise((res, rej) => {
|
||||||
//
|
// console.log(payload);
|
||||||
commit("updateStateData", payload);
|
//
|
||||||
//
|
commit("updateStateData", payload);
|
||||||
getDicts("cus_cus_unit").then(response => {
|
//
|
||||||
commit("updateStateData", { cusUnitOptions: response.data });
|
getDicts("cus_cus_unit").then(response => {
|
||||||
});
|
commit("updateStateData", { cusUnitOptions: response.data });
|
||||||
getDicts("cus_cus_weight").then(response => {
|
});
|
||||||
commit("updateStateData", { cusWeightOptions: response.data });
|
getDicts("cus_cus_weight").then(response => {
|
||||||
});
|
commit("updateStateData", { cusWeightOptions: response.data });
|
||||||
getDicts("cus_dishes_type").then(response => {
|
});
|
||||||
commit("updateStateData", { typeOptions: response.data });
|
getDicts("cus_dishes_type").then(response => {
|
||||||
});
|
commit("updateStateData", { typeOptions: response.data });
|
||||||
getDicts("cus_dishes_type").then(response => {
|
});
|
||||||
commit("updateStateData", { dishesTypeOptions: response.data });
|
getDicts("cus_dishes_type").then(response => {
|
||||||
});
|
commit("updateStateData", { dishesTypeOptions: response.data });
|
||||||
|
});
|
||||||
|
|
||||||
// 健康数据
|
// 健康数据
|
||||||
if (payload.cusId) {
|
if (payload.cusId) {
|
||||||
dispatch("getHealthyData", payload);
|
dispatch("getHealthyData", payload).catch(err => rej(err));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 食谱数据
|
// 食谱数据
|
||||||
if (payload.recipesId) {
|
if (payload.recipesId) {
|
||||||
dispatch("getRecipesInfo", payload);
|
dispatch("getRecipesInfo", payload).catch(err => rej(err));
|
||||||
}
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
async getHealthyData({ commit }, payload) {
|
async getHealthyData({ commit }, payload) {
|
||||||
commit("updateStateData", { healthDataLoading: true });
|
commit("updateStateData", { healthDataLoading: true });
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import store from '@/store'
|
import store from "@/store";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字符权限校验
|
* 字符权限校验
|
||||||
@ -7,20 +7,26 @@ import store from '@/store'
|
|||||||
*/
|
*/
|
||||||
export function checkPermi(value) {
|
export function checkPermi(value) {
|
||||||
if (value && value instanceof Array && value.length > 0) {
|
if (value && value instanceof Array && value.length > 0) {
|
||||||
const permissions = store.getters && store.getters.permissions
|
const permissions = store.getters && store.getters.permissions;
|
||||||
const permissionDatas = value
|
const permissionDatas = value;
|
||||||
|
|
||||||
|
if (permissions.includes("*:*:*")) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const hasPermission = permissions.some(permission => {
|
const hasPermission = permissions.some(permission => {
|
||||||
return permissionDatas.includes(permission)
|
return permissionDatas.includes(permission);
|
||||||
})
|
});
|
||||||
|
|
||||||
if (!hasPermission) {
|
if (!hasPermission) {
|
||||||
return false
|
return false;
|
||||||
}
|
}
|
||||||
return true
|
return true;
|
||||||
} else {
|
} else {
|
||||||
console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
|
console.error(
|
||||||
return false
|
`need roles! Like checkPermi="['system:user:add','system:user:edit']"`
|
||||||
|
);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,19 +37,19 @@ export function checkPermi(value) {
|
|||||||
*/
|
*/
|
||||||
export function checkRole(value) {
|
export function checkRole(value) {
|
||||||
if (value && value instanceof Array && value.length > 0) {
|
if (value && value instanceof Array && value.length > 0) {
|
||||||
const roles = store.getters && store.getters.roles
|
const roles = store.getters && store.getters.roles;
|
||||||
const permissionRoles = value
|
const permissionRoles = value;
|
||||||
|
|
||||||
const hasRole = roles.some(role => {
|
const hasRole = roles.some(role => {
|
||||||
return permissionRoles.includes(role)
|
return permissionRoles.includes(role);
|
||||||
})
|
});
|
||||||
|
|
||||||
if (!hasRole) {
|
if (!hasRole) {
|
||||||
return false
|
return false;
|
||||||
}
|
}
|
||||||
return true
|
return true;
|
||||||
} else {
|
} else {
|
||||||
console.error(`need roles! Like checkRole="['admin','editor']"`)
|
console.error(`need roles! Like checkRole="['admin','editor']"`);
|
||||||
return false
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -222,6 +222,7 @@
|
|||||||
<el-table-column
|
<el-table-column
|
||||||
label="操作"
|
label="操作"
|
||||||
align="center"
|
align="center"
|
||||||
|
fixed="right"
|
||||||
class-name="small-padding fixed-width"
|
class-name="small-padding fixed-width"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
@ -213,6 +213,7 @@
|
|||||||
<div v-if="showWxFlag">
|
<div v-if="showWxFlag">
|
||||||
<div
|
<div
|
||||||
v-for="(item, index) in wxList"
|
v-for="(item, index) in wxList"
|
||||||
|
:key="item.wxAccount"
|
||||||
style="margin: 10px auto auto 40px"
|
style="margin: 10px auto auto 40px"
|
||||||
>
|
>
|
||||||
<span>{{ item.wxAccount }}</span
|
<span>{{ item.wxAccount }}</span
|
||||||
|
@ -379,27 +379,37 @@
|
|||||||
>详情</el-button
|
>详情</el-button
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-if="
|
||||||
|
checkPermi(['custom:order:review']) ||
|
||||||
|
(checkPermi(['custom:order:edit']) &&
|
||||||
|
userId === scope.row.preSaleId &&
|
||||||
|
scope.row.reviewStatus === 'no')
|
||||||
|
"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit"
|
icon="el-icon-edit"
|
||||||
@click="handleUpdate(scope.row)"
|
@click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['custom:order:edit']"
|
|
||||||
>修改
|
>修改
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<!-- <el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-s-data"
|
icon="el-icon-s-data"
|
||||||
@click="orderPauseManage(scope.row)"
|
@click="orderPauseManage(scope.row)"
|
||||||
v-hasPermi="['orderPause:pause:query']"
|
v-hasPermi="['orderPause:pause:query']"
|
||||||
>暂停记录管理
|
>暂停记录管理
|
||||||
</el-button>
|
</el-button> -->
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
|
v-if="
|
||||||
|
checkPermi(['custom:order:review']) ||
|
||||||
|
(checkPermi(['custom:order:remove']) &&
|
||||||
|
userId === scope.row.preSaleId &&
|
||||||
|
scope.row.reviewStatus === 'no')
|
||||||
|
"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
v-hasPermi="['custom:order:remove']"
|
|
||||||
>删除
|
>删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -443,12 +453,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {
|
import { delOrder, exportOrder, listOrder } from "@/api/custom/order";
|
||||||
delOrder,
|
|
||||||
exportOrder,
|
|
||||||
getOptions,
|
|
||||||
listOrder,
|
|
||||||
} from "@/api/custom/order";
|
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import orderPause from "./orderPause";
|
import orderPause from "./orderPause";
|
||||||
|
|
||||||
@ -456,6 +461,7 @@ import OrderDetail from "@/components/OrderDetail";
|
|||||||
import OrderEdit from "@/components/OrderEdit";
|
import OrderEdit from "@/components/OrderEdit";
|
||||||
import AutoHideMessage from "@/components/AutoHideMessage";
|
import AutoHideMessage from "@/components/AutoHideMessage";
|
||||||
import { mapGetters } from "vuex";
|
import { mapGetters } from "vuex";
|
||||||
|
import { checkPermi } from "@/utils/permission";
|
||||||
|
|
||||||
const beginTime = dayjs().startOf("month").format("YYYY-MM-DD");
|
const beginTime = dayjs().startOf("month").format("YYYY-MM-DD");
|
||||||
const endTime = dayjs().format("YYYY-MM-DD");
|
const endTime = dayjs().format("YYYY-MM-DD");
|
||||||
@ -542,6 +548,8 @@ export default {
|
|||||||
"operatorIdOptions",
|
"operatorIdOptions",
|
||||||
// 运营助理字典
|
// 运营助理字典
|
||||||
"operatorAssisIdOptions",
|
"operatorAssisIdOptions",
|
||||||
|
//
|
||||||
|
"userId",
|
||||||
]),
|
]),
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@ -563,6 +571,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
checkPermi,
|
||||||
/** 查询销售订单列表 */
|
/** 查询销售订单列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
@ -650,7 +659,6 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const orderIds = row.orderId || this.ids;
|
|
||||||
this.$confirm(
|
this.$confirm(
|
||||||
'是否确认删除销售订单编号为"' + orderIds + '"的数据项?',
|
'是否确认删除销售订单编号为"' + orderIds + '"的数据项?',
|
||||||
"警告",
|
"警告",
|
||||||
@ -661,7 +669,7 @@ export default {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
.then(function () {
|
.then(function () {
|
||||||
return delOrder(orderIds);
|
return delOrder(row.orderId);
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.getList();
|
this.getList();
|
||||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user