|
@@ -0,0 +1,237 @@
|
|
|
|
+package com.huimv.authority.service.impl;
|
|
|
|
+
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.huimv.authority.entity.dto.UserAccountDto;
|
|
|
|
+import com.huimv.authority.mapper.AccountMapper;
|
|
|
|
+import com.huimv.authority.entity.Account;
|
|
|
|
+import com.huimv.authority.entity.User;
|
|
|
|
+import com.huimv.authority.mapper.UserMapper;
|
|
|
|
+import com.huimv.authority.entity.dto.UserAndAccountGroup;
|
|
|
|
+import com.huimv.authority.service.IUserService;
|
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.huimv.authority.utils.Result;
|
|
|
|
+import com.huimv.authority.utils.ResultCode;
|
|
|
|
+import com.huimv.authority.utils.SnowflakeSequence;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
+
|
|
|
|
+import java.util.List;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * <p>
|
|
|
|
+ * 服务实现类
|
|
|
|
+ * </p>
|
|
|
|
+ *
|
|
|
|
+ * @author astupidcoder
|
|
|
|
+ * @since 2021-09-09
|
|
|
|
+ */
|
|
|
|
+@Service
|
|
|
|
+public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
|
|
|
|
+ @Autowired
|
|
|
|
+ private UserMapper userMapper;
|
|
|
|
+ @Autowired
|
|
|
|
+ private AccountMapper accountMapper;
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public JSONObject findUserAccount(String searchStr, int pageNum, int pageSize) {
|
|
|
|
+// Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "id");
|
|
|
|
+ int start = (pageNum-1)*pageSize;
|
|
|
|
+ System.out.println("start>>"+start);
|
|
|
|
+
|
|
|
|
+ if (!StringUtils.isEmpty(searchStr)) {
|
|
|
|
+ List<UserAccountDto> userAccountList = userMapper.findUserAndAccountByUserName(searchStr, start,pageSize);
|
|
|
|
+// JSONArray userAccountJa = new JSONArray();
|
|
|
|
+// for(int a=0;a<userAccountList.size();a++){
|
|
|
|
+// Object[] userAccountObj = (Object[]) userAccountList.get(a);
|
|
|
|
+// /* 封装用户和账户关联对象 */
|
|
|
|
+// userAccountJa.add(packageUserAccountRelatedObj(userAccountObj));
|
|
|
|
+// }
|
|
|
|
+ QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ userQueryWrapper.eq("user_name",searchStr);
|
|
|
|
+ int total = userMapper.selectCount(userQueryWrapper);
|
|
|
|
+ JSONObject resultJo = new JSONObject();
|
|
|
|
+ resultJo.put("code",10001);
|
|
|
|
+ resultJo.put("totalElements",total);
|
|
|
|
+ resultJo.put("data",userAccountList);
|
|
|
|
+ return resultJo;
|
|
|
|
+ }
|
|
|
|
+ List<UserAccountDto> allUserAccountList = userMapper.findUserAndAccount(start,pageSize);
|
|
|
|
+// JSONArray allUserAccountJa = new JSONArray();
|
|
|
|
+// for(int a=0;a<allUserAccountList.size();a++){
|
|
|
|
+// Object[] userAccountObj = (Object[]) allUserAccountList.get(a);
|
|
|
|
+// /* 封装用户和账户关联对象 */
|
|
|
|
+// allUserAccountJa.add(packageUserAccountRelatedObj(userAccountObj));
|
|
|
|
+// }
|
|
|
|
+ Integer total = userMapper.selectCount(null);
|
|
|
|
+ JSONObject resultJo = new JSONObject();
|
|
|
|
+ resultJo.put("code",10001);
|
|
|
|
+ resultJo.put("totalElements",total);
|
|
|
|
+ resultJo.put("data",allUserAccountList);
|
|
|
|
+ return resultJo;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 封装对象
|
|
|
|
+ */
|
|
|
|
+ private Object packageUserAccountRelatedObj(Object[] userAccountObj) {
|
|
|
|
+ JSONObject dataJo = new JSONObject();
|
|
|
|
+ dataJo.put("id",userAccountObj[0].toString());
|
|
|
|
+ dataJo.put("userName",userAccountObj[1].toString());
|
|
|
|
+ if(userAccountObj[2] == null){
|
|
|
|
+ dataJo.put("male","");
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("male",userAccountObj[2].toString());
|
|
|
|
+ }
|
|
|
|
+ if(userAccountObj[3] == null){
|
|
|
|
+ dataJo.put("birthday","");
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("birthday",userAccountObj[3].toString());
|
|
|
|
+ }
|
|
|
|
+ if(userAccountObj[4] == null){
|
|
|
|
+ dataJo.put("mobile","");
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("mobile",userAccountObj[4].toString());
|
|
|
|
+ }
|
|
|
|
+ if(userAccountObj[5] == null){
|
|
|
|
+ dataJo.put("address","");
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("address",userAccountObj[5].toString());
|
|
|
|
+ }
|
|
|
|
+ if(userAccountObj[6] == null){
|
|
|
|
+ dataJo.put("job","");
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("job",userAccountObj[6].toString());
|
|
|
|
+ }
|
|
|
|
+ if(userAccountObj[7] == null){
|
|
|
|
+ dataJo.put("remark","");
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("remark",userAccountObj[7].toString());
|
|
|
|
+ }
|
|
|
|
+ if(userAccountObj[8] == null)
|
|
|
|
+ {
|
|
|
|
+ dataJo.put("userId","");
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("userId",userAccountObj[8].toString());
|
|
|
|
+ }
|
|
|
|
+ if(userAccountObj[9] == null){
|
|
|
|
+ dataJo.put("accountName","");
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("accountName",userAccountObj[9].toString());
|
|
|
|
+ }
|
|
|
|
+ if(userAccountObj[10] == null)
|
|
|
|
+ {dataJo.put("accountStatus","");
|
|
|
|
+
|
|
|
|
+ }else{
|
|
|
|
+ dataJo.put("accountStatus", Integer.parseInt(userAccountObj[10].toString()));
|
|
|
|
+ }
|
|
|
|
+ return dataJo;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// @Override
|
|
|
|
+// public List<UserAndAccountGroup> yxxList(String searchStr, int pageNum, int pageSize) {
|
|
|
|
+// Pageable pageable = PageRequest.of(pageNum - 1, pageSize, Sort.Direction.DESC, "id");
|
|
|
|
+// List<UserAndAccountGroup> list = new ArrayList<>();
|
|
|
|
+// if (searchStr != null && !"".equals(searchStr)){
|
|
|
|
+// Page<User> users = userMapper.findByUserNameOOrMobile(searchStr, pageable);
|
|
|
|
+// for (User user : users) {
|
|
|
|
+// Account account = accountMapper.findByUserId(user.getUserId()).get(0);
|
|
|
|
+// UserAndAccountGroup userAndAccountGroup = saveUser(user);
|
|
|
|
+// userAndAccountGroup.setAccountName(account.getAccountName());
|
|
|
|
+// userAndAccountGroup.setAccountStatus(account.getAccountStatus());
|
|
|
|
+// list.add(userAndAccountGroup);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// Page<User> users = userMapper.findAll(pageable);
|
|
|
|
+// for (User user : users) {
|
|
|
|
+// Account account = accountMapper.findByUserId(user.getUserId()).get(0);
|
|
|
|
+// UserAndAccountGroup userAndAccountGroup = saveUser(user);
|
|
|
|
+// userAndAccountGroup.setAccountName(account.getAccountName());
|
|
|
|
+// userAndAccountGroup.setAccountStatus(account.getAccountStatus());
|
|
|
|
+// list.add(userAndAccountGroup);
|
|
|
|
+// }
|
|
|
|
+// return list;
|
|
|
|
+//
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Result addUser(User user) {
|
|
|
|
+ try {
|
|
|
|
+ SnowflakeSequence idWorker = new SnowflakeSequence();
|
|
|
|
+ long userId = idWorker.nextId();
|
|
|
|
+ // 添加用户信息
|
|
|
|
+ user.setUserId(userId);
|
|
|
|
+ userMapper.insert(user);
|
|
|
|
+
|
|
|
|
+ // 添加账号信息
|
|
|
|
+ String mobile = user.getMobile();
|
|
|
|
+ String userName = user.getUserName();
|
|
|
|
+ Account Account = new Account();
|
|
|
|
+ if (mobile != null && !"".equals(mobile) ){
|
|
|
|
+ Account.setAccountName(mobile);
|
|
|
|
+ }else if (userName != null && !"".equals(userName)){
|
|
|
|
+ Account.setAccountName(userName);
|
|
|
|
+ }
|
|
|
|
+ Account.setAccountStatus(0);
|
|
|
|
+ Account.setRemark("");
|
|
|
|
+// Account.setPassword(GetMD5Str.getMD5Str("123456"));
|
|
|
|
+ Account.setPassword("123456");
|
|
|
|
+ Account.setUserId(userId);
|
|
|
|
+ Account.setMobile(mobile);
|
|
|
|
+ accountMapper.insert(Account);
|
|
|
|
+ return new Result(10000,"修改成功",true);
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ return new Result(10001,"添加失败",false);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Result updateUser(User user) {
|
|
|
|
+ try {
|
|
|
|
+ if (user == null) {
|
|
|
|
+ return new Result(ResultCode.FAIL);
|
|
|
|
+ }
|
|
|
|
+ userMapper.updateById(user);
|
|
|
|
+ return new Result(10000,"修改成功",true);
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ return new Result(10001,"修改失败",false);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public Result removeUser(List<Integer> userIds) {
|
|
|
|
+ for (Integer userId : userIds) {
|
|
|
|
+ try {
|
|
|
|
+ User user = this.userMapper.selectById(userId);
|
|
|
|
+ if (user == null) {
|
|
|
|
+ return new Result(10002,"请选择数据",false);
|
|
|
|
+ }
|
|
|
|
+ this.userMapper.deleteById(userId);
|
|
|
|
+ // 删除账号
|
|
|
|
+ this.accountMapper.deleteById(userId);
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ return new Result(10001,"删除失败",false);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return new Result(10000,"删除成功",false);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private UserAndAccountGroup saveUser(User user) {
|
|
|
|
+ UserAndAccountGroup userAndAccountGroup = new UserAndAccountGroup();
|
|
|
|
+ userAndAccountGroup.setAddress(user.getAddress());
|
|
|
|
+ userAndAccountGroup.setBirthday(user.getBirthday());
|
|
|
|
+ userAndAccountGroup.setId(user.getId());
|
|
|
|
+ userAndAccountGroup.setJob(user.getJob());
|
|
|
|
+ userAndAccountGroup.setMale(user.getMale());
|
|
|
|
+ userAndAccountGroup.setMobile(user.getMobile());
|
|
|
|
+ userAndAccountGroup.setRemark(user.getRemark());
|
|
|
|
+ userAndAccountGroup.setUserId(user.getUserId());
|
|
|
|
+ userAndAccountGroup.setUserName(user.getUserName());
|
|
|
|
+ return userAndAccountGroup;
|
|
|
|
+ }
|
|
|
|
+}
|