huangzhiyong 6 سال پیش
والد
کامیت
c61024829f
1فایلهای تغییر یافته به همراه86 افزوده شده و 62 حذف شده
  1. 86 62
      svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/UserController.java

+ 86 - 62
svr/svr-healthy-house/src/main/java/com/yihu/jw/healthyhouse/controller/user/UserController.java

@ -37,14 +37,15 @@ import java.util.Map;
import java.util.regex.Pattern;
/**
 *  用户相关 接口
 * 用户相关 接口
 *
 * @author HZY
 * @created 2018/9/19 17:29
 */
@Api(value = "UserController", description = "用户管理信息", tags = {"2用户管理"})
@RequestMapping(value = "/user", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
@RestController
public class UserController  extends EnvelopRestEndpoint {
public class UserController extends EnvelopRestEndpoint {
    @Autowired
    private UserService userService;
@ -64,20 +65,20 @@ public class UserController  extends EnvelopRestEndpoint {
            @ApiParam(name = "size", value = "分页大小", defaultValue = "15")
            @RequestParam(value = "size", required = false) Integer size,
            @ApiParam(name = "page", value = "页码", defaultValue = "1")
            @RequestParam(value = "page", required = false) Integer page ) throws ManageException, ParseException {
            @RequestParam(value = "page", required = false) Integer page) throws ManageException, ParseException {
        List<User> userList = userService.search(fields, filters, sorts, page, size);
        int count = (int)userService.getCount(filters);
        return success(userList,count, page, size);
        int count = (int) userService.getCount(filters);
        return success(userList, count, page, size);
    }
    @GetMapping("/userDetail")
    @ApiOperation(value = "获取用户详情")
    public ObjEnvelop userDetail(
            @ApiParam(name = "userId", value = "用户id", required = true)@RequestParam(required = true, name = "userId") String userId ) {
            @ApiParam(name = "userId", value = "用户id", required = true) @RequestParam(required = true, name = "userId") String userId) {
        User user = userService.findById(userId);
        return success("获取成功",user);
        return success("获取成功", user);
    }
@ -85,7 +86,7 @@ public class UserController  extends EnvelopRestEndpoint {
    @ApiOperation(value = "获取用户统计信息")
    public ObjEnvelop usedFacilityCount() {
        Map<String, Long> userStatistics = userService.findUserStatistics();
        return success("获取成功",userStatistics);
        return success("获取成功", userStatistics);
    }
    @ApiOperation(value = "新增/更新(idy已存在)用户信息")
@ -102,15 +103,30 @@ public class UserController  extends EnvelopRestEndpoint {
        return success(user);
    }
    @PostMapping("/updateUserActivated")
    @ApiOperation(value = "更改用户状态")
    public Envelop updateUserStatus(
            @ApiParam(name = "userId", value = "用户id", required = true) @RequestParam(required = true, name = "userId") String userId,
            @ApiParam(name = "status", value = "用户状态(0:冻结,1:在线,2:离线)", required = true) @RequestParam(required = true, name = "status") Integer status,
            @ApiParam(name = "operator", value = "操作者ID", required = true) @RequestParam(required = true, name = "operator") String operator) {
        try {
            userService.updateStatus(userId, operator, status, null);
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
        return success("冻结成功");
    }
    @PostMapping("/freezeUser")
    @ApiOperation(value = "用户冻结")
    public Envelop freezeUser(
            @ApiParam(name = "userId", value = "用户id", required = true)@RequestParam(required = true, name = "userId") String userId ,
            @ApiParam(name = "reason", value = "冻结原因", required = true)@RequestParam(required = true, name = "reason") String reason ,
            @ApiParam(name = "operator", value = "操作者ID", required = true)@RequestParam(required = true, name = "operator") String operator ) {
            @ApiParam(name = "userId", value = "用户id", required = true) @RequestParam(required = true, name = "userId") String userId,
            @ApiParam(name = "reason", value = "冻结原因", required = true) @RequestParam(required = true, name = "reason") String reason,
            @ApiParam(name = "operator", value = "操作者ID", required = true) @RequestParam(required = true, name = "operator") String operator) {
        try {
            userService.updateStatus(userId,operator, HouseUserContant.activated_lock,reason);
            userService.updateStatus(userId, operator, HouseUserContant.activated_lock, reason);
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
@ -121,10 +137,10 @@ public class UserController  extends EnvelopRestEndpoint {
    @PostMapping("/activateUser")
    @ApiOperation(value = "用户激活")
    public Envelop activeUser(
            @ApiParam(name = "userId", value = "用户id", required = true)@RequestParam(required = true, name = "userId") String userId ,
            @ApiParam(name = "operator", value = "操作者ID", required = true)@RequestParam(required = true, name = "operator") String operator ) {
            @ApiParam(name = "userId", value = "用户id", required = true) @RequestParam(required = true, name = "userId") String userId,
            @ApiParam(name = "operator", value = "操作者ID", required = true) @RequestParam(required = true, name = "operator") String operator) {
        try {
            userService.updateStatus(userId,operator, HouseUserContant.activated_active,null);
            userService.updateStatus(userId, operator, HouseUserContant.activated_active, null);
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
@ -134,12 +150,12 @@ public class UserController  extends EnvelopRestEndpoint {
    @PostMapping("/updatePwd")
    @ApiOperation(value = "更新密码")
    public Envelop updatePwd(
            @ApiParam(name = "userId", value = "用户Id", required = true)@RequestParam(required = true, name = "userId") String userId ,
            @ApiParam(name = "oldPwd", value = "原密码", required = true)@RequestParam(required = true, name = "oldPwd") String oldPwd ,
            @ApiParam(name = "newPwd", value = "新密码", required = true)@RequestParam(required = true, name = "newPwd") String newPwd ) {
            @ApiParam(name = "userId", value = "用户Id", required = true) @RequestParam(required = true, name = "userId") String userId,
            @ApiParam(name = "oldPwd", value = "原密码", required = true) @RequestParam(required = true, name = "oldPwd") String oldPwd,
            @ApiParam(name = "newPwd", value = "新密码", required = true) @RequestParam(required = true, name = "newPwd") String newPwd) {
        try {
            userService.updatePwd(userId,oldPwd,newPwd);
            userService.updatePwd(userId, oldPwd, newPwd);
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
@ -149,13 +165,17 @@ public class UserController  extends EnvelopRestEndpoint {
    @PostMapping("/updatePhone")
    @ApiOperation(value = "【app端普通用户】更新安全手机号码")
    public Envelop updatePhone(
            @ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
            @ApiParam(name = "userId", value = "用户Id", required = true)@RequestParam(required = true, name = "userId") String userId ,
            @ApiParam(name = "oldPhone", value = "旧安全手机号", required = true)@RequestParam(required = true, name = "oldPhone") String oldPhone ,
            @ApiParam(name = "newPhone", value = "新安全手机号", required = true)@RequestParam(required = true, name = "newPhone") String newPhone ,
            @ApiParam(name = "captcha", value = "短信验证码", required = true)@RequestParam(required = true, name = "captcha") String captcha ) {
            @ApiParam(name = "clientId", value = "应用id", required = true) @RequestParam(required = true, name = "clientId") String clientId,
            @ApiParam(name = "userId", value = "用户Id", required = true) @RequestParam(required = true, name = "userId") String userId,
            @ApiParam(name = "oldPhone", value = "旧安全手机号", required = true) @RequestParam(required = true, name = "oldPhone") String oldPhone,
            @ApiParam(name = "newPhone", value = "新安全手机号", required = true) @RequestParam(required = true, name = "newPhone") String newPhone,
            @ApiParam(name = "captcha", value = "短信验证码", required = true) @RequestParam(required = true, name = "captcha") String captcha) {
        try {
            User user = userService.findByTelephoneAndUserType(newPhone, LoginInfo.USER_TYPE_PATIENT);
            if (user == null) {
                return failed("手机号:" + newPhone + "已被绑定,可更换新手机号或直接登录!");
            }
            //验证码
            if (wlyyRedisVerifyCodeService.verification(clientId, newPhone, captcha)) {
                userService.updateSecurePhone(userId, newPhone);
@ -163,7 +183,7 @@ public class UserController  extends EnvelopRestEndpoint {
            } else {
                return failed("验证码错误");
            }
        }catch (ManageException e){
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
    }
@ -171,20 +191,24 @@ public class UserController  extends EnvelopRestEndpoint {
    @PostMapping("/updateAdminPhone")
    @ApiOperation(value = "【web端管理员】更新安全手机号码")
    public Envelop updateAdminPhone(
            @ApiParam(name = "clientId", value = "应用id", required = true)@RequestParam(required = true, name = "clientId") String clientId,
            @ApiParam(name = "userId", value = "用户Id", required = true)@RequestParam(required = true, name = "userId") String userId ,
            @ApiParam(name = "newPhone", value = "新安全手机号", required = true)@RequestParam(required = true, name = "newPhone") String newPhone ,
            @ApiParam(name = "captcha", value = "短信验证码", required = true)@RequestParam(required = true, name = "captcha") String captcha ) {
            @ApiParam(name = "clientId", value = "应用id", required = true) @RequestParam(required = true, name = "clientId") String clientId,
            @ApiParam(name = "userId", value = "用户Id", required = true) @RequestParam(required = true, name = "userId") String userId,
            @ApiParam(name = "newPhone", value = "新安全手机号", required = true) @RequestParam(required = true, name = "newPhone") String newPhone,
            @ApiParam(name = "captcha", value = "短信验证码", required = true) @RequestParam(required = true, name = "captcha") String captcha) {
        try {
        //验证码
        if (wlyyRedisVerifyCodeService.verification(clientId, newPhone, captcha)) {
            userService.updateAdministorSecurePhone(userId,newPhone);
            return success("更新安全手机号码成功");
        } else {
            return failed("验证码错误");
        }
        }catch (ManageException e) {
            User user = userService.findByTelephoneAndUserType(newPhone, LoginInfo.USER_TYPE_SUPER_AdminManager);
            if (user == null) {
                return failed("手机号:" + newPhone + "已被绑定,可更换新手机号或直接登录!");
            }
            //验证码
            if (wlyyRedisVerifyCodeService.verification(clientId, newPhone, captcha)) {
                userService.updateAdministorSecurePhone(userId, newPhone);
                return success("更新安全手机号码成功");
            } else {
                return failed("验证码错误");
            }
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
    }
@ -192,12 +216,12 @@ public class UserController  extends EnvelopRestEndpoint {
    @PostMapping("/checkIdCardNo")
    @ApiOperation(value = "用户实名认证")
    public Envelop checkIdCardNo(
            @ApiParam(name = "userId", value = "用户Id", required = true)@RequestParam(required = true, name = "userId") String userId ,
            @ApiParam(name = "name", value = "用户姓名", required = true)@RequestParam(required = true, name = "name") String name ,
            @ApiParam(name = "idCardNo", value = "身份证号码", required = true)@RequestParam(required = true, name = "idCardNo") String idCardNo ) {
            @ApiParam(name = "userId", value = "用户Id", required = true) @RequestParam(required = true, name = "userId") String userId,
            @ApiParam(name = "name", value = "用户姓名", required = true) @RequestParam(required = true, name = "name") String name,
            @ApiParam(name = "idCardNo", value = "身份证号码", required = true) @RequestParam(required = true, name = "idCardNo") String idCardNo) {
        try {
            userService.checkIdCardNo(userId,name,idCardNo);
            userService.checkIdCardNo(userId, name, idCardNo);
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
@ -207,7 +231,7 @@ public class UserController  extends EnvelopRestEndpoint {
    @GetMapping("/existence")
    @ApiOperation(value = "【管理员】-验证管理员是否存在")
    public Envelop existence(
            @ApiParam(name = "telephone", value = "管理员账号", required = true)@RequestParam(required = true, name = "telephone") String telephone  ) {
            @ApiParam(name = "telephone", value = "管理员账号", required = true) @RequestParam(required = true, name = "telephone") String telephone) {
        try {
            boolean b = userService.checkManageUser(telephone);
@ -222,14 +246,14 @@ public class UserController  extends EnvelopRestEndpoint {
    }
    @GetMapping("/findUserByPhoneOrName")
    @ApiOperation(value = "根据手机号或者用户查询用户",notes = "找回密码时验证")
    @ApiOperation(value = "根据手机号或者用户查询用户", notes = "找回密码时验证")
    public Envelop findUserByPhoneOrName(
            @ApiParam(name = "loginName", value = "管理员登录账号", required = true)@RequestParam(required = true, name = "loginName") String loginName  ) {
            @ApiParam(name = "loginName", value = "管理员登录账号", required = true) @RequestParam(required = true, name = "loginName") String loginName) {
        User user = userService.findByLoginCodeAndUserType(loginName, LoginInfo.USER_TYPE_SUPER_AdminManager);
        if (user != null) {
            return success("该管理员账号存在!",user);
        }else {
            return success("该管理员账号存在!", user);
        } else {
            return failed("该管理员账号不存在!");
        }
    }
@ -244,7 +268,7 @@ public class UserController  extends EnvelopRestEndpoint {
        try {
            String resetPwd = userService.resetPwd(userId, password);
            return success("重设密码成功",password);
            return success("重设密码成功", password);
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
@ -256,22 +280,22 @@ public class UserController  extends EnvelopRestEndpoint {
    @ApiOperation(value = "用户列表导出excel")
    public Envelop exportToExcel(
            HttpServletResponse response,
            @ApiParam(name = "city", value = "所在市区", required = false)@RequestParam(required = false, name = "city") String city,
            @ApiParam(name = "activated", value = "用户状态", required = false)@RequestParam(required = false, name = "activated") String activated ,
            @ApiParam(name = "name", value = "姓名/手机号", required = false)@RequestParam(required = false, name = "name") String name ,
            @ApiParam(name = "sort", value = "使用次数排序", required = false)@RequestParam(required = false, name = "sort") String sort) {
            @ApiParam(name = "city", value = "所在市区", required = false) @RequestParam(required = false, name = "city") String city,
            @ApiParam(name = "activated", value = "用户状态", required = false) @RequestParam(required = false, name = "activated") String activated,
            @ApiParam(name = "name", value = "姓名/手机号", required = false) @RequestParam(required = false, name = "name") String name,
            @ApiParam(name = "sort", value = "使用次数排序", required = false) @RequestParam(required = false, name = "sort") String sort) {
        response.setCharacterEncoding("UTF-8");
        try {
        //获取用户数据
        Map<String, String> map = new HashMap<>();
        map.put("cityCode",city);
        map.put("activated",activated);
        map.put("name",name);
        map.put("telephone",name);
        List<User> userList = userService.userList( map, sort);
        userService.exportUsersExcel(response,userList);
        return success("导出成功");
        }catch (ManageException e){
            //获取用户数据
            Map<String, String> map = new HashMap<>();
            map.put("cityCode", city);
            map.put("activated", activated);
            map.put("name", name);
            map.put("telephone", name);
            List<User> userList = userService.userList(map, sort);
            userService.exportUsersExcel(response, userList);
            return success("导出成功");
        } catch (ManageException e) {
            return failed(e.getMessage());
        }
    }
@ -284,7 +308,7 @@ public class UserController  extends EnvelopRestEndpoint {
            @RequestParam(value = "userId") String userId) {
        try {
              userService.setUserActivated(userId, 10);
            userService.setUserActivated(userId, 10);
            return success("心跳正常");
        } catch (Exception e) {
            return failed("心跳异常");