|  |  |  | 
|---|
|  |  |  | private IdUtils idUtils; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public void addJhyOrder(AddJhyOrderDto orderDto) { | 
|---|
|  |  |  | //        JhyInfo jhyInfo = jhyInfoMapper.selectJhyInfoByUserId(orderDto.getUserId()); | 
|---|
|  |  |  | //        if (jhyInfo != null && JhyInfo.CHECK_PASS.equals(jhyInfo.getStatus())) { | 
|---|
|  |  |  | //            throw new RestException(-3, "集货员不能下单"); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | JhyInfo jhyInfo = jhyInfoMapper.selectJhyInfoByUserId(orderDto.getUserId()); | 
|---|
|  |  |  | if (jhyInfo != null && JhyInfo.CHECK_PASS.equals(jhyInfo.getStatus())) { | 
|---|
|  |  |  | throw new RestException(-3, "集货员不能下单"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // TODO 判断地址附近500米是否有集物员 | 
|---|
|  |  |  | String orderNo = idUtils.generate("JW", 10); | 
|---|
|  |  |  | 
|---|
|  |  |  | throw new RestException(-3, "不是集物员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | JhyOrder order = jhyOrderMapper.selectByPrimaryKey(confirmDto.getOrderId()); | 
|---|
|  |  |  | order.setStatus(JhyOrder.ORDER_STATUS_CONFIRM); | 
|---|
|  |  |  | order.setReceivingTime(new Date()); | 
|---|
|  |  |  | jhyOrderMapper.updateByPrimaryKey(order); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BigDecimal totalScore = BigDecimal.ZERO; | 
|---|
|  |  |  | for (JhyOrderConfirmItemsDto item : confirmDto.getItems()) { | 
|---|
|  |  |  | JhyOrderItems orderItem = jhyOrderItemsMapper.selectByPrimaryKey(item.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  | totalScore = totalScore.add(total); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | JhyOrder order = jhyOrderMapper.selectByPrimaryKey(confirmDto.getOrderId()); | 
|---|
|  |  |  | AccountInfo jhyAccount = accountMapper.selectAccountInfoByUserId(order.getJhyId()); | 
|---|
|  |  |  | BigDecimal collectScore = StrUtil.isNotBlank(jhyAccount.getCollectScore()) ? new BigDecimal(jhyAccount.getCollectScore()) : BigDecimal.ZERO; | 
|---|
|  |  |  | if (totalScore.compareTo(collectScore) > 0) { | 
|---|
|  |  |  | throw new RestException(-3, "剩余积分不足"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | order.setStatus(JhyOrder.ORDER_STATUS_CONFIRM); | 
|---|
|  |  |  | order.setReceivingTime(new Date()); | 
|---|
|  |  |  | jhyOrderMapper.updateByPrimaryKey(order); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | BigDecimal jhyScore = StrUtil.isBlank(jhyAccount.getCollectScore()) ? BigDecimal.ZERO : new BigDecimal(jhyAccount.getCollectScore()); | 
|---|
|  |  |  | ScoreDetails jhyScoreDetail = new ScoreDetails(); | 
|---|
|  |  |  | jhyScoreDetail.setOrderNo(order.getOrderNo()); | 
|---|