| | |
| | | package com.matrix.system.app.action; |
| | | |
| | | import com.matrix.component.asyncmessage.AsyncMessageManager; |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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.AsyncMessageRouting; |
| | | 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; |
| | | |
| | | /** |
| | |
| | | @Autowired |
| | | private SysBeauticianStateService sysBeauticianStateService; |
| | | |
| | | |
| | | @Autowired |
| | | private AsyncMessageManager asyncMessageManager; |
| | | |
| | | @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("会员不存在"); |
| | |
| | | |
| | | 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.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); |
| | | }); |
| | | } |
| | |
| | | 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(); |
| | | sysProjServices.setVipId(serviceOrderDto.getVipId()); |
| | | sysProjServices.setYyTime(serviceOrderDto.getYyTime()); |
| | | sysProjServices.setRemark(serviceOrderDto.getRemark()); |
| | | sysProjServices.setBedId(serviceOrderDto.getBedId()); |
| | | |
| | | List<SysBeauticianState> sysBeauticianStates = new ArrayList<>(); |
| | | serviceOrderDto.getProjItems().forEach(item ->{ |
| | |
| | | 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("下单成功"); |
| | |
| | | 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)); |
| | | } |
| | | |
| | |
| | | return new AjaxResult(AjaxResult.STATUS_FAIL, "取消预约失败"); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "确认服务", notes = "确认服务") |
| | | @PostMapping(value = "/confirmServiceOrder") |
| | | public AjaxResult confirmServiceOrder(@RequestBody @Validated IdSubmitDto idSubmitDto) { |
| | | int i=projServicesService.confirmServiceOrder(idSubmitDto.getId()); |
| | | if(i>0){ |
| | | return AjaxResult.buildSuccessInstance("确认成功"); |
| | | } |
| | | return AjaxResult.buildFailInstance("确认失败"); |
| | | } |
| | | } |