|
|
|
|
@ -4,13 +4,14 @@ import com.alibaba.fastjson.JSON;
|
|
|
|
|
import com.flossom.common.core.constant.CacheConstants;
|
|
|
|
|
import com.flossom.common.core.constant.UserConstants;
|
|
|
|
|
import com.flossom.common.core.domain.R;
|
|
|
|
|
import com.flossom.common.core.domain.RegisterBody;
|
|
|
|
|
import com.flossom.common.core.domain.entity.SysUser;
|
|
|
|
|
import com.flossom.common.core.domain.entity.WxScriptMessage;
|
|
|
|
|
import com.flossom.common.core.domain.entity.WxUserMember;
|
|
|
|
|
import com.flossom.common.core.domain.entity.WxUserScriptLog;
|
|
|
|
|
import com.flossom.common.core.enums.MessageTypeEnum;
|
|
|
|
|
import com.flossom.common.core.enums.WxUserIntegralMessageTypeEnum;
|
|
|
|
|
import com.flossom.common.core.exception.ServiceException;
|
|
|
|
|
import com.flossom.common.core.mapper.SysUserMapper;
|
|
|
|
|
import com.flossom.common.core.mapper.WxScriptMessageMapper;
|
|
|
|
|
import com.flossom.common.core.mapper.WxUserMemberMapper;
|
|
|
|
|
import com.flossom.common.core.mapper.WxUserScriptLogMapper;
|
|
|
|
|
@ -54,6 +55,9 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private WxUserScriptLogMapper wxUserScriptLogMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private SysUserMapper sysUserMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional
|
|
|
|
|
public LoginUserVo login(String code) throws Exception {
|
|
|
|
|
@ -81,17 +85,14 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
|
|
|
|
|
// 2.2、微信用户表注册
|
|
|
|
|
wxUserMemberMapper.insertWxUserMember(wxUserMember);
|
|
|
|
|
// 2.3、系统表注册
|
|
|
|
|
/**
|
|
|
|
|
* TODO: 分布式事务
|
|
|
|
|
*/
|
|
|
|
|
RegisterBody registerBody = new RegisterBody();
|
|
|
|
|
registerBody.setUsername(wxUserMember.getOpenid());
|
|
|
|
|
registerBody.setPassword(UserConstants.WX_SYSTEM_USER_PASSWORD);
|
|
|
|
|
R<?> registerResult = remoteAuthService.register(registerBody);
|
|
|
|
|
if (R.FAIL == registerResult.getCode()) {
|
|
|
|
|
logger.error("测试后台账号失败:{}", registerResult.getMsg());
|
|
|
|
|
throw new ServiceException(registerResult.getMsg());
|
|
|
|
|
}
|
|
|
|
|
SysUser user = new SysUser();
|
|
|
|
|
user.setUserName(wxUserMember.getOpenid());
|
|
|
|
|
user.setNickName(UserConstants.WX_NICKNAME);
|
|
|
|
|
user.setPassword(SecurityUtils.encryptPassword(UserConstants.WX_SYSTEM_USER_PASSWORD));
|
|
|
|
|
// 用户类型01:微信会员用户
|
|
|
|
|
user.setUserType("01");
|
|
|
|
|
user.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
sysUserMapper.insertUser(user);
|
|
|
|
|
// 2.4、用户注册成功发送消息
|
|
|
|
|
WxScriptMessage wxScriptMessage = wxScriptMessageMapper.selectOneByMessageType(MessageTypeEnum.USER_REGISTRATION.getCode());
|
|
|
|
|
if (wxScriptMessage != null) {
|
|
|
|
|
|