You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
6.0 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.bsd.cases.controller;
import com.alibaba.fastjson.JSONObject;
import com.bsd.cases.model.CaseUsers;
import com.bsd.cases.service.CaseUsersService;
import com.bsd.cases.util.AjaxResult;
import com.bsd.cases.util.FileUtils;
import com.bsd.cases.util.PageAjax;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
@RestController
@RequestMapping("user")
public class CaseUserController {
@Resource
private CaseUsersService caseUsersService;
@Value("${upload.path}")
private String uploadPath;
@ApiOperation(value = "用户列表PC", notes = "用户列表PC")
@ApiImplicitParams({
@ApiImplicitParam(name = "page", value = "起始页码"),
@ApiImplicitParam(name = "name", value = "员工工号或者姓名"),
@ApiImplicitParam(name = "storeId", value = "店铺id"),
@ApiImplicitParam(name = "companyId", value = "公司id"),
@ApiImplicitParam(name = "activityState", value = "活动状态"),
@ApiImplicitParam(name = "state", value = "1正常0删除")
})
@PostMapping("listbypage")
@RequiresAuthentication
public AjaxResult listByPage(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
PageAjax<CaseUsers> pageAjax = caseUsersService.listByPage(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setData(pageAjax);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "新增用户", notes = "新增用户")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "员工id"),
@ApiImplicitParam(name = "userName", value = "姓名"),
@ApiImplicitParam(name = "userNo", value = "员工工号"),
@ApiImplicitParam(name = "storeId", value = "店铺id"),
@ApiImplicitParam(name = "companyId", value = "公司id"),
@ApiImplicitParam(name = "storeName", value = "店铺名称"),
@ApiImplicitParam(name = "companyName", value = "公司名称"),
@ApiImplicitParam(name = "state", value = "1正常0删除")
})
@PostMapping("add")
@RequiresAuthentication
public AjaxResult add(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
caseUsersService.add(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "用户详情", notes = "用户详情")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户id")
})
@PostMapping("detail")
@RequiresAuthentication
public AjaxResult detail(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
CaseUsers users = caseUsersService.detail(jsonObject);
ajaxResult.setData(users);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "删除用户", notes = "删除用户")
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户id")
})
@PostMapping("delete")
@RequiresAuthentication
public AjaxResult delete(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
caseUsersService.delete(jsonObject);
ajaxResult.setRetmsg("操作成功");
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetmsg("操作失败:" + e.getMessage());
ajaxResult.setRetcode(AjaxResult.FAILED);
}
return ajaxResult;
}
@ApiOperation(value = "导出用户", notes = "导入用户")
@PostMapping(value = "export")
@ResponseBody
public AjaxResult export(@RequestBody JSONObject jsonObject) {
AjaxResult ajaxResult = new AjaxResult();
try {
String url = caseUsersService.export(jsonObject);
ajaxResult.setData(url);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetcode(AjaxResult.FAILED);
}
//返回json
return ajaxResult;
}
//处理文件上传
@ApiOperation(value = "导入用户", notes = "导入用户")
@PostMapping(value = "uploadexcel")
@ResponseBody
public AjaxResult uploadExcel(@RequestParam("file") MultipartFile file) {
String fileName = file.getOriginalFilename();
AjaxResult ajaxResult = new AjaxResult();
try {
FileUtils.uploadFile(file.getBytes(), uploadPath, fileName);
caseUsersService.saveUserList(uploadPath, fileName);
ajaxResult.setRetcode(AjaxResult.SUCCESS);
} catch (Exception e) {
e.printStackTrace();
ajaxResult.setRetcode(AjaxResult.FAILED);
}
//返回json
return ajaxResult;
}
}