Prechádzať zdrojové kódy

1、调整销售授权登录;2、优化h5获取课程营期下拉框接口

caoliqin 1 mesiac pred
rodič
commit
ddd6fa961a

+ 14 - 9
fs-company-app/src/main/java/com/fs/app/controller/WxCompanyUserController.java

@@ -68,10 +68,15 @@ public class WxCompanyUserController extends AppBaseController {
             WxMaUserInfo userInfo = wxService.getUserService().getUserInfo(session.getSessionKey(), param.getEncryptedData(), param.getIv());
             CompanyUser companyUser = companyUserService.getCompanyUserByOpenId(session.getOpenid());
             String ip = IpUtil.getRequestIp();
+
+            // 如果公司id为空(表示可能是该公司的第一位销售管理员),则需要根据电话号码判断是否存在销售,如果不存在则提示
+            CompanyUser checkPhone = companyUserService.getCompanyUserByPhone(phoneNoInfo.getPhoneNumber());
+            if (param.getCompanyId() == null) {
+                if (checkPhone == null) {
+                    throw new CustomException("由于不是管理员,不能直接登录", 401);
+                }
+            }
             if (companyUser == null) {
-                //查询用户手机号是否存在,如果存在则更新
-//                FsUser checkPhone = userService.selectFsUserByPhone(phoneNoInfo.getPhoneNumber());
-                CompanyUser checkPhone = companyUserService.getCompanyUserByPhone(phoneNoInfo.getPhoneNumber());
                 if (checkPhone != null) {
                     if (checkPhone.getMaOpenId() == null) {
                         companyUser = checkPhone;
@@ -79,21 +84,21 @@ public class WxCompanyUserController extends AppBaseController {
                         companyUser.setUserId(companyUser.getUserId());
                         companyUser.setUpdateTime(new DateTime());
                         companyUser.setLoginIp(ip);
-                        companyUserService.updateUser(companyUser);
+                        companyUserService.updateUserProfile(companyUser);
                     } else {
                         throw new CustomException("此手机号用户已存在");
                     }
                 } else {
                     //新增
                     companyUser = new CompanyUser();
-                    companyUser.setUserName(param.getPhoneNumber());
-                    companyUser.setNickName(param.getNickName());
-                    companyUser.setPhonenumber(param.getPhoneNumber());
+                    companyUser.setUserName(phoneNoInfo.getPhoneNumber());
+                    companyUser.setNickName(userInfo.getNickName());
+                    companyUser.setPhonenumber(phoneNoInfo.getPhoneNumber());
                     companyUser.setSex(userInfo != null ? userInfo.getGender() : "0");
                     companyUser.setPassword(SecurityUtils.encryptPassword(companyUser.getPassword()));
                     companyUser.setCreateTime(new Date());
                     companyUser.setCompanyId(param.getCompanyId());
-                    companyUser.setParentId(param.getParentId());
+                    companyUser.setParentId(param.getParentCompanyUseId());
                     companyUser.setMaOpenId(session.getOpenid());
 
                     //部门信息
@@ -109,7 +114,7 @@ public class WxCompanyUserController extends AppBaseController {
                 companyUserMp.setUserId(companyUser.getUserId());
                 companyUserMp.setUpdateTime(new DateTime());
                 companyUserMp.setLoginIp(ip);
-                companyUserService.updateUser(companyUser);
+                companyUserService.updateUserProfile(companyUser);
             }
             String token = jwtUtils.generateToken(companyUser.getUserId());
             return R.ok("登录成功").put("token", token).put("companyUser", companyUser);

+ 5 - 8
fs-company-app/src/main/java/com/fs/app/param/LoginMaWxParam.java

@@ -19,16 +19,13 @@ public class LoginMaWxParam implements Serializable {
     @ApiModelProperty(value = "小程序加密算法的初始向量")
     private String iv;
 
-    @ApiModelProperty(value = "公司id")
+    @ApiModelProperty(value = "公司id,如果不是第一位销售,都需要传")
     private Long companyId;
 
-    @ApiModelProperty(value = "电话号码")
-    private String phoneNumber;
+//    @ApiModelProperty(value = "电话号码")
+//    private String phoneNumber;
 
-    @ApiModelProperty(value = "昵称")
-    private String nickName;
-
-    @ApiModelProperty(value = "上级销售id")
-    private Long parentId;
+    @ApiModelProperty(value = "上级销售id,如果没有则不传")
+    private Long parentCompanyUseId;
 
 }

+ 1 - 1
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCourseVideoRedPackageServiceImpl.java

@@ -181,7 +181,7 @@ public class FsUserCourseVideoRedPackageServiceImpl implements IFsUserCourseVide
     }
 
     private void batchUpdateRedPackage(List<FsUserCourseVideoRedPackage> list) {
-        // 分批次处理(避免一次性提交太多)
+        // 分批次处理(避免一次性提交太多,为后续如果数据量太大做准备
         List<List<FsUserCourseVideoRedPackage>> batches = Lists.partition(list, 500);
         batches.forEach(batch -> {
             SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);

+ 4 - 0
fs-service-system/src/main/resources/mapper/company/CompanyUserMapper.xml

@@ -137,6 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="domain != null">`domain`,</if>
             <if test="isAudit != null">`is_audit`,</if>
             <if test="addressId != null">`address_id`,</if>
+            <if test="maOpenId != null">`ma_open_id`,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="companyId != null">#{companyId},</if>
@@ -169,6 +170,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="domain != null">#{domain},</if>
             <if test="isAudit != null">#{isAudit},</if>
             <if test="addressId != null">#{addressId},</if>
+            <if test="maOpenId != null">#{maOpenId},</if>
          </trim>
     </insert>
 
@@ -204,6 +206,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="domain != null">`domain` = #{domain},</if>
             <if test="isAudit != null">`is_audit` = #{isAudit},</if>
             <if test="addressId != null">`address_id` = #{addressId},</if>
+            <if test="maOpenId != null">`ma_open_id` = #{maOpenId},</if>
         </trim>
         where user_id = #{userId}
     </update>
@@ -239,6 +242,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="domain != null">`domain` = #{domain},</if>
             <if test="isAudit != null">`is_audit` = #{isAudit},</if>
             <if test="addressId != null">`address_id` = #{addressId},</if>
+            <if test="maOpenId != null">`ma_open_id` = #{maOpenId},</if>
         </trim>
         where company_id = #{companyId}
     </update>

+ 1 - 6
fs-service-system/src/main/resources/mapper/course/FsUserCourseMapper.xml

@@ -233,16 +233,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <select id="getFsUserCourseList" resultType="FsUserCourseListVO">
         SELECT DISTINCT
         fcp.period_id,
-        fcp.period_name,
-        c.*,
-        cc.cate_name,
-        ucc.cate_name AS sub_cate_name
+        fcp.period_name
         FROM
         fs_user_course_period fcp
         LEFT JOIN fs_user_course_period_days fcpd ON fcpd.period_id = fcp.period_id
         LEFT JOIN fs_user_course c ON c.course_id = fcpd.course_id
-        LEFT JOIN fs_user_course_category cc ON c.cate_id = cc.cate_id
-        LEFT JOIN fs_user_course_category ucc ON ucc.cate_id = c.sub_cate_id
         WHERE
         c.is_del = 0
         AND FIND_IN_SET(#{companyId}, fcp.company_id)