You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							213 lines
						
					
					
						
							7.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							213 lines
						
					
					
						
							7.2 KiB
						
					
					
				| package com.epmet.controller; | |
| 
 | |
| import com.epmet.commons.tools.annotation.LoginUser; | |
| import com.epmet.commons.tools.aop.NoRepeatSubmit; | |
| 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.apache.commons.lang3.StringUtils; | |
| import org.springframework.beans.factory.annotation.Autowired; | |
| import org.springframework.web.bind.annotation.*; | |
| 
 | |
| /** | |
|  * @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<UserDTO> 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 | |
| 	 **/ | |
| 	@NoRepeatSubmit | |
| 	@PostMapping("saveOrUpdateUserWechatDTO") | |
| 	public Result<UserDTO> saveOrUpdateUserWechatDTO(@RequestBody UserWechatDTO userWechatDTO) { | |
| 		//效验数据 | |
| 		ValidatorUtils.validateEntity(userWechatDTO, AddGroup.class, DefaultGroup.class); | |
| 		return userService.saveOrUpdateUserWechatDTO(userWechatDTO); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * @param passwordLoginUserInfoFormDTO | |
| 	 * @return com.epmet.commons.tools.utils.Result<com.epmet.dto.result.PasswordLoginUserInfoResultDTO> | |
| 	 * @Author yinzuomei | |
| 	 * @Description 根据手机号、app获取对应终端用户信息 | |
| 	 * @Date 2020/3/16 16:15 | |
| 	 **/ | |
| 	@PostMapping("selectLoginUserInfoByPassword") | |
| 	public Result<PasswordLoginUserInfoResultDTO> selectLoginUserInfoByPassword(@RequestBody PasswordLoginUserInfoFormDTO passwordLoginUserInfoFormDTO) { | |
| 		//效验数据 | |
| 		ValidatorUtils.validateEntity(passwordLoginUserInfoFormDTO); | |
| 		Result<PasswordLoginUserInfoResultDTO> result= userService.selectLoginUserInfoByPassword(passwordLoginUserInfoFormDTO); | |
| 		return result; | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * @param wxUserInfoFormDTO | |
| 	 * @Author sun | |
| 	 * @Description 居民端个人信息-同步用户微信信息 | |
| 	 **/ | |
| 	@NoRepeatSubmit | |
| 	@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<CreatedTimeByUserIdResultDTO> createdTimeByUserId(@RequestBody CreatedTimeByUserIdFormDTO formDTO){ | |
| 		return new Result<CreatedTimeByUserIdResultDTO>().ok(userService.createdTimeByUserId(formDTO)); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * @Description 居民端获取个人信息 | |
| 	 * @param myResiUserInfoFormDTO | |
| 	 * @return  MyResiUserInfoResultDTO | |
| 	 * @author wangc | |
| 	 * @date 2020.05.22 19:24 | |
| 	 **/ | |
| 	@PostMapping("resimyselfmsg") | |
| 	public Result<MyResiUserInfoResultDTO> resiMyselfMsg(@RequestBody MyResiUserInfoFormDTO myResiUserInfoFormDTO){ | |
| 		ValidatorUtils.validateEntity(myResiUserInfoFormDTO); | |
| 		return new Result<MyResiUserInfoResultDTO>().ok(userService.resiMyselfMsg(myResiUserInfoFormDTO)); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * 从缓存中查询已登录用户的基本信息以及角色等相关信息 | |
| 	 * @return | |
| 	 */ | |
| 	@PostMapping("loginuserdetails") | |
| 	public Result<LoginUserDetailsResultDTO> getLoginUserDetails(@RequestBody LoginUserDetailsFormDTO dto) { | |
| 		ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class); | |
| 		LoginUserDetailsResultDTO govTokenDto = userService.getLoginUserDetails(dto.getApp(), dto.getClient(), dto.getUserId()); | |
| 		return new Result<LoginUserDetailsResultDTO>().ok(govTokenDto); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * @param formDTO | |
| 	 * @Author sun | |
| 	 * @Description 小程序微信用户登陆,新增或更新用户信息 | |
| 	 **/ | |
| 	@NoRepeatSubmit | |
| 	@PostMapping("savewxuser") | |
| 	public Result<UserDTO> saveWxUser(@RequestBody WxUserFormDTO formDTO){ | |
| 		return new Result<UserDTO>().ok(userService.saveWxUser(formDTO)); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * 居民端个人信息-同步用户微信信息 | |
|      * 供Feign调用 | |
|      * | |
| 	 * @param wxUserInfoFormDTO | |
| 	 * @return com.epmet.commons.tools.utils.Result | |
| 	 * @Author zhangyong | |
| 	 * @Date 14:51 2020-07-23 | |
| 	 **/ | |
| 	@NoRepeatSubmit | |
| 	@PostMapping("updateUserBaseAndWxUserInfo") | |
| 	public Result updateUserBaseAndWxUserInfo(@RequestBody WxUserInfoFormDTO wxUserInfoFormDTO) { | |
| 		ValidatorUtils.validateEntity(wxUserInfoFormDTO); | |
| 		return userService.updateWxUserInfo(wxUserInfoFormDTO); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * @Author sun | |
| 	 * @Description 居民端-查询用户基础信息  返回值只有userId 、openId | |
| 	 **/ | |
| 	@PostMapping("getuserbasicinfo") | |
| 	public  Result<UserBasicInfo> getUserBasicInfo(@RequestBody UserBasicInfoFormDTO formDTO){ | |
| 		ValidatorUtils.validateEntity(formDTO, UserBasicInfoFormDTO.UserBasicInfoGroup.class); | |
| 		return new Result<UserBasicInfo>().ok(userService.getUserBasicInfo(formDTO)); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * @Description  新增或更新用户信息 | |
| 	 * @Param formDTO | |
| 	 * @author zxc | |
| 	 * @date 2021/1/19 上午10:35 | |
| 	 */ | |
| 	@NoRepeatSubmit | |
| 	@PostMapping("saveuserinfo") | |
| 	public Result<UserDTO> saveUserInfo(@RequestBody UserInfoFormDTO formDTO){ | |
| 		ValidatorUtils.validateEntity(formDTO, UserInfoFormDTO.UserInfoForm.class); | |
| 		return new Result<UserDTO>().ok(userService.saveUserInfo(formDTO)); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * 根据userId查询用户所属终端,是居民端的用户还是工作人员,还是运营人员 | |
| 	 * | |
| 	 * @param userId | |
| 	 * @return  com.epmet.commons.tools.utils.Result<com.epmet.dto.UserDTO> | |
| 	 * @author yinzuomei | |
| 	 * @date 2021/9/10 8:49 上午 | |
| 	 */ | |
| 	@GetMapping("queryUserClient/{userId}") | |
| 	public Result<UserDTO> queryUserClient(@PathVariable String userId){ | |
| 		if(StringUtils.isBlank(userId)){ | |
| 			return new Result<>(); | |
| 		} | |
| 		return new Result<UserDTO>().ok(userService.queryUserClient(userId)); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * 根据身份证号||ic_resi_user.id找居民端小程序里的人 | |
| 	 * | |
| 	 * | |
| 	 * @param formDTO | |
| 	 * @return | |
| 	 */ | |
| 	@PostMapping("findepmetuser") | |
| 	public Result<ResiUserResDTO> findEpmetUser(@RequestBody ResiUserFormDTO formDTO){ | |
| 		ValidatorUtils.validateEntity(formDTO,ResiUserFormDTO.AddUserInternalGroup.class); | |
| 		return new Result<ResiUserResDTO>().ok(userService.findEpmetUser(formDTO)); | |
| 	} | |
| 
 | |
| 	/** | |
| 	 * 查找居民端小程序里的用户对应ic里的人。以及家属们 | |
| 	 * | |
| 	 * @param findIcUserFormDTO | |
| 	 * @return | |
| 	 */ | |
| 	@PostMapping(value = "findicuser") | |
| 	public Result<EpmetUserFamilyDTO> findIcUser(@RequestBody FindIcUserFormDTO findIcUserFormDTO){ | |
| 		ValidatorUtils.validateEntity(findIcUserFormDTO,FindIcUserFormDTO.AddUserInternalGroup.class); | |
| 		return new Result<EpmetUserFamilyDTO>().ok(userService.findIcUser(findIcUserFormDTO)); | |
| 	} | |
| }
 | |
| 
 |