123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401 |
- package com.huimv.farm.damsubsidy.controller;
- import cn.hutool.core.date.DateUtil;
- import cn.hutool.core.lang.UUID;
- import cn.hutool.core.util.ObjectUtil;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
- import com.huimv.farm.damsubsidy.common.token.TokenSign;
- import com.huimv.farm.damsubsidy.common.utils.Result;
- import com.huimv.farm.damsubsidy.common.utils.ResultCode;
- import com.huimv.farm.damsubsidy.common.utils.SmsUtils;
- import com.huimv.farm.damsubsidy.common.utils.UploadImage;
- import com.huimv.farm.damsubsidy.config.CharacterEncodingFilter;
- import com.huimv.farm.damsubsidy.entity.AccessToken;
- import com.huimv.farm.damsubsidy.entity.BaseUserBank;
- import com.huimv.farm.damsubsidy.entity.SysUser;
- import com.huimv.farm.damsubsidy.service.IBaseUserBankService;
- import com.huimv.farm.damsubsidy.service.ISysUserService;
- import org.apache.poi.util.StringUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.redis.core.RedisTemplate;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import javax.servlet.http.HttpServletRequest;
- import java.io.*;
- import java.util.*;
- import java.util.concurrent.TimeUnit;
- /**
- * <p>
- * 前端控制器
- * </p>
- *
- * @author author
- * @since 2023-04-26
- */
- @RestController
- @RequestMapping("/sys-user")
- @CrossOrigin
- public class SysUserController {
- @Autowired
- private ISysUserService iSysUserService;
- @Autowired
- private RedisTemplate<String,String> redisTemplate;
- @Autowired
- private IBaseUserBankService bankService;
- @Autowired
- private UploadImage uploadImage;
- @PostMapping("/sendCode")
- public Result senCode(@RequestBody Map<String,String> paramsMap) throws Exception {
- String phone = paramsMap.get("phone");
- System.out.println(phone);
- String code = generateRandomCode();
- //模板id
- String templateId = "e683346d84234fc1a0816791587a4335";
- //模板里的参数,可多个
- String[] params = {code};
- // 调用发送短信的接口
- JSONObject success = SmsUtils.sendSms(templateId,phone, params);
- Boolean success1 = (Boolean)success.get("success");
- if (success1) {
- // 如果发送成功,将手机号和验证码保存
- redisTemplate.opsForValue().set("xumu:"+phone,code,5L, TimeUnit.MINUTES);
- System.out.println("发送成功");
- // phoneCodeMap.put(phoneNumber, code);
- } else {
- // do something
- }
- System.out.println(success);
- return new Result(ResultCode.SUCCESS,success);
- }
- private static String generateRandomCode() {
- Random random = new Random();
- String code = "";
- for (int i = 0; i < 6; i++) {
- code += random.nextInt(10);
- }
- return code;
- }
- @PostMapping("/loginOne")
- public Result loginOne() {
- AccessToken accessToken = new AccessToken();
- Result result = iSysUserService.loginOne();
- SysUser user = (SysUser) result.getData();
- accessToken.setAccountName(user.getUserName());
- accessToken.setCreated(new Date());
- accessToken.setType(user.getUserType());
- accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(),user.getId(),user.getBriefAddressCode(),user.getUserType()));
- accessToken.setCode(result.getCode());
- accessToken.setMessage(result.getMessage());
- accessToken.setUserId(user.getId());
- accessToken.setPhone(user.getPhone());
- accessToken.setUser(user);
- return new Result(ResultCode.SUCCESS,accessToken);
- }
- @PostMapping(value = "/login")
- public Result loginMultilevel(HttpServletRequest req, @RequestBody Map<String, String> map) {
- String remoteHost = req.getRemoteHost();
- Result result = iSysUserService.loginMultilevel(req, map,remoteHost);
- AccessToken accessToken = new AccessToken();
- if (result.getCode() == 10000) {
- SysUser user = (SysUser) result.getData();
- QueryWrapper<BaseUserBank> queryWrapper = new QueryWrapper();
- queryWrapper.eq("user_id", user.getId());
- List<BaseUserBank> banks = bankService.list(queryWrapper);
- if (user.getUserType() == 4 && user.getPermit() == null) {
- accessToken.setPermit(1);
- } else {
- accessToken.setPermit(0);//不需要
- }
- accessToken.setBanks(banks);
- accessToken.setAccountName(user.getUserName());
- accessToken.setCreated(new Date());
- accessToken.setType(user.getUserType());
- accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(),user.getId(),user.getBriefAddressCode(),user.getUserType()));
- accessToken.setCode(result.getCode());
- accessToken.setMessage(result.getMessage());
- accessToken.setUserId(user.getId());
- accessToken.setPhone(user.getPhone());
- accessToken.setLoginIp(remoteHost);
- accessToken.setUser(user);
- }
- if (result.getCode() == 10004) {
- accessToken.setAccountName("游客");
- accessToken.setCreated(new Date());
- accessToken.setToken(TokenSign.sign("游客", map.get("phone"),null,"",10));
- accessToken.setLoginIp("");
- accessToken.setCode(result.getCode());
- accessToken.setMessage(result.getMessage());
- accessToken.setLoginIp(remoteHost);
- }
- if (result.getCode() == 10001) {
- return result;
- }
- return new Result(ResultCode.SUCCESS, accessToken);
- }
- //
- @PostMapping(value = "/loginClient")
- public Result loginClient(HttpServletRequest req, @RequestBody Map<String, String> map) {
- String accountName = map.get("accountName");
- String password = map.get("password");
- String loginType = map.get("loginType");
- String remoteHost = req.getRemoteHost();
- //手机登录
- if ("1".equals(loginType)){
- String phone = map.get("phone");
- if (StringUtils.isEmpty(phone)){
- return new Result(10001, "请输入手机号",false);
- }
- Result result = iSysUserService.loginMultilevel(req, map,remoteHost);
- if ( result.getCode() == 10000) {
- SysUser sysUser = (SysUser) result.getData();
- if (sysUser.getUserType() != 0 && sysUser.getUserType() != 4){
- return new Result(10001, "该用户未授权",false);
- }
- }
- return result;
- }
- if ("2".equals(loginType)){
- // 未对密码加密
- Result result = iSysUserService.loginMultilevelClient(accountName, password,remoteHost);
- if(result.getCode() == 10000){
- SysUser accountEntity = (SysUser) result.getData();
- Long id = accountEntity.getId();
- AccessToken accessToken = new AccessToken();
- accessToken.setCreated(new Date());
- accessToken.setAccountName(accountName);
- accessToken.setCode(result.getCode());
- accessToken.setMessage(result.getMessage());
- String token = TokenSign.sign(accountName,accountEntity.getPhone(),accountEntity.getId(),accountEntity.getBriefAddressCode(),accountEntity.getUserType());
- accessToken.setToken(token);
- accessToken.setUserName(accountEntity.getUserName());
- accessToken.setUserId(accountEntity.getId());
- accessToken.setPhone(accountEntity.getPhone());
- SysUser user = (SysUser) result.getData();
- accessToken.setUser(user);
- accessToken.setLoginIp(remoteHost);
- return new Result(ResultCode.SUCCESS,accessToken);
- }
- return result;
- }
- return new Result(10001, "登录方式有误",false);
- }
- @PostMapping(value = "/add")
- public Result add(HttpServletRequest req,@RequestParam(name = "idCordFrontUrl") MultipartFile idCordFrontUrl,
- @RequestParam(name ="idCordBackUrl",required = false) MultipartFile idCordBackUrl,
- @RequestParam(name ="type") String type,
- @RequestParam(name ="userName") String userName,
- @RequestParam(name = "idCord",required = false) String idCord,
- @RequestParam(value = "phone",required = false) String phone,
- @RequestParam(name = "farmName",required = false) String farmName,
- @RequestParam(name = "veterId",required = false) String veterId,
- @RequestParam(name = "address",required = false) String address,//身份证地址
- @RequestParam(name = "detailedAddress") String detailedAddress,//详细地址
- @RequestParam(name = "detailedAdressCode") String detailedAdressCode//地址行政码
- ) throws IOException {
- req.setCharacterEncoding("UTF-8");
- System.out.println(userName);
- String content = uploadImage.getImageCom(idCordFrontUrl);
- String content2 ="" ;
- if (!"2".equals(type)){
- content2 = uploadImage.getImageCom(idCordBackUrl);
- }
- Map<String, String> map = new HashMap<>();
- map.put("idCordFrontUrl", content);
- map.put("idCordBackUrl", content2);
- map.put("type", type);
- CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
- map.put("userName", userName);
- map.put("idCord", idCord);
- map.put("phone", phone);
- map.put("veterId", veterId);
- map.put("detailedAdressCode", detailedAdressCode);
- map.put("farmName", farmName);
- map.put("address", address);
- map.put("detailedAddress", detailedAddress);
- Result result = iSysUserService.add(req, map);
- if (result.getCode() == 10000) {
- SysUser user = (SysUser) result.getData();
- AccessToken accessToken = new AccessToken();
- accessToken.setAccountName(user.getUserName());
- accessToken.setCreated(new Date());
- accessToken.setLoginIp(user.getLastIp());
- accessToken.setType(user.getUserType());
- accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(),user.getId(),user.getBriefAddressCode(),user.getUserType()));
- accessToken.setPhone(user.getPhone());
- accessToken.setUser(user);
- accessToken.setUserName(user.getUserName());
- accessToken.setUserId(user.getId());
- accessToken.setMessage(result.getMessage());
- return new Result(ResultCode.SUCCESS, accessToken);
- } else if (result.getCode() == 10004) {
- return new Result(10004, "待审核",false);
- } else {
- return iSysUserService.add(req,map);
- }
- }
- @PostMapping(value = "/addTest")
- public void addTest( @RequestParam("userName") String userName) {
- System.out.println(userName);
- }
- @PostMapping(value = "/edit")
- public Result edit(HttpServletRequest req, @RequestBody SysUser user) {
- return iSysUserService.edit(req, user);
- }
- @PostMapping(value = "/list")
- public Result list(HttpServletRequest req, @RequestBody Map<String, String> map) {
- return iSysUserService.list(req, map);
- }
- @PostMapping(value = "/findPhone")
- public Result findPhone(HttpServletRequest req, @RequestBody Map<String, String> map) {
- return iSysUserService.findPhone(req, map);
- }
- //pc端
- @PostMapping(value = "/listPc")
- public Result listPc(HttpServletRequest req, @RequestBody Map<String, String> map) {
- return iSysUserService.listPc(req, map);
- }
- @PostMapping(value = "/listPc2")
- public Result listPc2(HttpServletRequest req, @RequestBody Map<String, String> map) {
- return new Result(ResultCode.SUCCESS, iSysUserService.listPc2(req, map));
- }
- @PostMapping(value = "/editState")
- public Result editState(HttpServletRequest req, @RequestBody Map<String,String> paramsMap) {
- return new Result(ResultCode.SUCCESS, iSysUserService.editState(req, paramsMap));
- }
- //测试-token
- @PostMapping(value = "/getToken")
- public String getToken(HttpServletRequest req) {
- String token = TokenSign.sign("养殖户测试", "13112341236",6L,"",10);
- return token;
- }
- @PostMapping("/listSubordinate")
- public Result listSubordinate(@RequestBody Map map , HttpServletRequest request) {
- Long userId = TokenSign.getMemberIdByJwtToken(request);
- Integer pageNum = (Integer) map.get("pageNum");
- Integer pageSize = (Integer) map.get("pageSize");
- if (StringUtils.isEmpty(pageNum)){
- pageNum =1;
- }
- if (StringUtils.isEmpty(pageSize)){
- pageSize =10;
- }
- String searchStr = (String) map.get("searchStr");
- return iSysUserService.listSubordinate(searchStr,pageNum,pageSize,userId);
- }
- @PostMapping("/addXiang")
- public Result addXiang(@RequestBody SysUser sysUser , HttpServletRequest request) {
- Long userId = TokenSign.getMemberIdByJwtToken(request);
- return iSysUserService.addXiang(sysUser,userId);
- }
- @GetMapping("/getTest")
- public void getTest( HttpServletRequest request) {
- Long userId = TokenSign.getMemberIdByJwtToken(request);
- System.out.println(userId);
- }
- //删除
- /* @GetMapping("/remove")
- public Result remove(@RequestParam("userIds")String userIds , HttpServletRequest request) {
- Long userId = TokenSign.getMemberIdByJwtToken(request);
- return iSysUserService.remove(userIds,userId);
- }*/
- @GetMapping("/removeById")
- public Result removeById(@RequestParam("id") Integer id) {
- iSysUserService.removeById(id);
- return new Result(10000,"删除成功",true);
- }
- @PostMapping("/update")
- public Result update(@RequestBody SysUser sysUser , HttpServletRequest request) {
- Long userId = TokenSign.getMemberIdByJwtToken(request);
- return iSysUserService.updateUser(sysUser,userId);
- }
- @PostMapping("/getUser")
- public Result getUser(){
- List<SysUser> sysUsers = iSysUserService.list(new QueryWrapper<SysUser>().in("user_type", 2, 3));
- if (ObjectUtil.isEmpty(sysUsers)){
- return new Result(ResultCode.SUCCESS,null);
- }else {
- return new Result(ResultCode.SUCCESS,sysUsers);
- }
- }
- @PostMapping("/addImg")
- public Result addImg(HttpServletRequest httpServletRequest,@RequestParam("permitImg") MultipartFile permitImg,
- @RequestParam("id") String id) throws IOException {
- String content3 = uploadImage.getImageCom(permitImg);
- Map<String, String> map = new HashMap<>();
- map.put("id", id);
- map.put("permitImg", content3);
- return iSysUserService.addImg(httpServletRequest, map);
- }
- @PostMapping("/removeByIds")
- public Result remove(@RequestBody Map<String, String> paramsMap ) {
- return iSysUserService.removeByIds(paramsMap);
- }
- @PostMapping("/login2")
- public Result login2(@RequestBody Map<String, String> paramsMap) {
- Result result = iSysUserService.login2(paramsMap);
- SysUser user = (SysUser) result.getData();
- if (result.getCode() == 10000) {
- AccessToken accessToken = new AccessToken();
- accessToken.setUser(user);
- accessToken.setUserId(user.getId());
- accessToken.setToken(TokenSign.sign(user.getUserName(), user.getPhone(), user.getId(),user.getBriefAddressCode(),user.getUserType()));
- accessToken.setAccountName(user.getUserName());
- accessToken.setCreated(new Date());
- accessToken.setLoginIp(user.getLastIp());
- accessToken.setType(user.getUserType());
- accessToken.setMessage(result.getMessage());
- return new Result(ResultCode.SUCCESS, accessToken);
- } else {
- return result;
- }
- }
- @PostMapping("/listFarmer")
- public Result listFarmer(HttpServletRequest httpServletRequest,@RequestBody Map<String,String> paramsMap){
- return iSysUserService.listFarmer(httpServletRequest,paramsMap);
- }
- }
|