Aslee %!s(int64=4) %!d(string=hai) anos
pai
achega
6b37ef3bdd

+ 38 - 0
src/main/java/com/caimei365/user/controller/RegisterApi.java

@@ -2,6 +2,7 @@ package com.caimei365.user.controller;
 
 import com.caimei365.user.idempotent.Idempotent;
 import com.caimei365.user.model.ResponseJson;
+import com.caimei365.user.model.dto.ClubOnlineDto;
 import com.caimei365.user.model.dto.ClubRegisterDto;
 import com.caimei365.user.model.dto.ClubUpgradeDto;
 import com.caimei365.user.model.dto.ShopRegisterDto;
@@ -94,6 +95,41 @@ public class RegisterApi {
         return registerService.clubUpgrade(upgradeDto, headers);
     }
 
+    /**
+     * 协销拉机构上线
+     * <p>
+     * spi旧接口:/seller/club/register
+     *
+     * @param onlineDto ClubOnlineDto:{
+     *                  source                  注册来源: 0网站 1小程序
+     *                  userId                  协销用户ID(userID)
+     *                  name                    机构名称
+     *                  sName                   机构简称(sname)
+     *                  bindMobile              企业绑定手机号
+     *                  contractEmail           邮箱(email)
+     *                  linkMan                 联系人(linkMan1)
+     *                  provinceId             省Id
+     *                  cityId                 市Id
+     *                  townId                 县区Id
+     *                  address                地址
+     *                  shopPhoto              门头照(headpic)
+     *                  businessLicense        营业执照(businessLicenseImage)
+     *                  socialCreditCode       统一社会信用代码(socialCreditCode)
+     *                  firstClubType          一级分类:医美=1和生美=2
+     *                  secondClubType         医美的二级分类:诊所=1、门诊=2、医院=3。  生美没有二级分类
+     *                  department             医美分类下的门诊和医院则需要填写科室
+     *                  medicalPracticeLicense 医美分类必须上传医疗执业许可证(medicalPracticeLicenseImg)
+     *                  mainProduct            主打项目(mainpro)
+     *                  }
+     * @param isAgreed  是否同意勾选同意协议,1是,其他否
+     * @param headers   HttpHeaders
+     * @return ClubPo
+     */
+    @PostMapping("/club/online")
+    public ResponseJson<ClubPo> clubOnline(ClubOnlineDto onlineDto, Integer isAgreed, @RequestHeader HttpHeaders headers) {
+        return registerService.clubOnline(onlineDto, isAgreed, headers);
+    }
+
     /**
      * 小程序端分步供应商注册
      *
@@ -134,6 +170,8 @@ public class RegisterApi {
                                              @RequestHeader HttpHeaders headers) {
         return registerService.shopRegister(shopRegisterDto, passWordConfirm, smsCode, isAgreed, whichStep, headers);
     }
+
+
 }
 
 

+ 40 - 4
src/main/java/com/caimei365/user/mapper/LoginMapper.java

@@ -1,10 +1,14 @@
 package com.caimei365.user.mapper;
 
 import com.caimei365.user.model.po.OperationPo;
+import com.caimei365.user.model.vo.ClubVo;
+import com.caimei365.user.model.vo.ServiceProviderVo;
 import com.caimei365.user.model.vo.UserLoginVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * Description
  *
@@ -64,9 +68,7 @@ public interface LoginMapper {
      */
     UserLoginVo getOperationUserByOpenId(@Param("openId") String openId, @Param("source") String source);
     /**
-     * 根据openId获取运营人员
-     * @param openId
-     * @param source
+     * 根据邀请码获取运营人员
      * @param invitationCode
      * @return
      */
