From e971ea090aa1f320f3c3f78c3a2a8d50f16dd4d0 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 15 Jan 2021 23:38:19 +0800
Subject: [PATCH] 小程序预约接口修改
---
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml | 27 +++
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java | 16 +
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java | 275 ++++++++++++++++++---------------
zq-erp/src/main/java/com/matrix/core/pojo/PaginationDto.java | 75 +++++++++
zq-erp/src/main/java/com/matrix/core/pojo/PaginationVO.java | 2
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml | 9
zq-erp/src/main/java/com/matrix/system/app/dto/ServiceVipProjDto.java | 2
zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java | 2
zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java | 3
zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java | 24 ++
zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java | 11 +
zq-erp/src/main/resources/templates/views/admin/shop/templateMsg-form.html | 13 +
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopWxtemplateMsgDao.xml | 15 +
13 files changed, 332 insertions(+), 142 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/core/pojo/PaginationDto.java b/zq-erp/src/main/java/com/matrix/core/pojo/PaginationDto.java
new file mode 100644
index 0000000..90f6c88
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/core/pojo/PaginationDto.java
@@ -0,0 +1,75 @@
+package com.matrix.core.pojo;
+
+/**
+ * @author 姜友瑶 E-mail:<935090232@qq.com>
+ * @date 2021年1月15日
+ * @description 分页信息类
+ */
+public class PaginationDto {
+
+ /**
+ * 起点
+ */
+ private Integer offset = 0;
+ /**
+ * 查询条数
+ */
+ private Integer limit =15;
+
+ /**
+ * 排序方式
+ */
+ private String order;
+ /**
+ * 排序字段
+ */
+ private String sort;
+
+ public Integer getOffset() {
+ return offset;
+ }
+
+ public void setOffset(Integer offset) {
+ this.offset = offset;
+ }
+
+ public Integer getLimit() {
+ return limit;
+ }
+
+ public void setLimit(Integer limit) {
+ this.limit = limit;
+ }
+
+ public String getOrder() {
+ return order;
+ }
+
+ public void setOrder(String order) {
+ this.order = order;
+ }
+
+ public String getSort() {
+ return propertyToColumn(sort);
+ }
+
+ public void setSort(String sort) {
+ this.sort = sort;
+ }
+
+ public String propertyToColumn(String property) {
+ if(property==null){
+ return null;
+ }
+ StringBuffer columnName = new StringBuffer(property);
+ for (int i = 0; i < columnName.length(); i++) {
+ if (columnName.charAt(i) >= 'A' && columnName.charAt(i) <= 'Z') {
+ String upcase = "_" + (columnName.charAt(i) + "").toLowerCase();
+ columnName.replace(i, i + 1, upcase);
+ }
+ }
+ return columnName.toString();
+ }
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/core/pojo/PaginationVO.java b/zq-erp/src/main/java/com/matrix/core/pojo/PaginationVO.java
index 43bee19..8c11a72 100644
--- a/zq-erp/src/main/java/com/matrix/core/pojo/PaginationVO.java
+++ b/zq-erp/src/main/java/com/matrix/core/pojo/PaginationVO.java
@@ -5,7 +5,7 @@
* @date 2016年6月24日
* @description 分页信息类
*/
-public class PaginationVO extends EntityDTO{
+public class PaginationVO {
/**
* 起点
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 8fb17d1..f82587d 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
@@ -175,6 +175,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("下单成功");
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java
index 4a405f6..5b2679d 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceOrderListDto.java
@@ -13,8 +13,11 @@
@ApiModelProperty(value = "查询参数")
private String queryKey;
- @ApiModelProperty(value = "状态 0/全部 1/待确认 2/待排班 3/待配料 4/待服务 5/服务中 6/已完成")
+ @ApiModelProperty(value = "状态 0/全部 1/待确认 2/待排班 3/待配料 4/待服务 5/服务中 6/已完成 ")
private String status;
+
+ @ApiModelProperty(value = "客户视角状态 0/全部 1/待确认 2进行中(待排班/待配料/待服务/服务中) 3/待评价(已完成/服务结束) 4/已评价 5/已取消 ")
+ private String vipStatus;
@ApiModelProperty(hidden = true)
private Long shopId;
@@ -22,6 +25,25 @@
@ApiModelProperty(hidden = true)
private Long userId;
+ @ApiModelProperty(value = "客户ID")
+ private Long vipId;
+
+ public String getVipStatus() {
+ return vipStatus;
+ }
+
+ public void setVipStatus(String vipStatus) {
+ this.vipStatus = vipStatus;
+ }
+
+ public Long getVipId() {
+ return vipId;
+ }
+
+ public void setVipId(Long vipId) {
+ this.vipId = vipId;
+ }
+
public Long getUserId() {
return userId;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceVipProjDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceVipProjDto.java
index 9e42b01..24ae2a3 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceVipProjDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/ServiceVipProjDto.java
@@ -19,7 +19,7 @@
@ApiModelProperty(value = "查询参数")
private String queryKey;
- @ApiModelProperty(value = "类型 0-全部 1-有效 2-有效 3-一个月内过期")
+ @ApiModelProperty(value = "类型 0-全部 1-有效 2-无效 3-一个月内过期")
private String type;
public Long getVipId() {
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java
index b1102ef..beb6247 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListProjVo.java
@@ -19,6 +19,8 @@
@ApiModelProperty(value = "美疗师")
private String beautyName;
+
+
public Long getId() {
return id;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java
index bf7e1ae..59561f0 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceOrderListVo.java
@@ -34,6 +34,9 @@
@ApiModelProperty(value = "会员名称")
private String vipName;
+ @ApiModelProperty(value = "门店名称")
+ private String shopName;
+
@ApiModelProperty(value = "服务时长")
private Integer timeLength;
@@ -122,6 +125,14 @@
return status;
}
+ public String getShopName() {
+ return shopName;
+ }
+
+ public void setShopName(String shopName) {
+ this.shopName = shopName;
+ }
+
public void setStatus(String status) {
switch (status) {
case "待预约" :
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
index 805e295..d1aeb5f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -119,13 +119,15 @@
public SysProjServices addSysProjServices(SysProjServices sysProjServices) throws GlobleException {
//创建服务单
- SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
- sysProjServices.setCreateStaffId(user.getSuId());
- sysProjServices.setShopId(user.getShopId());
- sysProjServices.setCompanyId(user.getCompanyId());
+ if(WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY)!=null){
+ SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
+ sysProjServices.setCreateStaffId(user.getSuId());
+ sysProjServices.setShopId(user.getShopId());
+ sysProjServices.setCompanyId(user.getCompanyId());
+ }
+
+
sysProjServices.setCreateTime(new Date());
- // 设置状态为待预约
- sysProjServices.setState(Dictionary.SERVICE_STATU_DQR);
sysProjServices.setServiceNo(codeService.getServiceOrderCode());
Double hkPrice = 0.0;
int i = sysProjServicesDao.insert(sysProjServices);
@@ -209,7 +211,7 @@
//插入订单明细
sysBeauticianState.setProjId(sysProjInfo.getId());
sysBeauticianState.setServicesId(sysProjServices.getId());
- sysBeauticianState.setShopId(user.getShopId());
+ sysBeauticianState.setShopId(sysProjServices.getShopId());
sysBeauticianState.setState(Dictionary.BEATUI_STATE_DYY);
beauticianStateDao.insert(sysBeauticianState);
}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
index 8530bcd..ec285b8 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
@@ -1,37 +1,42 @@
package com.matrix.system.shopXcx.api.action;
-import com.alibaba.fastjson.JSONObject;
import com.matrix.biz.bean.BizUser;
import com.matrix.biz.dao.BizUserDao;
import com.matrix.component.rabbitmq.RabiitMqTemplate;
import com.matrix.component.redis.RedisUserLoginUtils;
+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.ServiceOrderListDto;
+import com.matrix.system.app.mapper.SysBeauticianStateMapper;
+import com.matrix.system.app.mapper.SysProjServiceMapper;
+import com.matrix.system.app.mapper.SysProjUseMapper;
+import com.matrix.system.app.vo.*;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.SysUsersDao;
import com.matrix.system.common.interceptor.HostInterceptor;
+import com.matrix.system.common.tools.DataAuthUtil;
import com.matrix.system.common.tools.LocationUtil;
import com.matrix.system.constance.Dictionary;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
-import com.matrix.system.hive.plugin.message.StringUtil;
import com.matrix.system.hive.plugin.util.CollectionUtils;
-import com.matrix.core.tools.DateUtil;
-import com.matrix.system.hive.service.CodeService;
-import com.matrix.system.hive.service.SysProjUseService;
-import com.matrix.system.hive.service.SysWorkBeatuistaffService;
-import com.matrix.system.hive.service.SysWorktimeService;
+import com.matrix.system.hive.service.*;
import com.matrix.system.shopXcx.bean.ShopProduct;
import com.matrix.system.shopXcx.dao.ShopProductDao;
+import com.matrix.system.shopXcx.dao.ShopSkuDao;
import com.matrix.system.shopXcx.dto.YYDayOfWeek;
import com.matrix.system.shopXcx.dto.YYmonth;
import com.matrix.system.shopXcx.mqTask.DTO.UserProjInfo;
-import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
-import com.matrix.system.shopXcx.shopEnum.TemplateMsgType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -52,10 +57,18 @@
SysShopInfoDao shopInfoDao;
@Autowired
- private SysVipInfoDao vipDap;
+ private SysVipInfoDao vipInfoDao;
@Autowired
private OnlinebookingDao onlinebookingDao;
+ @Autowired
+ private SysProjServicesService projServicesService;
+
+ @Autowired
+ private SysProjServicesDao projServicesDao;
+
+ @Autowired
+ private SysBeauticianStateService sysBeauticianStateService;
@Autowired
RedisUserLoginUtils redisUserLoginUtils;
@@ -72,7 +85,11 @@
@Autowired
RabiitMqTemplate rabiitMqTemplate;
+ @Autowired
+ SysProjUseDao projUseDao;
+ @Autowired
+ ShopSkuDao skuDao;
@Autowired
ShoppingGoodsAssembleDao shoppingGoodsAssembleDao;
@@ -197,45 +214,42 @@
@ResponseBody
public
AjaxResult getUserPro(@PathVariable String phone) {
- SysVipInfo vipInfo = vipDap.selectByPhone(phone);
- // 根据时间获取一段排班码
- Map<Object, Object> taocanProjMap = new HashMap<>();
- List<UserProjInfo> userProjInfoList = new ArrayList();
- SysProjUse sysProjUse = new SysProjUse();
- sysProjUse.setVipId(vipInfo.getId());
- sysProjUse.setIsOver(Dictionary.DELETED_N);
- sysProjUse.setIsOver(Dictionary.DELETED_N);
- sysProjUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
- // 查询出该会员的所有可消耗的选择
- List<SysProjUse> sysProjUseList = projUseService.findByModel(sysProjUse);
- for (int i = 0; i < sysProjUseList.size(); i++) {
- if (sysProjUseList.get(i).getTaocanId() != null) {
- String flag = sysProjUseList.get(i).getOrderItemId()+"";
- if (taocanProjMap.keySet().contains(flag)) {
- ((UserProjInfo) taocanProjMap.get(flag)).getChildPro().add(coversion(sysProjUseList.get(i)));
- } else {
- SysProjUse pru = sysProjUseList.get(i);
- UserProjInfo taocan = new UserProjInfo();
- taocan.setId(pru.getId());
- taocan.setName(pru.getProjName());
- if (pru.getSurplusCount() > 10000) {
- taocan.setSurplusCount("不限");
- } else {
- taocan.setSurplusCount(pru.getSurplusCount() + "");
- }
- taocan.setChildPro(new ArrayList<UserProjInfo>());
- taocan.getChildPro().add(coversion(pru));
- taocanProjMap.put(flag, taocan);
- }
- } else {
- userProjInfoList.add(coversion(sysProjUseList.get(i)));
- }
+ SysVipInfo vipInfo = vipInfoDao.selectByPhone(phone);
+
+ if (vipInfo == null) {
+ throw new GlobleException("会员不存在");
}
- AjaxResult result = new AjaxResult();
- result.setStatus("200");
- result.setMapInfo(taocanProjMap);
- result.setRows(userProjInfoList);
- return result;
+ ServiceProductListVo productListVo = new ServiceProductListVo();
+ productListVo.setName(vipInfo.getVipName());
+ productListVo.setVipId(vipInfo.getId());
+
+ SysProjUse queryUse = new SysProjUse();
+ queryUse.setVipId(vipInfo.getId());
+ queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_XM);
+ queryUse.setTaocanId(-1L);
+ queryUse.setStatus(Dictionary.TAOCAN_STATUS_YX);
+ queryUse.setIsOver(Dictionary.FLAG_NO_N);
+ 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<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);
+ item.setProj(taocanProj);
+ });
+ }
+
+ productListVo.setProj(serviceProjVos);
+ productListVo.setComposeProj(serviceTcVos);
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+ ajaxResult.putInMap("proj", productListVo);
+ return ajaxResult;
}
@@ -253,21 +267,55 @@
AjaxResult createServiceOrder(@RequestBody Onlinebooking onlinebooking) {
BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
bizUser = bizUserDao.findByOpenId(bizUser.getOpenId());
- SysVipInfo vipInfo = vipDap.selectByPhone(bizUser.getPhoneNumber());
- onlinebooking.setOrderNo(codeService.getServiceOrderCode());
- onlinebooking.setVipName(vipInfo.getVipName());
- onlinebooking.setVipId(vipInfo.getId());
- onlinebooking.setBizUserId(bizUser.getOpenId());
- onlinebooking.setStatus(Dictionary.ONLINEBOOKING_DFW);
- onlinebooking.setCreateTime(new Date());
- onlinebooking.setTime(DateUtil.stringToDate(onlinebooking.getTimeStr(), DateUtil.DATE_FORMAT_MM));
- onlinebookingDao.insert(onlinebooking);
- //发送消息通知
- JSONObject msg = new JSONObject();
- msg.put("templateMsgType", TemplateMsgType.APPOINTMENT_SUCCESS.getCode());
- msg.put("content", onlinebooking.getId());
- rabiitMqTemplate.sendMsg(MQTaskRouting.SEND_TEMPLATE_MSG+evn, msg.toJSONString());
- return new AjaxResult(AjaxResult.STATUS_SUCCESS, Collections.singletonList(onlinebooking));
+ SysVipInfo vipInfo = vipInfoDao.selectByPhone(bizUser.getPhoneNumber());
+
+
+ SysProjUse sysProjUse = projUseDao.selectById(Long.parseLong(onlinebooking.getProductId() + ""));
+ Date yyTime = DateUtil.stringToDate(onlinebooking.getTimeStr(), DateUtil.DATE_FORMAT_MM);
+ SysProjServices sysProjServices = new SysProjServices();
+ sysProjServices.setCompanyId(vipInfo.getCompanyId());
+ sysProjServices.setShopId(onlinebooking.getShopId());
+ sysProjServices.setVipId(vipInfo.getId());
+
+ sysProjServices.setYyTime(yyTime);
+ sysProjServices.setRemark(onlinebooking.getRemark());
+
+ List<SysBeauticianState> sysBeauticianStates = new ArrayList<>();
+
+ SysBeauticianState sysBeauticianState = new SysBeauticianState();
+ sysBeauticianState.setPuseId(sysProjUse.getId());
+ sysBeauticianState.setProjUse(sysProjUse);
+ sysBeauticianState.setCount(1);
+ sysBeauticianState.setBeginTime(yyTime);
+ int timeLength=30;
+ if(sysProjUse.getTimeLength()!=null){
+ timeLength=sysProjUse.getTimeLength();
+ }
+ sysBeauticianState.setEndTime(DateUtil.getDateAfterMinute(yyTime, timeLength));
+ if(onlinebooking.getStaffId()!=null){
+ sysBeauticianState.setStaffId(Long.parseLong(onlinebooking.getStaffId()+""));
+ }
+
+ sysBeauticianStates.add(sysBeauticianState);
+ sysProjServices.setServiceItems(sysBeauticianStates);
+
+ //检测欠款
+ VerifyResult arrearsVerifyResult = projServicesService.checkArrears(sysProjServices);
+ if (arrearsVerifyResult.isError()) {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, arrearsVerifyResult.getMsg());
+ }
+ //检测余次
+ VerifyResult balanceverifyResult = projServicesService.checkBalance(sysProjServices);
+ if (balanceverifyResult.isError()) {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, balanceverifyResult.getMsg());
+ }
+ sysProjServices.setState(Dictionary.SERVICE_STATU_DQR);
+ SysProjServices newSysProjServices = projServicesService.addSysProjServices(sysProjServices);
+ if (newSysProjServices != null) {
+ return AjaxResult.buildSuccessInstance("下单成功");
+ } else {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "下单失败!");
+ }
}
@@ -279,50 +327,43 @@
*/
@RequestMapping(value = "/getServiceOrderById/{id}")
public @ResponseBody
- AjaxResult getServiceOrderById(@PathVariable Long id) {
-
- Onlinebooking onlinebooking = onlinebookingDao.selectById(id);
- ShopProduct shopProduct = productDao.selectById(onlinebooking.getProductId());
- onlinebooking.setShopProduct(shopProduct);
- if (onlinebooking.getStaffId() != null) {
- SysUsers shopstaffInfo = staffInfoDao.selectById(Long.parseLong(onlinebooking.getStaffId() + ""));
- onlinebooking.setStaffInfo(shopstaffInfo);
+ AjaxResult getServiceOrderById(@PathVariable("id") Long id) {
+ SysProjServices projServices = projServicesService.findById(id);
+ if (projServices == null) {
+ return AjaxResult.buildFailInstance("服务单不存在");
}
- SysShopInfo shopInfo = shopInfoDao.selectById(onlinebooking.getShopId());
- onlinebooking.setShopInfo(shopInfo);
- AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "查询成功");
- result.putInMap("serviceOrder", onlinebooking);
- return result;
-
+ ServiceOrderDetailVo detailVo = SysProjServiceMapper.INSTANCE.projServiceToDetailVo(projServices);
+ List<SysBeauticianState> beauticianStates = sysBeauticianStateService.findBySerId(projServices.getId());
+ List<ServiceOrderDetailItemVo> items = SysBeauticianStateMapper.INSTANCE.entitiesToDetailItemsVo(beauticianStates);
+ detailVo.setItems(items);
+ AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
+ ajaxResult.putInMap("detail", detailVo);
+ ajaxResult.putInMap("shopInfo", shopInfoDao.selectById(projServices.getShopId()));
+ return ajaxResult;
}
+
+
/**
- * 订单列表查询
- *
+ * 查询服务单
+ * @param orderListDto
* @return
*/
- @RequestMapping(value = "/getServiceOrderList")
- public @ResponseBody
- AjaxResult getServiceOrderList(@RequestBody Onlinebooking onlinebooking) {
+ @PostMapping(value = "/getServiceOrderList")
+ @ResponseBody
+ public AjaxResult findServiceOrderList(@RequestBody @Validated ServiceOrderListDto orderListDto) {
BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
- onlinebooking.setBizUserId(bizUser.getOpenId());
- List<Onlinebooking> list = onlinebookingDao.selectInPageForWx(onlinebooking);
- //相关数据赋值
- list.stream().forEach(order -> {
- ShopProduct shopProduct = productDao.selectById(order.getProductId());
- order.setShopProduct(shopProduct);
- if (order.getStaffId() != null) {
- SysUsers shopstaffInfo = staffInfoDao.selectById(Long.parseLong(order.getStaffId() + ""));
- order.setStaffInfo(shopstaffInfo);
- }
- SysShopInfo shopInfo = shopInfoDao.selectById(order.getShopId());
- order.setShopInfo(shopInfo);
- });
- AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, "查询成功");
- result.setRows(list);
- return result;
- }
+ SysVipInfo vipInfo= vipInfoDao.selectByPhone(bizUser.getPhoneNumber());
+ PaginationVO pageVo = new PaginationVO();
+ int offset = (orderListDto.getPageNum() - 1) * orderListDto.getPageSize();
+ int limit = orderListDto.getPageSize();
+ pageVo.setOffset(offset);
+ pageVo.setLimit(limit);
+ orderListDto.setVipId(vipInfo.getId());
+ List<ServiceOrderListVo> apiServiceOrderListInPage = projServicesService.findApiServiceOrderListInPage(orderListDto, pageVo);
+ return AjaxResult.buildSuccessInstance(apiServiceOrderListInPage, projServicesService.findApiServiceOrderListTotal(orderListDto));
+ }
/**
* 取消预约订单
@@ -330,38 +371,22 @@
* @param
* @return
*/
- @RequestMapping(value = "/cancelOrderById")
+ @RequestMapping(value = "/cancelOrderById/{id}")
public @ResponseBody
- AjaxResult cancelOrderById(@RequestBody Onlinebooking onlinebooking) {
+ AjaxResult cancelOrderById(@PathVariable("id") Long id) {
- AjaxResult result = new AjaxResult();
- if (onlinebooking.getId() == null) {
- result.setStatus(AjaxResult.STATUS_FAIL);
- result.setInfo("请求参数错误");
+ SysProjServices services = new SysProjServices();
+ services.setId(id);
+ int i = projServicesService.modifyCancelProjServices(services);
+ if (i > 0) {
+ return new AjaxResult(AjaxResult.STATUS_SUCCESS, "取消预约成功");
} else {
- onlinebooking.setStatus(Dictionary.ONLINEBOOKING_YQX);
- onlinebookingDao.update(onlinebooking);
- result.setStatus(AjaxResult.STATUS_SUCCESS);
- result.setInfo("订单取消成功");
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败");
}
- return result;
+
}
- /**
- * 删除订单
- *
- * @param
- * @return
- */
- @RequestMapping(value = "/removeOrderById/{id}")
- public @ResponseBody
- AjaxResult removeOrderById(@PathVariable Long id) {
- onlinebookingDao.deleteById(id);
- AjaxResult result = new AjaxResult();
- result.setStatus(AjaxResult.STATUS_SUCCESS);
- result.setInfo("删除成功");
- return result;
- }
+
private UserProjInfo coversion(SysProjUse pUse) {
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
index 736e68d..8092043 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
@@ -468,6 +468,7 @@
<result property="timeLength" column="timeLength" />
<result property="status" column="status" />
<result property="createStaffId" column="createStaffId" />
+ <result property="shopName" column="shop_short_name" />
<collection property="projs" ofType="com.matrix.system.app.vo.ServiceOrderListProjVo">
<result property="projName" column="projName" />
<result property="beautyName" column="beautyName" />
@@ -489,7 +490,8 @@
e.id vipId,
b.staff_id staffId,
f.su_name beautyName,
- g.proj_name projName
+ g.proj_name projName,
+ h.shop_short_name
from sys_proj_services a
left join sys_beautician_state b on a.ID=b.SERVICES_ID
left join sys_bed_state c on a.ID = c.SERVICE_ID
@@ -497,19 +499,40 @@
left join sys_vip_info e on a.VIP_ID=e.ID
left join sys_users f on f.su_id=b.STAFF_ID
left join sys_proj_use g on b.puse_id=g.ID
+ left join sys_shop_info h on a.SHOP_ID=h.ID
<where>
<if test="record.queryKey != null and record.queryKey != ''">
and (instr(a.SERVICE_NO, #{record.queryKey}) or instr(e.phone, #{record.queryKey}) or instr(e.vip_name, #{record.queryKey}) )
</if>
+ <if test="record.vipId != null and record.vipId != ''">
+ and a.vip_id = #{record.vipId}
+ </if>
<if test="record.status != null and record.status != ''">
and a.state = #{record.status}
- </if>
+ </if>
<if test="record.shopId != null">
and a.shop_id=#{record.shopId}
</if>
<if test="record.userId!=null">
and (a.create_staff_id=#{record.userId} or b.staff_id=#{record.userId})
</if>
+ <if test="record.vipStatus != null and record.vipStatus != '' and record.vipStatus!=0 ">
+ <if test="record.vipStatus == 1">
+ and a.state = '待确认'
+ </if>
+ <if test="record.vipStatus == 2">
+ and a.state in ( '预约成功待处理' ,'需配料','配料完成','服务中')
+ </if>
+ <if test="record.vipStatus == 3">
+ and ( a.state in ( '服务完成' ,'服务单结束') and a.comment is null)
+ </if>
+ <if test="record.vipStatus == 4">
+ and a.comment is not null
+ </if>
+ <if test="record.vipStatus == 5">
+ and a.state = '预约取消'
+ </if>
+ </if>
</where>
<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
order by a.yy_time desc
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
index 99f36ef..4ec9f20 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
@@ -510,10 +510,13 @@
<!-- 根据id查询 -->
<select id="selectById" resultMap="SysProjUseMap">
- select *
- from sys_proj_use
+ select a.*,
+ b.TIME_LENGTH,
+ b.img
+ from sys_proj_use a
+ left join shopping_goods b on a.proj_id=b.id
where
- id=#{id}
+ a.id=#{id}
</select>
<!-- 根据id查询 -->
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopWxtemplateMsgDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopWxtemplateMsgDao.xml
index e1aae99..d426cec 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopWxtemplateMsgDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopWxtemplateMsgDao.xml
@@ -220,8 +220,19 @@
<!-- 分页查询 -->
<select id="selectInPage" resultMap="ShopWxtemplateMsgMap">
- select
- <include refid="columns" ></include>
+ select
+ create_by,
+ create_time,
+ update_by,
+ update_time,
+ id,
+ name,
+ uuid,
+ status,
+ remark,
+ company_id,
+ code,
+ temp_type
from shop_wxtemplate_msg
<where>
<include refid="where_sql"></include>
diff --git a/zq-erp/src/main/resources/templates/views/admin/shop/templateMsg-form.html b/zq-erp/src/main/resources/templates/views/admin/shop/templateMsg-form.html
index a48b207..27a2914 100644
--- a/zq-erp/src/main/resources/templates/views/admin/shop/templateMsg-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/shop/templateMsg-form.html
@@ -36,6 +36,19 @@
th:value="${obj.uuid}"nullmsg="模板id不能为空">
</div>
</div>
+ <div class="form-group">
+ <label class="col-sm-2 control-label">类型
+ <span class="text-danger">*</span>
+ </label>
+ <div class="col-sm-4">
+ <select class="form-control" dataType="*" nullmsg="请选择状态" name="tempType">
+ <option value='1' th:if="${obj.tempType == 1}" selected>公众号</option>
+ <option value='1' th:unless="${obj.tempType == 1}">公众号</option>
+ <option value='2' th:if="${obj.tempType == 2}" selected>小程序</option>
+ <option value='2' th:unless="${obj.tempType == 2}">小程序</option>
+ </select>
+ </div>
+ </div>
<div class="form-group">
--
Gitblit v1.9.1