| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- package com.zhongzheng.controller.user;
- import cn.afterturn.easypoi.excel.entity.ExportParams;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.zhongzheng.common.annotation.Log;
- import com.zhongzheng.common.core.controller.BaseController;
- import com.zhongzheng.common.core.domain.AjaxResult;
- import com.zhongzheng.common.core.page.TableDataInfo;
- import com.zhongzheng.common.enums.BusinessType;
- import com.zhongzheng.common.utils.ServletUtils;
- import com.zhongzheng.common.utils.poi.ExcelUtil;
- import com.zhongzheng.modules.alisms.service.IAliSmsService;
- import com.zhongzheng.modules.user.bo.*;
- import com.zhongzheng.modules.user.entity.ClientLoginUser;
- import com.zhongzheng.modules.user.service.IUserService;
- import com.zhongzheng.modules.user.vo.UserIdCardBatchVo;
- import com.zhongzheng.modules.user.vo.UserStatstVo;
- import com.zhongzheng.modules.user.vo.UserStudyRecordVo;
- import com.zhongzheng.modules.user.vo.UserVo;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.access.prepost.PreAuthorize;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import java.time.LocalDateTime;
- import java.time.format.DateTimeFormatter;
- import java.util.*;
- /**
- * 客户端用户Controller
- *
- * @author ruoyi
- * @date 2021-06-08
- */
- @Api(value = "客户端用户控制器", tags = {"客户端用户管理"})
- @RequiredArgsConstructor(onConstructor_ = @Autowired)
- @RestController
- @RequestMapping("/app/user")
- public class UserController extends BaseController {
- private final IUserService iUserService;
- private final IAliSmsService iSmsService;
- /**
- * 查询客户端用户列表
- */
- @ApiOperation("统计查询客户端用户列表")
- @PreAuthorize("@ss.hasPermi('app:user:list')")
- @GetMapping("/stats_list")
- public AjaxResult<List<UserStatstVo>> statsList(UserQueryBo bo) {
- List<UserStatstVo> list = iUserService.statsList(bo);
- return AjaxResult.success(list);
- }
- /**
- * 查询客户端用户列表
- */
- @ApiOperation("导出统计查询客户端用户列表")
- @PreAuthorize("@ss.hasPermi('app:user:list')")
- @GetMapping("/stats_list_export")
- public AjaxResult<UserStatstVo> statsListExport(UserQueryBo bo) {
- List<UserStatstVo> list = iUserService.statsList(bo);
- ExcelUtil<UserStatstVo> util = new ExcelUtil<>(UserStatstVo.class);
- return util.exportExcel(list,"导出学员统计列表");
- }
- /**
- * 查询客户端用户列表
- */
- @ApiOperation("查询客户端用户列表")
- @PreAuthorize("@ss.hasPermi('app:user:list')")
- @GetMapping("/list")
- public TableDataInfo<UserVo> list(UserQueryBo bo) {
- startPage();
- List<UserVo> list = iUserService.selectList(bo);
- return getDataTable(list);
- }
- /**
- * 导出客户端用户列表
- */
- @ApiOperation("导出客户端用户列表")
- @PreAuthorize("@ss.hasPermi('app:user:export')")
- @Log(title = "客户端用户", businessType = BusinessType.EXPORT)
- @GetMapping("/export")
- public AjaxResult<UserVo> export(UserQueryBo bo) {
- List<UserVo> list = iUserService.queryList(bo);
- ExcelUtil<UserVo> util = new ExcelUtil<UserVo>(UserVo.class);
- ExportParams deptExportParams = new ExportParams();
- // 设置sheet得名称
- deptExportParams.setSheetName("表1");
- Map<String, Object> deptExportMap = new HashMap<>();
- deptExportMap.put("title", deptExportParams);
- deptExportMap.put("entity", UserVo.class);
- // sheet中要填充得数据
- deptExportMap.put("data", list);
- List<Map<String, Object>> sheetsList = new ArrayList<>();
- sheetsList.add(deptExportMap);
- return util.exportEasyExcel(sheetsList, "客户端用户");
- }
- /**
- * 获取客户端用户详细信息
- */
- @ApiOperation("获取客户端用户详细信息")
- @PreAuthorize("@ss.hasPermi('app:user:query')")
- @GetMapping("/{userId}")
- public AjaxResult<UserVo> getInfo(@PathVariable("userId" ) Long userId) {
- return AjaxResult.success(iUserService.queryById(userId));
- }
- /**
- * 新增客户端用户
- */
- @ApiOperation("新增客户端用户")
- @PreAuthorize("@ss.hasPermi('app:user:add')")
- @Log(title = "客户端用户", businessType = BusinessType.INSERT)
- @PostMapping()
- public AjaxResult<Long> add(@RequestBody UserSystemRegisterBo bo) {
- bo.setRegisterPlat("3");
- return AjaxResult.success(iUserService.systemRegisterUser(bo));
- }
- /**
- * 修改客户端用户
- */
- @ApiOperation("修改客户端用户")
- @PreAuthorize("@ss.hasPermi('app:user:edit')")
- @Log(title = "客户端用户", businessType = BusinessType.UPDATE)
- @PostMapping("/edit")
- public AjaxResult<Void> edit(@RequestBody UserEditBo bo) throws IllegalAccessException {
- return toAjax(iUserService.updateByEditBo(bo) ? 1 : 0);
- }
- /**
- * 删除客户端用户
- */
- @ApiOperation("删除客户端用户")
- @PreAuthorize("@ss.hasPermi('app:user:remove')")
- @Log(title = "客户端用户" , businessType = BusinessType.DELETE)
- @PostMapping("/delete")
- public AjaxResult<Void> remove(@PathVariable Long[] userIds) {
- return toAjax(iUserService.deleteWithValidByIds(Arrays.asList(userIds), true) ? 1 : 0);
- }
- /**
- * 查询客户端用户学习记录列表
- */
- @ApiOperation("客户端用户学习记录列表")
- @PreAuthorize("@ss.hasPermi('app:user:studyRecordList')")
- @GetMapping("/studyRecordList")
- public TableDataInfo<UserStudyRecordVo> studyRecordList(UserStudyRecordQueryBo bo) {
- startPage();
- List<UserStudyRecordVo> list = iUserService.selectStudyRecordList(bo);
- return getDataTable(list);
- }
- @ApiOperation("导入用户")
- @Log(title = "导入用户", businessType = BusinessType.IMPORT)
- @PreAuthorize("@ss.hasPermi('system:section:import')")
- @PostMapping("/importData")
- public AjaxResult<Map<String,Object>> importData(MultipartFile file, String importNo,Integer sign) throws Exception
- {
- Map<String, Object> rs = new HashMap<>();
- if (ObjectUtils.isNotNull(sign) && sign == 1){
- ExcelUtil<UserPeriodImportBo> util = new ExcelUtil<UserPeriodImportBo>(UserPeriodImportBo.class);
- List<UserPeriodImportBo> userList = null;
- try{
- userList = util.importExcel(file.getInputStream());
- }catch (Exception e){
- e.printStackTrace();
- throw new IllegalArgumentException("模板格式不正确,请重新下载模板");
- }
- rs = iUserService.importSevenUser(userList);
- }else {
- ExcelUtil<UserImportAddBo> util = new ExcelUtil<UserImportAddBo>(UserImportAddBo.class);
- List<UserImportAddBo> userList = null;
- try{
- userList = util.importExcel(file.getInputStream());
- }catch (Exception e){
- e.printStackTrace();
- throw new IllegalArgumentException("模板格式不正确,请重新下载模板");
- }
- Collections.reverse(userList);
- if (userList.stream().allMatch(item -> ObjectUtils.isNull(item))){
- throw new IllegalArgumentException("模板格式不正确,请重新下载模板");
- }
- rs = iUserService.importUser(userList,importNo);
- }
- return AjaxResult.success(rs);
- }
- @ApiOperation("导出失败导入用户")
- @Log(title = "导入用户", businessType = BusinessType.IMPORT)
- @PreAuthorize("@ss.hasPermi('system:section:import')")
- @PostMapping("/exportFailData")
- public AjaxResult<Map<String,Object>> exportFailData(@RequestBody List<UserImportExportBo> bo) throws Exception
- {
- List<UserImportExportBo> errorList = bo;
- ExcelUtil<UserImportExportBo> util = new ExcelUtil<UserImportExportBo>(UserImportExportBo.class);
- String timeStr= LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
- return util.exportEasyExcel(util.exportEasyData(errorList), "导出失败导入用户"+timeStr);
- }
- @ApiOperation("批量获取用户ID")
- @Log(title = "批量获取用户ID", businessType = BusinessType.IMPORT)
- @PreAuthorize("@ss.hasPermi('system:section:import')")
- @PostMapping("/batchUserId")
- public AjaxResult<List<UserIdCardBatchVo>> batchUserId(@RequestBody List<UserIdCardAddBo> list)
- {
- return AjaxResult.success(iUserService.batchUserId(list));
- }
- @ApiOperation("修改客户端用户密码")
- @PostMapping("/updatePwd")
- public AjaxResult<Void> updatePwd(@RequestBody UserAppUpdatePwdBo bo) {
- return toAjax(iUserService.updatePwdByClient(bo)? 1 : 0);
- }
- @ApiOperation("查询档案列表")
- @PreAuthorize("@ss.hasPermi('app:user:list')")
- @GetMapping("/dangAnList")
- public TableDataInfo<UserVo> dangAnList(UserQueryBo bo) {
- startPage();
- List<UserVo> list = iUserService.dangAnList(bo);
- return getDataTable(list);
- }
- }
|