CargoTallyServiceImpl.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.fuzamei.service.serviceImpl;
  2. import java.util.List;
  3. import java.util.Map;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.stereotype.Service;
  6. import com.alibaba.fastjson.JSON;
  7. import com.fuzamei.constant.OperationType;
  8. import com.fuzamei.constant.Statuses;
  9. import com.fuzamei.entity.Orders;
  10. import com.fuzamei.entity.Params;
  11. import com.fuzamei.entity.SendOrder;
  12. import com.fuzamei.entity.TallyOrder;
  13. import com.fuzamei.mapperInterface.CargoTallyMapper;
  14. import com.fuzamei.mapperInterface.OperationHistoryMapper;
  15. import com.fuzamei.service.CargoTallyService;
  16. import com.fuzamei.util.PageDTO;
  17. import com.fuzamei.util.blockchain.BlockChainUtil;
  18. @Service
  19. public class CargoTallyServiceImpl implements CargoTallyService {
  20. @Autowired
  21. private CargoTallyMapper cargoTallyMapper;
  22. @Autowired
  23. private OperationHistoryMapper operationHistoryMapper;
  24. @Autowired
  25. private BlockChainUtil blockChainUtil;
  26. @Override
  27. public PageDTO queryOrdersByReceiver(Params params) {
  28. PageDTO pageDto=new PageDTO();
  29. List<TallyOrder> orderList = cargoTallyMapper.queryOrdersByReceiver(params);
  30. int count = cargoTallyMapper.findQueryCountByReceiver(params);
  31. pageDto.setRows(orderList);
  32. pageDto.setTotal(count);
  33. return pageDto;
  34. }
  35. @Override
  36. public TallyOrder searchNewOrderByOrderId(Params params) {
  37. Orders order = params.getOrder();
  38. TallyOrder tallyOrder=new TallyOrder();
  39. tallyOrder.setOrderId(order.getOrderId());
  40. tallyOrder.setPartNo(order.getPartNo());
  41. tallyOrder.setBoxNo(order.getBoxNo());
  42. tallyOrder.setBoxQty(order.getBoxQty());
  43. tallyOrder.setCarNo(order.getCarNo());
  44. return tallyOrder;
  45. }
  46. @Override
  47. public void confirmOrReject(Params params) {
  48. String sign = params.getSign();
  49. @SuppressWarnings("unchecked")
  50. Map<String,Object> map = JSON.parseObject(sign, Map.class);
  51. String hash = (String) map.get("sid");
  52. Long currentTime = params.getTallyTime();
  53. //更新【订单表】
  54. params.setTallyTime(currentTime);
  55. params.setUpdateTime(currentTime);
  56. params.setReceiverId(params.getUserId());
  57. if(params.getConfirmId()==1) params.setStatusId(Statuses.TALLIED);
  58. if(params.getConfirmId()==0) params.setStatusId(Statuses.REJECTED);
  59. cargoTallyMapper.confirmOrReject(params);
  60. //插入【操作记录】
  61. if(params.getConfirmId()==1) params.setOperationTypeId(OperationType.CONFIRM);
  62. if(params.getConfirmId()==0) params.setOperationTypeId(OperationType.CONFIRM);
  63. params.setOperatorId(params.getUserId());
  64. params.setOperationTime(currentTime);
  65. params.setHash(hash);
  66. operationHistoryMapper.addToHistory(params);
  67. boolean flag = blockChainUtil.sendBlockChain(params.getSign());
  68. if(!flag) throw new RuntimeException("区块链操作失败");
  69. }
  70. @Override
  71. public List<Object> orderTracking(Params params) {
  72. Orders order = params.getOrder();
  73. return OrdersIssueServiceImpl.dispatchOrderInfo(order);
  74. }
  75. }