diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/model/LoginUser.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/model/LoginUser.java index 8a8a99a5..1ad4643f 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/model/LoginUser.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xhpc/system/api/model/LoginUser.java @@ -34,6 +34,11 @@ public class LoginUser implements Serializable */ private Integer userType; + /** + * 登录用户的openID + */ + private String openId; + /** * 登录时间 */ @@ -161,4 +166,12 @@ public class LoginUser implements Serializable public void setUserType(Integer userType) { this.userType = userType; } + + public String getOpenId() { + return openId; + } + + public void setOpenId(String openId) { + this.openId = openId; + } } diff --git a/sql/v2.1.sql b/sql/v2.1.sql index 66b1609a..043c2471 100644 --- a/sql/v2.1.sql +++ b/sql/v2.1.sql @@ -62,4 +62,22 @@ ALTER TABLE `xhpc_customers_personnel` ADD COLUMN `weixin_open_id` varchar(50) ALTER TABLE `xhpc_customers_personnel` ADD COLUMN `alipay_open_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL AFTER `weixin_open_id`; ALTER TABLE `xhpc_customers_personnel` ADD COLUMN `weixin_login` int(10) NULL DEFAULT 0 COMMENT '微信是否登录(0未登录 1已登录)' AFTER `alipay_open_id`; ALTER TABLE `xhpc_customers_personnel` ADD COLUMN `alipay_login` int(10) NULL DEFAULT 0 COMMENT '支付宝是否登录(0未登录 1已登录)' AFTER `weixin_login`; -ALTER TABLE `xhpc_customers_personnel` ADD COLUMN `is_refund` int(4) NULL DEFAULT 0 COMMENT '是否退款 0 不退款 1 退款' AFTER `soc`; \ No newline at end of file +ALTER TABLE `xhpc_customers_personnel` ADD COLUMN `is_refund` int(4) NULL DEFAULT 0 COMMENT '是否退款 0 不退款 1 退款' AFTER `soc`; + +CREATE TABLE `xhpc_user_login` ( + `user_login_id` bigint(20) NOT NULL AUTO_INCREMENT, + `app_user_id` bigint(20) DEFAULT NULL COMMENT '用户id', + `account` varchar(50) DEFAULT NULL COMMENT '账号', + `user_type` int(4) NOT NULL COMMENT '用户类型 0 C端用户 1 流量方用户 2社区用户 3B端用户)', + `open_id` varchar(50) DEFAULT NULL COMMENT 'openid', + `type` int(4) DEFAULT '0' COMMENT '1 微信 2支付宝', + `status` int(4) DEFAULT '1' COMMENT '0退出 1登录', + `del_flag` int(1) DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `remark` varchar(500) DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_login_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='小程序用户最后一次登录记录'; + diff --git a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/controller/XhpcSmsController.java b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/controller/XhpcSmsController.java index 5ff6e502..f212c41e 100644 --- a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/controller/XhpcSmsController.java +++ b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/controller/XhpcSmsController.java @@ -40,12 +40,12 @@ public class XhpcSmsController extends BaseController { if(phone !=null || "".equals(phone)){ if(!UserTypeUtil.COMMUNIT.equals(phone.substring(0,2)) && !UserTypeUtil.CUSTOMERS.equals(phone.substring(0,2))){ //C端用户 - return xhpcSmsService.getLogonPhoneCode(phone, signatureName, templateId); + return xhpcSmsService.getLogonPhoneCode(phone, signatureName, templateId,null); }else if (UserTypeUtil.COMMUNIT.equals(phone.substring(0,2)) || UserTypeUtil.CUSTOMERS.equals(phone.substring(0,2))){ R user = userTypeService.getUser(phone, null, null); if(user !=null && user.getData() !=null){ Map map = (Map)user.getData(); - return xhpcSmsService.getLogonPhoneCode(map.get("phone").toString(), signatureName, templateId); + return xhpcSmsService.getLogonPhoneCode(map.get("phone").toString(), signatureName, templateId,map.get("account").toString()); } } } diff --git a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/IXhpcSmsService.java b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/IXhpcSmsService.java index 9b6c2abd..bbec71de 100644 --- a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/IXhpcSmsService.java +++ b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/IXhpcSmsService.java @@ -20,7 +20,7 @@ public interface IXhpcSmsService { * @param phone * @return */ - AjaxResult getLogonPhoneCode(String phone, String signatureName, String templateId); + AjaxResult getLogonPhoneCode(String phone, String signatureName, String templateId,String account); List> getList(Integer status,String phone); @@ -35,7 +35,7 @@ public interface IXhpcSmsService { * @param paramMap 模板中的参数 * @return */ - AjaxResult send(String phone, String content, String random, String signatureName, String templateId, Map paramMap); + AjaxResult send(String phone, String content, String random, String signatureName, String templateId, Map paramMap,String account); /** * 发送通知短信方法 diff --git a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/XhpcSmsServiceImpl.java b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/XhpcSmsServiceImpl.java index 4aebb25d..79799940 100644 --- a/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/XhpcSmsServiceImpl.java +++ b/xhpc-modules/xhpc-general/src/main/java/com/xhpc/general/service/XhpcSmsServiceImpl.java @@ -48,13 +48,13 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService { @Override - public AjaxResult getLogonPhoneCode(String phone, String signatureName, String templateId) { + public AjaxResult getLogonPhoneCode(String phone, String signatureName, String templateId,String account) { String random = getRandom(); HashMap paramMap = new HashMap<>(); paramMap.put("code", random); String content = null; - return send(phone, content, random, signatureName, templateId, paramMap); + return send(phone, content, random, signatureName, templateId, paramMap,account); } @Override @@ -64,7 +64,7 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService { } @Override - public AjaxResult send(String phone, String content, String random, String signatureName, String templateId, Map paramMap) { + public AjaxResult send(String phone, String content, String random, String signatureName, String templateId, Map paramMap,String account) { //调用接口 String pattern = "^([1][0-9]{10})"; Pattern compile = Pattern.compile(pattern); @@ -76,14 +76,26 @@ public class XhpcSmsServiceImpl implements IXhpcSmsService { //添加短信记录 XhpcSms xhpcSms =new XhpcSms(); try { - //用户使用的Key - String pvToken = "pvToken:" + phone; - //用户频繁调用的判断的Key - String token = "token:" + phone; - String cacheObject = REDIS.getCacheObject(token); - System.out.println("过了redis"); - if (cacheObject != null) { - return AjaxResult.error("1012", "操作过于频繁,请于1分钟后重试"); + String pvToken =""; + String token =""; + if(account !=null){ + //用户使用的Key + pvToken = "pvToken:" + account; + //用户频繁调用的判断的Key + token = "token:" + account; + String cacheObject = REDIS.getCacheObject(token); + if (cacheObject != null) { + return AjaxResult.error("1012", "操作过于频繁,请于1分钟后重试"); + } + }else{ + //用户使用的Key + pvToken = "pvToken:" + phone; + //用户频繁调用的判断的Key + token = "token:" + phone; + String cacheObject = REDIS.getCacheObject(token); + if (cacheObject != null) { + return AjaxResult.error("1012", "操作过于频繁,请于1分钟后重试"); + } } //使用阿里云发送通知短信 Map neededParam = null; diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcCommonController.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcCommonController.java index 016cabb9..d2bdff87 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcCommonController.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/controller/XhpcCommonController.java @@ -50,7 +50,9 @@ public class XhpcCommonController extends BaseController { return AjaxResult.error(); } - + /** + * 修改用户信息 + */ } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/XhpcAppUserMapper.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/XhpcAppUserMapper.java index 27ad3c31..9e84dad4 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/XhpcAppUserMapper.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/mapper/XhpcAppUserMapper.java @@ -76,4 +76,26 @@ public interface XhpcAppUserMapper { int updateUserIsRefund(@Param("userId")Long userId, @Param("isRefund")Integer isRefund); int updateCommunityIsRefund(@Param("userId")Long userId, @Param("isRefund")Integer isRefund); + + /** + * 记录登录用户的最后一次数据 + */ + int addUserLoginTime(@Param("appUserId")Long appUserId, @Param("account")String account, @Param("userType")Integer userType, @Param("openId")String openId,@Param("type")Integer type,@Param("status")Integer status); + + /** + * 修改社区用户信息 + */ + int updateCommunityPersonnel(@Param("appUserId")Long appUserId,@Param("weixinOpenId")String weixinOpenId, @Param("alipayOpenId")String alipayOpenId,@Param("weixinLogin")Integer weixinLogin, @Param("alipayLogin")Integer alipayLogin); + /** + * 修改B端大客户信息 + */ + int updateCustomersPersonnel(@Param("appUserId")Long appUserId,@Param("weixinOpenId")String weixinOpenId, @Param("alipayOpenId")String alipayOpenId,@Param("weixinLogin")Integer weixinLogin, @Param("alipayLogin")Integer alipayLogin); + + /** + * 查询用户最后一次登录信息 + * @param type + * @param openid + * @return + */ + Map getUserLoginTime(@Param("type")Integer type,@Param("openid")String openid); } diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IXhpcAppUserUserService.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IXhpcAppUserUserService.java index 7cbda087..87be4a99 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IXhpcAppUserUserService.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/IXhpcAppUserUserService.java @@ -1,6 +1,7 @@ package com.xhpc.user.service; import com.xhpc.common.core.domain.R; +import com.xhpc.common.core.web.domain.AjaxResult; import com.xhpc.user.domain.XhpcAppUser; import javax.servlet.http.HttpServletRequest; @@ -88,7 +89,7 @@ public interface IXhpcAppUserUserService { * @param * @return 结果 */ - public Map appInfo(HttpServletRequest request); + public AjaxResult appInfo(HttpServletRequest request); /** * 注销账号 diff --git a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcAppUserServiceImpl.java b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcAppUserServiceImpl.java index a8254581..93320755 100644 --- a/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcAppUserServiceImpl.java +++ b/xhpc-modules/xhpc-user/src/main/java/com/xhpc/user/service/impl/XhpcAppUserServiceImpl.java @@ -2,6 +2,7 @@ package com.xhpc.user.service.impl; import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; +import com.xhpc.common.api.UserTypeService; import com.xhpc.common.core.constant.HttpStatus; import com.xhpc.common.core.constant.StatusConstants; import com.xhpc.common.core.constant.UserConstants; @@ -9,8 +10,10 @@ import com.xhpc.common.core.domain.R; import com.xhpc.common.core.enums.UserStatus; import com.xhpc.common.core.utils.SecurityUtils; import com.xhpc.common.core.utils.StringUtils; +import com.xhpc.common.core.web.domain.AjaxResult; import com.xhpc.common.redis.service.RedisService; import com.xhpc.common.security.service.TokenService; +import com.xhpc.common.util.UserTypeUtil; import com.xhpc.system.api.domain.SysUser; import com.xhpc.system.api.model.LoginUser; import com.xhpc.user.aspect.LogUserUtils; @@ -48,6 +51,9 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { @Autowired private LogUserUtils logUserUtils; + @Autowired + private UserTypeService userTypeService; + private static final Logger logger = LoggerFactory.getLogger(XhpcAppUserServiceImpl.class); /** @@ -209,6 +215,49 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { || username.length() > UserConstants.USERNAME_MAX_LENGTH) { return R.fail(HttpStatus.ERROR_STATUS, "用户名不在指定范围"); } + + //判断账号 + String sub = username.substring(0, 2); + if (UserTypeUtil.COMMUNIT.equals(sub) || UserTypeUtil.CUSTOMERS.equals(sub)){ + R user = userTypeService.getUser(username, null, null); + if(user !=null && user.getData() !=null){ + Map map = (Map)user.getData(); + LoginUser userInfo = new LoginUser(); + SysUser sysUser = new SysUser(); + sysUser.setUserName(username); + long appUserId = Long.parseLong(map.get("appUserId").toString()); + sysUser.setUserId(appUserId); + userInfo.setSysUser(sysUser); + userInfo.setUsername(username); + userInfo.setOpenId(openid); + if(UserTypeUtil.COMMUNIT.equals(username.substring(0,2))){ + userInfo.setUserType(UserTypeUtil.COMMUNIT_TYPE); + }else{ + userInfo.setUserType(UserTypeUtil.CUSTOMERS_TYPE); + } + if(UserTypeUtil.COMMUNIT.equals(sub)){ + if (StatusConstants.OPERATION_WX_TYPE.equals(type)) { + xhpcAppUserMapper.updateCommunityPersonnel(appUserId,openid,null,UserConstants.LOGIN,null); + } else { + xhpcAppUserMapper.updateCommunityPersonnel(appUserId,null,openid,null,UserConstants.LOGIN); + } + }else{ + if (StatusConstants.OPERATION_WX_TYPE.equals(type)) { + xhpcAppUserMapper.updateCustomersPersonnel(appUserId,openid,null,UserConstants.LOGIN,null); + } else { + xhpcAppUserMapper.updateCustomersPersonnel(appUserId,null,openid,null,UserConstants.LOGIN); + } + } + //添加最后一次登录数据 + xhpcAppUserMapper.addUserLoginTime(appUserId,username,userInfo.getUserType(),openid,Integer.valueOf(type),null); + + redisService.deleteObject("pvToken:" + username); + // 获取登录token + return R.ok(tokenService.createToken(userInfo)); + }else{ + return R.fail(HttpStatus.DATA_ERROR, "账号不正确,请重新输入"); + } + } // 查询用户信息 XhpcAppUser user = xhpcAppUserMapper.getAppUserByPhone(username); if (StringUtils.isNull(user)) { @@ -236,6 +285,10 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { sysUser.setUserName(user.getPhone()); sysUser.setUserId(user.getAppUserId()); userInfo.setSysUser(sysUser); + userInfo.setUserType(UserTypeUtil.USER_TYPE); + userInfo.setUsername(username); + userInfo.setOpenId(openid); + userInfo.setUserid(user.getAppUserId()); if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) { return R.fail(HttpStatus.DATA_ERROR, "对不起,您的账号:" + username + " 已被删除"); } @@ -255,6 +308,9 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { } xhpcAppUserMapper.update(user); redisService.deleteObject("pvToken:" + user.getPhone()); + + //添加最后一次登录数据 + xhpcAppUserMapper.addUserLoginTime(user.getAppUserId(),username,userInfo.getUserType(),openid,Integer.valueOf(type),UserConstants.LOGIN); // 获取登录token return R.ok(tokenService.createToken(userInfo)); } @@ -271,17 +327,43 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { LoginUser loginUser = tokenService.getLoginUser(request); if (StringUtils.isNotNull(loginUser)) { String username = loginUser.getUsername(); + Integer userType = loginUser.getUserType(); + Long userid = loginUser.getUserid(); + String openId = loginUser.getOpenId(); + R user = userTypeService.getUser(null, userid, userType); + if(user !=null && user.getData() !=null){ + if(UserTypeUtil.USER_TYPE==userType){ + XhpcAppUser appUser = xhpcAppUserMapper.getAppUserByPhone(username); + if (!StringUtils.isNull(appUser)) { + if (StatusConstants.OPERATION_WX_TYPE.equals(type)) { + appUser.setWeixinLogin(UserConstants.NO_LOGIN); + } else { + appUser.setAlipayLogin(UserConstants.NO_LOGIN); + } + xhpcAppUserMapper.update(appUser); + //添加最后一次登录数据 + xhpcAppUserMapper.addUserLoginTime(appUser.getAppUserId(),username,userType,openId,Integer.valueOf(type),UserConstants.NO_LOGIN); + } + }else if(UserTypeUtil.COMMUNIT_TYPE==userType){ + if (StatusConstants.OPERATION_WX_TYPE.equals(type)) { + xhpcAppUserMapper.updateCommunityPersonnel(userid,null,null,UserConstants.NO_LOGIN,null); + } else { + xhpcAppUserMapper.updateCommunityPersonnel(userid,null,null,null,UserConstants.NO_LOGIN); + } + //添加最后一次登录数据 + xhpcAppUserMapper.addUserLoginTime(userid,username,userType,openId,Integer.valueOf(type),UserConstants.NO_LOGIN); + }else if(UserTypeUtil.CUSTOMERS_TYPE==userType){ + if (StatusConstants.OPERATION_WX_TYPE.equals(type)) { + xhpcAppUserMapper.updateCustomersPersonnel(userid,null,null,UserConstants.NO_LOGIN,null); + } else { + xhpcAppUserMapper.updateCustomersPersonnel(userid,null,null,null,UserConstants.NO_LOGIN); + } + //添加最后一次登录数据 + xhpcAppUserMapper.addUserLoginTime(userid,username,userType,openId,Integer.valueOf(type),UserConstants.NO_LOGIN); + } + } // 删除用户缓存记录 tokenService.delLoginUser(loginUser.getToken()); - XhpcAppUser user = xhpcAppUserMapper.getAppUserByPhone(username); - if (!StringUtils.isNull(user)) { - if (StatusConstants.OPERATION_WX_TYPE.equals(type)) { - user.setWeixinLogin(UserConstants.NO_LOGIN); - } else { - user.setAlipayLogin(UserConstants.NO_LOGIN); - } - xhpcAppUserMapper.update(user); - } } return R.ok(); } @@ -296,39 +378,55 @@ public class XhpcAppUserServiceImpl implements IXhpcAppUserUserService { public R voluntaryLogin(Map map) { String type = StringUtils.valueOf(map.get("type")); String openid = StringUtils.valueOf(map.get("openid")); - XhpcAppUser user = xhpcAppUserMapper.getAppUserByOpenid(openid); - if (StringUtils.isNull(user)) { - return R.fail(HttpStatus.DATA_ERROR, "用户不存在"); + Map userLoginTime = xhpcAppUserMapper.getUserLoginTime(Integer.valueOf(type), openid); + if(userLoginTime ==null){ + return R.fail(HttpStatus.USER_LOGIN, "请重新登录"); } - if (StatusConstants.OPERATION_ALI_PAY_TYPE.equals(type)) { - if (UserConstants.NO_LOGIN == user.getAlipayLogin()) { - return R.fail(HttpStatus.USER_LOGIN, "用户未登录"); - } - } else if (StatusConstants.OPERATION_WX_TYPE.equals(type)) { - if (UserConstants.NO_LOGIN == user.getWeixinLogin()) { - return R.fail(HttpStatus.USER_LOGIN, "用户未登录"); - } + if(UserConstants.NO_LOGIN.equals(userLoginTime.get("status").toString())){ + return R.fail(HttpStatus.USER_LOGIN, "请重新登录"); } - return appLogin(user.getPhone(), type, openid); + return appLogin(userLoginTime.get("account").toString(), type, openid); } /** * 小程序用户详情 - * * @param * @return 结果 */ @Override - public Map appInfo(HttpServletRequest request) { + public AjaxResult appInfo(HttpServletRequest request) { LoginUser loginUser = logUserUtils.getLogUser(request); - String userId = StringUtils.valueOf(loginUser.getUserid()); Object version = redisService.getCacheObject("global:version"); Object servicePhone = redisService.getCacheObject("global:phone"); //根据不同的用户类型查询不同的信息 - Map result = xhpcAppUserMapper.info(Long.parseLong(userId)); - result.put("version",version); - result.put("servicePhone",servicePhone); - return result; + Long userid = loginUser.getUserid(); + Integer userType = loginUser.getUserType(); + R user = userTypeService.getUser(null, loginUser.getUserid(), loginUser.getUserType()); + if(user !=null && user.getData() !=null){ + Map map = (Map)user.getData(); + //发票、留言板、版本、客服电话 + Object invoice =null; + if(UserTypeUtil.USER_TYPE.equals(userType)){ + invoice = redisService.getCacheObject("global:invoice:" + UserTypeUtil.USER + userid); + }else if(UserTypeUtil.INTERNET_TYPE.equals(userType)){ + invoice = redisService.getCacheObject("global:invoice:"+UserTypeUtil.INTERNET+userid); + }else if(UserTypeUtil.COMMUNIT_TYPE.equals(userType)){ + invoice = redisService.getCacheObject("global:invoice:"+UserTypeUtil.COMMUNIT+userid); + }else{ + invoice = redisService.getCacheObject("global:invoice:"+UserTypeUtil.CUSTOMERS+userid); + } + if(invoice==null){ + map.put("invoiceNumber","0"); + }else{ + map.put("invoiceNumber",invoice); + } + map.put("guestbook","0"); + map.put("version",version); + map.put("servicePhone",servicePhone); + return AjaxResult.success(map); + }else{ + return AjaxResult.error("请重新登录"); + } } /** diff --git a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml index 69445eb4..cbebfca9 100644 --- a/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml +++ b/xhpc-modules/xhpc-user/src/main/resources/mapper/XhpcAppUserMapper.xml @@ -228,4 +228,79 @@ update xhpc_community_personnel set is_refund=#{isRefund} where community_personnel_id=#{userId} + + + INSERT INTO xhpc_user_login + + + app_user_id, + + + account, + + + user_type, + + + open_id, + + + type, + + + status, + + + + + #{appUserId}, + + + #{account}, + + + #{userType}, + + + #{openId}, + + + #{type}, + + + #{status}, + + + + + + UPDATE xhpc_community_personnel + + weixin_open_id = #{weixinOpenId}, + alipay_open_id = #{alipayOpenId}, + weixin_login = #{weixinLogin}, + alipay_login = #{alipayLogin}, + + WHERE community_personnel_id = #{appUserId} + + + UPDATE xhpc_customers_personnel + + weixin_open_id = #{weixinOpenId}, + alipay_open_id = #{alipayOpenId}, + weixin_login = #{weixinLogin}, + alipay_login = #{alipayLogin}, + + WHERE customers_personnel_id = #{appUserId} + + + \ No newline at end of file