@@ -91,8 +93,42 @@ public interface LoginMapper {
      */
     Integer getUserIdByOpenId(@Param("openId") String openId, @Param("source") String source);
 
-
+    /**
+     * 邀请码登录更新运营人员信息
+     * @param operationPo 运营人员信息
+     */
     void updateOperationByInvitation(OperationPo operationPo);
 
+    /**
+     * 解绑更新运营人员信息
+     * @param operation 运营人员信息
+     */
     void updateOperationByUnbind(OperationPo operation);
+
+    /**
+     * 根据机构名称获取机构数量
+     *
+     * @param clubName 机构名称
+     * @return Integer
+     */
+    Integer getClubCountByClubName(String clubName);
+
+    /**
+     * 根据userId获取协销
+     * @param userId
+     * @return
+     */
+    ServiceProviderVo getServiceProviderByUserId(Integer userId);
+
+    /**
+     * 获取最大的用户Id
+     * @return
+     */
+    Integer getMaxClubId();
+
+    /**
+     * 获取最大的机构Id
+     * @return
+     */
+    Integer getMaxUserId();
 }

+ 87 - 0
src/main/java/com/caimei365/user/model/dto/ClubOnlineDto.java

@@ -0,0 +1,87 @@
+package com.caimei365.user.model.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 协销拉机构上线Dto
+ *
+ * @author : Aslee
+ * @date : 2021/3/18
+ */
+@Data
+public class ClubOnlineDto implements Serializable {
+    /**
+     * 协销用户ID
+     */
+    private Integer userId;
+    /**
+     * 机构名称
+     */
+    private String name;
+    /**
+     * 机构简称
+     */
+    private String sName;
+    /**
+     * 企业绑定手机号
+     */
+    private String bindMobile;
+    /**
+     * 联系邮箱
+     */
+    private String contractEmail;
+    /**
+     * 联系人
+     */
+    private String linkMan;
+    /**
+     * 省
+     */
+    private Integer provinceId;
+    /**
+     * 市
+     */
+    private Integer cityId;
+    /**
+     * 地址ID
+     */
+    private Integer townId;
+    /**
+     * 地址
+     */
+    private String address;
+    /**
+     * 门头照
+     */
+    private String shopPhoto;
+    /**
+     * 营业执照(businessLicenseImage)
+     */
+    private String businessLicense;
+    /**
+     * 统一社会信用代码
+     */
+    private String socialCreditCode;
+    /**
+     * 一级分类为医美=1和生美=2
+     */
+    private Integer firstClubType;
+    /**
+     * 医美的二级分类为诊所=1、门诊=2、医院=3。  生美没有二级分类
+     */
+    private Integer secondClubType;
+    /**
+     * 若为医美分类下的门诊和医院则需要填写科室。
+     */
+    private String department;
+    /**
+     * 医美分类必须上传医疗执业许可证(medicalPracticeLicenseImg)
+     */
+    private String medicalPracticeLicense;
+    /**
+     * 主打项目(mainpro)
+     */
+    private String mainProduct;
+}

+ 21 - 0
src/main/java/com/caimei365/user/model/po/ServiceProvider.java

@@ -0,0 +1,21 @@
+package com.caimei365.user.model.po;
+
+import lombok.Data;
+
+/**
+ * 协销
+ *
+ * @author : Aslee
+ * @date : 2021/3/18
+ */
+@Data
+public class ServiceProvider {
+    /**
+     * 协销Id(serviceProviderID)
+     */
+    private Integer serviceProviderId;
+    /**
+     * 协销状态,见表c_serviceproviderstatus或枚举ServiceProviderStatus
+     */
+    private Integer status;
+}

+ 2 - 10
src/main/java/com/caimei365/user/model/po/ShopPo.java

@@ -39,9 +39,9 @@ public class ShopPo implements Serializable {
      */
     private String contractMobile;
     /**
-     * 联系人1邮箱
+     * 联系人邮箱
      */
-    private String contractEmail1;
+    private String contractEmail;
     /**
      * 省
      */
@@ -78,14 +78,6 @@ public class ShopPo implements Serializable {
      * 主打项目(mainpro)
      */
     private String mainProduct;
-    /**
-     * 供应商欠款金额(供应商口头返佣欠款录入)
-     */
-    private BigDecimal rebateAmount;
-    /**
-     * 可用余额
-     */
-    private BigDecimal ableRebateAmount;
     /**
      * 添加时间
      */

+ 14 - 0
src/main/java/com/caimei365/user/model/vo/ServiceProviderVo.java

@@ -0,0 +1,14 @@
+package com.caimei365.user.model.vo;
+
+import com.caimei365.user.model.po.ServiceProvider;
+import lombok.Data;
+
+/**
+ * Description
+ *
+ * @author : Aslee
+ * @date : 2021/3/18
+ */
+@Data
+public class ServiceProviderVo extends ServiceProvider {
+}

+ 4 - 0
src/main/java/com/caimei365/user/model/vo/UserLoginVo.java

@@ -58,6 +58,10 @@ public class UserLoginVo implements Serializable {
      * 企业绑定手机号
      */
     private String bindMobile;
+    /**
+     * 运营人员手机号
+     */
+    private String operatorMobile;
     /**
      * 密码
      */

+ 4 - 0
src/main/java/com/caimei365/user/service/RegisterService.java

@@ -1,6 +1,7 @@
 package com.caimei365.user.service;
 
 import com.caimei365.user.model.ResponseJson;
+import com.caimei365.user.model.dto.ClubOnlineDto;
 import com.caimei365.user.model.dto.ClubRegisterDto;
 import com.caimei365.user.model.dto.ClubUpgradeDto;
 import com.caimei365.user.model.dto.ShopRegisterDto;
@@ -66,6 +67,8 @@ public interface RegisterService {
      */
     ResponseJson<ClubPo> clubUpgrade(ClubUpgradeDto upgradeDto, HttpHeaders headers);
 
+    ResponseJson<ClubPo> clubOnline(ClubOnlineDto onlineDto, Integer isAgreed, HttpHeaders headers);
+
     /**
      * 小程序端分步供应商注册
      *
@@ -95,4 +98,5 @@ public interface RegisterService {
      * @return ShopPo
      */
     ResponseJson<ShopPo> shopRegister(ShopRegisterDto shopRegisterDto, String passWordConfirm, String smsCode, Integer isAgreed, Integer whichStep, HttpHeaders headers);
+
 }

+ 171 - 1
src/main/java/com/caimei365/user/service/impl/RegisterServiceImpl.java

@@ -4,6 +4,7 @@ import com.caimei365.user.mapper.BaseMapper;
 import com.caimei365.user.mapper.LoginMapper;
 import com.caimei365.user.mapper.RegisterMapper;
 import com.caimei365.user.model.ResponseJson;
+import com.caimei365.user.model.dto.ClubOnlineDto;
 import com.caimei365.user.model.dto.ClubRegisterDto;
 import com.caimei365.user.model.dto.ClubUpgradeDto;
 import com.caimei365.user.model.dto.ShopRegisterDto;
@@ -11,6 +12,8 @@ import com.caimei365.user.model.po.ClubPo;
 import com.caimei365.user.model.po.OperationPo;
 import com.caimei365.user.model.po.ShopPo;
 import com.caimei365.user.model.po.UserPo;
+import com.caimei365.user.model.vo.ServiceProviderVo;
+import com.caimei365.user.model.vo.UserLoginVo;
 import com.caimei365.user.service.RegisterService;
 import com.caimei365.user.components.RedisService;
 import com.caimei365.user.utils.AliyunSmsUtil;
@@ -25,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -46,6 +50,13 @@ public class RegisterServiceImpl implements RegisterService {
     @Resource
     private RegisterMapper registerMapper;
 
+    /**
+     * 短信模板
+     */
+    private String mailTxt = "欢迎成为采美普通机构用户,您的登录账号为:%s,初始密码为:%s,您可使用该账号密码登录采美365网和【采美采购商城】小程序。登录后可升级为会员机构,享受更多更好的服务。";
+    private String memberMailTxt = "欢迎成为采美会员机构用户,您的登录账号为:%s,初始密码为:%s,您可使用该账号密码登录采美365网和【采美采购商城】小程序享受会员专属服务。";
+    private String initPassword = "caimei123";
+
     /**
      * 普通机构入驻(注册)
      *
@@ -331,6 +342,165 @@ public class RegisterServiceImpl implements RegisterService {
         return ResponseJson.success(club);
     }
 
+
+    @Override
+    public ResponseJson<ClubPo> clubOnline(ClubOnlineDto onlineDto, Integer isAgreed, HttpHeaders headers) {
+        // 打印IP
+        String ip = headers.getFirst("X-CLIENT-IP");
+        log.info("协销拉机构上线 X-CLIENT-IP : " + ip);
+        // 手机号
+        String mobile = onlineDto.getBindMobile();
+        // 参数校验
+        if (onlineDto.getUserId() == null ||  StringUtils.isBlank(onlineDto.getLinkMan()) || StringUtils.isBlank(mobile)
+                || isAgreed == null) {
+            return ResponseJson.error("参数异常", null);
+        }
+        if (1 != isAgreed) {
+            return ResponseJson.error("请勾选同意协议", null);
+        }
+        // 是否填写升级资料
+        if (!StringUtils.isBlank(onlineDto.getContractEmail())) {
+            // 邮箱验证
+            if (ValidateUtil.validateEmail(onlineDto.getContractEmail())) {
+                return ResponseJson.error("邮箱格式不正确", null);
+            }
+            Integer userIdByEmail = baseMapper.getUserIdByEmail(onlineDto.getContractEmail());
+            if (null != userIdByEmail && userIdByEmail > 0 ) {
+                return ResponseJson.error("该邮箱已被使用", null);
+            }
+            // 机构名称检查
+            ResponseJson responseJson = ValidateUtil.validateClubName(onlineDto.getName());
+            if (0 != responseJson.getCode()) {
+                return ResponseJson.error(responseJson.getMsg(), null);
+            }
+            Integer clubCount = loginMapper.getClubCountByClubName(onlineDto.getName());
+            if (clubCount != null && clubCount > 0) {
+                return ResponseJson.error("该名称已存在,请拨打电话:0755-22907771,联系采美客服", null);
+            }
+            if (onlineDto.getFirstClubType() == 1){
+                if (onlineDto.getSecondClubType() == null || StringUtils.isBlank(onlineDto.getDepartment()) || StringUtils.isBlank(onlineDto.getMedicalPracticeLicense())) {
+                    return ResponseJson.error("医美分类下参数异常", null);
+                }
+            }
+        }
+        // 手机号验证
+        UserLoginVo userByMobile = loginMapper.getLoginUserByMobileOrEmail(mobile);
+        if (userByMobile != null) {
+            ResponseJson validReason = ValidateUtil.getMobileValidateReason(mobile, userByMobile);
+            return ResponseJson.error(validReason.getMsg(), null);
+        }
+        // 协销信息
+        Integer userId = onlineDto.getUserId();
+        ServiceProviderVo serviceProvider = loginMapper.getServiceProviderByUserId(userId);
+        // 设置日期时间格式
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        String current = dateFormat.format(new Date());
+
+        /*
+            组装用户数据 user
+         */
+        UserPo user = new UserPo();
+        /*
+            组装用户数据 club
+         */
+        ClubPo club = new ClubPo();
+
+        // 是否填写升级资料
+        if (StringUtils.isBlank(onlineDto.getContractEmail())) {
+            //  状态: 已上线
+            user.setClubStatus(90);
+            // 组织名称
+            user.setName(onlineDto.getLinkMan());
+            //  状态: 已上线
+            club.setStatus(90);
+            // 机构名称
+            club.setName(onlineDto.getLinkMan());
+            // 机构简称
+            club.setSName(onlineDto.getLinkMan());
+        } else {
+            // 状态:待审查资料
+            user.setClubStatus(1);
+            // 组织名称
+            user.setName(onlineDto.getName());
+            // 邮箱
+            user.setEmail(onlineDto.getContractEmail());
+            // 邮箱
+            club.setContractEmail(onlineDto.getContractEmail());
+            // 待审查资料
+            club.setStatus(1);
+        }
+        // 协销Id
+        user.setServiceProviderId(serviceProvider.getServiceProviderId());
+        // 协销状态
+        user.setServiceProviderStatus(serviceProvider.getStatus());
+        // 小程序注册
+        user.setSource(1);
+        // 用户身份 0、个人 1、协销 2、会员机构 3、供应商 4,普通机构
+        user.setUserIdentity(4);
+        // 设置为机构( 供应商1,会员机构3,普通机构4)
+        user.setRegisterUserTypeId(4);
+        // 状态: 已上线
+        user.setUserPermission(5);
+        // 手机号
+        user.setBindMobile(mobile);
+        // 默认密码
+        user.setPassword(Md5Util.md5(initPassword));
+        user.setRegisterTime(current);
+        // 机构拉上线统称为此IP方便后面直接标记为协销代注册
+        user.setRegisterIp("192.168.1.10");
+        // 用户名
+        user.setUserName(onlineDto.getLinkMan());
+        // 同意协议标志
+        user.setAgreeFlag(1);
+        // 用户状态,1正常,0冻结
+        user.setValidFlag(1);
+        /*
+            保存数据库 user
+         */
+        registerMapper.insertClubUser(user);
+        /*
+         * 注册机构信息
+         */
+        // 设置club信息 并保存
+        club.setUserId(user.getUserId());
+        club.setContractMobile(mobile);
+        club.setLinkMan(onlineDto.getLinkMan());
+        // 设置协销ID
+        club.setServiceProviderId(serviceProvider.getServiceProviderId());
+        // 待扫描
+        club.setAddTime(current);
+        /*
+            保存数据库 club
+         */
+        registerMapper.insertClub(club);
+        /*
+         * 操作成功,推送短信给机构,获取账号密码。
+         * 协销去后台审核,机构用账号密码登录绑定微信
+         */
+        // 发送短信
+        if (StringUtils.isBlank(onlineDto.getContractEmail())) {
+            //普通机构
+            boolean smsFlag = AliyunSmsUtil.sendSms(mobile, 7, "{name:"+ mobile +",password:"+ initPassword +"}");
+            if (!smsFlag) {
+                // 短信发送失败重试一次
+                AliyunSmsUtil.sendSms(mobile, 7, "{name:"+ mobile +",password:"+ initPassword +"}");
+            }
+            // 打印短信内容
+            log.info(">>>短信内容:" + String.format(mailTxt, mobile, initPassword));
+        } else {
+            // 会员机构
+            boolean smsFlag = AliyunSmsUtil.sendSms(mobile, 6, "{name:"+ mobile +",password:"+ initPassword +"}");
+            if (!smsFlag) {
+                // 短信发送失败重试一次
+                AliyunSmsUtil.sendSms(mobile, 6, "{name:"+ mobile +",password:"+ initPassword +"}");
+            }
+            // 打印短信内容
+            log.info(">>>短信内容:" + String.format(memberMailTxt, mobile, initPassword));
+        }
+        // 返回状态
+        return ResponseJson.success(club);
+    }
+
     /**
      * 供应商注册
      *
@@ -447,7 +617,7 @@ public class RegisterServiceImpl implements RegisterService {
         // 绑定手机号
         shop.setContractMobile(shopRegisterDto.getBindMobile());
         // 绑定邮箱
-        shop.setContractEmail1(shopRegisterDto.getEmail());
+        shop.setContractEmail(shopRegisterDto.getEmail());
         // 绑定地址
         shop.setProvinceId(shopRegisterDto.getProvinceId());
         shop.setCityId(shopRegisterDto.getCityId());

+ 56 - 0
src/main/java/com/caimei365/user/utils/ValidateUtil.java

@@ -1,6 +1,7 @@
 package com.caimei365.user.utils;
 
 import com.caimei365.user.model.ResponseJson;
+import com.caimei365.user.model.vo.UserLoginVo;
 import org.apache.commons.lang.StringUtils;
 
 import java.util.regex.Matcher;
@@ -167,4 +168,59 @@ public class ValidateUtil {
             }
         }
     }
+
+    public static ResponseJson getMobileValidateReason(String mobile, UserLoginVo userByMobile) {
+        if (userByMobile != null) {
+            String userName = userByMobile.getName();
+            char[] nameArr = userName.toCharArray();
+            int length = nameArr.length;
+            switch (length) {
+                case 0:
+                    break;
+                case 1:
+                    break;
+                case 2:
+                    nameArr[0] = '*';
+                    break;
+                case 3:
+                    nameArr[0] = '*';
+                    break;
+                case 4:
+                    nameArr[2] = '*';
+                    break;
+                default:
+                    for (int i = 2; i < nameArr.length-1; i++) {
+                        nameArr[i] = '*';
+                    }
+            }
+            String showName = "";
+            for (char b : nameArr) {
+                showName += b;
+            }
+            userByMobile.setUserName(showName);
+            if ((mobile.equals(userByMobile.getBindMobile()) || mobile.equals(userByMobile.getEmail()))) {
+                //输入手机号等于用户手机号
+                if (2 == userByMobile.getUserIdentity() || 4 == userByMobile.getUserIdentity()) {
+                    return ResponseJson.error("该手机号已绑定机构(" + userByMobile.getUserName() + ")联系人,请重新填写手机号");
+                } else if (3 == userByMobile.getUserIdentity()) {
+                    return ResponseJson.error("该手机号已绑定供应商("+userByMobile.getUserName()+")联系人,请重新填写手机号");
+                }else {
+                    return ResponseJson.error("该手机号已使用");
+                }
+            }else if (mobile.equals(userByMobile.getOperatorMobile())) {
+                //输入手机号等于运营人员手机号
+                if (2 == userByMobile.getUserIdentity() || 4 == userByMobile.getUserIdentity()) {
+                    return ResponseJson.error("该手机号已绑定机构("+userByMobile.getUserName()+")运营人员,请重新填写手机号");
+                } else if (3 == userByMobile.getUserIdentity()) {
+                    return ResponseJson.error("该手机号已绑定供应商("+userByMobile.getUserName()+")运营人员,请重新填写手机号");
+                }else {
+                    return ResponseJson.error("该手机号已使用");
+                }
+            }else {
+                return ResponseJson.error("该手机号已使用");
+            }
+        } else {
+            return ResponseJson.error("该手机号已使用");
+        }
+    }
 }

+ 6 - 1
src/main/resources/mapper/BaseMapper.xml

@@ -32,6 +32,11 @@
         from town where townID = #{townID}
     </select>
     <select id="getUserByUserId" resultType="com.caimei365.user.model.vo.UserVo">
-        select * from user where userID = #{userId}
+        select userID as userId,registerUserTypeID as registerUserTypeId,source,clubID as clubId,shopID as shopId,
+               serviceProviderID as serviceProviderId,userName,email,mobile,bindMobile,password,
+               userIdentity,userPermission,name,clubStatus,manufacturerStatus,serviceProviderStatus,
+               agreeFlag,registerTime,registerIP as registerIp,validFlag
+        from user
+        where userID = #{userId}
     </select>
 </mapper>

+ 7 - 1
src/main/resources/mapper/ClubMapper.xml

@@ -35,6 +35,12 @@
         where clubID = #{clubId}
     </update>
     <select id="getClubById" resultType="com.caimei365.user.model.vo.ClubVo">
-        select * from club where clubID = #{clubId}
+        select clubID as clubId, userID as userId, name, sname as sName, contractMobile, contractEmail1,
+               contractPhone, linkMan, provinceID as proviceId, cityID as cityId, townID as townId,
+               address, headpic as shopPhoto, businessLicenseImage as businessLicense, socialCreditCode,
+               firstClubType, secondClubType, department, medicalPracticeLicenseImg as medicalPracticeLicense,
+               mainpro as mainProduct, fax, info as profile, spID as serviceProviderId, addTime, status
+        from club
+        where clubID = #{clubId}
     </select>
 </mapper>

+ 21 - 1
src/main/resources/mapper/LoginMapper.xml

@@ -31,7 +31,8 @@
                 when u.userIdentity = 3 then u.manufacturerStatus
                 when (u.userIdentity = 2 or u.userIdentity = 4) then u.clubStatus
             else 0
-            end as status
+            end as status,
+            cu.mobile as operatorMobile
         from user u
         left join cm_mall_operation_user cu on cu.userID = u.userID
         where (u.bindMobile = #{mobileOrEmail}
@@ -212,6 +213,25 @@
         AND (cou.userOrganizeID = '2' OR cou.userOrganizeID IS NULL)
         AND u.userIdentity in (2,3,4)
     </select>
+    <select id="getClubCountByClubName" resultType="java.lang.Integer">
+        SELECT
+            count(*)
+        FROM
+            club
+        WHERE
+            name = #{name}
+          AND status NOT IN (2, 20, 21, 3, 30)
+    </select>
+    <select id="getMaxClubId" resultType="java.lang.Integer">
+        SELECT
+            MAX(clubID)
+        FROM club
+    </select>
+    <select id="getMaxUserId" resultType="java.lang.Integer">
+        SELECT
+            MAX(userID)
+        FROM user
+    </select>
 
 
 </mapper>

+ 1 - 1
src/main/resources/mapper/RegisterMapper.xml

@@ -19,7 +19,7 @@
     </insert>
     <insert id="insertShop" parameterType="com.caimei365.user.model.po.ShopPo" keyProperty="shopId" useGeneratedKeys="true">
         insert into shop(`userID`, `name`, `sname`, `linkMan`, `contractMobile`, `contractEmail1`, `provinceID`, `cityID`, `townID`, `address`, `socialCreditCode`, `businessLicenseImage`, `firstShopType`, `secondShopType`, `mainpro`, `addTime`, `validFlag`, `status`)
-        values(#{userId},#{name},#{sName},#{linkMan},#{contractMobile},#{contractEmail1},#{provinceId},#{cityId},#{townId},#{address},#{socialCreditCode},#{businessLicense},#{firstShopType},#{secondShopType},#{mainProduct},#{addTime},#{validFlag},#{status})
+        values(#{userId},#{name},#{sName},#{linkMan},#{contractMobile},#{contractEmail},#{provinceId},#{cityId},#{townId},#{address},#{socialCreditCode},#{businessLicense},#{firstShopType},#{secondShopType},#{mainProduct},#{addTime},#{validFlag},#{status})
     </insert>
     <update id="updateUserClubId">
         update user set clubID = #{clubId} where userID = #{userId}

+ 4 - 1
src/main/resources/mapper/ShopMapper.xml

@@ -109,6 +109,9 @@
         SELECT image FROM shopcert WHERE shopID = #{shopId} AND shopCertTypeID = #{shopCertTypeId}
     </select>
     <select id="getShopById" resultType="com.caimei365.user.model.vo.ShopVo">
-        select * from shop where shopID = #{shopId}
+        select userID as userId, shopID as shopId, name, sname as sName, linkMan, contractMobile,
+               contractEmail1 as contractEmail, provinceID as proviceId, cityID as cityId, townID as townId,
+               address, socialCreditCode, businessLicenseImage as businessLicense, firstShopType,
+               secondShopType, mainpro as mainProduct, addTime, status, validFlag from shop where shopID = #{shopId}
     </select>
 </mapper>