From e423d56d730db1baed24f3f7dbbc4141038776b6 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 18 Jun 2021 22:12:03 +0800
Subject: [PATCH] 修复每日业绩bug和优化赠送业绩计算方式
---
zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java | 96 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 84 insertions(+), 12 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
index f63cc98..00c4211 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
@@ -1,14 +1,18 @@
package com.matrix.system.app.action;
+import com.matrix.component.rabbitmq.RabiitMqTemplate;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.pojo.VerifyResult;
import com.matrix.core.tools.DateUtil;
+import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.system.app.dto.CreateServiceOrderDto;
+import com.matrix.system.app.dto.IdSubmitDto;
import com.matrix.system.app.dto.ServiceOrderListDto;
+import com.matrix.system.app.dto.ServiceVipProjDto;
import com.matrix.system.app.mapper.SysBeauticianStateMapper;
import com.matrix.system.app.mapper.SysProjServiceMapper;
import com.matrix.system.app.mapper.SysProjUseMapper;
@@ -16,6 +20,7 @@
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.constance.Dictionary;
+import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.bean.SysBeauticianState;
import com.matrix.system.hive.bean.SysProjServices;
import com.matrix.system.hive.bean.SysProjUse;
@@ -25,16 +30,19 @@
import com.matrix.system.hive.service.SysProjServicesService;
import com.matrix.system.hive.service.SysProjUseService;
import com.matrix.system.hive.service.SysVipInfoService;
+import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
+import com.matrix.system.wechart.templateMsg.UniformMsgParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
-import java.util.Arrays;
+import java.util.Date;
import java.util.List;
/**
@@ -58,13 +66,19 @@
@Autowired
private SysBeauticianStateService sysBeauticianStateService;
+ @Autowired
+ private RabiitMqTemplate rabiitMqTemplate;
+
+ @Value("${evn}")
+ private String evn;
+
@ApiOperation(value ="获取用户项目/套餐列表", notes = "获取用户项目/套餐列表")
@ApiResponses({
@ApiResponse(code = 200, message = "ok", response = ServiceProductListVo.class)
})
- @GetMapping(value = "/findVipProject/{vipId}")
- public AjaxResult findVipProject(@PathVariable("vipId") Long vipId) {
- SysVipInfo vipInfo = sysVipInfoService.findById(vipId);
+ @PostMapping(value = "/findVipProject")
+ public AjaxResult findVipProject(@RequestBody @Validated ServiceVipProjDto serviceVipProjDto) {
+ SysVipInfo vipInfo = sysVipInfoService.findById(serviceVipProjDto.getVipId());
if (vipInfo == null) {
throw new GlobleException("会员不存在");
@@ -72,26 +86,54 @@
ServiceProductListVo productListVo = new ServiceProductListVo();
productListVo.setName(vipInfo.getVipName());
- productListVo.setVipId(vipId);
+ productListVo.setVipId(serviceVipProjDto.getVipId());
SysProjUse queryUse = new SysProjUse();
- queryUse.setVipId(vipId);
+ queryUse.setVipId(serviceVipProjDto.getVipId());
queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM);
queryUse.setTaocanId(-1L);
- queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
- queryUse.setIsOver(Dictionary.FLAG_NO_N);
+ if (serviceVipProjDto.getType() != null) {
+ switch (serviceVipProjDto.getType()) {
+ case "0":
+ break;
+ case "1":
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+// queryUse.setIsOver(Dictionary.FLAG_NO_N);
+ break;
+ case "2":
+ queryUse.setTargetFailTime(DateUtil.getDateAfterMonth(new Date(), 1));
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+// queryUse.setIsOver(Dictionary.FLAG_NO_N);
+ break;
+ case "3":
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_WX);
+// queryUse.setIsOver(Dictionary.FLAG_YES_Y);
+ break;
+ default:
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+// queryUse.setIsOver(Dictionary.FLAG_NO_N);
+ break;
+ }
+ } else {
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+ queryUse.setIsOver(Dictionary.FLAG_NO_N);
+ }
+
+ queryUse.setQueryKey(serviceVipProjDto.getQueryKey());
List<SysProjUse> projList = projUseService.findInPage(queryUse, null);
List<ServiceProjVo> serviceProjVos = SysProjUseMapper.INSTANCE.entityListToProjVoList(projList);
queryUse.setTaocanId(null);
queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_TC);
- List<SysProjUse> taoCanList = projUseService.findInPage(queryUse, null);
+// List<SysProjUse> taoCanList = projUseService.findInPage(queryUse, null);
+ List<SysProjUse> taoCanList = projUseService.findTaocaoProjUseWithProj(queryUse);
List<ServiceTcVo> serviceTcVos = SysProjUseMapper.INSTANCE.entityListToTcVoList(taoCanList);
if (CollectionUtils.isNotEmpty(serviceTcVos)) {
serviceTcVos.forEach(item -> {
- List<SysProjUse> sysProjUses = projUseService.selectTaocanProjUse(item.getId());
- List<ServiceProjVo> taocanProj = SysProjUseMapper.INSTANCE.entityListToProjVoList(sysProjUses);
+// List<SysProjUse> sysProjUses = projUseService.selectTaocanProjUse(item.getId(), queryUse.getStatus());
+ List<ServiceProjVo> taocanProj = SysProjUseMapper.INSTANCE.entityListToProjVoList(item.getTaocanProjUse());
+ item.setTaocanProjUse(null);
item.setProj(taocanProj);
});
}
@@ -108,6 +150,14 @@
public AjaxResult createServiceOrder(@RequestBody @Validated CreateServiceOrderDto serviceOrderDto) {
if (CollectionUtils.isEmpty(serviceOrderDto.getProjItems())) {
throw new GlobleException("请选择服务");
+ }
+ SysVipInfo vipInfo = sysVipInfoService.findById(serviceOrderDto.getVipId());
+
+
+ if (StringUtils.isNotBlank(vipInfo.getPassWord())) {
+ if (!vipInfo.getPassWord().equals(serviceOrderDto.getPassword())) {
+ return AjaxResult.buildFailInstance("资金密码错误");
+ }
}
SysProjServices sysProjServices = new SysProjServices();
@@ -137,6 +187,9 @@
if (balanceverifyResult.isError()) {
return new AjaxResult(AjaxResult.STATUS_FAIL, balanceverifyResult.getMsg());
}
+
+ // 设置状态为待预约
+ sysProjServices.setState(Dictionary.SERVICE_STATU_DYY);
SysProjServices newSysProjServices = projServicesService.addSysProjServices(sysProjServices);
if (newSysProjServices != null) {
return AjaxResult.buildSuccessInstance("下单成功");
@@ -160,8 +213,8 @@
if (!DataAuthUtil.hasAllShopAuth()) {
SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
orderListDto.setShopId(user.getShopId());
- orderListDto.setUserId(user.getSuId());
}
+ QueryUtil.setQueryLimitCom(orderListDto);
return AjaxResult.buildSuccessInstance(projServicesService.findApiServiceOrderListInPage(orderListDto, pageVo), projServicesService.findApiServiceOrderListTotal(orderListDto));
}
@@ -224,4 +277,23 @@
return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败");
}
}
+
+ @ApiOperation(value = "确认服务", notes = "确认服务")
+ @PostMapping(value = "/confirmServiceOrder")
+ public AjaxResult confirmServiceOrder(@RequestBody @Validated IdSubmitDto idSubmitDto) {
+ SysProjServices services = new SysProjServices();
+ services.setId(idSubmitDto.getId());
+ services.setState(Dictionary.BEATUI_STATE_DYY);
+ int i = projServicesService.modify(services);
+ if (i > 0) {
+ //发送微信公众号提醒
+ services=projServicesService.findById(services.getId());
+ UniformMsgParam uniformMsgParam=new UniformMsgParam(services.getCompanyId(),UniformMsgParam.GZH_YYCG);
+ uniformMsgParam.put("serviceId",services.getId());
+ rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG+evn,uniformMsgParam.toJSONString());
+
+ return AjaxResult.buildSuccessInstance("确认成功");
+ }
+ return AjaxResult.buildFailInstance("确认失败");
+ }
}
--
Gitblit v1.9.1