ylx 7 роки тому
батько
коміт
19e4830637

+ 7 - 0
saicLogistics/src/main/java/com/fuzamei/entity/Params.java

@@ -7,6 +7,7 @@ package com.fuzamei.entity;
  * @version v1.0
  */
 public class Params {
+	private String sign;				//签名
 	private String tokenId;				//前端返回的tokenId值,tokenId为"Bearer"+token+"&"+userId
 	private Integer userId;				//用户id
 	private Integer page;				//页数
@@ -39,6 +40,12 @@ public class Params {
 	private Long operationTime;			//操作时间
 	private UserDetail userDetail;		//用户详细信息对象
 	private Orders order;				//整个订单详细信息
+	public String getSign() {
+		return sign;
+	}
+	public void setSign(String sign) {
+		this.sign = sign;
+	}
 	public String getTokenId() {
 		return tokenId;
 	}

+ 6 - 0
saicLogistics/src/main/java/com/fuzamei/service/serviceImpl/CargoConsignServiceImpl.java

@@ -17,6 +17,7 @@ import com.fuzamei.mapperInterface.CargoConsignMapper;
 import com.fuzamei.mapperInterface.OperationHistoryMapper;
 import com.fuzamei.service.CargoConsignService;
 import com.fuzamei.util.PageDTO;
+import com.fuzamei.util.blockchain.BlockChainUtil;
 
 @Service
 public class CargoConsignServiceImpl implements CargoConsignService {
@@ -26,6 +27,9 @@ public class CargoConsignServiceImpl implements CargoConsignService {
 	
 	@Autowired
 	private OperationHistoryMapper operationHistoryMapper;
+	
+	@Autowired
+	private BlockChainUtil blockChainUtil;
 
 	@Override
 	public PageDTO queryOrdersBySupplier(Params params) {
@@ -62,6 +66,8 @@ public class CargoConsignServiceImpl implements CargoConsignService {
 		params.setOperatorId(params.getUserId());
 		params.setOperationTime(currentTime);
 		operationHistoryMapper.addToHistory(params);
+		boolean flag = blockChainUtil.sendBlockChain(params.getSign());
+		if(!flag) throw new RuntimeException("区块链操作失败");
 	}
 
 	@Override

+ 6 - 0
saicLogistics/src/main/java/com/fuzamei/service/serviceImpl/CargoTallyServiceImpl.java

@@ -16,6 +16,7 @@ import com.fuzamei.mapperInterface.CargoTallyMapper;
 import com.fuzamei.mapperInterface.OperationHistoryMapper;
 import com.fuzamei.service.CargoTallyService;
 import com.fuzamei.util.PageDTO;
+import com.fuzamei.util.blockchain.BlockChainUtil;
 
 @Service
 public class CargoTallyServiceImpl implements CargoTallyService {
@@ -25,6 +26,9 @@ public class CargoTallyServiceImpl implements CargoTallyService {
 	
 	@Autowired
 	private OperationHistoryMapper operationHistoryMapper;
+	
+	@Autowired
+	private BlockChainUtil blockChainUtil;
 
 	@Override
 	public PageDTO queryOrdersByReceiver(Params params) {
@@ -64,6 +68,8 @@ public class CargoTallyServiceImpl implements CargoTallyService {
 		params.setOperatorId(params.getUserId());
 		params.setOperationTime(currentTime);
 		operationHistoryMapper.addToHistory(params);
+		boolean flag = blockChainUtil.sendBlockChain(params.getSign());
+		if(!flag) throw new RuntimeException("区块链操作失败");
 	}
 
 	@Override

+ 8 - 0
saicLogistics/src/main/java/com/fuzamei/service/serviceImpl/OrdersIssueServiceImpl.java

@@ -23,6 +23,7 @@ import com.fuzamei.mapperInterface.OperationHistoryMapper;
 import com.fuzamei.mapperInterface.OrdersIssueMapper;
 import com.fuzamei.service.OrdersIssueService;
 import com.fuzamei.util.PageDTO;
+import com.fuzamei.util.blockchain.BlockChainUtil;
 
 @Service
 public class OrdersIssueServiceImpl implements OrdersIssueService {
@@ -32,6 +33,9 @@ public class OrdersIssueServiceImpl implements OrdersIssueService {
 	
 	@Autowired
 	private OperationHistoryMapper operationHistoryMapper;
+	
+	@Autowired
+	private BlockChainUtil blockChainUtil;
 
 	@Override
 	public PageDTO queryOrdersByPlanner(Params params) {
@@ -67,6 +71,8 @@ public class OrdersIssueServiceImpl implements OrdersIssueService {
 		params.setOperatorId(params.getUserId());
 		params.setOperationTime(currentTime);
 		operationHistoryMapper.addToHistory(params);
+		boolean flag = blockChainUtil.sendBlockChain(params.getSign());
+		if(!flag) throw new RuntimeException("区块链操作失败");
 	}
 
 	@Override
@@ -86,6 +92,8 @@ public class OrdersIssueServiceImpl implements OrdersIssueService {
 		params.setOperatorId(params.getUserId());
 		params.setOperationTime(currentTime);
 		operationHistoryMapper.addToHistory(params);
+		boolean flag = blockChainUtil.sendBlockChain(params.getSign());
+		if(!flag) throw new RuntimeException("区块链操作失败");
 	}
 
 	@Override

+ 1 - 2
saicLogistics/src/main/java/com/fuzamei/util/blockchain/BlockChainUtil.java

@@ -92,8 +92,7 @@ public class BlockChainUtil {
 		boolean flag = false;	//区块链成功返回true,失败返回false,默认返回false
 		ProtobufBean protobufBean = new ProtobufBean();		//签名对象
 		Map<String, Object> mma = JSONUtil.jsonToMap(qianming);
-		long instructionId = Long
-				.parseLong(mma.get("sid").toString());
+		long instructionId = Long.parseLong(mma.get("sid").toString());
 		protobufBean.setInstructionId(instructionId);
 		protobufBean.setSignature(mma.get("signdata").toString());
 		String result = sendPostParam(protobufBean);

+ 1 - 0
saicLogistics/src/main/java/com/fuzamei/web/CargoConsignAction.java

@@ -149,6 +149,7 @@ public class CargoConsignAction {
 	public Map<String, Object> doCarry(@RequestBody Params params){
 		try {
 			String userId = req.getHeader("Authorization").split("&")[1];
+			ValidationUtil.checkBlankAndAssignString(params.getSign());//前端签名非空校验
 			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId), Role.CARRIER);
 			params.setUserId(Integer.parseInt(userId));
 			Orders order = orderService.queryFullOrderByOrderId(ValidationUtil.checkAndAssignInt(params.getOrderId()));

+ 1 - 0
saicLogistics/src/main/java/com/fuzamei/web/CargoTallyAction.java

@@ -131,6 +131,7 @@ public class CargoTallyAction {
 	public Map<String, Object> confirmOrReject(@RequestBody Params params){
 		try {
 			String userId = req.getHeader("Authorization").split("&")[1];
+			ValidationUtil.checkBlankAndAssignString(params.getSign());//前端签名非空校验
 			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId), Role.STOCKER);
 			params.setUserId(Integer.parseInt(userId));
 			ValidationUtil.checkRangeAndAssignInt(params.getConfirmId(), 0, 1);//确认id只能是0和1

+ 1 - 0
saicLogistics/src/main/java/com/fuzamei/web/LoginAction.java

@@ -57,6 +57,7 @@ public class LoginAction {
 			map.put("personName", user.getPersonName());
 			map.put("random", user.getRandom());
 			map.put("roleId", user.getRoleId());
+			map.put("userId", user.getUserId());
 			map.put("tokenId", "Bearer"+token+"&"+user.getUserId());
 			return JSONUtil.getJsonMap(200, true, HintMSG.LOGIN_SUCCESS, map);
 		} catch (Exception e) {

+ 2 - 0
saicLogistics/src/main/java/com/fuzamei/web/OrdersIssueAction.java

@@ -161,6 +161,7 @@ public class OrdersIssueAction {
 	public Map<String, Object> consignment(@RequestBody Params params){
 		try {
 			String userId = req.getHeader("Authorization").split("&")[1];
+			ValidationUtil.checkBlankAndAssignString(params.getSign());//前端签名非空校验
 			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(userId), Role.SUPPLIER);
 			params.setUserId(Integer.parseInt(userId));
 			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(params.getCarrierId()), Role.CARRIER);
@@ -197,6 +198,7 @@ public class OrdersIssueAction {
 	public Map<String, Object> addOrder(@RequestBody Params params){
 		try {
 			String userId = req.getHeader("Authorization").split("&")[1];
+			ValidationUtil.checkBlankAndAssignString(params.getSign());//前端签名非空校验
 			params.setOrderId(ValidationUtil.checkAndAssignInt(new SimpleDateFormat("yyMMdd").format(new Date())+RandomUtil.getRandomDigits(3)));
 			orderService.checkIfHasTheSameId(ValidationUtil.checkAndAssignInt(params.getOrderId(),ORDER_ID_PATTERN));
 			params.setUserId(Integer.parseInt(userId));