package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.UserDTO; import com.epmet.dto.UserWechatDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @Description * @Author yinzuomei * @Date 2020/3/30 12:42 */ @RestController @RequestMapping("user") public class UserController { @Autowired private UserService userService; /** * @param formDTO * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei * @Description 根据openId、app查询对应终端用户信息 * @Date 2020/3/16 16:15 **/ @PostMapping("selecWxLoginUserInfo") public Result selecWxLoginUserInfo(@RequestBody WxLoginUserInfoFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO); return userService.selecWxLoginUserInfo(formDTO); } /** * @param userWechatDTO * @return 将获取到的居民微信信息,保存到user_wechat表,返回主键 * @Author yinzuomei * @Description * @Date 2020/3/16 15:49 **/ @PostMapping("saveOrUpdateUserWechatDTO") public Result saveOrUpdateUserWechatDTO(@RequestBody UserWechatDTO userWechatDTO) { //效验数据 ValidatorUtils.validateEntity(userWechatDTO, AddGroup.class, DefaultGroup.class); return userService.saveOrUpdateUserWechatDTO(userWechatDTO); } /** * @param passwordLoginUserInfoFormDTO * @return com.epmet.commons.tools.utils.Result * @Author yinzuomei * @Description 根据手机号、app获取对应终端用户信息 * @Date 2020/3/16 16:15 **/ @PostMapping("selectLoginUserInfoByPassword") public Result selectLoginUserInfoByPassword(@RequestBody PasswordLoginUserInfoFormDTO passwordLoginUserInfoFormDTO) { //效验数据 ValidatorUtils.validateEntity(passwordLoginUserInfoFormDTO); Result result= userService.selectLoginUserInfoByPassword(passwordLoginUserInfoFormDTO); return result; } /** * @param wxUserInfoFormDTO * @Author sun * @Description 居民端个人信息-同步用户微信信息 **/ @PostMapping("updatewxuserinfo") public Result updateWxUserInfo(@LoginUser TokenDto tokenDTO, @RequestBody WxUserInfoFormDTO wxUserInfoFormDTO) { wxUserInfoFormDTO.setUserId(tokenDTO.getUserId()); ValidatorUtils.validateEntity(wxUserInfoFormDTO); return userService.updateWxUserInfo(wxUserInfoFormDTO); } /** * * @Description 查询用户注册时间 * @Author zxc * @CreatedTime 2020/4/27 16:14 */ @PostMapping("selectcreatedtimebyuserid") public Result createdTimeByUserId(@RequestBody CreatedTimeByUserIdFormDTO formDTO){ return new Result().ok(userService.createdTimeByUserId(formDTO)); } /** * @Description 居民端获取个人信息 * @param myResiUserInfoFormDTO * @return MyResiUserInfoResultDTO * @author wangc * @date 2020.05.22 19:24 **/ @PostMapping("resimyselfmsg") public Result resiMyselfMsg(@RequestBody MyResiUserInfoFormDTO myResiUserInfoFormDTO){ ValidatorUtils.validateEntity(myResiUserInfoFormDTO); return new Result().ok(userService.resiMyselfMsg(myResiUserInfoFormDTO)); } /** * 从缓存中查询已登录用户的基本信息以及角色等相关信息 * @return */ @PostMapping("loginuserdetails") public Result getLoginUserDetails(@RequestBody LoginUserDetailsFormDTO dto) { ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class); LoginUserDetailsResultDTO govTokenDto = userService.getLoginUserDetails(dto.getApp(), dto.getClient(), dto.getUserId()); return new Result().ok(govTokenDto); } /** * @param formDTO * @Author sun * @Description 小程序微信用户登陆,新增或更新用户信息 **/ @PostMapping("savewxuser") public Result saveWxUser(@RequestBody WxUserFormDTO formDTO){ return new Result().ok(userService.saveWxUser(formDTO)); } /** * 居民端个人信息-同步用户微信信息 * 供Feign调用 * * @param wxUserInfoFormDTO * @return com.epmet.commons.tools.utils.Result * @Author zhangyong * @Date 14:51 2020-07-23 **/ @PostMapping("updateUserBaseAndWxUserInfo") public Result updateUserBaseAndWxUserInfo(@RequestBody WxUserInfoFormDTO wxUserInfoFormDTO) { ValidatorUtils.validateEntity(wxUserInfoFormDTO); return userService.updateWxUserInfo(wxUserInfoFormDTO); } /** * @Author sun * @Description 居民端-查询用户基础信息 返回值只有userId 、openId **/ @PostMapping("getuserbasicinfo") public Result getUserBasicInfo(@RequestBody UserBasicInfoFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, UserBasicInfoFormDTO.UserBasicInfoGroup.class); return new Result().ok(userService.getUserBasicInfo(formDTO)); } /** * @Description 新增或更新用户信息 * @Param formDTO * @author zxc * @date 2021/1/19 上午10:35 */ @PostMapping("saveuserinfo") public Result saveUserInfo(@RequestBody UserInfoFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO, UserInfoFormDTO.UserInfoForm.class); return new Result().ok(userService.saveUserInfo(formDTO)); } }