package com.huimv.receive.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.huimv.receive.common.token.TokenSign; import com.huimv.receive.common.utils.PdfUtil; import com.huimv.receive.common.utils.Result; import com.huimv.receive.common.utils.ResultCode; import com.huimv.receive.common.utils.UploadImage; import com.huimv.receive.entity.AccountGroup; import com.huimv.receive.entity.SysAccountMultilevel; import com.huimv.receive.service.IAccountGroupService; import com.huimv.receive.service.ISysAccountMultilevelService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; /** *

* 前端控制器 *

* * @author astupidcoder * @since 2021-10-14 */ @CrossOrigin @RestController @RequestMapping("/admin/accountMultilevel") public class SysAccountMultilevelController { @Autowired private ISysAccountMultilevelService accountMultilevelService; @Autowired private IAccountGroupService accountGroupService; @Autowired private UploadImage uploadImage; @PostMapping("/list") public Result list(@RequestBody Map map , HttpServletRequest request){ Integer userId = TokenSign.getMemberIdByJwtToken(request); int pageNum = (Integer)map.get("pageNum"); int pageSize = (Integer)map.get("pageSize"); String searchStr = (String)map.get("searchStr"); return accountMultilevelService.findUserAccount(searchStr,pageNum,pageSize,userId); } @PostMapping("/listSubordinate") public Result listSubordinate(@RequestBody Map map , HttpServletRequest request){ Integer userId = TokenSign.getMemberIdByJwtToken(request); int pageNum = (Integer)map.get("pageNum"); int pageSize = (Integer)map.get("pageSize"); String searchStr = (String)map.get("searchStr"); return accountMultilevelService.listSubordinate(searchStr,pageNum,pageSize,userId); } @PostMapping("/listSubordinateByFarm") public Result listSubordinateByFarm(@RequestBody Map map , HttpServletRequest request){ Integer userId = TokenSign.getMemberIdByJwtToken(request); String farmId = (String)map.get("farmId"); return accountMultilevelService.listSubordinateByFarm(farmId,userId); } @PostMapping("/add") public Result add(@RequestBody SysAccountMultilevel sysAccountMultilevel , HttpServletRequest request){ Integer userId = TokenSign.getMemberIdByJwtToken(request); return accountMultilevelService.add(sysAccountMultilevel,userId); } @PostMapping("/update") public Result update(@RequestBody SysAccountMultilevel sysAccountMultilevel){ accountMultilevelService.updateById(sysAccountMultilevel); return new Result(10000,"修改成功",true); } @GetMapping("/remove") public Result remove(@RequestParam(name ="userIds") List userIds){ accountGroupService.remove(new QueryWrapper().in("account_id",userIds)); accountMultilevelService.removeByIds(userIds); return new Result(10000,"删除成功",true); } @GetMapping("/setAccountStatus") public Result setAccountStatus(@RequestParam(name = "ids") List ids, @RequestParam(name = "status") Integer status){ /* 设置账号状态 */ return accountMultilevelService.setAccountStatus(ids,status); } @GetMapping("/findOne") public Result findOne(Integer id){ return new Result(ResultCode.SUCCESS, accountMultilevelService.getById(id)); } @GetMapping("/getLastFarmId") public Result getLastFarmId(HttpServletRequest request){ Integer userId = TokenSign.getMemberIdByJwtToken(request); return accountMultilevelService.getLastFarmId(userId); } @PostMapping("/editImg") @Transactional(rollbackFor = Exception.class) public Result editImg(HttpServletRequest httpServletRequest, @RequestParam("img") MultipartFile img) throws IOException { SysAccountMultilevel sysAccountMultilevel = accountMultilevelService.getById(TokenSign.getMemberIdByJwtToken(httpServletRequest)); if (uploadImage.getImageCom(img).equals("上传失败")) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return new Result(10001,"图片上传失败",false); } sysAccountMultilevel.setImgUrl(uploadImage.getImageCom(img)); accountMultilevelService.updateById(sysAccountMultilevel); return Result.SUCCESS(); } @PostMapping("/updateUserName") public Result updateUserName(HttpServletRequest httpServletRequest,@RequestBody Map paramsMap){ SysAccountMultilevel sysAccountMultilevel = accountMultilevelService.getById(TokenSign.getMemberIdByJwtToken(httpServletRequest)); sysAccountMultilevel.setUserName(paramsMap.get("userName")); accountMultilevelService.updateById(sysAccountMultilevel); return Result.SUCCESS(); } @PostMapping("/updatePaper") public Result updatePaper(HttpServletRequest httpServletRequest,@RequestBody Map paramsMap){ SysAccountMultilevel sysAccountMultilevel = accountMultilevelService.getById(TokenSign.getMemberIdByJwtToken(httpServletRequest)); sysAccountMultilevel.setPapersType(paramsMap.get("papersType")); sysAccountMultilevel.setPapersCode(paramsMap.get("papersCode")); accountMultilevelService.updateById(sysAccountMultilevel); return Result.SUCCESS(); } @PostMapping("/updateUser") public Result updateUser(HttpServletRequest httpServletRequest, @RequestParam(value = "img", required = false) MultipartFile img, @RequestParam(value = "userName", required = false) String userName, @RequestParam(value = "phone", required = false) String phone, @RequestParam(value = "workPost", required = false) Integer workPost, @RequestParam(value = "workLocation", required = false) String workLocation, @RequestParam(value = "workLocationId", required = false) String workLocationId, @RequestParam(value = "workName", required = false) String workName, @RequestParam(value = "papersType", required = false) String papersType, @RequestParam(value = "papersCode", required = false) String papersCode) throws IOException { return accountMultilevelService.updateUser(httpServletRequest,img,userName,phone,workPost,workLocation,workLocationId,workName,papersType,papersCode); } @PostMapping("/getDetail") public Result getDetail(HttpServletRequest httpServletRequest){ return new Result(ResultCode.SUCCESS,accountMultilevelService.getById(TokenSign.getMemberIdByJwtToken(httpServletRequest))); } @GetMapping("/printAccount") public void printAccount(HttpServletResponse response, @RequestParam(name = "ids") String ids) throws Exception { Map map = new HashMap<>(); map.put("ids", ids); accountMultilevelService.printAccount(response, map); String path = "/opt/huatong/account.xls"; PdfUtil.returnPdfStream3(response, path, "账号列表"); } }