123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229 |
- package com.huimv.receive.service.impl;
- import cn.hutool.core.util.ObjectUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.core.toolkit.StringUtils;
- import com.baomidou.mybatisplus.extension.api.R;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.huimv.receive.common.utils.Print;
- import com.huimv.receive.common.utils.Result;
- import com.huimv.receive.common.utils.ResultCode;
- import com.huimv.receive.entity.*;
- import com.huimv.receive.entity.vo.UserAccountVo;
- import com.huimv.receive.entity.vo.UserAgeAndGender;
- import com.huimv.receive.entity.vo.UserJob;
- import com.huimv.receive.mapper.BaseLocationMapper;
- import com.huimv.receive.mapper.FarmMapper;
- import com.huimv.receive.mapper.SysAccountMultilevelMapper;
- import com.huimv.receive.mapper.SysUserMapper;
- import com.huimv.receive.service.IBaseLocationService;
- import com.huimv.receive.service.IFarmService;
- import com.huimv.receive.service.ISysUserService;
- import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
- import org.aspectj.weaver.ast.Var;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.servlet.http.HttpServletResponse;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.List;
- import java.util.Map;
- /**
- * <p>
- * 服务实现类
- * </p>
- *
- * @author author
- * @since 2023-09-04
- */
- @Service
- public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
- @Autowired
- private BaseLocationMapper baseLocationMapper;
- @Autowired
- private FarmMapper farmMapper;
- @Autowired
- private SysUserMapper userMapper;
- @Autowired
- private SysAccountMultilevelMapper sysAccountMultilevelMapper;
- @Override
- public Result pageAll(Map map) {
- int pageNum = (Integer)map.get("pageNum");
- int pageSize = (Integer)map.get("pageSize");
- String searchStr = (String)map.get("searchStr");
- String job = (String)map.get("job");
- String workLocation = (String)map.get("workLocation");
- String workLocationType =(String) map.get("workLocationType");
- String farmId = (String) map.get("farmId");
- if (checkFarm(farmId))
- return new Result(10001,"牧场信息为空",false);
- QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
- if (ObjectUtil.isEmpty(pageNum) || pageNum<1)
- pageNum = 1;
- if (ObjectUtil.isEmpty(pageSize) || pageSize<1 )
- pageNum = 10;
- wrapper.eq("farm_id",farmId);
- wrapper.eq(ObjectUtil.isNotEmpty(job),"job",job);
- wrapper.eq(ObjectUtil.isNotEmpty(workLocation),"work_location",workLocation);
- wrapper.eq(ObjectUtil.isNotEmpty(workLocationType),"work_location_type",workLocationType);
- if (StringUtils.isNotBlank(searchStr))
- wrapper.and(i -> i.like("user_name",searchStr).or().like("user_phone",searchStr));
- wrapper.orderByDesc("id");
- IPage<SysUser> page = this.page(new Page<>(pageNum, pageSize), wrapper);
- return new Result(ResultCode.SUCCESS,page);
- }
- @Override
- public Result listWorkLocation(Map map) {
- String farmId = (String)map.get("farmId");
- if (checkFarm(farmId))
- return new Result(10001,"牧场信息为空",false);
- return new Result(ResultCode.SUCCESS,baseLocationMapper.selectList(new QueryWrapper<BaseLocation>().eq("farm_id",farmId).groupBy("location_type").orderByAsc("location_type")));
- }
- @Override
- public Result pageAccount(Map<String, Object> map) {
- int pageNum = (Integer)map.get("pageNum");
- int pageSize = (Integer)map.get("pageSize");
- String searchStr = (String)map.get("searchStr");
- String job = (String)map.get("job");
- String workLocation = (String)map.get("workLocation");
- String workLocationType = (String)map.get("workLocationType");
- String farmId = (String) map.get("farmId");
- if (checkFarm(farmId))
- return new Result(10001,"牧场信息为空",false);
- QueryWrapper<SysUser> wrapper = new QueryWrapper<>();
- if (ObjectUtil.isEmpty(pageNum) || pageNum<1)
- pageNum = 1;
- if (ObjectUtil.isEmpty(pageSize) || pageSize<1 )
- pageSize = 10;
- // wrapper.eq("farm_id",farmId);
- wrapper.eq(ObjectUtil.isNotEmpty(job),"job",job);
- wrapper.eq(ObjectUtil.isNotEmpty(workLocation),"work_location",workLocation);
- wrapper.eq(ObjectUtil.isNotEmpty(workLocationType),"work_location_type",workLocationType);
- if (StringUtils.isNotBlank(searchStr))
- wrapper.and(i -> i.like("user_name",searchStr).or().like("user_id",searchStr));
- Page<UserAccountVo> userAccountVoPage = new Page<>(pageNum,pageSize);
- IPage<UserAccountVo> userAccountVoIPage = userMapper.pageAccount(userAccountVoPage,wrapper,farmId);
- return new Result(ResultCode.SUCCESS,userAccountVoIPage);
- }
- @Override
- public Result addAccount(Map<String, Object> map) {
- Integer id = (Integer)map.get("id");
- String account = (String)map.get("account");
- String password = (String)map.get("password");
- SysUser sysUser = this.getById(id);
- Integer countAccount = sysAccountMultilevelMapper.selectCount(new QueryWrapper<SysAccountMultilevel>().eq("account",account));
- if (countAccount >0){
- return new Result(10001,"该账号已存在",false);
- }
- Integer countUser = sysAccountMultilevelMapper.selectCount(new QueryWrapper<SysAccountMultilevel>().eq("user_id",id));
- if (countUser >0){
- return new Result(10001,"该用户已绑定账号",false);
- }
- SysAccountMultilevel sysAccountMultilevel = new SysAccountMultilevel();
- sysAccountMultilevel.setAccount(account);
- sysAccountMultilevel.setPassword(password);
- sysAccountMultilevel.setUserName(sysUser.getUserName());
- sysAccountMultilevel.setAccountStatus(1);
- sysAccountMultilevel.setFarmId(Integer.parseInt(sysUser.getFarmId()));
- sysAccountMultilevel.setFarmIds(sysUser.getFarmId());
- sysAccountMultilevel.setType(sysUser.getJob());
- sysAccountMultilevel.setWorkLocation(sysUser.getWorkLocation());
- sysAccountMultilevel.setWorkLocationType(sysUser.getWorkLocationType());
- sysAccountMultilevel.setPhone(sysUser.getUserPhone());
- sysAccountMultilevel.setWorkName(sysUser.getDepartment());
- sysAccountMultilevel.setPapersCode(sysUser.getCardNum());
- sysAccountMultilevel.setPapersType(sysUser.getCardType());
- sysAccountMultilevel.setUserId(id);
- sysAccountMultilevelMapper.insert(sysAccountMultilevel);
- return new Result(10000,"添加成功",true);
- }
- @Override
- public Result list(Map map) {
- String farmId = (String)map.get("farmId");
- if (checkFarm(farmId))
- return new Result(10001,"牧场信息为空",false);
- return new Result(ResultCode.SUCCESS,this.list());
- }
- @Override
- public Result updateAccount(Map<String, Object> map) {
- Integer id = (Integer)map.get("id");
- String account = (String)map.get("account");
- String password = (String)map.get("password");
- Integer countAccount = sysAccountMultilevelMapper.selectCount(new QueryWrapper<SysAccountMultilevel>().eq("account",account));
- if (countAccount >1){
- return new Result(10001,"改账号已存在",false);
- }
- SysAccountMultilevel sysAccountMultilevel = new SysAccountMultilevel();
- sysAccountMultilevel.setAccount(account);
- sysAccountMultilevel.setPassword(password);
- sysAccountMultilevelMapper.update(sysAccountMultilevel,new UpdateWrapper<SysAccountMultilevel>().eq("user_id",id));
- return new Result(10000,"修改成功",true);
- }
- @Override
- public void printUser(HttpServletResponse httpServletRequest, Map<String, String> paramsMap) throws Exception {
- String ids = paramsMap.get("ids");
- String[] split = ids.split(",");
- List<SysUser> list = new ArrayList<>();
- for (String s : split) {
- SysUser admission = userMapper.selectById(s);
- list.add(admission);
- }
- Print.printUser(list);
- }
- @Override
- public Result removeAccount(Map<String, String> map) {
- String ids = map.get("ids");
- sysAccountMultilevelMapper.delete(new QueryWrapper<SysAccountMultilevel>().eq("user_id",ids.split(",")));
- return new Result(10000,"删除成功",true);
- }
- @Override
- public Result userAgeAndGender(Map<String, String> map) {
- String farmId = map.get("farmId");
- if (checkFarm(farmId))
- return new Result(10001,"牧场信息为空",false);
- List<UserAgeAndGender> userAgeAndGenders= userMapper.userAgeAndGender(farmId);
- return new Result(ResultCode.SUCCESS,userAgeAndGenders);
- }
- @Override
- public Result userJob(Map<String, String> map) {
- String farmId = map.get("farmId");
- if (checkFarm(farmId))
- return new Result(10001,"牧场信息为空",false);
- List<UserJob> userJobs= userMapper.userJob(farmId);
- return new Result(ResultCode.SUCCESS,userJobs);
- }
- private boolean checkFarm(String farmId){
- if (StringUtils.isBlank(farmId) )
- return true;
- Farm byId = farmMapper.selectById(farmId);
- if (ObjectUtil.isEmpty(byId))
- return true;
- return false;
- }
- }
|