浏览代码

chore: merge master

周玉环 5 天之前
父节点
当前提交
ff8745c1a0
共有 18 个文件被更改,包括 147 次插入53 次删除
  1. 1 0
      xinkeaboard-server/b2b2c-core/src/main/resources/i18n_en.properties
  2. 3 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/dto/MemberAddDTO.java
  3. 3 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/dto/MemberUpdateDTO.java
  4. 6 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/example/MemberExample.java
  5. 3 0
      xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/pojo/Member.java
  6. 5 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/admin/MemberController.java
  7. 0 8
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/front/MemberInfoController.java
  8. 29 16
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/front/advich/MemberEmailActiveController.java
  9. 2 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/seller/seller/SellerVendorController.java
  10. 11 9
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/sso/front/FrontAuthController.java
  11. 2 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/sso/seller/SellerAuthController.java
  12. 2 0
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/dto/GpUserInfoDto.java
  13. 2 0
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/MemberModel.java
  14. 15 12
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/advich/MemberRegisterActiveModel.java
  15. 11 2
      xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/advich/OneClickLoginModel.java
  16. 48 0
      xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/member/MemberWriteMapper.xml
  17. 4 0
      xinkeaboard-server/doc/DDL/member.sql
  18. 二进制
      xinkeaboard-server/doc/DDL/sql.zip

+ 1 - 0
xinkeaboard-server/b2b2c-core/src/main/resources/i18n_en.properties

@@ -1815,6 +1815,7 @@ admin账号不可删除=admin account can not be deleted
 证书过期=Expired certificate
 验证码有误=Code is incorrect
 该手机号已注册=The phone number is registered
+此手机号已绑定商家账号=This phone number is bound to a merchant account
 手机验证码不正确=Phone verification code is not correct
 分页信息错误,page\ index必须从1开始递增=Paging information error, page  index must be incremented from 1
 分页信息错误,page\ size必须大于0=Paging information error, page  size must be greater than 0

+ 3 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/dto/MemberAddDTO.java

@@ -32,4 +32,7 @@ public class MemberAddDTO implements Serializable {
     @ApiModelProperty(value = "会员来源:1、pc;2、H5;3、Android;4、IOS ;5 商城管理平台 ; 6 微信商城",required = true)
     private Integer registerChannel;
 
+    @ApiModelProperty("会员类型 1:海外门户 2:国内分销商门户")
+    private String memberType;
+
 }

+ 3 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/dto/MemberUpdateDTO.java

@@ -25,4 +25,7 @@ public class MemberUpdateDTO implements Serializable {
     @ApiModelProperty("真实姓名")
     private String memberTrueName;
 
+    @ApiModelProperty("会员类型 1:海外门户 2:国内分销商门户")
+    private String memberType;
+
 }

+ 6 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/example/MemberExample.java

@@ -281,4 +281,10 @@ public class MemberExample implements Serializable {
      * gp系统用户token
      */
     private String gpToken;
+
+
+    /**
+     * 会员类型
+     */
+    private String memberType;
 }

+ 3 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/pojo/Member.java

@@ -145,6 +145,9 @@ public class Member implements Serializable {
     @ApiModelProperty("城市")
     private String city;
 
+    @ApiModelProperty("会员类型 1:海外门户 2:国内分销门户 ")
+    private String memberType;
+
     /**
      * 获取账户余额
      */

+ 5 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/admin/MemberController.java

@@ -106,7 +106,8 @@ public class MemberController extends BaseController {
             @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "query"),
             @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "query"),
             @ApiImplicitParam(name = "pageSize", value = "分页大小", defaultValue = "20", paramType = "query"),
