chb 7 gadi atpakaļ
vecāks
revīzija
192cea85df

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

@@ -8,6 +8,13 @@ public class OperationHistoryAdmin {
 	private String beOperatedName;		//被操作人名
 	private Long operationTime;			//操作时间
 	private String hash;				//操作hash
+	private String sign;				//签名
+	public String getSign() {
+		return sign;
+	}
+	public void setSign(String sign) {
+		this.sign = sign;
+	}
 	public Integer getId() {
 		return id;
 	}

+ 76 - 1
saicLogistics/src/main/java/com/fuzamei/entity/User.java

@@ -11,6 +11,13 @@ public class User {
 	private String tokenId;	
 	private Integer id;             //主键id
 	private Integer userId;	        //用户id
+	private Integer userIdb;	 
+	public Integer getUserIdb() {
+		return userIdb;
+	}
+	public void setUserIdb(Integer userIdb) {
+		this.userIdb = userIdb;
+	}
 	private String  username;       //账号
 	private String  password;       //密码
 	private Integer roleId;        	//角色id
@@ -24,6 +31,67 @@ public class User {
 	private Integer page;				//页数
 	private Integer rowNum;				//每页显示得条数
 	private Integer startPage;			//起始页
+	
+	//下面 【操作记录表数据】
+	private Integer  operatorId;         //操作人
+	private String operatorName;		//操作人名
+	private Integer operationTypeId;	//操作类型id
+	private String operationTypeName;	//操作类型名
+	private Integer beOperatedId;       //被操作人id
+	private String beOperatedName;		//被操作人名
+	private Long operationTime;			//操作时间
+	private String hash;				//操作hash
+	
+	
+
+	public Integer getOperatorId() {
+		return operatorId;
+	}
+	public void setOperatorId(Integer operatorId) {
+		this.operatorId = operatorId;
+	}
+	public Integer getBeOperatedId() {
+		return beOperatedId;
+	}
+	public void setBeOperatedId(Integer beOperatedId) {
+		this.beOperatedId = beOperatedId;
+	}
+	public String getOperatorName() {
+		return operatorName;
+	}
+	public void setOperatorName(String operatorName) {
+		this.operatorName = operatorName;
+	}
+	public Integer getOperationTypeId() {
+		return operationTypeId;
+	}
+	public void setOperationTypeId(Integer operationTypeId) {
+		this.operationTypeId = operationTypeId;
+	}
+	public String getOperationTypeName() {
+		return operationTypeName;
+	}
+	public void setOperationTypeName(String operationTypeName) {
+		this.operationTypeName = operationTypeName;
+	}
+	public String getBeOperatedName() {
+		return beOperatedName;
+	}
+	public void setBeOperatedName(String beOperatedName) {
+		this.beOperatedName = beOperatedName;
+	}
+	public Long getOperationTime() {
+		return operationTime;
+	}
+	public void setOperationTime(Long operationTime) {
+		this.operationTime = operationTime;
+	}
+	public String getHash() {
+		return hash;
+	}
+	public void setHash(String hash) {
+		this.hash = hash;
+	}
 	public String getTokenId() {
 		return tokenId;
 	}
@@ -96,6 +164,7 @@ public class User {
 	public void setToken(String token) {
 		this.token = token;
 	}
+
 	public String getSign() {
 		return sign;
 	}
@@ -120,7 +189,13 @@ public class User {
 	public void setStartPage(Integer startPage) {
 		this.startPage = startPage;
 	}
-	
+	@Override
+	public String toString() {
+		return "User [tokenId=" + tokenId + ", id=" + id + ", userId=" + userId + ", username=" + username
+				+ ", password=" + password + ", roleId=" + roleId + ", personName=" + personName + ", random=" + random
+				+ ", createTime=" + createTime + ", updateTime=" + updateTime + ", roleName=" + roleName + ", token="
+				+ token + ", sign=" + sign + ", page=" + page + ", rowNum=" + rowNum + ", startPage=" + startPage + "]";
+	}
 	
 	
 

+ 12 - 1
saicLogistics/src/main/java/com/fuzamei/mapper/UserMapper.xml

@@ -13,7 +13,7 @@
 	
 	<!--先去数据库查询 看是否已有的账号不能在重复添加了    -->
 	<select id="findUserById" parameterType="com.fuzamei.entity.User" resultType = "com.fuzamei.entity.User">
-		select * from users where user_id = #{userId} or  username = #{username}
+		select * from users where user_id = #{userIdb} or  username = #{username}
 	</select>
 	
 	<!--先去数据库查询 看是否已有的账号不能在修改了  -->
@@ -98,6 +98,17 @@
 			select count(*)  from  users where random=#{random}
 	</select>
 	
+	<!--插入,删除,修改 , 全 往数据库插入操作记录信息-->
+	<insert id="insertOperationHistory">
+		insert into  
+		           operation_history_admin(operator_id,operation_type_id,be_operated_id,operation_time,hash)
+		    values(
+		            #{userId},
+		            #{operationTypeId},
+		            #{userIdb},
+		            #{operationTime},
+		            #{hash})
+	</insert>
 	
 
 </mapper>

+ 3 - 0
saicLogistics/src/main/java/com/fuzamei/mapperInterface/UserMapper.java

@@ -3,6 +3,7 @@ package com.fuzamei.mapperInterface;
 import java.util.List;
 import java.util.Map;
 
+import com.fuzamei.entity.OperationHistoryAdmin;
 import com.fuzamei.entity.Role;
 import com.fuzamei.entity.User;
 
@@ -21,5 +22,7 @@ public interface UserMapper {
 	public  int queryUserIdMax();//查询用户表最大id然后+1
 	public int queryRondomRepetition(String random);//查询前端传来得随机数  数据库是否有一样得
 	
+	public  void insertOperationHistory(User  user);//插入信息到操作记录表
+	
 	
 }

+ 3 - 0
saicLogistics/src/main/java/com/fuzamei/service/UserService.java

@@ -3,6 +3,7 @@ package com.fuzamei.service;
 import java.util.List;
 import java.util.Map;
 
+import com.fuzamei.entity.OperationHistoryAdmin;
 import com.fuzamei.entity.Role;
 import com.fuzamei.entity.User;
 import com.fuzamei.util.PageDTO;
@@ -18,4 +19,6 @@ public interface UserService {
 	public void deleteFromUserId(String userIds);//批量删除
 	public  int queryRondomRepetition(String random);//查询前端传来得随机数  数据库是否有一样得
 	public  int queryUserIdMax();//查询数据库最大得userid  每次+1
+	
+	
 }

+ 74 - 27
saicLogistics/src/main/java/com/fuzamei/service/serviceImpl/UserServiceImpl.java

@@ -9,13 +9,17 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import com.alibaba.fastjson.JSON;
+import com.fuzamei.constant.OperationType;
 import com.fuzamei.constant.Roles;
+import com.fuzamei.entity.OperationHistoryAdmin;
 import com.fuzamei.entity.Role;
 import com.fuzamei.entity.User;
 import com.fuzamei.mapperInterface.ReceivingClerkMapper;
 import com.fuzamei.mapperInterface.UserMapper;
 import com.fuzamei.service.UserService;
 import com.fuzamei.util.PageDTO;
+import com.fuzamei.util.blockchain.BlockChainUtil;
 
 @Service
 public class UserServiceImpl  implements  UserService {
@@ -24,7 +28,8 @@ public class UserServiceImpl  implements  UserService {
 	private UserMapper userMapper;
 	@Autowired
 	private ReceivingClerkMapper receivingClerkMapper;
-	
+	@Autowired
+	private BlockChainUtil blockChainUtil;
 	/**
 	 * 查询所有角色
 	 */
@@ -45,50 +50,93 @@ public class UserServiceImpl  implements  UserService {
 		 return pageDtO;
 	}
 	/**
-	 * 添加用户信息 
+	 * 添加用户信息 
 	 */
 	@Override
 	@Transactional(rollbackFor=Exception.class)
 	public  void insertUsers(User user){
-		
-		user.setCreateTime(System.currentTimeMillis());
-		user.setUpdateTime(System.currentTimeMillis());
+		Long currentTime = System.currentTimeMillis();//得到当前系统时间
+		//做添加操作时set一个添加时间和更新时间
+		user.setCreateTime(currentTime);
+		user.setUpdateTime(currentTime);
 		userMapper.insertUsers(user);
 		
-	}
-	
-
-	/**
-	 * 根据用户id查询用户是否存在
-	 */
-	@Override
-	public List<User> findUserById(User user) {
-		return userMapper.findUserById(user);
-	}
-
-	@Override
-	public List<User> findUserByuserIdandusername(User user){
-		return userMapper.findUserByuserIdandusername(user);
+		
+		//往{操作记录}表插入数据
+		String sign = user.getSign();
+		@SuppressWarnings("unchecked")
+		Map<String,Object> map = JSON.parseObject(sign, Map.class);
+		String hash = (String) map.get("sid");
+		user.setUserId(user.getUserId());//操作人
+		user.setOperationTypeId(OperationType.ADD);//操作类型 (添加)
+		user.setUserIdb(user.getUserId());//被操作人账号  TODO??????????????待
+		user.setOperationTime(currentTime);//操作时间
+		user.setHash(hash);//操作hash
+		userMapper.insertOperationHistory(user);
+		
+		/*boolean flag = blockChainUtil.sendBlockChain(user.getSign());//发送签名直接转发到区块链
+		if(!flag) {
+			 throw new RuntimeException("区块链操作失败1");	
+		}*/
+		
 	}
 	
 	/**
+	 * 【编辑修改】
 	 * 根据u用户id  编辑修改,角色,账号,密码,名称,信息
 	 */
 	@Override
 	@Transactional(rollbackFor=Exception.class)
 	public void updateAccountByUserId(User user) {
-		user.setUpdateTime(System.currentTimeMillis());
+		//【编辑账户信息】
+		Long currentTime = System.currentTimeMillis();//得到当前系统时间
+		user.setUpdateTime(currentTime);
 		userMapper.updateAccountByUserId(user);
+		
+		
+		
+		//往【操作记录】表插入数据
+		String sign = user.getSign();
+		@SuppressWarnings("unchecked")
+		Map<String,Object> map = JSON.parseObject(sign, Map.class);
+		String hash = (String) map.get("sid");
+		user.setOperatorId(user.getUserId());//操作人id
+		user.setOperationTypeId(OperationType.EDIT);//操作类型 (编辑修改)
+		user.setBeOperatedId(user.getUserId());//被操作人账号id  TODO??????????????待
+		user.setOperationTime(currentTime);//操作时间
+		user.setHash(hash);//操作hash
+		userMapper.insertOperationHistory(user);
+		
+		/*boolean flag = blockChainUtil.sendBlockChain(user.getSign());//发送签名直接转发到区块链
+		if(!flag) {
+			 throw new RuntimeException("区块链操作失败2");	
+		}*/
+		
 	}
 	
-    /**
-     * 批量删除
-     */
+
+	/**
+	** 批量删除【删除】----------TODO
+	*/
 	@Override
 	@Transactional(rollbackFor=Exception.class)
 	public void deleteFromUserId(String userIds) {
-		String[] strs=userIds.split(",");
-		userMapper.deleteFromUserId(strs);
+			String[] strs=userIds.split(",");
+			userMapper.deleteFromUserId(strs);
+	}
+
+
+	/**
+	 * 根据用户id查询用户是否存在
+	 */
+	@Override
+	public List<User> findUserById(User user) {
+		return userMapper.findUserById(user);
+	}
+
+	@Override
+	public List<User> findUserByuserIdandusername(User user){
+		return userMapper.findUserByuserIdandusername(user);
 	}
 
 	@Override
@@ -102,6 +150,5 @@ public class UserServiceImpl  implements  UserService {
 	}
 
 
-	
-	
+
 }

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

@@ -44,7 +44,7 @@ public class SupplierAction {
 	* @return Map<String,Object>    返回类型
 	* @author ylx
 	* @date 2018年1月29日 下午8:18:52
-	* @throws
+	* @throws  
 	 */
 	@PostMapping(value="querySupplier")
 	public Map<String, Object> querySupplier(@RequestBody String data){

+ 4 - 12
saicLogistics/src/main/java/com/fuzamei/web/UserAction.java

@@ -127,6 +127,7 @@ public class UserAction {
 	public Map<String, Object> updateAccountByUserId(@RequestBody User user) {
 		try {
 			 Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
+			 
 			 userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(user_id), Roles.ADMIN);
 			 ValidationUtil.checkBlankIntegerAndAssignNullIfIsBlank(user.getRoleId());//校验角色
 			 ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getUsername());//校验账号
@@ -166,9 +167,10 @@ public class UserAction {
 			//ValidationUtil.checkAndAssignInt(user.getUserId());
 			
 			Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
+			user.setUserId(user_id);
 			userAuthoricationService.queryUserAuthority(ValidationUtil.checkAndAssignInt(user_id), Roles.ADMIN);
 		    ValidationUtil.checkAndAssignInt(user.getRoleId());//校验角色
-		    ValidationUtil.checkBlankAndAssignString(user.getSign());////校验签名 非空校验
+		   // ValidationUtil.checkBlankAndAssignString(user.getSign());////校验签名 非空校验 --待-------XXX
 			ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getUsername());//校验账号
 			ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getPassword());//校验密码
 			ValidationUtil.checkBlankStringAndAssignEmptyIfIsBlank(user.getPersonName());//校验名称
@@ -180,6 +182,7 @@ public class UserAction {
 			userService.insertUsers(user);
 			return JSONUtil.getJsonMap(200, true, "添加成功", null);
 		} catch (Exception e) {
+			e.printStackTrace();
 			return JSONUtil.getJsonMap(500, false, "添加失败:"+e.getMessage(), null);
 		}
 	
@@ -192,22 +195,11 @@ public class UserAction {
 	 * @return
 	 */
 	  
-	/*  @PostMapping(value="/deleteFromUserId2")
-	  public Map<String,Object> deleteFromUserId2(String userIds){ 
-		  try {
-	          userService.deleteFromUserId(userIds);
-	         return JSONUtil.getJsonMap(200,true, "删除成功", null);
-	    }catch (Exception e) {  
-		   return  JSONUtil.getJsonMap(500, false, "删除失败", null); 
-		  }
-	  }*/
-	 
 	@PostMapping(value = "/deleteFromUserId")
 	public Map<String, Object> deleteFromUserId(@RequestBody String data) {
 		try {
 			@SuppressWarnings("unchecked")
 			Map<String, Object> map = JSON.parseObject(data, Map.class);
-			//String tokenId= (String) map.get("tokenId");
 			Integer user_id = ValidationUtil.checkAndAssignInt(req.getHeader("Authorization").split("&")[1]);
 			userAuthoricationService.queryUserAuthority(user_id, Roles.ADMIN);
 			

+ 3 - 3
saicLogistics/src/main/resources/spring-mvc.xml

@@ -35,12 +35,12 @@
 	<tx:annotation-driven transaction-manager="transactionManager"
 		proxy-target-class="true" />
 	<!-- 对token拦截验证 (为方便测试,测试环境给注释掉) -->
-    	<mvc:interceptors>
+  <!--    	<mvc:interceptors>
 		<mvc:interceptor>
-			<!-- 拦截路径 -->
+			拦截路径
 			<mvc:mapping path="/**" />
 			<mvc:exclude-mapping path="/login"/>
 			<bean class="com.fuzamei.interceptor.TokenInterceptor" />
 		</mvc:interceptor>
-	</mvc:interceptors>    
+	</mvc:interceptors> -->     
 </beans>