SysUserServiceImpl.java 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. package com.huimv.receive.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  6. import com.baomidou.mybatisplus.core.metadata.IPage;
  7. import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  8. import com.baomidou.mybatisplus.extension.api.R;
  9. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  10. import com.huimv.receive.common.utils.Print;
  11. import com.huimv.receive.common.utils.Result;
  12. import com.huimv.receive.common.utils.ResultCode;
  13. import com.huimv.receive.entity.*;
  14. import com.huimv.receive.entity.vo.UserAccountVo;
  15. import com.huimv.receive.entity.vo.UserAgeAndGender;
  16. import com.huimv.receive.entity.vo.UserJob;
  17. import com.huimv.receive.mapper.BaseLocationMapper;
  18. import com.huimv.receive.mapper.FarmMapper;
  19. import com.huimv.receive.mapper.SysAccountMultilevelMapper;
  20. import com.huimv.receive.mapper.SysUserMapper;
  21. import com.huimv.receive.service.IBaseLocationService;
  22. import com.huimv.receive.service.IFarmService;
  23. import com.huimv.receive.service.ISysUserService;
  24. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  25. import org.aspectj.weaver.ast.Var;
  26. import org.springframework.beans.factory.annotation.Autowired;
  27. import org.springframework.stereotype.Service;
  28. import javax.servlet.http.HttpServletResponse;
  29. import java.util.ArrayList;
  30. import java.util.List;
  31. import java.util.List;
  32. import java.util.Map;
  33. /**
  34. * <p>
  35. * 服务实现类
  36. * </p>
  37. *
  38. * @author author
  39. * @since 2023-09-04
  40. */
  41. @Service
  42. public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
  43. @Autowired
  44. private BaseLocationMapper baseLocationMapper;
  45. @Autowired
  46. private FarmMapper farmMapper;
  47. @Autowired
  48. private SysUserMapper userMapper;
  49. @Autowired
  50. private SysAccountMultilevelMapper sysAccountMultilevelMapper;
  51. @Override
  52. public Result pageAll(Map map) {
  53. int pageNum = (Integer)map.get("pageNum");
  54. int pageSize = (Integer)map.get("pageSize");
  55. String searchStr = (String)map.get("searchStr");
  56. String job = (String)map.get("job");
  57. String workLocation = (String)map.get("workLocation");
  58. String workLocationType =(String) map.get("workLocationType");
  59. String farmId = (String) map.get("farmId");
  60. if (checkFarm(farmId))
  61. return new Result(10001,"牧场信息为空",false);
  62. QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
  63. if (ObjectUtil.isEmpty(pageNum) || pageNum<1)
  64. pageNum = 1;
  65. if (ObjectUtil.isEmpty(pageSize) || pageSize<1 )
  66. pageNum = 10;
  67. wrapper.eq("farm_id",farmId);
  68. wrapper.eq(ObjectUtil.isNotEmpty(job),"job",job);
  69. wrapper.eq(ObjectUtil.isNotEmpty(workLocation),"work_location",workLocation);
  70. wrapper.eq(ObjectUtil.isNotEmpty(workLocationType),"work_location_type",workLocationType);
  71. if (StringUtils.isNotBlank(searchStr))
  72. wrapper.and(i -> i.like("user_name",searchStr).or().like("user_phone",searchStr));
  73. wrapper.orderByDesc("id");
  74. IPage<SysUser> page = this.page(new Page<>(pageNum, pageSize), wrapper);
  75. return new Result(ResultCode.SUCCESS,page);
  76. }
  77. @Override
  78. public Result listWorkLocation(Map map) {
  79. String farmId = (String)map.get("farmId");
  80. if (checkFarm(farmId))
  81. return new Result(10001,"牧场信息为空",false);
  82. return new Result(ResultCode.SUCCESS,baseLocationMapper.selectList(new QueryWrapper<BaseLocation>().eq("farm_id",farmId).groupBy("location_type").orderByAsc("location_type")));
  83. }
  84. @Override
  85. public Result pageAccount(Map<String, Object> map) {
  86. int pageNum = (Integer)map.get("pageNum");
  87. int pageSize = (Integer)map.get("pageSize");
  88. String searchStr = (String)map.get("searchStr");
  89. String job = (String)map.get("job");
  90. String workLocation = (String)map.get("workLocation");
  91. String workLocationType = (String)map.get("workLocationType");
  92. String farmId = (String) map.get("farmId");
  93. if (checkFarm(farmId))
  94. return new Result(10001,"牧场信息为空",false);
  95. QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
  96. if (ObjectUtil.isEmpty(pageNum) || pageNum<1)
  97. pageNum = 1;
  98. if (ObjectUtil.isEmpty(pageSize) || pageSize<1 )
  99. pageSize = 10;
  100. // wrapper.eq("farm_id",farmId);
  101. wrapper.eq(ObjectUtil.isNotEmpty(job),"job",job);
  102. wrapper.eq(ObjectUtil.isNotEmpty(workLocation),"work_location",workLocation);
  103. wrapper.eq(ObjectUtil.isNotEmpty(workLocationType),"work_location_type",workLocationType);
  104. if (StringUtils.isNotBlank(searchStr))
  105. wrapper.and(i -> i.like("user_name",searchStr).or().like("user_id",searchStr));
  106. Page<UserAccountVo> userAccountVoPage = new Page<>(pageNum,pageSize);
  107. IPage<UserAccountVo> userAccountVoIPage = userMapper.pageAccount(userAccountVoPage,wrapper,farmId);
  108. return new Result(ResultCode.SUCCESS,userAccountVoIPage);
  109. }
  110. @Override
  111. public Result addAccount(Map<String, Object> map) {
  112. Integer id = (Integer)map.get("id");
  113. String account = (String)map.get("account");
  114. String password = (String)map.get("password");
  115. SysUser sysUser = this.getById(id);
  116. Integer countAccount = sysAccountMultilevelMapper.selectCount(new QueryWrapper<SysAccountMultilevel>().eq("account",account));
  117. if (countAccount >0){
  118. return new Result(10001,"该账号已存在",false);
  119. }
  120. Integer countUser = sysAccountMultilevelMapper.selectCount(new QueryWrapper<SysAccountMultilevel>().eq("user_id",id));
  121. if (countUser >0){
  122. return new Result(10001,"该用户已绑定账号",false);
  123. }
  124. SysAccountMultilevel sysAccountMultilevel = new SysAccountMultilevel();
  125. sysAccountMultilevel.setAccount(account);
  126. sysAccountMultilevel.setPassword(password);
  127. sysAccountMultilevel.setUserName(sysUser.getUserName());
  128. sysAccountMultilevel.setAccountStatus(1);
  129. sysAccountMultilevel.setFarmId(Integer.parseInt(sysUser.getFarmId()));
  130. sysAccountMultilevel.setFarmIds(sysUser.getFarmId());
  131. sysAccountMultilevel.setType(sysUser.getJob());
  132. sysAccountMultilevel.setWorkLocation(sysUser.getWorkLocation());
  133. sysAccountMultilevel.setWorkLocationType(sysUser.getWorkLocationType());
  134. sysAccountMultilevel.setPhone(sysUser.getUserPhone());
  135. sysAccountMultilevel.setWorkName(sysUser.getDepartment());
  136. sysAccountMultilevel.setPapersCode(sysUser.getCardNum());
  137. sysAccountMultilevel.setPapersType(sysUser.getCardType());
  138. sysAccountMultilevel.setUserId(id);
  139. sysAccountMultilevelMapper.insert(sysAccountMultilevel);
  140. return new Result(10000,"添加成功",true);
  141. }
  142. @Override
  143. public Result list(Map map) {
  144. String farmId = (String)map.get("farmId");
  145. if (checkFarm(farmId))
  146. return new Result(10001,"牧场信息为空",false);
  147. return new Result(ResultCode.SUCCESS,this.list());
  148. }
  149. @Override
  150. public Result updateAccount(Map<String, Object> map) {
  151. Integer id = (Integer)map.get("id");
  152. String account = (String)map.get("account");
  153. String password = (String)map.get("password");
  154. Integer countAccount = sysAccountMultilevelMapper.selectCount(new QueryWrapper<SysAccountMultilevel>().eq("account",account));
  155. if (countAccount >1){
  156. return new Result(10001,"改账号已存在",false);
  157. }
  158. SysAccountMultilevel sysAccountMultilevel = new SysAccountMultilevel();
  159. sysAccountMultilevel.setAccount(account);
  160. sysAccountMultilevel.setPassword(password);
  161. sysAccountMultilevelMapper.update(sysAccountMultilevel,new UpdateWrapper<SysAccountMultilevel>().eq("user_id",id));
  162. return new Result(10000,"修改成功",true);
  163. }
  164. @Override
  165. public void printUser(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
  166. String ids = paramsMap.get("ids");
  167. String[] split = ids.split(",");
  168. List<SysUser> list = new ArrayList<>();
  169. for (String s : split) {
  170. SysUser admission = userMapper.selectById(s);
  171. list.add(admission);
  172. }
  173. Print.printUser(list);
  174. }
  175. @Override
  176. public Result removeAccount(Map<String, String> map) {
  177. String ids = map.get("ids");
  178. sysAccountMultilevelMapper.delete(new QueryWrapper<SysAccountMultilevel>().eq("user_id",ids.split(",")));
  179. return new Result(10000,"删除成功",true);
  180. }
  181. @Override
  182. public Result userAgeAndGender(Map<String, String> map) {
  183. String farmId = map.get("farmId");
  184. if (checkFarm(farmId))
  185. return new Result(10001,"牧场信息为空",false);
  186. List<UserAgeAndGender> userAgeAndGenders= userMapper.userAgeAndGender(farmId);
  187. return new Result(ResultCode.SUCCESS,userAgeAndGenders);
  188. }
  189. @Override
  190. public Result userJob(Map<String, String> map) {
  191. String farmId = map.get("farmId");
  192. if (checkFarm(farmId))
  193. return new Result(10001,"牧场信息为空",false);
  194. List<UserJob> userJobs= userMapper.userJob(farmId);
  195. return new Result(ResultCode.SUCCESS,userJobs);
  196. }
  197. private boolean checkFarm(String farmId){
  198. if (StringUtils.isBlank(farmId) )
  199. return true;
  200. Farm byId = farmMapper.selectById(farmId);
  201. if (ObjectUtil.isEmpty(byId))
  202. return true;
  203. return false;
  204. }
  205. }