From bbe0a2fd03063316e50cf141986bda984599bbda Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Tue, 22 Feb 2022 23:41:42 +0800
Subject: [PATCH] Merge branch 'developer'

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java |  132 +++++++++++++++++++++++---------------------
 1 files changed, 69 insertions(+), 63 deletions(-)

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 ec285b8..4e958b3 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,38 +1,39 @@
 package com.matrix.system.shopXcx.api.action;
 
-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.system.common.init.UserCacheManager;
 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.app.vo.ServiceProductListVo;
+import com.matrix.system.app.vo.ServiceProjVo;
+import com.matrix.system.app.vo.ServiceTcVo;
+import com.matrix.system.common.bean.BusParameterSettings;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
 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.util.CollectionUtils;
 import com.matrix.system.hive.service.*;
-import com.matrix.system.shopXcx.bean.ShopProduct;
+import com.matrix.system.score.constant.ScoreSettingConstant;
+import com.matrix.system.score.entity.ScoreVipDetail;
+import com.matrix.system.score.service.ScoreVipDetailService;
+import com.matrix.system.shopXcx.api.dto.ErpServiceCommentDto;
+import com.matrix.system.shopXcx.api.dto.ErpServiceOrderListDto;
+import com.matrix.system.shopXcx.api.vo.ErpServiceOrderListVo;
 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 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.stereotype.Controller;
@@ -41,7 +42,9 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @author jiangyouyao
@@ -71,7 +74,7 @@
     private  SysBeauticianStateService sysBeauticianStateService;
 
     @Autowired
-    RedisUserLoginUtils redisUserLoginUtils;
+    private UserCacheManager userCacheManager;
 
     @Autowired
     ShopProductDao productDao;
@@ -80,10 +83,8 @@
     SysUsersDao staffInfoDao;
 
     @Autowired
-    BizUserDao bizUserDao;
+    SysVipInfoDao sysVipInfoDao;
 
-    @Autowired
-    RabiitMqTemplate rabiitMqTemplate;
 
     @Autowired
     SysProjUseDao projUseDao;
@@ -96,6 +97,11 @@
 
     @Autowired
     ShoppingGoodsDao shoppingGoodsDao;
+    @Autowired
+    ScoreVipDetailService scoreVipDetailService;
+
+    @Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
 
     @Value("${evn}")
     private String evn;
@@ -214,7 +220,7 @@
     @ResponseBody
     public
     AjaxResult getUserPro(@PathVariable String phone) {
-        SysVipInfo vipInfo = vipInfoDao.selectByPhone(phone);
+        SysVipInfo vipInfo = vipInfoDao.selectByPhone(phone,HostInterceptor.getCompanyId());
 
         if (vipInfo == null) {
             throw new GlobleException("会员不存在");
@@ -228,7 +234,6 @@
         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);
 
@@ -239,7 +244,7 @@
 
         if (CollectionUtils.isNotEmpty(serviceTcVos)) {
             serviceTcVos.forEach(item -> {
-                List<SysProjUse> sysProjUses = projUseService.selectTaocanProjUse(item.getId());
+                List<SysProjUse> sysProjUses = projUseService.selectTaocanProjUse(item.getId(), queryUse.getStatus());
                 List<ServiceProjVo> taocanProj = SysProjUseMapper.INSTANCE.entityListToProjVoList(sysProjUses);
                 item.setProj(taocanProj);
             });
@@ -265,18 +270,14 @@
     @RequestMapping(value = "/createServiceOrder")
     public @ResponseBody
     AjaxResult createServiceOrder(@RequestBody Onlinebooking onlinebooking) {
-        BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        bizUser = bizUserDao.findByOpenId(bizUser.getOpenId());
-        SysVipInfo vipInfo = vipInfoDao.selectByPhone(bizUser.getPhoneNumber());
-
-
+        SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
+        SysVipInfo vipInfo = vipInfoDao.selectByPhone(sysVipInfo.getPhone(),HostInterceptor.getCompanyId());
         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());
 
@@ -312,6 +313,13 @@
         sysProjServices.setState(Dictionary.SERVICE_STATU_DQR);
         SysProjServices newSysProjServices = projServicesService.addSysProjServices(sysProjServices);
         if (newSysProjServices != null) {
+
+            //添加用户积分
+            BusParameterSettings parameterSetting = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.RESERVATION_SERVICE_SHOP, sysVipInfo.getCompanyId());
+            scoreVipDetailService.addScoreByParamSetting(sysVipInfo.getId(), null,null, newSysProjServices.getId(),
+                    ScoreVipDetail.SCORE_VIP_TYPE_JOIN_ACTIVE,"预约送积分", parameterSetting);
+
+
             return AjaxResult.buildSuccessInstance("下单成功");
         } else {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "下单失败!");
@@ -325,6 +333,10 @@
      * @param id
      * @return
      */
+    @ApiOperation(value = " 根据id查询预约订单的详情", notes = " 根据id查询预约订单的详情")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = ErpServiceOrderListVo.class)
+    })
     @RequestMapping(value = "/getServiceOrderById/{id}")
     public @ResponseBody
     AjaxResult getServiceOrderById(@PathVariable("id") Long id) {
@@ -332,13 +344,9 @@
         if (projServices == null) {
             return AjaxResult.buildFailInstance("服务单不存在");
         }
-        ServiceOrderDetailVo detailVo = SysProjServiceMapper.INSTANCE.projServiceToDetailVo(projServices);
-        List<SysBeauticianState> beauticianStates = sysBeauticianStateService.findBySerId(projServices.getId());
-        List<ServiceOrderDetailItemVo> items = SysBeauticianStateMapper.INSTANCE.entitiesToDetailItemsVo(beauticianStates);
-        detailVo.setItems(items);
+        ErpServiceOrderListVo serviceOrder = projServicesDao.findWxServiceOrderById(id);
         AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功");
-        ajaxResult.putInMap("detail", detailVo);
-        ajaxResult.putInMap("shopInfo", shopInfoDao.selectById(projServices.getShopId()));
+        ajaxResult.putInMap("detail", serviceOrder);
         return ajaxResult;
     }
 
