From 81e00cd2e26e387d8ab2077ccd982072d6eb865b Mon Sep 17 00:00:00 2001
From: 姜友瑶 <935090232@qq.com>
Date: Tue, 17 May 2022 15:40:31 +0800
Subject: [PATCH] Merge branch 'developer' into alpha

---
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java |   86 ++++++++++++++++++++++++++-----------------
 1 files changed, 52 insertions(+), 34 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 1c07d32..47420ba 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,44 +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.LogUtil;
 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.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.ErpOrderDetailItemVo;
 import com.matrix.system.shopXcx.api.vo.ErpServiceOrderListVo;
-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 io.swagger.annotations.*;
+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;
@@ -47,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
@@ -77,7 +74,7 @@
     private  SysBeauticianStateService sysBeauticianStateService;
 
     @Autowired
-    RedisUserLoginUtils redisUserLoginUtils;
+    private UserCacheManager userCacheManager;
 
     @Autowired
     ShopProductDao productDao;
@@ -86,10 +83,8 @@
     SysUsersDao staffInfoDao;
 
     @Autowired
-    BizUserDao bizUserDao;
+    SysVipInfoDao sysVipInfoDao;
 
-    @Autowired
-    RabiitMqTemplate rabiitMqTemplate;
 
     @Autowired
     SysProjUseDao projUseDao;
@@ -102,6 +97,11 @@
 
     @Autowired
     ShoppingGoodsDao shoppingGoodsDao;
+    @Autowired
+    ScoreVipDetailService scoreVipDetailService;
+
+    @Autowired
+    private BusParameterSettingsDao busParameterSettingsDao;
 
     @Value("${evn}")
     private String evn;
@@ -122,7 +122,7 @@
             return new AjaxResult(AjaxResult.STATUS_SUCCESS, shopList);
         }
 
-        Double distance = null;
+        BigDecimal distance = null;
         SysShopInfo nearestShop = null;
 
         AjaxResult ajaxResult = new AjaxResult("200", shopList);
@@ -130,9 +130,9 @@
             for (SysShopInfo shopInfo : shopList) {
                 Double shopX = Double.parseDouble(shopInfo.getLongitude());
                 Double shopY = Double.parseDouble(shopInfo.getLatitude());
-                Double disResult = LocationUtil.getDistance(Double.parseDouble(locX), Double.parseDouble(locY), shopX, shopY);
-                shopInfo.setDistance(new BigDecimal(disResult).setScale(1, BigDecimal.ROUND_HALF_UP));
-                if (distance == null || distance > disResult) {
+                BigDecimal disResult = LocationUtil.getDistance(Double.parseDouble(locX), Double.parseDouble(locY), shopX, shopY);
+                shopInfo.setDistance(disResult);
+                if (distance == null || distance.compareTo(disResult)>0) {
                     distance = disResult;
                     nearestShop = shopInfo;
                 }
@@ -220,11 +220,18 @@
     @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("会员不存在");
         }
+
+        if (SysVipInfo.VALID_FLAG_N == vipInfo.getValidFlag()) {
+            AjaxResult ajaxResult = AjaxResult.buildSuccessInstance(new ArrayList<>(), "获取成功");
+            ajaxResult.putInMap("proj", new ServiceProductListVo());
+            return ajaxResult;
+        }
+
         ServiceProductListVo productListVo = new ServiceProductListVo();
         productListVo.setName(vipInfo.getVipName());
         productListVo.setVipId(vipInfo.getId());
@@ -234,7 +241,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);
 
@@ -245,7 +251,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);
             });
@@ -271,8 +277,8 @@
     @RequestMapping(value = "/createServiceOrder")
     public @ResponseBody
     AjaxResult createServiceOrder(@RequestBody Onlinebooking onlinebooking) {
-        BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        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();
@@ -314,6 +320,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, "下单失败!");
@@ -358,9 +371,14 @@
     @PostMapping(value = "/getServiceOrderList")
     @ResponseBody
     public AjaxResult findServiceOrderList(@RequestBody @Validated ErpServiceOrderListDto orderListDto) {
-        BizUser bizUser = redisUserLoginUtils.getLoginUser(BizUser.class);
-        SysVipInfo vipInfo= vipInfoDao.selectByPhone(bizUser.getPhoneNumber());
-        orderListDto.setVipId(vipInfo.getId());
+        SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
+        orderListDto.setVipId(sysVipInfo.getId());
+
+        SysVipInfo vipInfo = sysVipInfoDao.selectById(sysVipInfo.getId());
+        if (SysVipInfo.VALID_FLAG_N == vipInfo.getValidFlag()) {
+            return AjaxResult.buildSuccessInstance(new ArrayList<>(), "查询成功");
+        }
+
         List<ErpServiceOrderListVo> apiServiceOrderListInPage = projServicesDao.findWxServiceOrderList(orderListDto);
         return AjaxResult.buildSuccessInstance(apiServiceOrderListInPage,"查询成功");
     }

--
Gitblit v1.9.1