-            @ApiImplicitParam(name = "current", value = "当前页面位置", defaultValue = "1", paramType = "query")
+            @ApiImplicitParam(name = "current", value = "当前页面位置", defaultValue = "1", paramType = "query"),
+            @ApiImplicitParam(name = "memberType", value = "会员类型", defaultValue = "1", paramType = "query")
     })
     @GetMapping("list")
     public JsonResult<PageVO<MemberVO>> getList(HttpServletRequest request,
@@ -114,7 +115,8 @@ public class MemberController extends BaseController {
                                                 @RequestParam(value = "memberMobile", required = false) String memberMobile,
                                                 @RequestParam(value = "state", required = false) Integer state,
                                                 @RequestParam(value = "startTime", required = false) Date startTime,
-                                                @RequestParam(value = "endTime", required = false) Date endTime) {
+                                                @RequestParam(value = "endTime", required = false) Date endTime,
+                                                @RequestParam(value = "memberType", required = false,defaultValue = "1") String memberType ) {
         //分页设置
         PagerInfo pager = WebUtil.handlerPagerInfo(request);
 
@@ -126,6 +128,7 @@ public class MemberController extends BaseController {
         example.setStateNotEquals(MemberConst.STATE_2);
         example.setRegisterTimeAfter(startTime);
         example.setRegisterTimeBefore(endTime);
+        example.setMemberType(memberType);
         List<Member> list = memberModel.getMemberList(example, pager);
 
         //响应

+ 0 - 8
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/front/MemberInfoController.java

@@ -172,14 +172,6 @@ public class MemberInfoController extends BaseController {
         if (StringUtil.isEmpty(memberInfoUpdateDTO.getMemberTrueName())) {
             memberNew.setMemberTrueName("");
         }
-
-        //实时查询会员信息
-        Member memberDb = memberModel.getMemberByMemberId(member.getMemberId());
-        if (!StringUtil.isEmpty(memberDb.getLastLoginIp())){
-            CountryAreaApiDto countryAreaApiDto = memberEnquiryModel.getCountryAndAreaByIp(memberDb.getLastLoginIp());
-            memberNew.setCountry(countryAreaApiDto.getCountryIsoCode());
-            memberNew.setCity(countryAreaApiDto.getCityIsoCode());
-        }
         memberModel.updateMember(memberNew);
         return SldResponse.success(Language.translate("编辑成功",Language.EN_LANGUAGE_TYPE));
     }

+ 29 - 16
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/front/advich/MemberEmailActiveController.java

@@ -9,6 +9,7 @@ import com.slodon.b2b2c.core.response.SldResponse;
 import com.slodon.b2b2c.core.util.AssertUtil;
 import com.slodon.b2b2c.core.util.Md5;
 import com.slodon.b2b2c.core.util.StringUtil;
+import com.slodon.b2b2c.core.util.WebUtil;
 import com.slodon.b2b2c.dao.read.member.MemberReadMapper;
 import com.slodon.b2b2c.dao.write.member.MemberWriteMapper;
 import com.slodon.b2b2c.member.example.MemberExample;
@@ -18,12 +19,14 @@ import com.slodon.b2b2c.model.member.advich.MemberEnquiryModel;
 import com.slodon.b2b2c.model.member.advich.MemberRegisterActiveModel;
 import com.slodon.b2b2c.model.seller.VendorModel;
 import com.slodon.b2b2c.seller.dto.VendorRegisterDTO;
+import com.slodon.b2b2c.system.dto.CountryAreaApiDto;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
@@ -157,29 +160,30 @@ public class MemberEmailActiveController extends BaseController {
      * @param email
      * @param source
      * @param type
+     * @param memberType
      * @return
      */
     @PostMapping("/verification/code")
-    public JsonResult<Object> getMemberEmailVerificationCode(HttpServletRequest request, String email, Integer source, Integer type) {
-        log.info("getMemberEmailVerificationCode - email:{},source:{},type:{}", email, source, type);
+    public JsonResult<Object> getMemberEmailVerificationCode(HttpServletRequest request, String email, Integer source, Integer type, @RequestParam(value = "memberType", required = false, defaultValue = "1") String memberType) {
+        log.info("getMemberEmailVerificationCode - email:{},source:{},type:{},memberType:{}", email, source, type, memberType);
         if (StringUtil.isEmpty(email)) {
             return SldResponse.fail(Language.translate("邮件不能为空", Language.EN_LANGUAGE_TYPE));
         }
         AssertUtil.emailCheck(email);
 
         // 1. 判断是否在1分钟内已发送过验证码
-        String redisKey = RedisConst.SLD_PC_EMAIL_VERIFY_CODE_LIMIT + email + "::" + type;
+        String redisKey = RedisConst.SLD_PC_EMAIL_VERIFY_CODE_LIMIT + email + ":type::" + type + ":memberType::" + memberType;
         if (Boolean.TRUE.equals(stringRedisTemplate.hasKey(redisKey))) {
             return SldResponse.fail(Language.translate("请勿频繁操作,请1分钟后重试", Language.EN_LANGUAGE_TYPE));
         }
 
         int count;
         if (type == 1) {
-            count = memberRegisterActiveModel.sendRegisterUserEmailVerificationCode(email, source);
+            count = memberRegisterActiveModel.sendRegisterUserEmailVerificationCode(email, source, memberType);
             AssertUtil.isTrue((count == 0), Language.translate("验证码发送失败,请重试", Language.EN_LANGUAGE_TYPE));
             AssertUtil.isTrue((count == 2), Language.translate("该邮箱已注册,请登录", Language.EN_LANGUAGE_TYPE));
         } else {
-            count = memberRegisterActiveModel.checkMemberUserInfo(email, type);
+            count = memberRegisterActiveModel.checkMemberUserInfo(email, memberType);
             AssertUtil.isTrue((count == 0), Language.translate("验证码发送失败,请重试", Language.EN_LANGUAGE_TYPE));
             AssertUtil.isTrue((count == 2), Language.translate("该邮箱未激活,请先激活", Language.EN_LANGUAGE_TYPE));
             AssertUtil.isTrue((count == 3), Language.translate("该邮箱未注册,请先注册", Language.EN_LANGUAGE_TYPE));
@@ -198,11 +202,12 @@ public class MemberEmailActiveController extends BaseController {
      * @param email
      * @param type
      * @param verificationCode
+     * @param memberType
      * @return
      */
     @PostMapping("/check/verification/code")
-    public JsonResult<Object> checkMemberEmailVerificationCode(HttpServletRequest request, String email, Integer type, String verificationCode) {
-        log.info("checkMemberEmailVerificationCode - email:{},type:{},verificationCode:{}", email, type, verificationCode);
+    public JsonResult<Object> checkMemberEmailVerificationCode(HttpServletRequest request, String email, Integer type, String verificationCode, @RequestParam(value = "memberType", required = false, defaultValue = "1") String memberType) {
+        log.info("checkMemberEmailVerificationCode - email:{},type:{},verificationCode:{},memberType:{}", email, type, verificationCode, memberType);
         if (StringUtil.isEmpty(email)) {
             return SldResponse.fail(Language.translate("邮件不能为空", Language.EN_LANGUAGE_TYPE));
         }
@@ -216,7 +221,7 @@ public class MemberEmailActiveController extends BaseController {
             return SldResponse.fail(Language.translate("验证码不能为空", Language.EN_LANGUAGE_TYPE));
         }
 
-        String redisKey = baseKey + email;
+        String redisKey = baseKey + email + ":memberType::" + memberType;
         if (!stringRedisTemplate.hasKey(redisKey)) {
             return SldResponse.fail(Language.translate("验证码已过期,请重新获取", Language.EN_LANGUAGE_TYPE));
         }
@@ -232,25 +237,28 @@ public class MemberEmailActiveController extends BaseController {
 
     /**
      * 注册
+     *
      * @param request
      * @param email
      * @param nickName
      * @param password
      * @param confirmPassword
+     * @param memberType
      * @return
      */
     @PostMapping("/register")
-    public JsonResult<Object> activeMemberEmailInfo(HttpServletRequest request, String email, String nickName, String password,String confirmPassword) {
-        log.info("activeMemberEmailInfo - email:{},nickName:{},password:{},confirmPassword:{}", email, nickName, password,confirmPassword);
+    public JsonResult<Object> activeMemberEmailInfo(HttpServletRequest request, String email, String nickName, String password, String confirmPassword, @RequestParam(value = "memberType", required = false, defaultValue = "1") String memberType) {
+        log.info("activeMemberEmailInfo - email:{},nickName:{},password:{},confirmPassword:{},memberType:{}", email, nickName, password, confirmPassword, memberType);
         if (StringUtil.isEmpty(email)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("邮件不能为空", Language.EN_LANGUAGE_TYPE));
         }
-        if(!password.equals(confirmPassword)){
+        if (!password.equals(confirmPassword)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("密码不一致,请重新输入", Language.EN_LANGUAGE_TYPE));
         }
         AssertUtil.passwordCheck(password);
         MemberExample memberExample = new MemberExample();
         memberExample.setMemberEmail(email.toLowerCase());
+        memberExample.setMemberType(memberType);
         List<Member> memberList = memberReadMapper.listByExample(memberExample);
         if (CollectionUtils.isEmpty(memberList)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("会员邮箱不存在,请重新注册", Language.EN_LANGUAGE_TYPE));
@@ -268,6 +276,10 @@ public class MemberEmailActiveController extends BaseController {
         memberNew.setUpdateTime(new Date());
         memberNew.setMemberNickName(nickName);
         memberNew.setLoginPwd(Md5.getMd5String(password));
+        String ip = WebUtil.getRealIp(request);
+        CountryAreaApiDto countryAreaApiDto = memberEnquiryModel.getCountryAndAreaByIp(ip);
+        memberNew.setCountry(countryAreaApiDto.getCountryIsoCode());
+        memberNew.setCity(countryAreaApiDto.getCityIsoCode());
         memberModel.updateMember(memberNew);
 
         // 发送账户注册成功邮件
@@ -276,7 +288,6 @@ public class MemberEmailActiveController extends BaseController {
     }
 
 
-
     /**
      * 用户邮箱重置忘记密码
      *
@@ -285,16 +296,18 @@ public class MemberEmailActiveController extends BaseController {
      * @param verificationCode
      * @param loginPwd
      * @param confirmPassWord
+     * @param memberType
      * @return
      */
     @PostMapping("/email/reset/pwdNew")
-    public JsonResult<Object> emailResetPwdNew(HttpServletRequest request, String email, String verificationCode, String loginPwd, String confirmPassWord) {
-        log.info("emailResetPwd - email:{},verificationCode:{},loginPwd:{},confirmPassWord:{}", email, verificationCode, loginPwd, confirmPassWord);
-        if (StringUtil.isEmpty(email) ) {
+    public JsonResult<Object> emailResetPwdNew(HttpServletRequest request, String email, String verificationCode, String loginPwd, String confirmPassWord, @RequestParam(value = "memberType", required = false, defaultValue = "1") String memberType) {
+        log.info("emailResetPwd - email:{},verificationCode:{},loginPwd:{},confirmPassWord:{},memberType:{}", email, verificationCode, loginPwd, confirmPassWord, memberType);
+        if (StringUtil.isEmpty(email)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("邮件不能为空", Language.EN_LANGUAGE_TYPE));
         }
         MemberExample memberExample = new MemberExample();
         memberExample.setMemberEmail(email.toLowerCase());
+        memberExample.setMemberType(memberType);
         List<Member> memberList = memberReadMapper.listByExample(memberExample);
 
         if (CollectionUtils.isEmpty(memberList)) {
@@ -306,7 +319,7 @@ public class MemberEmailActiveController extends BaseController {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("该邮箱未激活,请先激活", Language.EN_LANGUAGE_TYPE));
         }
 
-        if(!loginPwd.equals(confirmPassWord)){
+        if (!loginPwd.equals(confirmPassWord)) {
             return SldResponse.fail(ResponseConst.STATE_FAIL, Language.translate("密码不一致,请重新输入", Language.EN_LANGUAGE_TYPE));
         }
 

+ 2 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/seller/seller/SellerVendorController.java

@@ -336,8 +336,8 @@ public class SellerVendorController extends BaseController {
         VendorExample example = new VendorExample();
         example.setVendorMobile(vendorRegisterDTO.getVendorMobile());
         List<Vendor> vendorList = vendorModel.getVendorList(example, null);
-        // todo 测试期间手机号 放开
-//        AssertUtil.isTrue(!CollectionUtils.isEmpty(vendorList), "该手机号已注册");
+
+        AssertUtil.isTrue(!CollectionUtils.isEmpty(vendorList), "此手机号已绑定商家账号");
 
         //确认密码是否一致
         String vendorPassword = vendorRegisterDTO.getVendorPassword();

+ 11 - 9
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/sso/front/FrontAuthController.java

@@ -96,11 +96,12 @@ public class FrontAuthController {
             @ApiImplicitParam(name = "password", value = "登陆类型为1时:是密码;为2时:是验证码", paramType = "query"),
             @ApiImplicitParam(name = "cartInfo", value = "离线购物车信息 如 [{\"productId\":1,\"buyNum\":1},{\"productId\":2,\"buyNum\":2}]", paramType = "query"),
             @ApiImplicitParam(name = "clientId", value = "客户端身份ID app传参", paramType = "query"),
-            @ApiImplicitParam(name = "alias", value = "客户端身份别名 app传参", paramType = "query")
+            @ApiImplicitParam(name = "alias", value = "客户端身份别名 app传参", paramType = "query"),
+            @ApiImplicitParam(name = "memberType", value = "会员类型", paramType = "query")
     })
     @PostMapping("token")
     public JsonResult<Object> doLogin(HttpServletRequest request, @RequestParam(value = "loginType", required = false, defaultValue = "1") Integer loginType,
-                                      String username, String password, String cartInfo, String clientId, String alias, String refresh_token, Integer ssoType) {
+                                      String username, String password, String cartInfo, String clientId, String alias, String refresh_token, Integer ssoType,@RequestParam(value = "memberType",required = false, defaultValue = "1") String memberType) {
         Member member;
         if (!StringUtils.isEmpty(refresh_token)) {
             //校验token
@@ -112,25 +113,26 @@ public class FrontAuthController {
 //            memberExample.setMemberNameOrMemberMobile(username.replace(":", ""));
             // 改为邮箱账户验证登录
             memberExample.setMemberName(username);
+            memberExample.setMemberType(memberType);
             List<Member> memberList = memberModel.getMemberList(memberExample, null);
             if (loginType == 1) {
                 if (CollectionUtils.isEmpty(memberList)) {
                     // 检测gp系统用户是否存在
-                    GpUserInfoDto gpUserInfoDto = oneClickLoginModel.checkGpSystemUserIsExist(request, username, password, "PC");
+                    GpUserInfoDto gpUserInfoDto = oneClickLoginModel.checkGpSystemUserIsExist(request, username, password, "PC",memberType);
                     if (gpUserInfoDto == null) {
-                        AssertUtil.notEmpty(memberList, Language.translate("会员邮箱或密码错误",Language.EN_LANGUAGE_TYPE));
-                        AssertUtil.isTrue(!memberList.get(0).getLoginPwd().equals(Md5.getMd5String(password)), Language.translate("用户名或密码错误",Language.EN_LANGUAGE_TYPE));
+                        AssertUtil.notEmpty(memberList, Language.translate("用户不存在",Language.EN_LANGUAGE_TYPE));
+                        AssertUtil.isTrue(!memberList.get(0).getLoginPwd().equals(Md5.getMd5String(password)), Language.translate("会员邮箱或密码错误",Language.EN_LANGUAGE_TYPE));
                     } else {
                         memberList = memberModel.getMemberList(memberExample, null);
                     }
                 } else {
-                    AssertUtil.notEmpty(memberList, Language.translate("用户名或密码错误",Language.EN_LANGUAGE_TYPE));
+                    AssertUtil.notEmpty(memberList, Language.translate("会员邮箱或密码错误",Language.EN_LANGUAGE_TYPE));
                     if (ssoType != null && ssoType == 1) {
-                        AssertUtil.isTrue(!memberList.get(0).getLoginPwd().equals(password), Language.translate("用户名或密码错误",Language.EN_LANGUAGE_TYPE));
+                        AssertUtil.isTrue(!memberList.get(0).getLoginPwd().equals(password), Language.translate("会员邮箱或密码错误",Language.EN_LANGUAGE_TYPE));
                     } else {
-                        oneClickLoginModel.checkGpSystemUserIsExist(request, username, password, "PC");
+                        oneClickLoginModel.checkGpSystemUserIsExist(request, username, password, "PC", memberType);
                         memberList = memberModel.getMemberList(memberExample, null);
-                        AssertUtil.isTrue(!memberList.get(0).getLoginPwd().equals(Md5.getMd5String(password)), Language.translate("用户名或密码错误",Language.EN_LANGUAGE_TYPE));
+                        AssertUtil.isTrue(!memberList.get(0).getLoginPwd().equals(Md5.getMd5String(password)), Language.translate("会员邮箱或密码错误",Language.EN_LANGUAGE_TYPE));
                     }
                 }
             } else {

+ 2 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/sso/seller/SellerAuthController.java

@@ -98,14 +98,14 @@ public class SellerAuthController {
             List<Vendor> vendorList = vendorModel.getVendorList(vendorExample, null);
             if (CollectionUtils.isEmpty(vendorList)) {
                 // 检测gp系统用户是否存在
-                GpUserInfoDto gpUserInfoDto = oneClickLoginModel.checkGpSystemUserIsExist(request,username, password,"SELLER");
+                GpUserInfoDto gpUserInfoDto = oneClickLoginModel.checkGpSystemUserIsExist(request, username, password, "SELLER", null);
                 if (gpUserInfoDto == null) {
                     AssertUtil.notEmpty(vendorList, "用户名或密码错误");
                 } else {
                     vendorList = vendorModel.getVendorList(vendorExample, null);
                 }
             } else {
-                GpUserInfoDto gpUserInfoDto = oneClickLoginModel.checkGpSystemUserIsExist(request,username, password,"SELLER");
+                GpUserInfoDto gpUserInfoDto = oneClickLoginModel.checkGpSystemUserIsExist(request, username, password, "SELLER", null);
                 if (gpUserInfoDto == null) {
                     AssertUtil.notEmpty(vendorList, "用户名或密码错误");
                 } else {

+ 2 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/dto/GpUserInfoDto.java

@@ -35,4 +35,6 @@ public class GpUserInfoDto {
     private Long vendorId;
 
     private String statusMsg;
+
+    private String memberType;
 }

+ 2 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/MemberModel.java

@@ -87,6 +87,7 @@ public class MemberModel {
         //查重
         MemberExample example = new MemberExample();
         example.setMemberName(memberAddDTO.getMemberName());
+        example.setMemberType(memberAddDTO.getMemberType());
         List<Member> list = memberReadMapper.listByExample(example);
         AssertUtil.isTrue(!CollectionUtils.isEmpty(list), "会员名称重复,请重新填写");
 
@@ -155,6 +156,7 @@ public class MemberModel {
         MemberExample example = new MemberExample();
         example.setMemberName(memberUpdateDTO.getMemberName());
         example.setMemberIdNotEquals(memberUpdateDTO.getMemberId());
+        example.setMemberType(memberUpdateDTO.getMemberType());
         List<Member> list = memberReadMapper.listByExample(example);
         if (!CollectionUtils.isEmpty(list)) {
             throw new MallException("会员名称重复,请重新填写");

+ 15 - 12
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/advich/MemberRegisterActiveModel.java

@@ -72,7 +72,7 @@ public class MemberRegisterActiveModel {
         } else {
             res = 1;
             sendEmailActiveLink(email);
-            saveEmailUserInfo(email, source);
+            saveEmailUserInfo(email, source, null);
         }
         return res;
     }
@@ -137,7 +137,7 @@ public class MemberRegisterActiveModel {
      * @param source
      */
     @Transactional(rollbackFor = Exception.class)
-    public void saveEmailUserInfo(String email, Integer source) {
+    public void saveEmailUserInfo(String email, Integer source,String memberType) {
         Member member = new Member();
         member.setMemberName(email);
 //        member.setMemberName(GoodsIdGenerator.getMemberName());
@@ -150,6 +150,7 @@ public class MemberRegisterActiveModel {
         member.setRegisterChannel(source);
         member.setMemberEmail(email);
         member.setIsEmailActive(0);
+        member.setMemberType(memberType);
         memberModel.saveMember(member);
     }
 
@@ -271,35 +272,36 @@ public class MemberRegisterActiveModel {
         msgSendModel.sendHtmlMail(email, subject, emailMsgTpl.toString());
     }
 
-    public Integer sendRegisterUserEmailVerificationCode(String email, Integer source) {
+    public Integer sendRegisterUserEmailVerificationCode(String email, Integer source,String memberType) {
         int res = 0;
         MemberExample example = new MemberExample();
         example.setMemberEmail(email.toLowerCase());
+        example.setMemberType(memberType);
         List<Member> memberList = memberReadMapper.listByExample(example);
         if (CollectionUtil.isNotEmpty(memberList)) {
             Member memberInfo = memberList.get(0);
             if (memberInfo.getIsEmailActive() == 0) {
-                sendEmailRegisterVerificationCode(email);
+                sendEmailRegisterVerificationCode(email, memberType);
                 res = 1;
             } else {
                 res = 2;
             }
         } else {
             res = 1;
-            sendEmailRegisterVerificationCode(email);
-            saveEmailUserInfo(email, source);
+            sendEmailRegisterVerificationCode(email, memberType);
+            saveEmailUserInfo(email, source,memberType);
         }
         return res;
     }
 
-    private void sendEmailRegisterVerificationCode(String email) {
+    private void sendEmailRegisterVerificationCode(String email,String memberType) {
         String pcDomainUrl = DomainUrlUtil.SLD_PC_URL.replace("http://", "").replace("https://", "");
         String verifCode = "";
         //邮件验证码过期时间,单位秒
         long expireTime = RedisConst.REGISTER_USER_AND_FORGETPWD_USER_EMAIL_VERIFICATION_CODE_EXPIRE_TIME;
 
         //将随机数存在redis中
-        String activeEmailKey = RedisConst.SLD_PC_NEW_REGISTER_USER_EMAIL + email;
+        String activeEmailKey = RedisConst.SLD_PC_NEW_REGISTER_USER_EMAIL + email + ":memberType::" + memberType;
         verifCode = RandomUtil.randomNumber(4);
         stringRedisTemplate.opsForValue().set(activeEmailKey, verifCode, expireTime, TimeUnit.SECONDS);
 
@@ -312,15 +314,16 @@ public class MemberRegisterActiveModel {
         msgSendModel.sendHtmlMail(email, subject, emailMsgTpl.toString());
     }
 
-    public Integer checkMemberUserInfo(String email, Integer type) {
+    public Integer checkMemberUserInfo(String email, String memberType) {
         int res = 0;
         MemberExample memberExample = new MemberExample();
         memberExample.setMemberEmail(email);
+        memberExample.setMemberType(memberType);
         List<Member> memberList = memberReadMapper.listByExample(memberExample);
         if (CollectionUtil.isNotEmpty(memberList)) {
             Member memberInfo = memberList.get(0);
             if (memberInfo.getIsEmailActive() == 1) {
-                sendEmailForgetPasswordVerificationCode(email, memberInfo.getMemberNickName());
+                sendEmailForgetPasswordVerificationCode(email, memberInfo.getMemberNickName(),memberType);
                 res = 1;
             } else {
                 res = 2;
@@ -331,14 +334,14 @@ public class MemberRegisterActiveModel {
         return res;
     }
 
-    private void sendEmailForgetPasswordVerificationCode(String email, String nickName) {
+    private void sendEmailForgetPasswordVerificationCode(String email, String nickName,String memberType) {
         String pcDomainUrl = DomainUrlUtil.SLD_PC_URL.replace("http://", "").replace("https://", "");
         String verifCode = "";
         //重置密码验证码过期时间,单位秒
         long expireTime = RedisConst.REGISTER_USER_AND_FORGETPWD_USER_EMAIL_VERIFICATION_CODE_EXPIRE_TIME;
 
         //将随机数存在redis中
-        String forgetPwdEmailKey = RedisConst.SLD_PC_FORGET_PWD_USER_EMAIL + email;
+        String forgetPwdEmailKey = RedisConst.SLD_PC_FORGET_PWD_USER_EMAIL + email + ":memberType::" + memberType;
         verifCode = RandomUtil.randomNumber(4);
         stringRedisTemplate.opsForValue().set(forgetPwdEmailKey, verifCode, expireTime, TimeUnit.SECONDS);
 

+ 11 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/advich/OneClickLoginModel.java

@@ -89,9 +89,11 @@ public class OneClickLoginModel {
      *
      * @param username
      * @param password
+     * @param source
+     * @param memberType
      */
-    public GpUserInfoDto checkGpSystemUserIsExist(HttpServletRequest request, String username, String password, String source) {
-        log.info("****** 开始链接绿道系统检测用户信息是否存在。username:{},password:{} ******", username, password);
+    public GpUserInfoDto checkGpSystemUserIsExist(HttpServletRequest request, String username, String password, String source, String memberType) {
+        log.info("****** 开始链接绿道系统检测用户信息是否存在。username:{},password:{},source:{},memberType:{}, ******", username, password, source, memberType);
         GpUserInfoDto gpUserInfoDto = null;
         String gpUserUrl = DomainUrlUtil.GP_SYSTEM_USER_NAME_PASSWORD_CHECK_API_URL;
         if (!"200".equals(getApiUrlStatus(gpUserUrl))) {
@@ -102,6 +104,9 @@ public class OneClickLoginModel {
         modelMap.put("username", username);
         modelMap.put("password", password);
         modelMap.put("source", source);
+        if("PC".equals(source)){
+            modelMap.put("memberType", memberType);
+        }
         String result = HttpUtil.post(gpUserUrl, modelMap);
         log.info("绿道系统返回信息:" + result);
 //        JSONObject jsonObject = JSONObject.parseObject(result).getJSONObject("code");
@@ -109,6 +114,9 @@ public class OneClickLoginModel {
         if (httpApiResult.getCode() == 200) {
             gpUserInfoDto = JSONObject.parseObject(JSON.toJSONString(httpApiResult.getData()), GpUserInfoDto.class);
             gpUserInfoDto.setPassword(password);
+            if("PC".equals(source)){
+                gpUserInfoDto.setMemberType(memberType);
+            }
             saveOrUpdatePcAndSellerUserInfo(request, source, gpUserInfoDto);
         }
         return gpUserInfoDto;
@@ -128,6 +136,7 @@ public class OneClickLoginModel {
         member.setMemberMobile(gpUserInfoDto.getUserPhone());
         member.setMemberEmail(gpUserInfoDto.getUserEmail());
         member.setGpUid(gpUserInfoDto.getUserId());
+        member.setMemberType(gpUserInfoDto.getMemberType());
 
         //查询会员信息
         MemberExample memberExample = new MemberExample();

+ 48 - 0
xinkeaboard-server/b2b2c-web/src/main/resources/mapper/write/member/MemberWriteMapper.xml

@@ -44,6 +44,9 @@
     <result column="gp_token" property="gpToken" />
     <result column="member_company" property="memberCompany" />
     <result column="member_main_product" property="memberMainProduct" />
+    <result column="country" property="country" />
+    <result column="city" property="city" />
+    <result column="member_type" property="memberType" />
   </resultMap>
   <!--除主键外的所有字段,用于插入操作-->
   <sql id="columns">
@@ -171,6 +174,15 @@
       <if test="memberMainProduct != null">
         `member_main_product`,
       </if>
+      <if test="country != null">
+        `country`,
+      </if>
+      <if test="city != null">
+        `city`,
+      </if>
+      <if test="memberType != null">
+        `member_type`,
+      </if>
     </trim>
   </sql>
   <!--按照主键值进行操作-->
@@ -331,6 +343,15 @@
         <if test="example.memberMainProduct != null">
           AND `member_main_product` = #{example.memberMainProduct}
         </if>
+        <if test="example.country != null">
+          AND `country` = #{example.country}
+        </if>
+        <if test="example.city != null">
+            AND `city` = #{example.city}
+        </if>
+        <if test="example.memberType != null">
+          AND `member_type` = #{example.memberType}
+        </if>
       </trim>
     </if>
   </sql>
@@ -579,6 +600,15 @@
       <if test="memberMainProduct != null">
         #{memberMainProduct},
       </if>
+      <if test="country != null">
+        #{country},
+      </if>
+      <if test="city != null">
+        #{city},
+      </if>
+      <if test="memberType != null">
+        #{memberType},
+      </if>
     </trim>
     )
   </insert>
@@ -709,6 +739,15 @@
       <if test="record.memberMainProduct != null">
         member_main_product = #{record.memberMainProduct},
       </if>
+      <if test="record.country != null">
+        `country` = #{record.country},
+      </if>
+      <if test="record.city != null">
+          `city` = #{record.city},
+      </if>
+      <if test="record.memberType != null">
+        member_type = #{record.memberType},
+      </if>
     </trim>
     <include refid="whereCondition" />
   </update>
@@ -839,6 +878,15 @@
       <if test="memberMainProduct != null">
         `member_main_product` = #{memberMainProduct},
       </if>
+      <if test="country != null">
+        `country` = #{country},
+      </if>
+      <if test="city != null">
+        `city` = #{city},
+      </if>
+      <if test="memberType != null">
+        `member_type` = #{memberType},
+      </if>
     </trim>
     WHERE `member_id` = #{memberId}
   </update>

+ 4 - 0
xinkeaboard-server/doc/DDL/member.sql

@@ -0,0 +1,4 @@
+ALTER TABLE member
+ADD COLUMN country VARCHAR(100) NULL COMMENT '国家',
+ADD COLUMN city VARCHAR(100) NULL COMMENT '城市',
+ADD COLUMN member_type TINYINT NOT NULL DEFAULT 1 COMMENT '会员类型 1:海外门户 2:国内分销门户';

二进制
xinkeaboard-server/doc/DDL/sql.zip