|
@@ -7,12 +7,16 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.crypto.SecureUtil;
|
|
|
+import com.github.pagehelper.PageHelper;
|
|
|
+import com.github.pagehelper.PageInfo;
|
|
|
import com.txz.cif.util.IpUtils;
|
|
|
import com.txz.cif.web.bo.UserBo;
|
|
|
import com.txz.cif.web.bo.UserInfoBO;
|
|
|
import com.txz.cif.web.para.LoginAccountParameters;
|
|
|
+import com.txz.cif.web.para.MyUserParam;
|
|
|
import com.txz.cif.web.para.UserInfoForm;
|
|
|
import com.txz.cif.core.*;
|
|
|
import com.txz.cif.model.*;
|
|
@@ -22,6 +26,7 @@ import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import tk.mybatis.mapper.entity.Condition;
|
|
|
+import tk.mybatis.mapper.entity.Example;
|
|
|
|
|
|
@RestController
|
|
|
@RequestMapping(value = "/api/user")
|
|
@@ -35,22 +40,19 @@ public class UserApiController extends AbstractApiController {
|
|
|
@Resource
|
|
|
private UserService userService;
|
|
|
|
|
|
- @Resource
|
|
|
- private OperatorService operatorService;
|
|
|
-
|
|
|
@Resource
|
|
|
private AuthService authService;
|
|
|
|
|
|
+
|
|
|
@Resource
|
|
|
- private UserLogService userLogService;
|
|
|
+ private ConfigMemberService configMemberService;
|
|
|
|
|
|
|
|
|
|
|
|
- @ApiOperation(value = "用户登陆 appCode(发起端:sponsor,接收端:receiving)", notes = "",httpMethod = "POST")
|
|
|
+ @ApiOperation(value = "用户登陆", notes = "",httpMethod = "POST")
|
|
|
@PostMapping("/login")
|
|
|
public Result<UserBo> login(@RequestBody LoginAccountParameters loginPara ,
|
|
|
@RequestHeader(value = "version",defaultValue = "1.0.1") String version ,
|
|
|
- @RequestHeader("appCode") String appCode,
|
|
|
HttpServletRequest request) {
|
|
|
if (StrUtil.isBlank(loginPara.getAccount())){
|
|
|
return ResultGenerator.genFailResult(ResultCode.ACCOUNT_IS_NULL);
|
|
@@ -59,24 +61,20 @@ public class UserApiController extends AbstractApiController {
|
|
|
return ResultGenerator.genFailResult(ResultCode.OBJECT_IS_NULL);
|
|
|
}
|
|
|
try {
|
|
|
- Condition condition = new Condition(Operator.class);
|
|
|
- condition.createCriteria().andEqualTo("loginAccount", loginPara.getAccount())
|
|
|
- .andEqualTo("appCode",appCode);
|
|
|
- List<Operator> operators = operatorService.findByCondition(condition);
|
|
|
- Operator operator = null;
|
|
|
+ Condition condition = new Condition(User.class);
|
|
|
+ condition.createCriteria().andEqualTo("phoneNo", loginPara.getAccount());
|
|
|
+ List<User> operators = userService.findByCondition(condition);
|
|
|
User user = null;
|
|
|
if (CollUtil.isEmpty(operators)) {
|
|
|
return ResultGenerator.genFailResult(ResultCode.OPERATOR_IS_NULL);
|
|
|
} else if (operators.size() != 1) {
|
|
|
return ResultGenerator.genFailResult(ResultCode.OPERATOR_IS_ERROR);
|
|
|
} else {
|
|
|
- operator = operators.get(0);
|
|
|
+ user = operators.get(0);
|
|
|
}
|
|
|
- String pwd2 = SecureUtil.md5(loginPara.getPwd() + operator.getSalt());
|
|
|
+ String pwd2 = SecureUtil.md5(loginPara.getPwd() + user.getSalt());
|
|
|
log.info("用户:"+loginPara.getAccount()+"登录密码:"+loginPara.getPwd() +"加密后:"+pwd2);
|
|
|
- if (StringUtils.equals(operator.getLoginPassword(), pwd2)) {
|
|
|
- operator = setOperatorToken(operator, 30,operator.getUserId());
|
|
|
- user = userService.findById(operator.getUserId());
|
|
|
+ if (StringUtils.equals(user.getPwd(), pwd2)) {
|
|
|
if (user == null) {
|
|
|
return ResultGenerator.genFailResult(ResultCode.USER_IS_NULL);
|
|
|
}
|
|
@@ -87,12 +85,9 @@ public class UserApiController extends AbstractApiController {
|
|
|
return ResultGenerator.genFailResult(ResultCode.UNLOGIN_PWD_ERROR);
|
|
|
}
|
|
|
|
|
|
- Long hospitalId = null;
|
|
|
- userLogService.save(UserLog.builder().bizId(user.getId()).createTime(DateUtil.date())
|
|
|
- .ip(IpUtils.getIPAddress(request)).type(1).version(version).build());
|
|
|
- return ResultGenerator.genSuccessResult(UserBo.builder().token(operator.getLastToken())
|
|
|
- .userId(user.getId()).icon(user.getIcon()).name(user.getName())
|
|
|
- .sseId(SecureUtil.md5("sse"+user.getId())).hospitalId(hospitalId).build());
|
|
|
+ return ResultGenerator.genSuccessResult(UserBo.builder().token(user.getLastToken())
|
|
|
+ .userId(user.getId()).icon(user.getHeadPic()).name(user.getName())
|
|
|
+ .sseId(SecureUtil.md5("sse"+user.getId())).build());
|
|
|
} catch (Exception e){
|
|
|
log.error("登录异常:",e);
|
|
|
return ResultGenerator.genFailResult(ResultCode.INTERNAL_SERVER_ERROR);
|
|
@@ -100,13 +95,13 @@ public class UserApiController extends AbstractApiController {
|
|
|
|
|
|
}
|
|
|
|
|
|
- @ApiOperation(value = "获取游客Token", notes = "",httpMethod = "GET")
|
|
|
- @GetMapping("/getSightseerToken")
|
|
|
- public Result<String> getSightseerToken(@RequestHeader(value = X_CLIENT_TOKEN_USERID,required = false) Long userId,
|
|
|
- @RequestHeader(value = X_CLIENT_TOKEN_OPERATORID,required = false) Long operatorId) {
|
|
|
- String token = authService.buildJwtTokenWithRole(operatorId, userId, 1, 1);
|
|
|
- return ResultGenerator.genSuccessResult(token);
|
|
|
- }
|
|
|
+// @ApiOperation(value = "获取游客Token", notes = "",httpMethod = "GET")
|
|
|
+// @GetMapping("/getSightseerToken")
|
|
|
+// public Result<String> getSightseerToken(@RequestHeader(value = X_CLIENT_TOKEN_USERID,required = false) Long userId,
|
|
|
+// @RequestHeader(value = X_CLIENT_TOKEN_OPERATORID,required = false) Long operatorId) {
|
|
|
+// String token = authService.buildJwtTokenWithRole(operatorId, userId, 1, 1);
|
|
|
+// return ResultGenerator.genSuccessResult(token);
|
|
|
+// }
|
|
|
|
|
|
@ApiOperation(value = "获取Token内的参数", notes = "",httpMethod = "GET")
|
|
|
@GetMapping("/getTokenParam")
|
|
@@ -120,23 +115,21 @@ public class UserApiController extends AbstractApiController {
|
|
|
* @param operator
|
|
|
* @return
|
|
|
*/
|
|
|
- private Operator setOperatorToken(Operator operator, Integer dateTime,Long userId) {
|
|
|
+ private User setOperatorToken(User operator, Integer dateTime,Long userId) {
|
|
|
// 删掉之前的老token
|
|
|
String lastToken = operator.getLastToken();
|
|
|
if (StrUtil.isNotEmpty(lastToken)) {
|
|
|
redisUtil.del(lastToken);
|
|
|
}
|
|
|
- String token = authService.buildJwtToken(operator.getId(), userId);
|
|
|
-// CacheKey key = CacheKey.generateKey(CacheType.UserToken, operator.getId().toString());
|
|
|
- //设置redis缓存1小时
|
|
|
+ String token = authService.buildJwtToken( userId);
|
|
|
+ //设置redis缓存1小时
|
|
|
if (dateTime == null) {
|
|
|
dateTime = 7;
|
|
|
}
|
|
|
-// redisUtil.set(key.toString(), operator.getId(), dateTime, TimeUnit.DAYS);
|
|
|
- operator.setLoginPassword("***");
|
|
|
+ operator.setPwd("***");
|
|
|
operator.setSalt("***");
|
|
|
operator.setLastToken(token);
|
|
|
- operatorService.update(Operator.builder().id(operator.getId()).lastToken(token).lastLoginTime(
|
|
|
+ userService.update(User.builder().id(operator.getId()).lastToken(token).lastLoginTime(
|
|
|
DateUtil.date()).build());
|
|
|
return operator;
|
|
|
}
|
|
@@ -172,9 +165,6 @@ public class UserApiController extends AbstractApiController {
|
|
|
if (StrUtil.isNotBlank(userForm.getPhoneNo())){
|
|
|
userService.resetPhoneNo(userId,userForm.getPhoneNo());
|
|
|
}
|
|
|
- if (StrUtil.isNotBlank(userForm.getEmail())){
|
|
|
- userService.resetEmail(userId,userForm.getEmail());
|
|
|
- }
|
|
|
|
|
|
return ResultGenerator.genSuccessResult(user.generator());
|
|
|
}
|
|
@@ -188,11 +178,10 @@ public class UserApiController extends AbstractApiController {
|
|
|
@ApiOperation(value = "通过旧密码设置密码", notes = "",httpMethod = "GET")
|
|
|
@GetMapping("/resetPwd")
|
|
|
public Result<Object> resetPwd(@RequestHeader(value = X_CLIENT_TOKEN_USERID,required = false) Long userId,
|
|
|
- @RequestHeader(value = X_CLIENT_TOKEN_OPERATORID,required = false) Long operatorId,
|
|
|
@RequestParam("pwd") String pwd,
|
|
|
@RequestParam("newPwd") String newPwd
|
|
|
) {
|
|
|
- return userService.resetPwd(operatorId,pwd,newPwd);
|
|
|
+ return userService.resetPwd(userId,pwd,newPwd);
|
|
|
}
|
|
|
|
|
|
// /**
|
|
@@ -287,4 +276,45 @@ public class UserApiController extends AbstractApiController {
|
|
|
// ) {
|
|
|
// return userService.resetPwd(userId,pwd,code);
|
|
|
// }
|
|
|
+
|
|
|
+ @PostMapping("/myUsers")
|
|
|
+ @ApiOperation(value = "获取我的邀请的用户",httpMethod = "POST")
|
|
|
+ public Result<List<User>> myUsers(@RequestBody MyUserParam param, HttpServletRequest request, @RequestHeader(value = X_CLIENT_TOKEN_USERID,required = false) Long userId) {
|
|
|
+ PageHelper.startPage(param.getPage(), param.getSize());
|
|
|
+ Condition condition = new Condition(User.class);
|
|
|
+ Example.Criteria criteria = condition.createCriteria();
|
|
|
+ if (param.getType() == 1){
|
|
|
+ criteria.andEqualTo("pid",userId);
|
|
|
+ } else {
|
|
|
+ criteria.andEqualTo("ppid",userId);
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(param.getName())) {
|
|
|
+ criteria.andLike("name", "%" + param.getName() + "%");
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(param.getPhone())) {
|
|
|
+ criteria.andEqualTo("phoneNo", param.getPhone());
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(param.getStartTime())) {
|
|
|
+ criteria.andGreaterThanOrEqualTo("createTime", param.getStartTime());
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(param.getEndTime())) {
|
|
|
+ criteria.andLessThanOrEqualTo("createTime", param.getEndTime());
|
|
|
+ }
|
|
|
+
|
|
|
+ PageInfo pageInfo = null;
|
|
|
+ try {
|
|
|
+ List<User> list = userService.findByCondition(condition);
|
|
|
+ for (User user2 : list) {
|
|
|
+ user2.setPwd("******");
|
|
|
+ user2.setSalt("***");
|
|
|
+ }
|
|
|
+ pageInfo = new PageInfo(list);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("查询对象操作异常e:{}", e);
|
|
|
+ return ResultGenerator.genFailResult(ResultCode.INTERNAL_SERVER_ERROR);
|
|
|
+ }
|
|
|
+ return ResultGenerator.genSuccessResult(pageInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|