| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.order.domain.dto.AppConsumerPageDto; |
| | | import com.ruoyi.order.domain.dto.MerConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.dto.MerSureConsumerGoodsDto; |
| | | import com.ruoyi.order.domain.dto.MerSureConsumerGoodsListDto; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.order.domain.dto.*; |
| | | import com.ruoyi.order.domain.pojo.order.ConsumerGoods; |
| | | import com.ruoyi.order.domain.pojo.order.UserServiceRecord; |
| | | import com.ruoyi.order.domain.vo.AppConsumerPageVo; |
| | | import com.ruoyi.order.domain.vo.MerConsumerGoodsListVo; |
| | | import com.ruoyi.order.domain.vo.MerConsumerGoodsVo; |
| | | import com.ruoyi.order.mapper.order.ConsumerGoodsMapper; |
| | | import com.ruoyi.order.service.order.ConsumerGoodsService; |
| | | import com.ruoyi.order.service.order.UserServiceRecordService; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Resource |
| | | private ConsumerGoodsMapper consumerGoodsMapper; |
| | | |
| | | @Resource |
| | | private UserServiceRecordService userServiceRecordService; |
| | | /** |
| | | * 获取用户服务 |
| | | * @param page |
| | |
| | | for(MerSureConsumerGoodsListDto merSureConsumerGoodsListDto : merSureConsumerGoodsListDtoList){ |
| | | consumerGoods = this.getById(merSureConsumerGoodsListDto.getConsumerGoodsId()); |
| | | consumerGoods.setCycleNumFlag(1); |
| | | consumerGoods.setServiceNum(merSureConsumerGoodsListDto.getService_num()); |
| | | consumerGoods.setServiceNum(merSureConsumerGoodsListDto.getServiceNum()); |
| | | this.saveOrUpdate(consumerGoods); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 确认商品次数 |
| | | * @param merSureConsumerGoodsDto |
| | | */ |
| | | @Override |
| | | public void useMerConsumerGoods(MerSureConsumerGoodsDto merSureConsumerGoodsDto){ |
| | | List<MerSureConsumerGoodsListDto> merSureConsumerGoodsListDtoList = merSureConsumerGoodsDto.getMerSureConsumerGoodsListDtoList(); |
| | | if(merSureConsumerGoodsListDtoList!=null && !merSureConsumerGoodsListDtoList.isEmpty()){ |
| | | ConsumerGoods consumerGoods; |
| | | Integer serviceNum; |
| | | Integer usedNum; |
| | | Integer useNum; |
| | | Integer surpNum; |
| | | Long shopId = null; |
| | | Long userId = null; |
| | | String consumerGoodsNames = ""; |
| | | String consumerGoodsIds = ""; |
| | | Integer serviceType = 1; |
| | | for(MerSureConsumerGoodsListDto merSureConsumerGoodsListDto : merSureConsumerGoodsListDtoList){ |
| | | consumerGoods = this.getById(merSureConsumerGoodsListDto.getConsumerGoodsId()); |
| | | serviceNum = consumerGoods.getServiceNum(); |
| | | usedNum = consumerGoods.getUsedNum(); |
| | | surpNum = serviceNum - usedNum; |
| | | useNum = merSureConsumerGoodsListDto.getServiceNum(); |
| | | if(useNum>surpNum){ |
| | | throw new ServiceException(AppErrorConstant.BEYOND_SURP_NUM); |
| | | } |
| | | consumerGoods.setUsedNum(usedNum+useNum); |
| | | consumerGoods.setUseTime(new Date()); |
| | | if(consumerGoods.getUsedNum().equals(serviceNum)){ |
| | | consumerGoods.setServiceStatus(2); |
| | | consumerGoods.setCompleteTime(new Date()); |
| | | } |
| | | this.saveOrUpdate(consumerGoods); |
| | | shopId = consumerGoods.getShopId(); |
| | | userId= consumerGoods.getUserId(); |
| | | serviceType = consumerGoods.getGoodsType(); |
| | | if(StringUtils.isBlank(consumerGoodsIds)){ |
| | | consumerGoodsIds = consumerGoods.getConsumerGoodsId(); |
| | | }else{ |
| | | consumerGoodsIds = consumerGoodsIds + "," + consumerGoods.getConsumerGoodsId(); |
| | | } |
| | | if(StringUtils.isBlank(consumerGoodsNames)){ |
| | | consumerGoodsNames = consumerGoods.getGoodsName(); |
| | | }else{ |
| | | consumerGoodsNames = consumerGoodsNames + "、" + consumerGoods.getGoodsName(); |
| | | } |
| | | } |
| | | UserServiceRecord userServiceRecord = new UserServiceRecord(); |
| | | userServiceRecord.setCreateTime(new Date()); |
| | | userServiceRecord.setServiceType(serviceType); |
| | | userServiceRecord.setDelFlag(0); |
| | | userServiceRecord.setShopId(shopId); |
| | | userServiceRecord.setUserId(userId); |
| | | userServiceRecord.setConsumerGoodsIds(consumerGoodsIds); |
| | | userServiceRecord.setConsumerGoodsNames(consumerGoodsNames); |
| | | userServiceRecordService.saveOrUpdate(userServiceRecord); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param page |
| | | * @param merConsumerGoodsPageDto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<MerConsumerGoodsListVo> pageMerConsumerGoodsNum(Page page, MerConsumerGoodsPageDto merConsumerGoodsPageDto){ |
| | | List<MerConsumerGoodsListVo> merConsumerGoodsListVos = consumerGoodsMapper.pageMerConsumerGoodsNum(page, merConsumerGoodsPageDto); |
| | | return merConsumerGoodsListVos; |
| | | } |
| | | } |