parent
11e4895431
commit
2a9ce16753
@ -0,0 +1,31 @@ |
||||
package com.hfkj.service.user; |
||||
|
||||
|
||||
import com.hfkj.entity.BsUserPayPassword; |
||||
|
||||
/** |
||||
* 用户支付密码 |
||||
*/ |
||||
public interface BsUserPayPasswordService { |
||||
|
||||
/** |
||||
* 用户密码编辑 |
||||
* @param bsUserPayPassword |
||||
*/ |
||||
void editUserPayPwd(BsUserPayPassword bsUserPayPassword); |
||||
|
||||
/** |
||||
* 根据用户查询密码 |
||||
* @param userId |
||||
* @return |
||||
*/ |
||||
BsUserPayPassword getDetailByUser(Long userId); |
||||
|
||||
/** |
||||
* 查询用户是否设置支付密码 |
||||
* @param userId |
||||
* @return |
||||
*/ |
||||
Boolean isSetPayPwd(Long userId); |
||||
|
||||
} |
@ -0,0 +1,47 @@ |
||||
package com.hfkj.service.user.impl; |
||||
|
||||
import com.hfkj.dao.BsUserPayPasswordMapper; |
||||
import com.hfkj.entity.BsUserPayPassword; |
||||
import com.hfkj.entity.BsUserPayPasswordExample; |
||||
import com.hfkj.service.user.BsUserPayPasswordService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import javax.annotation.Resource; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
@Service("bsUserPayPasswordService") |
||||
public class BsUserPayPasswordServiceImpl implements BsUserPayPasswordService { |
||||
|
||||
@Resource |
||||
private BsUserPayPasswordMapper bsUserPayPasswordMapper; |
||||
|
||||
@Override |
||||
public void editUserPayPwd(BsUserPayPassword bsUserPayPassword) { |
||||
if (bsUserPayPassword.getId() != null) { |
||||
bsUserPayPassword.setUpdateTime(new Date()); |
||||
bsUserPayPasswordMapper.updateByPrimaryKey(bsUserPayPassword); |
||||
} else { |
||||
bsUserPayPassword.setCreateTime(new Date()); |
||||
bsUserPayPassword.setUpdateTime(new Date()); |
||||
bsUserPayPasswordMapper.insert(bsUserPayPassword); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public BsUserPayPassword getDetailByUser(Long userId) { |
||||
BsUserPayPasswordExample example = new BsUserPayPasswordExample(); |
||||
example.createCriteria().andUserIdEqualTo(userId); |
||||
List<BsUserPayPassword> list = bsUserPayPasswordMapper.selectByExample(example); |
||||
if (!list.isEmpty()) { |
||||
return list.get(0); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public Boolean isSetPayPwd(Long userId) { |
||||
BsUserPayPassword data = getDetailByUser(userId); |
||||
return data != null; |
||||
} |
||||
} |
@ -0,0 +1,148 @@ |
||||
package com.user.controller; |
||||
|
||||
import com.alibaba.fastjson.JSONObject; |
||||
import com.hfkj.common.exception.ErrorCode; |
||||
import com.hfkj.common.exception.ErrorHelp; |
||||
import com.hfkj.common.exception.SysCode; |
||||
import com.hfkj.common.security.AESEncodeUtil; |
||||
import com.hfkj.common.security.UserCenter; |
||||
import com.hfkj.common.utils.RedisUtil; |
||||
import com.hfkj.common.utils.ResponseMsgUtil; |
||||
import com.hfkj.entity.BsUser; |
||||
import com.hfkj.entity.BsUserPayPassword; |
||||
import com.hfkj.model.ResponseData; |
||||
import com.hfkj.model.UserSessionObject; |
||||
import com.hfkj.service.user.BsUserPayPasswordService; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import org.apache.commons.lang3.StringUtils; |
||||
import org.slf4j.Logger; |
||||
import org.slf4j.LoggerFactory; |
||||
import org.springframework.stereotype.Controller; |
||||
import org.springframework.web.bind.annotation.RequestBody; |
||||
import org.springframework.web.bind.annotation.RequestMapping; |
||||
import org.springframework.web.bind.annotation.RequestMethod; |
||||
import org.springframework.web.bind.annotation.ResponseBody; |
||||
|
||||
import javax.annotation.Resource; |
||||
|
||||
@Controller |
||||
@RequestMapping(value="/userPayPwd") |
||||
@Api(value="客户端") |
||||
public class BsUserPayPasswordController { |
||||
|
||||
Logger log = LoggerFactory.getLogger(BsUserPayPasswordController.class); |
||||
|
||||
@Resource |
||||
private BsUserPayPasswordService userPayPasswordService; |
||||
@Resource |
||||
private UserCenter userCenter; |
||||
@Resource |
||||
private RedisUtil redisUtil; |
||||
|
||||
@RequestMapping(value = "/setUserPayPwd", method = RequestMethod.POST) |
||||
@ResponseBody |
||||
@ApiOperation(value = "设置用户支付密码") |
||||
public ResponseData setUserPayPwd(@RequestBody JSONObject body) { |
||||
try { |
||||
// 用户
|
||||
UserSessionObject userSession = userCenter.getSessionModel(UserSessionObject.class); |
||||
BsUser bsUser = userSession.getUser(); |
||||
|
||||
if (StringUtils.isBlank(body.getString("password")) |
||||
|| body.getString("password").length() != 6){ |
||||
log.error("HighUserController --> setUserPayPwd() error!", "请设置6位支付密码"); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "请设置6位支付密码"); |
||||
} |
||||
|
||||
// 查询用户密码
|
||||
BsUserPayPassword userPayPassword = userPayPasswordService.getDetailByUser(bsUser.getId()); |
||||
if (userPayPassword != null) { |
||||
log.error("HighUserController --> setUserPayPwd() error!", "您已设置了支付密码"); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "您已设置了支付密码!"); |
||||
} |
||||
|
||||
userPayPassword = new BsUserPayPassword(); |
||||
userPayPassword.setUserId(bsUser.getId()); |
||||
userPayPassword.setPassword(AESEncodeUtil.aesEncrypt(body.getString("password"))); |
||||
userPayPasswordService.editUserPayPwd(userPayPassword); |
||||
|
||||
// 定义个人所有数据
|
||||
|
||||
return ResponseMsgUtil.success("设置成功"); |
||||
|
||||
} catch (Exception e) { |
||||
log.error("HighUserController --> setUserPayPwd() error!", e); |
||||
return ResponseMsgUtil.exception(e); |
||||
} |
||||
} |
||||
|
||||
@RequestMapping(value = "/updateUserPayPwd", method = RequestMethod.POST) |
||||
@ResponseBody |
||||
@ApiOperation(value = "修改用户支付密码") |
||||
public ResponseData updateUserPayPwd(@RequestBody JSONObject body) { |
||||
try { |
||||
// 用户
|
||||
UserSessionObject userSession = userCenter.getSessionModel(UserSessionObject.class); |
||||
BsUser bsUser = userSession.getUser(); |
||||
if ( StringUtils.isBlank(body.getString("newPassword")) || StringUtils.isBlank(body.getString("code"))) { |
||||
log.error("HighUserController --> setUserPayPwd() error!", ""); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); |
||||
} |
||||
|
||||
if (bsUser.getPhone() == null) { |
||||
throw ErrorHelp.genException(SysCode.System , ErrorCode.COMMON_ERROR , "请先绑定手机号"); |
||||
} |
||||
|
||||
// 查询用户密码
|
||||
BsUserPayPassword userPayPassword = userPayPasswordService.getDetailByUser(bsUser.getId()); |
||||
if (userPayPassword == null) { |
||||
log.error("HighUserController --> setUserPayPwd() error!", "修改失败,未设置支付密码"); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "修改失败,未设置支付密码"); |
||||
} |
||||
|
||||
if (StringUtils.isBlank(body.getString("smsCode"))) { |
||||
log.error("LoginController --> phone() error!", "请输入短信验证码"); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "请输入短信验证码"); |
||||
} |
||||
// 手机号的验证码
|
||||
Object phoneCodeObject = redisUtil.get("SMS_CODE:" + bsUser.getPhone()); |
||||
if (phoneCodeObject == null) { |
||||
log.error("LoginController --> phone() error!", "短信验证码错误"); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "短信验证码错误"); |
||||
} |
||||
|
||||
if (!body.getString("smsCode").equals(phoneCodeObject.toString())) { |
||||
log.error("LoginController --> phone() error!", "短信验证码错误"); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "短信验证码错误"); |
||||
} |
||||
|
||||
redisUtil.del("SMS_CODE:" + bsUser.getPhone()); |
||||
|
||||
userPayPassword.setPassword(AESEncodeUtil.aesEncrypt(body.getString("newPassword"))); |
||||
userPayPasswordService.editUserPayPwd(userPayPassword); |
||||
|
||||
return ResponseMsgUtil.success("操作成功"); |
||||
|
||||
} catch (Exception e) { |
||||
log.error("HighUserController --> updateUserPayPwd() error!", e); |
||||
return ResponseMsgUtil.exception(e); |
||||
} |
||||
} |
||||
|
||||
@RequestMapping(value = "/isSetPayPwd", method = RequestMethod.GET) |
||||
@ResponseBody |
||||
@ApiOperation(value = "用户是否设置支付密码") |
||||
public ResponseData isSetPayPwd() { |
||||
try { |
||||
// 用户
|
||||
UserSessionObject userSession = userCenter.getSessionModel(UserSessionObject.class); |
||||
BsUser bsUser = userSession.getUser(); |
||||
return ResponseMsgUtil.success(userPayPasswordService.isSetPayPwd(bsUser.getId())); |
||||
|
||||
} catch (Exception e) { |
||||
log.error("HighUserController --> setUserPayPwd() error!", e); |
||||
return ResponseMsgUtil.exception(e); |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue