| | |
| | | import com.ruoyi.system.api.service.RemoteMemberService; |
| | | import com.ruoyi.system.api.service.RemoteShopService; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.*; |
| | |
| | | * @param merSureConsumerGoodsDto |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public void sureMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto){ |
| | | ConsumerGoods oldConsumerGoods = this.getById(merSureConsumerGoodsDto.getConsumerGoodsId()); |
| | | if(oldConsumerGoods.getSureNum()==null||oldConsumerGoods.getSureNum()<1){ |
| | | throw new ServiceException(AppErrorConstant.GOODS_SURE_FAILED); |
| | | } |
| | | List<MerSureConsumerGoodsListDto> merSureConsumerGoodsListDtoList = merSureConsumerGoodsDto.getMerSureConsumerGoodsListDtoList(); |
| | | if(merSureConsumerGoodsListDtoList!=null && !merSureConsumerGoodsListDtoList.isEmpty()){ |
| | | ConsumerGoods consumerGoods; |
| | |
| | | Integer servicePerson = 0; |
| | | Integer experienceService = 0; |
| | | Integer experiencePerson = 0; |
| | | Goods goods; |
| | | GoodsFile goodsFile; |
| | | String consumerGoodsId; |
| | | List<ConsumerGoods> consumerGoodsList = new ArrayList<>(); |
| | | MerMemberConsumerGoodsTotalVo memberConsumerGoodsTotalVo = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getUserId(), merSureConsumerGoodsDto.getShopId()); |
| | | int sureNum = 0; |
| | | for(MerSureConsumerGoodsListDto merSureConsumerGoodsListDto : merSureConsumerGoodsListDtoList){ |
| | | consumerGoods = this.getById(merSureConsumerGoodsListDto.getConsumerGoodsId()); |
| | | consumerGoods.setCycleNumFlag(1); |
| | | consumerGoods.setServiceNum(merSureConsumerGoodsListDto.getServiceNum()); |
| | | this.saveOrUpdate(consumerGoods); |
| | | //处理商品服务次数 |
| | | switch (consumerGoods.getGoodsType()) { |
| | | case 1: |
| | | cycleService = cycleService + consumerGoods.getServiceNum(); |
| | | break; |
| | | case 2: |
| | | serviceService = serviceService + consumerGoods.getServiceNum(); |
| | | break; |
| | | case 3: |
| | | experienceService = experienceService + consumerGoods.getServiceNum(); |
| | | break; |
| | | default: |
| | | break; |
| | | goods = remoteGoodsService.getGoods(merSureConsumerGoodsListDto.getGoodsId()).getData(); |
| | | goodsFile = remoteGoodsService.getGoodsFile(goods.getGoodsId()).getData(); |
| | | if(goods!=null&&goods.getGoodsType()==1&&goods.getCycleNumFlag()==1){ |
| | | for(int i=0;i<merSureConsumerGoodsListDto.getGoodsNum();i++){ |
| | | consumerGoods = new ConsumerGoods(); |
| | | consumerGoodsId = IdUtils.simpleUUID(); |
| | | consumerGoods.setConsumerGoodsId(consumerGoodsId); |
| | | consumerGoods.setDelFlag(0); |
| | | consumerGoods.setServiceStatus(1); |
| | | consumerGoods.setShopId(merSureConsumerGoodsDto.getShopId()); |
| | | consumerGoods.setUserId(merSureConsumerGoodsDto.getMemberUserId()); |
| | | consumerGoods.setOrderId(oldConsumerGoods.getOrderId()); |
| | | consumerGoods.setOrderGoodsId(oldConsumerGoods.getOrderGoodsId()); |
| | | consumerGoods.setGoodsId(goods.getGoodsId()); |
| | | consumerGoods.setGoodsName(goods.getGoodsName()); |
| | | consumerGoods.setCycleNumFlag(goods.getCycleNumFlag()); |
| | | consumerGoods.setServiceNum(goods.getServiceNum()); |
| | | consumerGoods.setUsedNum(0); |
| | | consumerGoods.setCreateTime(new Date()); |
| | | consumerGoods.setGoodsType(goods.getGoodsType()); |
| | | consumerGoods.setGoodsIntroduction(goods.getGoodsIntroduction()); |
| | | consumerGoods.setGoodsPicture(goodsFile.getFileUrl()); |
| | | consumerGoods.setGoodsNurses(goods.getGoodsNurses()); |
| | | consumerGoods.setSourceFrom(1); |
| | | consumerGoodsList.add(consumerGoods); |
| | | //处理商品服务次数 |
| | | switch (consumerGoods.getGoodsType()) { |
| | | case 1: |
| | | cycleService = cycleService + consumerGoods.getServiceNum(); |
| | | break; |
| | | case 2: |
| | | serviceService = serviceService + consumerGoods.getServiceNum(); |
| | | break; |
| | | case 3: |
| | | experienceService = experienceService + consumerGoods.getServiceNum(); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | sureNum = sureNum + 1; |
| | | } |
| | | } |
| | | } |
| | | if(sureNum>oldConsumerGoods.getSureNum()){ |
| | | throw new ServiceException(AppErrorConstant.GOODS_SURE_FAILED); |
| | | }else{ |
| | | int surpNum = oldConsumerGoods.getSureNum(); |
| | | surpNum = surpNum - sureNum; |
| | | oldConsumerGoods.setSureNum(surpNum); |
| | | if(surpNum==0){ |
| | | oldConsumerGoods.setDelFlag(1); |
| | | } |
| | | this.saveOrUpdate(oldConsumerGoods); |
| | | } |
| | | this.saveBatch(consumerGoodsList); |
| | | //判断是否加人 |
| | | if (cycleService > 0 && memberConsumerGoodsTotalVo.getCycleOrder() == 0) { |
| | | cyclePerson = 1; |
| | |
| | | * @param merSureConsumerGoodsDto |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public void useMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto){ |
| | | List<MerSureConsumerGoodsListDto> goodsList = merSureConsumerGoodsDto.getMerSureConsumerGoodsListDtoList(); |
| | | if (goodsList != null && !goodsList.isEmpty()) { |
| | |
| | | Integer experienceService = 0; |
| | | Integer experiencePerson = 0; |
| | | //获取会员商品总数 |
| | | MerMemberConsumerGoodsTotalVo memberGoodsTotal = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getUserId(), merSureConsumerGoodsDto.getShopId()); |
| | | MerMemberConsumerGoodsTotalVo memberGoodsTotal = this.getMemberConsumerGoodsTotalVo(merSureConsumerGoodsDto.getMemberUserId(), merSureConsumerGoodsDto.getShopId()); |
| | | for (MerSureConsumerGoodsListDto goodsDto : goodsList) { |
| | | goods = this.getById(goodsDto.getConsumerGoodsId()); |
| | | serviceNum = goods.getServiceNum(); |
| | |
| | | userServiceRecordService.saveOrUpdate(serviceRecord); |
| | | //更新商户和会员服务统计 |
| | | MemberTotalChangeDto memberTotalChange = new MemberTotalChangeDto(); |
| | | memberTotalChange.setUserId(merSureConsumerGoodsDto.getUserId()); |
| | | memberTotalChange.setUserId(merSureConsumerGoodsDto.getMemberUserId()); |
| | | memberTotalChange.setTypeService(2); |
| | | memberTotalChange.setServiceCount(serviceCount); |
| | | remoteMemberService.changeMemberTotal(memberTotalChange); |
| | |
| | | //处理商品服务次数 |
| | | switch (consumerGoods.getGoodsType()) { |
| | | case 1: |
| | | cycleService = cycleService + consumerGoods.getServiceNum(); |
| | | if(consumerGoods.getServiceNum()!=null){ |
| | | cycleService = cycleService + consumerGoods.getServiceNum(); |
| | | } |
| | | break; |
| | | case 2: |
| | | serviceService = serviceService + consumerGoods.getServiceNum(); |
| | | if(consumerGoods.getServiceNum()!=null){ |
| | | serviceService = serviceService + consumerGoods.getServiceNum(); |
| | | } |
| | | break; |
| | | case 3: |
| | | experienceService = experienceService + consumerGoods.getServiceNum(); |
| | | if(consumerGoods.getServiceNum()!=null) { |
| | | experienceService = experienceService + consumerGoods.getServiceNum(); |
| | | } |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | remoteMemberService.changeMemberTotal(memberTotalChangeDto); |
| | | ShopTotalChangeDto shopTotalChangeDto = new ShopTotalChangeDto(); |
| | | shopTotalChangeDto.setShopId(shopId); |
| | | shopTotalChangeDto.setOrderType(1); |
| | | shopTotalChangeDto.setTypeCycleService(1); |
| | | shopTotalChangeDto.setCycleService(cycleService); |
| | | shopTotalChangeDto.setCyclePerson(cyclePerson); |