1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- package com.miniframe.bisiness.system;
- import com.miniframe.model.system.SysUser;
- import com.miniframe.service.LoginService;
- import com.miniframe.core.ExecProcessFlow;
- import com.miniframe.core.exception.BusinessException;
- import com.miniframe.core.ext.UtilTools;
- import com.miniframe.generate.business.system.model.B00026BaseModel;
- import com.miniframe.model.system.SysUserSQLBuilder;
- import com.miniframe.model.system.dao.SysUserMapper;
- import com.miniframe.tools.encode.XIDESedeCoderUtils;
- import com.miniframe.tools.XIDateTimeUtils;
- import com.miniframe.tools.msg.IdentifyingCodeUtil;
- import org.springframework.util.CollectionUtils;
- import java.util.List;
- import java.util.Map;
- /**
- * 基础系统,“找回密码”逻辑处理(重新生成不覆盖)。
- */
- public class B00026Service extends B00026BaseModel implements ExecProcessFlow {
- private static final long serialVersionUID = -7051358269847459502L;
- /**
- * 基础系统,“找回密码”业务核心处理
- */
- public void transExecute() throws Exception {
- // 验证短信验证码
- boolean verification = IdentifyingCodeUtil.verification(this.getA_b00026().getMail(), this.getA_b00026().getVerificationCode());
- if (!verification) {
- // 验证码校验失败!
- throw new BusinessException("EB8000021");
- }
- SysUserMapper dao = UtilTools.getBean(SysUserMapper.class);
- ;
- SysUserSQLBuilder sb = new SysUserSQLBuilder();
- // 找回密码
- sb.createCriteria().andUseremailEqualTo(this.getA_b00026().getMail());
- List<SysUser> sysUsers = dao.selectByExample(sb);
- if (CollectionUtils.isEmpty(sysUsers)) {
- throw new BusinessException("EB8000029");
- }
- SysUser user = new SysUser();
- user.setId(sysUsers.get(0).getId());
- //3DES解密密码
- String passwordDecrypted = XIDESedeCoderUtils.dec(this.getA_b00026().getNewPassword(), this.getA_systemhead().getClientToken());
- //解密后的密码加密,用于插入数据库
- String passwordCrypted = LoginService.encodePassword(user.getId(), passwordDecrypted);
- user.setUserpwd(passwordCrypted);
- user.setUpdateTime(XIDateTimeUtils.getNowDate());
- dao.updateByPrimaryKeySelective(user);
- }
- /**
- * 基础系统,“找回密码”业务前处理
- */
- public void preTransFlow() throws Exception {
- this.validater();
- }
- /**
- * 基础系统,“找回密码”业务后处理
- */
- public void afterTransFlow() throws Exception {
- }
- /**
- * 基础系统,“找回密码”逻辑入口处理方法
- */
- @SuppressWarnings("rawtypes")
- @Override
- public Map execute(Map vars) throws Exception {
- this.setTransMap(vars);
- preTransFlow();// 执行业务开始的规则检查和校验
- transExecute();// 执行核心业务段
- afterTransFlow();// 执行核心逻辑完成后的收尾逻辑
- return this.getTransMap();
- }
- }
|