123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- package com.fuzamei.service.serviceImpl;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- import java.util.Map;
- 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 {
- @Autowired
- private UserMapper userMapper;
- @Autowired
- private ReceivingClerkMapper receivingClerkMapper;
- @Autowired
- private BlockChainUtil blockChainUtil;
- /**
- * 查询所有角色
- */
- @Override
- public List<Role> getAllRoles() {
- return userMapper.getAllRoles();
- }
-
- /**
- * 查看用户列表
- */
- public PageDTO queryUsers(Map<String, Object> map) {
- PageDTO pageDtO = new PageDTO();
- List<User> users = userMapper.queryUsers(map);
- int count = userMapper.queryUserscount(map);
- pageDtO.setTotal(count);
- pageDtO.setRows(users);
- return pageDtO;
- }
- /**
- * 【添加用户信息】
- */
- @Override
- @Transactional(rollbackFor=Exception.class)
- public void insertUsers(User user){
- Long currentTime = System.currentTimeMillis();//得到当前系统时间
- //做添加操作时set一个添加时间和更新时间
- user.setCreateTime(currentTime);
- user.setUpdateTime(currentTime);
- userMapper.insertUsers(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.getUserIdb());//被操作人账号 ??????????????待
- 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) {
- //【编辑账户信息】
- 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.setUserId(user.getUserId());//操作人(管理员)
- user.setOperationTypeId(OperationType.EDIT);//操作类型 (编辑)
- user.setUserIdb(user.getUserIdb());//被操作人账号 ??????????????待
- user.setOperationTime(currentTime);//操作时间
- user.setHash(hash);//操作hash
- userMapper.insertOperationHistory(user);//插入到操作记录表去
-
- /*boolean flag = blockChainUtil.sendBlockChain(user.getSign());//发送签名直接转发到区块链
- if(!flag) {
- throw new RuntimeException("区块链操作失败");
- }*/
-
- }
-
- /**
- ** 批量删除【删除】----------TODO
- */
- @Override
- @Transactional(rollbackFor=Exception.class)
- public void deleteFromUserId(User user) {
- Long currentTime = System.currentTimeMillis();//得到当前系统时间
- String[] strs=user.getUserIds().split(",");
- userMapper.deleteFromUserId(strs);
-
- //下面往【操作记录】表插入一条数据
- 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.DELETE);//操作类型 (编辑)
- user.setUserIdbs(strs);
- user.setOperationTime(currentTime);//操作时间
- user.setHash(hash);//操作hash
- userMapper.insertOperationHistoryOfDelete(user);//插入到操作记录表去
-
- /*boolean flag = blockChainUtil.sendBlockChain(user.getSign());//发送签名直接转发到区块链
- if(!flag) {
- throw new RuntimeException("区块链操作失败");
- }*/
- }
- /**
- * 根据用户id查询用户是否存在
- */
- @Override
- public List<User> findUserById(User user) {
- return userMapper.findUserById(user);
- }
- @Override
- public int findUserByuserIdandusername(User user){
- return userMapper.findUserByuserIdandusername(user);
- }
- @Override
- public int queryUserIdMax() {//查询最大得userid+1
- return userMapper.queryUserIdMax();
- }
- @Override
- public int queryRondomRepetition(String random) {//查询前端传来得随机数 数据库判断是否有一样得
- return userMapper.queryRondomRepetition(random);
- }
- }
|