@@ -349,20 +357,17 @@
      * @param orderListDto
      * @return
      */
+    @ApiOperation(value = "查询服务单列表", notes = "查询服务单列表")
+    @ApiResponses({
+            @ApiResponse(code = 200, message = "ok", response = ErpServiceOrderListVo.class)
+    })
     @PostMapping(value = "/getServiceOrderList")
     @ResponseBody
-    public AjaxResult findServiceOrderList(@RequestBody @Validated ServiceOrderListDto orderListDto) {
-        BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        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));
+    public AjaxResult findServiceOrderList(@RequestBody @Validated ErpServiceOrderListDto orderListDto) {
+        SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
+        orderListDto.setVipId(sysVipInfo.getId());
+        List<ErpServiceOrderListVo> apiServiceOrderListInPage = projServicesDao.findWxServiceOrderList(orderListDto);
+        return AjaxResult.buildSuccessInstance(apiServiceOrderListInPage,"查询成功");
     }
 
     /**
@@ -371,10 +376,10 @@
      * @param
      * @return
      */
-    @RequestMapping(value = "/cancelOrderById/{id}")
+    @ApiOperation(value = "取消预约", notes = "取消预约")
+    @GetMapping(value = "/cancelOrderById/{id}")
     public @ResponseBody
-    AjaxResult cancelOrderById(@PathVariable("id") Long id) {
-
+    AjaxResult cancelOrderById(@PathVariable Long id) {
         SysProjServices services = new SysProjServices();
         services.setId(id);
         int i = projServicesService.modifyCancelProjServices(services);
@@ -383,25 +388,26 @@
         } else {
             return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败");
         }
+    }
 
+
+    @ApiOperation(value = "服务单评论", notes = "服务单评论")
+    @PostMapping(value = "/commentService")
+    public @ResponseBody
+    AjaxResult commentService(@RequestBody @Validated ErpServiceCommentDto commentDto) {
+        SysProjServices services = new SysProjServices();
+        services.setId(commentDto.getId());
+        services.setComment(commentDto.getComment());
+        int i = projServicesDao.update(services);
+        if (i > 0) {
+            return new AjaxResult(AjaxResult.STATUS_SUCCESS, "评论成功");
+        } else {
+            return new AjaxResult(AjaxResult.STATUS_FAIL, "评论失败");
+        }
     }
 
 
 
-
-    private UserProjInfo coversion(SysProjUse pUse) {
-        UserProjInfo projInfo = new UserProjInfo();
-        projInfo.setId(pUse.getId());
-        projInfo.setName(shoppingGoodsDao.selectById(pUse.getProjId()).getName());
-        projInfo.setSurplusCount(pUse.getSurplusCount() + "");
-        projInfo.setType(pUse.getType());
-        return projInfo;
-    }
-
-
-    private int dateToCodeInt(Date date) {
-        return Integer.parseInt(DateUtil.dateToString(date, DateUtil.HHmm));
-    }
 
 
 }

--
Gitblit v1.9.1