UserServiceImpl.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. package com.fuzamei.service.serviceImpl;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import java.util.List;
  5. import java.util.Map;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import org.springframework.transaction.annotation.Transactional;
  9. import com.alibaba.fastjson.JSON;
  10. import com.fuzamei.constant.OperationType;
  11. import com.fuzamei.constant.Roles;
  12. import com.fuzamei.entity.OperationHistoryAdmin;
  13. import com.fuzamei.entity.Role;
  14. import com.fuzamei.entity.User;
  15. import com.fuzamei.mapperInterface.ReceivingClerkMapper;
  16. import com.fuzamei.mapperInterface.UserMapper;
  17. import com.fuzamei.service.UserService;
  18. import com.fuzamei.util.PageDTO;
  19. import com.fuzamei.util.blockchain.BlockChainUtil;
  20. @Service
  21. public class UserServiceImpl implements UserService {
  22. @Autowired
  23. private UserMapper userMapper;
  24. @Autowired
  25. private ReceivingClerkMapper receivingClerkMapper;
  26. @Autowired
  27. private BlockChainUtil blockChainUtil;
  28. /**
  29. * 查询所有角色
  30. */
  31. @Override
  32. public List<Role> getAllRoles() {
  33. return userMapper.getAllRoles();
  34. }
  35. /**
  36. * 查看用户列表
  37. */
  38. public PageDTO queryUsers(Map<String, Object> map) {
  39. PageDTO pageDtO = new PageDTO();
  40. List<User> users = userMapper.queryUsers(map);
  41. int count = userMapper.queryUserscount(map);
  42. pageDtO.setTotal(count);
  43. pageDtO.setRows(users);
  44. return pageDtO;
  45. }
  46. /**
  47. * 【添加用户信息】
  48. */
  49. @Override
  50. @Transactional(rollbackFor=Exception.class)
  51. public void insertUsers(User user){
  52. Long currentTime = System.currentTimeMillis();//得到当前系统时间
  53. //做添加操作时set一个添加时间和更新时间
  54. user.setCreateTime(currentTime);
  55. user.setUpdateTime(currentTime);
  56. userMapper.insertUsers(user);
  57. //往{操作记录}表插入数据
  58. String sign = user.getSign();
  59. @SuppressWarnings("unchecked")
  60. Map<String,Object> map = JSON.parseObject(sign, Map.class);
  61. String hash = (String) map.get("sid");
  62. user.setUserId(user.getUserId());//操作人(管理员)
  63. user.setOperationTypeId(OperationType.ADD);//操作类型 (添加)
  64. user.setUserIdb(user.getUserIdb());//被操作人账号 ??????????????待
  65. user.setOperationTime(currentTime);//操作时间
  66. user.setHash(hash);//操作hash
  67. userMapper.insertOperationHistory(user);
  68. /*boolean flag = blockChainUtil.sendBlockChain(user.getSign());//发送签名直接转发到区块链
  69. if(!flag) {
  70. throw new RuntimeException("区块链操作失败1");
  71. }*/
  72. }
  73. /**
  74. * 【编辑修改】
  75. * 根据u用户id 编辑修改,角色,账号,密码,名称,信息
  76. */
  77. @Override
  78. @Transactional(rollbackFor=Exception.class)
  79. public void updateAccountByUserId(User user) {
  80. //【编辑账户信息】
  81. Long currentTime = System.currentTimeMillis();//得到当前系统时间
  82. user.setUpdateTime(currentTime);
  83. userMapper.updateAccountByUserId(user);
  84. //下面往【操作记录】表插入一条数据
  85. String sign = user.getSign();
  86. @SuppressWarnings("unchecked")
  87. Map<String,Object> map = JSON.parseObject(sign, Map.class);
  88. String hash = (String) map.get("sid");
  89. user.setUserId(user.getUserId());//操作人(管理员)
  90. user.setOperationTypeId(OperationType.EDIT);//操作类型 (编辑)
  91. user.setUserIdb(user.getUserIdb());//被操作人账号 ??????????????待
  92. user.setOperationTime(currentTime);//操作时间
  93. user.setHash(hash);//操作hash
  94. userMapper.insertOperationHistory(user);//插入到操作记录表去
  95. /*boolean flag = blockChainUtil.sendBlockChain(user.getSign());//发送签名直接转发到区块链
  96. if(!flag) {
  97. throw new RuntimeException("区块链操作失败");
  98. }*/
  99. }
  100. /**
  101. ** 批量删除【删除】----------TODO
  102. */
  103. @Override
  104. @Transactional(rollbackFor=Exception.class)
  105. public void deleteFromUserId(User user) {
  106. Long currentTime = System.currentTimeMillis();//得到当前系统时间
  107. String[] strs=user.getUserIds().split(",");
  108. userMapper.deleteFromUserId(strs);
  109. //下面往【操作记录】表插入一条数据
  110. String sign = user.getSign();
  111. @SuppressWarnings("unchecked")
  112. Map<String,Object> map = JSON.parseObject(sign, Map.class);
  113. String hash = (String) map.get("sid");
  114. user.setUserId(user.getUserId());//操作人(管理员)
  115. user.setOperationTypeId(OperationType.DELETE);//操作类型 (编辑)
  116. user.setUserIdbs(strs);
  117. user.setOperationTime(currentTime);//操作时间
  118. user.setHash(hash);//操作hash
  119. userMapper.insertOperationHistoryOfDelete(user);//插入到操作记录表去
  120. /*boolean flag = blockChainUtil.sendBlockChain(user.getSign());//发送签名直接转发到区块链
  121. if(!flag) {
  122. throw new RuntimeException("区块链操作失败");
  123. }*/
  124. }
  125. /**
  126. * 根据用户id查询用户是否存在
  127. */
  128. @Override
  129. public List<User> findUserById(User user) {
  130. return userMapper.findUserById(user);
  131. }
  132. @Override
  133. public int findUserByuserIdandusername(User user){
  134. return userMapper.findUserByuserIdandusername(user);
  135. }
  136. @Override
  137. public int queryUserIdMax() {//查询最大得userid+1
  138. return userMapper.queryUserIdMax();
  139. }
  140. @Override
  141. public int queryRondomRepetition(String random) {//查询前端传来得随机数 数据库判断是否有一样得
  142. return userMapper.queryRondomRepetition(random);
  143. }
  144. }