public void saveUserInfo(User user) { log.info("保存的用户信息:"+ JSONObject.toJSONString(user)); int ins = 0; try { user.setUpdateTime(new Date()); user.setCreateTime(new Date()); ins = userInfoMapper.insert(user); if (ins > 0) { log.info("保存用户信息成功"); } } catch (Exception e) { log.error("保存用户信息失败" + ",报错信息:"+ e.getMessage()); } }简化代码
时间: 2024-02-14 15:15:15 浏览: 22
可以简化为:
```
public void saveUserInfo(User user) {
user.setUpdateTime(new Date());
user.setCreateTime(new Date());
if (userInfoMapper.insert(user) > 0) {
log.info("保存用户信息成功");
} else {
log.error("保存用户信息失败");
}
}
```
这里去掉了无用的日志输出和异常处理,同时将插入操作的判断改为直接判断返回值即可。
相关问题
@Override public void saveUserInfo(User user, UserAccount account) { log.info("保存的用户信息:"+ JSONObject.toJSONString(user)); if (userInfoMapper.insert(user) > 0) { userAccountMapper.insert(account);//保存用户密码 log.info("保存用户信息成功"); } else { log.error("保存用户信息失败"); } }
这段代码是用 Java 语言编写的,它的功能是保存用户信息和账户信息到数据库中。首先,这个方法接受两个参数,一个是用户信息对象,一个是用户账户信息对象。然后,它使用日志记录保存的用户信息。接着,它通过 userInfoMapper.insert() 方法将用户信息插入到数据库中。如果插入成功,那么就使用 userAccountMapper.insert() 方法将用户密码插入到数据库中,并使用日志记录保存用户信息成功。如果插入失败,那么就使用日志记录保存用户信息失败。
public MiniappDTO getMiniappToken(String code) { MiniappDTO dto = null; try { //调用微信小程序接口,得到openid和sessionKey WxMaJscode2SessionResult result = getWxSessionInfo(code,"userMini"); String openid = result.getOpenid(); String sessionKey = result.getSessionKey(); log.info("openid:"+openid + ",sessionKey:"+sessionKey); //保存用户信息 User user = null; if(userInfoService.selectCountById(openid)) { user = User.builder().userId(openid).sessionKey(sessionKey).build(); log.info("用户登录并修改用户信息:"+JSONObject.toJSONString(user)); userInfoService.updateUserInfo(user); } else { user = User.builder().userId(openid).sessionKey(sessionKey).role(1).build(); log.info("用户登录并保存用户信息:"+JSONObject.toJSONString(user)); userInfoService.saveUserInfo(user); } // 将 openid 和 sessionKey 存入自定义的登录态 token 中并返回 String token = generateToken(openid, sessionKey); //查询用户信息 User userRole = userInfoService.selectUserByKey(openid); //返回token和用户角色 dto = MiniappDTO.builder() .roleType(2 == userRole.getRole() ? true : false) .token(token).msg("登录成功").build(); } catch (Exception e) { log.error("登录失败:" + e.getMessage(), e); dto = MiniappDTO.builder().msg("登录失败").build(); } return dto; }简化代码
下面是简化后的代码:
```
public MiniappDTO getMiniappToken(String code) {
MiniappDTO dto = null;
try {
//调用微信小程序接口,得到openid和sessionKey
WxMaJscode2SessionResult result = getWxSessionInfo(code,"userMini");
String openid = result.getOpenid();
String sessionKey = result.getSessionKey();
log.info("openid:"+openid + ",sessionKey:"+sessionKey);
//保存或更新用户信息
User user = User.builder().userId(openid).sessionKey(sessionKey).build();
if(userInfoService.selectCountById(openid)) {
log.info("用户登录并修改用户信息:"+JSONObject.toJSONString(user));
userInfoService.updateUserInfo(user);
} else {
user.setRole(1);
log.info("用户登录并保存用户信息:"+JSONObject.toJSONString(user));
userInfoService.saveUserInfo(user);
}
//生成token并返回
String token = generateToken(openid, sessionKey);
//查询用户信息
User userRole = userInfoService.selectUserByKey(openid);
//返回token和用户角色
dto = MiniappDTO.builder().token(token).roleType(userRole.getRole() == 2).msg("登录成功").build();
} catch (Exception e) {
log.error("登录失败:" + e.getMessage(), e);
dto = MiniappDTO.builder().msg("登录失败").build();
}
return dto;
}
```