| | |
| | | @Autowired |
| | | private OrderItemCheckMapper orderItemCheckMapper; |
| | | |
| | | @Autowired |
| | | private RedisLockService lockService; |
| | | |
| | | public void changeFlower2Cart(CartSaveDTO dto) { |
| | | String userId = SecurityUtils.getUserId(); |
| | | Cart c = cartMapper.selectOne(new QueryWrapper<Cart>() |
| | | .eq("create_by", userId).eq("flower_id", dto.getId())); |
| | | if (c == null) { |
| | | if (dto.getNum() <= 0) { |
| | | throw new ValidationException("数量不能小于等于0,请刷新页面重试"); |
| | | } |
| | | c = new Cart(); |
| | | c.setFlowerId(dto.getId()); |
| | | c.setNum(dto.getNum()); |
| | | c.create(userId); |
| | | String key = userId + "_" + dto.getId(); |
| | | boolean lock = lockService.getObjectLock(RedisLockService.LOCK_KEY_CART_, key); |
| | | if(!lock){ |
| | | return; |
| | | } |
| | | |
| | | cartMapper.insert(c); |
| | | } else { |
| | | c.setNum(c.getNum() + dto.getNum()); |
| | | c.update(userId); |
| | | if (c.getNum() <= 0) { |
| | | cartMapper.deleteById(c.getId()); |
| | | try { |
| | | Cart c = cartMapper.selectOne(new QueryWrapper<Cart>() |
| | | .eq("create_by", userId).eq("flower_id", dto.getId())); |
| | | if (c == null) { |
| | | if (dto.getNum() <= 0) { |
| | | throw new ValidationException("数量不能小于等于0,请刷新页面重试"); |
| | | } |
| | | c = new Cart(); |
| | | c.setFlowerId(dto.getId()); |
| | | c.setNum(dto.getNum()); |
| | | c.create(userId); |
| | | |
| | | cartMapper.insert(c); |
| | | } else { |
| | | cartMapper.updateById(c); |
| | | c.setNum(c.getNum() + dto.getNum()); |
| | | c.update(userId); |
| | | if (c.getNum() <= 0) { |
| | | cartMapper.deleteById(c.getId()); |
| | | } else { |
| | | cartMapper.updateById(c); |
| | | } |
| | | } |
| | | } finally { |
| | | lockService.releaseObjectLock(RedisLockService.LOCK_KEY_CART_, key); |
| | | } |
| | | } |
| | | |
| | | public void saveFlower2Cart(CartSaveDTO dto) { |
| | | String userId = SecurityUtils.getUserId(); |
| | | Cart c = cartMapper.selectOne(new QueryWrapper<Cart>() |
| | | .eq("create_by", userId).eq("flower_id", dto.getId())); |
| | | if (c == null) { |
| | | c = new Cart(); |
| | | c.setFlowerId(dto.getId()); |
| | | c.setNum(dto.getNum()); |
| | | c.create(userId); |
| | | |
| | | cartMapper.insert(c); |
| | | } else { |
| | | c.setNum(dto.getNum()); |
| | | c.update(userId); |
| | | String key = userId + "_" + dto.getId(); |
| | | boolean lock = lockService.getObjectLock(RedisLockService.LOCK_KEY_CART_, key); |
| | | if(!lock){ |
| | | return; |
| | | } |
| | | |
| | | cartMapper.updateById(c); |
| | | try { |
| | | Cart c = cartMapper.selectOne(new QueryWrapper<Cart>() |
| | | .eq("create_by", userId).eq("flower_id", dto.getId())); |
| | | if (c == null) { |
| | | c = new Cart(); |
| | | c.setFlowerId(dto.getId()); |
| | | c.setNum(dto.getNum()); |
| | | c.create(userId); |
| | | |
| | | cartMapper.insert(c); |
| | | } else { |
| | | c.setNum(dto.getNum()); |
| | | c.update(userId); |
| | | |
| | | cartMapper.updateById(c); |
| | | } |
| | | } finally { |
| | | lockService.releaseObjectLock(RedisLockService.LOCK_KEY_CART_, key); |
| | | } |
| | | } |
| | | |
| | |
| | | * 合伙人订单定时发货 |
| | | */ |
| | | public void setPartnerOrderSend() { |
| | | orderMapper.setPartnerOrderReceive(); |
| | | List<Order> orders = orderMapper.getPartnerOrderReceive(); |
| | | if(orders == null || orders.size() == 0){ |
| | | return; |
| | | } |
| | | for (Order o : orders) { |
| | | //set status_backend = 'RECEIVE', status = 'RECEIVE' |
| | | o.setStatusBackend("RECEIVE"); |
| | | o.setStatus("RECEIVE"); |
| | | //发送微信发货请求 |
| | | JSONObject jsonObject = sendWxDeliveryGood(o); |
| | | if (jsonObject != null && (int) jsonObject.get("errcode") == 0) { |
| | | o.setWxDeliveryGood(true); |
| | | o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject)); |
| | | } else { |
| | | o.setWxDeliveryGood(false); |
| | | o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject)); |
| | | } |
| | | |
| | | orderMapper.updateById(o); |
| | | } |
| | | //orderMapper.setPartnerOrderReceive(); |
| | | } |
| | | |
| | | /** |
| | |
| | | o.setStatus(Constants.ORDER_STATUS.RECEIVE.name()); |
| | | o.setStatusBackend(Constants.ORDER_STATUS_BACKEND.RECEIVE.name()); |
| | | o.update(SecurityUtils.getUserId()); |
| | | |
| | | //发送微信发货请求 |
| | | JSONObject jsonObject = sendWxDeliveryGood(o); |
| | | if (jsonObject != null && (int) jsonObject.get("errcode") == 0) { |
| | | o.setWxDeliveryGood(true); |
| | | o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject)); |
| | | } else { |
| | | o.setWxDeliveryGood(false); |
| | | o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject)); |
| | | } |
| | | |
| | | orderMapper.updateById(o); |
| | | } |
| | | |
| | |
| | | return ls; |
| | | } |
| | | |
| | | public List<OrderCheckLocationListDTO> selectOrderCheckLocationList(OrderQueryDTO dto) { |
| | | dto.setIdList(splitParam(dto.getIds())); |
| | | dto.setStartDate(parseLocalDateTime(dto.getStartDateStr(), true)); |
| | | dto.setEndDate(parseLocalDateTime(dto.getEndDateStr(), false)); |
| | | |
| | | dto.setCreateStartDate(parseLocalDateTime(dto.getCreateStartDateStr(), 17, 0, 0, -1)); |
| | | dto.setCreateEndDate(parseLocalDateTime(dto.getCreateEndDateStr(), 17, 0, 0, 0)); |
| | | |
| | | List<OrderCheckListDTO> ls = orderMapper.selectOrderCheckList(dto); |
| | | |
| | | List<OrderCheckLocationListDTO> result = new ArrayList<>(); |
| | | |
| | | if (ls != null && ls.size() > 0) { |
| | | List<String> orderIds = new ArrayList<>(); |
| | | Map<Long, OrderCheckLocationListDTO> rMap = new HashMap<>(); |
| | | Map<String, OrderCheckListDTO> orderMap = new HashMap<>(); |
| | | for (OrderCheckListDTO c : ls) { |
| | | orderIds.add(c.getId()); |
| | | |
| | | orderMap.put(c.getId(), c); |
| | | |
| | | Long locationId = c.getWarehouseLocationId(); |
| | | OrderCheckLocationListDTO llc = rMap.get(locationId); |
| | | if(llc == null){ |
| | | llc = new OrderCheckLocationListDTO(); |
| | | BeanUtils.copyProperties(c, llc); |
| | | rMap.put(locationId, llc); |
| | | |
| | | result.add(llc); |
| | | } |
| | | } |
| | | |
| | | Map<Long, String> stationMap = prepareStationMap(); |
| | | |
| | | List<OrderItem> itemList = orderItemMapper.selectList(new QueryWrapper<OrderItem>() |
| | | .in("order_id", orderIds)); |
| | | Map<String, List<OrderItemLocationListDTO>> map = new HashMap<>(); |
| | | |
| | | for (OrderItem oi : itemList) { |
| | | String orderId = oi.getOrderId(); |
| | | List<OrderItemLocationListDTO> ll = map.computeIfAbsent(orderId, k -> new ArrayList<>()); |
| | | OrderItemLocationListDTO d = new OrderItemLocationListDTO(); |
| | | BeanUtils.copyProperties(oi, d); |
| | | d.setStationName(stationMap.get(oi.getStationId())); |
| | | |
| | | OrderCheckListDTO c = orderMap.get(oi.getOrderId()); |
| | | d.setOrderNo(c.getOrderNo()); |
| | | d.setOrderId(c.getId()); |
| | | |
| | | ll.add(d); |
| | | } |
| | | |
| | | for (OrderCheckListDTO c : ls) { |
| | | String orderId = c.getId(); |
| | | Long locationId = c.getWarehouseLocationId(); |
| | | OrderCheckLocationListDTO r = rMap.get(locationId); |
| | | List<OrderItemLocationListDTO> items = r.getItems(); |
| | | if(items == null){ |
| | | items = new ArrayList<>(); |
| | | r.setItems(items); |
| | | } |
| | | items.addAll(map.get(orderId)); |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public Page<OrderListDTO> selectPartnerOrderList(Page page, OrderQueryDTO dto) { |
| | | Partner p = getCurrentPartner(); |
| | | dto.setPartnerId(p.getId()); |
| | |
| | | o.setStatusBackend(Constants.ORDER_STATUS_BACKEND.EVALUATE.name()); |
| | | o.setReceiveTime(LocalDateTime.now()); |
| | | o.update("sys"); |
| | | |
| | | |
| | | //发送微信发货请求 |
| | | JSONObject jsonObject = sendWxDeliveryGood(o); |
| | | if (jsonObject != null && (int) jsonObject.get("errcode") == 0) { |
| | | o.setWxDeliveryGood(true); |
| | | o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject)); |
| | | } else { |
| | | o.setWxDeliveryGood(false); |
| | | o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject)); |
| | | } |
| | | orderMapper.updateById(o); |
| | | |
| | | } |
| | |
| | | o.setStatusBackend(Constants.ORDER_STATUS_BACKEND.EVALUATE.name()); |
| | | o.setReceiveTime(LocalDateTime.now()); |
| | | o.update(userId); |
| | | |
| | | //发送微信发货请求 |
| | | JSONObject jsonObject = sendWxDeliveryGood(o); |
| | | if (jsonObject != null && (int) jsonObject.get("errcode") == 0) { |
| | | o.setWxDeliveryGood(true); |
| | | o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject)); |
| | | } else { |
| | | o.setWxDeliveryGood(false); |
| | | o.setWxDeliveryMsg(GsonUtil.toJson(jsonObject)); |
| | | } |
| | | |
| | | orderMapper.updateById(o); |
| | | } |
| | | |