Kaynağa Gözat

feat: 1、会员列表和数量接口调整,并展示重粉所属销售;2、 重粉和黑名单功能;3、黑名单启用功能调整;4、小程序授权登录调整

caoliqin 4 hafta önce
ebeveyn
işleme
c77e52771f

+ 5 - 0
fs-company-app/src/main/java/com/fs/app/controller/FsUserController.java

@@ -118,6 +118,11 @@ public class FsUserController extends AppBaseController {
     @PostMapping("/enabled")
     @ApiOperation("批量启用会员")
     public ResponseResult<Boolean> enabledUser(@ApiParam(value = "联系人id集合", required = true) @RequestBody String[] ids) {
+        // 如果存在重粉的数据,则禁止启用,需要提示
+        Integer count = fsUserService.selectFsUserByUserIds(ids);
+        if(count > 0){
+            return ResponseResult.fail(400, "重粉会员不能移除小黑屋");
+        }
         Boolean r = fsUserService.disabledUser(ids, true);
         return ResponseResult.ok(r);
     }

+ 25 - 9
fs-service-system/src/main/java/com/fs/course/service/impl/FsUserCourseVideoServiceImpl.java

@@ -3,6 +3,7 @@ package com.fs.course.service.impl;
 import cn.hutool.core.util.NumberUtil;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fs.common.BeanCopyUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
@@ -39,7 +40,9 @@ import com.fs.qwApi.service.QwApiService;
 import com.fs.sop.mapper.QwSopLogsMapper;
 import com.fs.sop.mapper.SopUserLogsInfoMapper;
 import com.fs.store.domain.FsUser;
+import com.fs.store.domain.FsUserCompanyUser;
 import com.fs.store.domain.FsUserIntegralLogs;
+import com.fs.store.mapper.FsUserCompanyUserMapper;
 import com.fs.store.mapper.FsUserIntegralLogsMapper;
 import com.fs.store.mapper.FsUserMapper;
 import com.fs.store.service.IFsStorePaymentService;
@@ -143,6 +146,9 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
     @Autowired
     private FsUserCoursePeriodDaysMapper fsUserCoursePeriodDaysMapper;
 
+    @Autowired
+    private FsUserCompanyUserMapper fsUserCompanyUserMapper;
+
     /**
      * 查询课堂视频
      *
@@ -923,21 +929,22 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
         //查询用户
         FsUser fsUser = fsUserMapper.selectFsUserById(param.getUserId());
         if (fsUser == null){
-            return ResponseResult.fail(401,"未授权");
+            return ResponseResult.fail(404,"当前用户信息不存在");
         }
 
         //判断该销售是否存在
         CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getCompanyUserId());
         if (companyUser == null){
-            return ResponseResult.fail(500,"销售不存在");
+            return ResponseResult.fail(405,"当前销售不存在");
         }
 
-        //判断该用户是否绑定了该销售
-        FsUser userParam = new FsUser();
-        userParam.setCompanyUserId(param.getCompanyUserId());
-        userParam.setUserId(param.getUserId());
-        List<FsUser> fsUserCompany = fsUserMapper.selectFsUserList(userParam);
-        if(fsUserCompany != null && !fsUserCompany.isEmpty()){
+        //判断:1、如果没有绑定销售,就提示;
+        //2、如果只绑定了当前销售,需要添加看课记录(正常流程);
+        //3、以上都不是,则标识重粉,需要加入关系表
+        if(fsUser.getCompanyUserId() == null) {
+            return ResponseResult.fail(503, "暂时未绑定销售,请联系管理员");
+        }
+        if(companyUser.getUserId().equals(fsUser.getCompanyUserId())){
             //查询看课记录
             FsCourseWatchLog log = new FsCourseWatchLog();
             log.setUserId(param.getUserId());
@@ -970,7 +977,16 @@ public class FsUserCourseVideoServiceImpl implements IFsUserCourseVideoService
                 courseWatchLogMapper.insertFsCourseWatchLog(fsCourseWatchLog);
             }
         } else {
-            return ResponseResult.ok(Boolean.FALSE);
+            FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();
+            fsUserCompanyUser.setIsRepeatFans(1);
+            fsUserCompanyUser.setUserId(param.getUserId());
+            fsUserCompanyUser.setCompanyId(param.getCompanyId());
+            fsUserCompanyUser.setCompanyUserId(param.getCompanyUserId());
+            QueryWrapper<FsUserCompanyUser> queryWrapper = new QueryWrapper<FsUserCompanyUser>().eq("user_id", param.getUserId()).eq("company_user_id", param.getCompanyUserId());
+            Integer i = fsUserCompanyUserMapper.selectCount(queryWrapper);
+            if(i == 0) {
+                fsUserCompanyUserMapper.insertFsUserCompanyUser(fsUserCompanyUser);
+            }
         }
         return ResponseResult.ok(Boolean.TRUE);
     }

+ 6 - 0
fs-service-system/src/main/java/com/fs/store/domain/FsUserCompanyUser.java

@@ -1,6 +1,8 @@
 package com.fs.store.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.fs.common.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import com.fs.common.core.domain.BaseEntity;
 import lombok.EqualsAndHashCode;
@@ -34,5 +36,9 @@ public class FsUserCompanyUser extends BaseEntity{
     @Excel(name = "是否重粉,1-是;0-否")
     private Integer isRepeatFans;
 
+    @TableField(exist = false)
+    @ApiModelProperty(value = "重粉所属销售,多个用逗号隔开")
+    private String repeatCompanyUserName;
+
 
 }

+ 24 - 7
fs-service-system/src/main/java/com/fs/store/mapper/FsUserCompanyUserMapper.java

@@ -3,17 +3,19 @@ package com.fs.store.mapper;
 import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.fs.store.domain.FsUserCompanyUser;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 
 /**
  * 微信用户和销售关系Mapper接口
- * 
+ *
  * @author fs
  * @date 2025-05-09
  */
 public interface FsUserCompanyUserMapper extends BaseMapper<FsUserCompanyUser>{
     /**
      * 查询微信用户和销售关系
-     * 
+     *
      * @param id 微信用户和销售关系主键
      * @return 微信用户和销售关系
      */
@@ -21,7 +23,7 @@ public interface FsUserCompanyUserMapper extends BaseMapper<FsUserCompanyUser>{
 
     /**
      * 查询微信用户和销售关系列表
-     * 
+     *
      * @param fsUserCompanyUser 微信用户和销售关系
      * @return 微信用户和销售关系集合
      */
@@ -29,7 +31,7 @@ public interface FsUserCompanyUserMapper extends BaseMapper<FsUserCompanyUser>{
 
     /**
      * 新增微信用户和销售关系
-     * 
+     *
      * @param fsUserCompanyUser 微信用户和销售关系
      * @return 结果
      */
@@ -37,7 +39,7 @@ public interface FsUserCompanyUserMapper extends BaseMapper<FsUserCompanyUser>{
 
     /**
      * 修改微信用户和销售关系
-     * 
+     *
      * @param fsUserCompanyUser 微信用户和销售关系
      * @return 结果
      */
@@ -45,7 +47,7 @@ public interface FsUserCompanyUserMapper extends BaseMapper<FsUserCompanyUser>{
 
     /**
      * 删除微信用户和销售关系
-     * 
+     *
      * @param id 微信用户和销售关系主键
      * @return 结果
      */
@@ -53,9 +55,24 @@ public interface FsUserCompanyUserMapper extends BaseMapper<FsUserCompanyUser>{
 
     /**
      * 批量删除微信用户和销售关系
-     * 
+     *
      * @param ids 需要删除的数据主键集合
      * @return 结果
      */
     int deleteFsUserCompanyUserByIds(Long[] ids);
+
+    /**
+     * 获取当前销售的所有重粉会员
+     * @param companyUserId
+     * @return
+     */
+    @Select("select user_id from fs_user_company_user where company_user_id = #{userId} and is_repeat_fans = 1 ")
+    List<FsUserCompanyUser> selectRepeatUser(Long companyUserId);
+
+    /**
+     * 获取会员的重粉的所属销售
+     * @param userIds 用户会员ids
+     * @return
+     */
+    List<FsUserCompanyUser> selectRepeatCompanyUserName(@Param("userIds") List<Long> userIds);
 }

+ 7 - 0
fs-service-system/src/main/java/com/fs/store/mapper/FsUserMapper.java

@@ -287,4 +287,11 @@ public interface FsUserMapper
      * @return  list
      */
     List<OptionsVO> selectUserListByMap(@Param("params") Map<String, Object> params);
+
+    /**
+     * 查询重粉用户是否存在
+     * @param userIds 会员ids
+     * @return
+     */
+    Integer selectFsUserByUserIds(@Param("userIds") String[] userIds);
 }

+ 8 - 0
fs-service-system/src/main/java/com/fs/store/service/IFsUserService.java

@@ -20,6 +20,7 @@ import com.fs.store.vo.FSUserVO;
 import com.fs.store.vo.FsCompanyUserListQueryVO;
 import com.fs.store.vo.FsUserTuiVO;
 import com.fs.store.vo.h5.*;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -145,6 +146,13 @@ public interface IFsUserService
 
     UserDetailsVO getUserDetails(Long userId, Long fsUserId, String dateTag);
 
+    /**
+     * 查询重粉用户是否存在
+     * @param userIds
+     * @return
+     */
+    Integer selectFsUserByUserIds(@Param("userIds") String[] userIds);
+
     Boolean disabledUser(String[] ids, boolean status);
 
     void transfer(FsUserTransferParamDTO param);

+ 68 - 11
fs-service-system/src/main/java/com/fs/store/service/impl/FsUserServiceImpl.java

@@ -2,6 +2,7 @@ package com.fs.store.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.fs.common.constant.HttpStatus;
 import com.fs.common.core.domain.R;
@@ -34,6 +35,7 @@ import com.fs.store.dto.FsUserTransferParamDTO;
 import com.fs.store.enums.BillDetailEnum;
 import com.fs.store.mapper.FsStoreOrderMapper;
 import com.fs.store.mapper.FsStoreProductAttrValueMapper;
+import com.fs.store.mapper.FsUserCompanyUserMapper;
 import com.fs.store.mapper.FsUserMapper;
 import com.fs.store.param.SelectCusListPageParam;
 import com.fs.store.param.h5.CourseAnalysisParam;
@@ -108,6 +110,9 @@ public class FsUserServiceImpl implements IFsUserService
 
     @Autowired
     private ICompanyTagCacheService companyTagCacheService;
+
+    @Autowired
+    private FsUserCompanyUserMapper fsUserCompanyUserMapper;
     /**
      * 查询用户
      *
@@ -442,7 +447,27 @@ public class FsUserServiceImpl implements IFsUserService
 
     @Override
     public List<FsUserPageListVO> selectFsUserPageList(FsUserPageListParam param) {
-        return fsUserMapper.selectFsUserPageList(param);
+        List<FsUserPageListVO> fsUserPageListVOS = fsUserMapper.selectFsUserPageList(param);
+
+        // 获取当前销售所有重粉会员
+        List<FsUserCompanyUser> fsUserCompanyUsers = fsUserCompanyUserMapper.selectRepeatUser(param.getUserId());
+
+        if(!fsUserCompanyUsers.isEmpty()){
+            List<Long> userIds = fsUserCompanyUsers.stream().map(FsUserCompanyUser::getUserId).collect(Collectors.toList());
+            // 获取会员所属的重粉销售
+            List<FsUserCompanyUser> repeatCompanyUserNames = fsUserCompanyUserMapper.selectRepeatCompanyUserName(userIds);
+            Map<Long, String> map = repeatCompanyUserNames.stream().collect(Collectors.toMap(FsUserCompanyUser::getUserId, FsUserCompanyUser::getRepeatCompanyUserName));
+
+            return fsUserPageListVOS.stream().map(v -> {
+                FsUserPageListVO fsUserPageListVO = new FsUserPageListVO();
+                BeanUtils.copyProperties(v, fsUserPageListVO);
+                fsUserPageListVO.setRepeatCompanyUserName(map.get(v.getUserId()));
+                return fsUserPageListVO;
+            }).collect(Collectors.toList());
+
+        } else {
+            return fsUserPageListVOS;
+        }
     }
 
     @Override
@@ -535,6 +560,11 @@ public class FsUserServiceImpl implements IFsUserService
         return vo;
     }
 
+    @Override
+    public Integer selectFsUserByUserIds(String[] userIds) {
+        return fsUserMapper.selectFsUserByUserIds(userIds);
+    }
+
     @Override
     public Boolean disabledUser(String[] ids, boolean status) {
         boolean result;
@@ -740,31 +770,38 @@ public class FsUserServiceImpl implements IFsUserService
     @Transactional(rollbackFor = Exception.class)
     public ResponseResult<Boolean> becomeMember(FsUserCourseBeMemberParam param) {
         //查询用户
-        FsUser fsUser = fsUserMapper.selectFsUserById(param.getUserId());
+         FsUser fsUser = fsUserMapper.selectFsUserById(param.getUserId());
         if (Objects.isNull(fsUser)){
-            return ResponseResult.fail(401,"未授权");
-        }
-        if (fsUser.getCompanyUserId() != null && !param.getCompanyUserId().equals(fsUser.getCompanyUserId())){
-            return ResponseResult.fail(500,"该用户已成为其他销售会员");
+            return ResponseResult.fail(404,"当前用户信息不存在");
         }
 
         //判断该销售是否存在
         CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getCompanyUserId());
         if (Objects.isNull(companyUser)){
-            return ResponseResult.fail(500,"销售不存在");
+            return ResponseResult.fail(405,"销售不存在");
         }
 
-        // 关联销售
-        fsUser.setCompanyId(param.getCompanyId());
-        fsUser.setCompanyUserId(param.getCompanyUserId());
+        // 判断是否绑定了销售
+        FsUserCompanyUser fsUserCompanyUser = getFsUserCompanyUser(param, fsUser);
+        QueryWrapper<FsUserCompanyUser> queryWrapper = new QueryWrapper<FsUserCompanyUser>().eq("user_id", param.getUserId()).eq("company_user_id", param.getCompanyUserId());
+        Integer i = fsUserCompanyUserMapper.selectCount(queryWrapper);
+        if(i == 0) {
+            fsUserCompanyUserMapper.insertFsUserCompanyUser(fsUserCompanyUser);
+        }
 
+        // 关联销售
+        if(fsUser.getCompanyUserId() == null) {
+            fsUser.setCompanyId(param.getCompanyId());
+            fsUser.setCompanyUserId(param.getCompanyUserId());
+        }
         // 特殊(需求设计:需要根据公司是否开启黑名单来设置会员初始化的状态)
         Company company = null;
         if(param.getCompanyId() != null) {
             company = companyMapper.selectCompanyById(param.getCompanyId());
         }
         // isDefaultBlack 值为1 ,表示需要加入小黑屋,否则不加
-        fsUser.setStatus((company != null ? company.getFsUserIsDefaultBlack() : 0) == 1 ? 0 : 1);
+        int isDefaultBlack = company != null ? company.getFsUserIsDefaultBlack() : 0;
+        fsUser.setStatus(isDefaultBlack == 1 ? 0 : 1);
         fsUserMapper.updateFsUser(fsUser);
 
         // 不为空则添加新标签
@@ -784,9 +821,29 @@ public class FsUserServiceImpl implements IFsUserService
             companyTagUser.setCreateTime(new Date());
             companyTagUserMapper.insertCompanyTagUser(companyTagUser);
         }
+
+        //如果是设置了需要进入小黑屋,则需要返回提示,否则正常返回
+        if(isDefaultBlack == 1){
+            return ResponseResult.fail(402, "已成功注册,待管理审核");
+        }
         return ResponseResult.ok(Boolean.TRUE);
     }
 
+    // 判断是否绑定了销售
+    private static FsUserCompanyUser getFsUserCompanyUser(FsUserCourseBeMemberParam param, FsUser fsUser) {
+        FsUserCompanyUser fsUserCompanyUser = new FsUserCompanyUser();
+        // 判断是否绑定了销售,如果已绑定,则需要标识为重粉,且放黑名单
+        if (fsUser.getCompanyUserId() != null && !fsUser.getCompanyUserId().equals(param.getCompanyUserId())) {
+            fsUserCompanyUser.setIsRepeatFans(1);
+        } else {
+            fsUserCompanyUser.setIsRepeatFans(0);
+        }
+        fsUserCompanyUser.setUserId(param.getUserId());
+        fsUserCompanyUser.setCompanyId(param.getCompanyId());
+        fsUserCompanyUser.setCompanyUserId(param.getCompanyUserId());
+        return fsUserCompanyUser;
+    }
+
     /**
      * 查询会员选项列表
      * @param params    参数

+ 6 - 0
fs-service-system/src/main/java/com/fs/store/vo/h5/FsUserPageListVO.java

@@ -80,4 +80,10 @@ public class FsUserPageListVO {
     @ApiModelProperty(value = "是否属于当前销售")
     private int isCurrentCompanyUser;
 
+    @ApiModelProperty(value = "是否是重粉,1-是,0-否")
+    private int isRepeatFans;
+
+    @ApiModelProperty(value = "重粉所属销售,多个用逗号隔开")
+    private String repeatCompanyUserName;
+
 }

+ 17 - 0
fs-service-system/src/main/resources/mapper/store/FsUserCompanyUserMapper.xml

@@ -70,4 +70,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
+
+    <select id="selectRepeatCompanyUserName" resultType="FsUserCompanyUser">
+        SELECT
+            GROUP_CONCAT( company_user.nick_name ) AS repeatCompanyUserName,
+            fs_user_company_user.user_id
+        FROM
+            fs_user_company_user
+                LEFT JOIN company_user ON company_user.user_id = fs_user_company_user.company_user_id
+        <where>
+            fs_user_company_user.user_id IN
+            <foreach item="userId" collection="userIds" open="(" separator="," close=")">
+                #{userId}
+            </foreach>
+        </where>
+        GROUP BY
+            fs_user_company_user.user_id
+    </select>
 </mapper>

+ 18 - 4
fs-service-system/src/main/resources/mapper/store/FsUserMapper.xml

@@ -428,13 +428,15 @@
         fs_user_course_count.complete_watch_date,
         GROUP_CONCAT(DISTINCT company_tag.tag) AS tag,
         GROUP_CONCAT(DISTINCT company_tag.tag_id) AS tagIds,
-        company_user.nick_name as companyUserNickName
+        company_user.nick_name as companyUserNickName,
+        fs_user_company_user.is_repeat_fans
         FROM
         fs_user
-        left join company_user on fs_user.company_user_id = company_user.user_id
         LEFT JOIN fs_user_course_count ON fs_user.user_id = fs_user_course_count.user_id
         LEFT JOIN company_tag_user ON fs_user.user_id = company_tag_user.user_id
         LEFT JOIN company_tag ON FIND_IN_SET(company_tag.tag_id, company_tag_user.tag_ids) > 0
+        LEFT JOIN fs_user_company_user ON fs_user_company_user.user_id = fs_user.user_id
+        LEFT JOIN company_user ON company_user.user_id = fs_user_company_user.company_user_id
         where fs_user.is_del = 0
         <if test="userId != null and userId !='' ">
             and (company_user.user_id = #{userId} OR company_user.parent_id = #{userId} )
@@ -528,10 +530,11 @@
     <select id="getUserNumber" resultType="UserListCountVO">
         SELECT
             fs_user.`status` as status,
-            count( fs_user.user_id ) as num
+            count( DISTINCT fs_user.user_id ) AS num
         FROM
             fs_user
-                LEFT JOIN company_user ON fs_user.company_user_id = company_user.user_id
+                LEFT JOIN fs_user_company_user ON fs_user_company_user.user_id = fs_user.user_id
+                LEFT JOIN company_user ON company_user.user_id = fs_user_company_user.company_user_id
         WHERE
            (company_user.user_id = #{userId} OR company_user.parent_id = #{userId} )
             and fs_user.is_del = 0
@@ -1305,4 +1308,15 @@
         </where>
     </select>
 
+    <select id ="selectFsUserByUserIds" resultType="Integer">
+        select count(1) from fs_user_company_user
+        where is_repeat_fans = 1
+        <if test="userIds != null and userIds.length > 0 ">
+            and fs_user_company_user.user_id in
+            <foreach collection="userIds" open="(" close=")" separator="," item="userId">
+                #{userId}
+            </foreach>
+        </if>
+    </select>
+
 </mapper>

+ 34 - 21
fs-user-app/src/main/java/com/fs/app/controller/WxCompanyUserController.java

@@ -10,6 +10,7 @@ import com.fs.app.param.LoginMaWxParam;
 import com.fs.app.utils.JwtUtils;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
+import com.fs.common.utils.IpUtil;
 import com.fs.common.utils.ServletUtils;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.service.ICompanyDeptService;
@@ -71,7 +72,7 @@ public class WxCompanyUserController extends AppBaseController {
             // 解密
             WxMaPhoneNumberInfo phoneNoInfo = wxService.getUserService().getPhoneNoInfo(session.getSessionKey(), param.getEncryptedData(), param.getIv());
             WxMaUserInfo userInfo = wxService.getUserService().getUserInfo(session.getSessionKey(), param.getEncryptedData(), param.getIv());
-
+            FsUser user = userService.selectFsUserByPhone(phoneNoInfo.getPhoneNumber());
             //以下暂时注释,不需要往销售表添加数据
 //            CompanyUser companyUser = companyUserService.getCompanyUserByOpenId(session.getOpenid());
 //            String ip = IpUtil.getRequestIp();
@@ -125,31 +126,43 @@ public class WxCompanyUserController extends AppBaseController {
 //                companyUserMp.setLoginIp(ip);
 //                companyUserService.updateUserProfile(companyUser);
 //            }
-
-            // 添加会员表数据
-            FsUser user = userService.selectFsUserByMpOpenId(session.getOpenid());
-            if (user != null) {
-                //修改
+            String ip = IpUtil.getRequestIp();
+            if (user == null) {
+                user = userService.selectFsUserByMaOpenId(session.getOpenid());
+                if (user != null) {
+                    //修改
+                    FsUser userMap = new FsUser();
+                    userMap.setUserId(user.getUserId());
+//                userMap.setMpOpenId(session.getOpenid());
+                    userMap.setMaOpenId(session.getOpenid());
+                    userMap.setUnionId(session.getUnionid());
+                    userMap.setUpdateTime(new DateTime());
+                    userMap.setNickname(userInfo.getNickName() != null ? userInfo.getNickName() : "微信用户");
+                    userMap.setAvatar(userInfo.getAvatarUrl() != null ? userInfo.getAvatarUrl() : null);
+                    userMap.setPhone(phoneNoInfo.getPhoneNumber());
+                    userService.updateFsUser(userMap);
+                } else {
+                    //新增
+                    user = new FsUser();
+                    user.setNickname(userInfo.getNickName() != null ? userInfo.getNickName() : "微信用户");
+                    user.setAvatar(userInfo.getAvatarUrl() != null ? userInfo.getAvatarUrl() : null);
+                    user.setStatus(1);
+                    user.setMaOpenId(session.getOpenid());
+                    user.setUnionId(session.getUnionid());
+                    user.setCreateTime(new Date());
+                    user.setPhone(phoneNoInfo.getPhoneNumber());
+                    userService.insertFsUser(user);
+                }
+            } else {
                 FsUser userMap = new FsUser();
                 userMap.setUserId(user.getUserId());
-                userMap.setMpOpenId(session.getOpenid());
-                userMap.setUnionId(session.getUnionid());
                 userMap.setUpdateTime(new DateTime());
-                userMap.setNickname(userInfo.getNickName() != null ? userInfo.getNickName() : "微信用户");
-                userMap.setAvatar(userInfo.getAvatarUrl() != null ? userInfo.getAvatarUrl() : null);
                 userMap.setPhone(phoneNoInfo.getPhoneNumber());
+                userMap.setLastIp(ip);
+                if (StringUtils.isNotEmpty(session.getUnionid())) {
+                    userMap.setUnionId(session.getUnionid());
+                }
                 userService.updateFsUser(userMap);
-            } else {
-                //新增
-                user = new FsUser();
-                user.setNickname(userInfo.getNickName() != null ? userInfo.getNickName() : "微信用户");
-                user.setAvatar(userInfo.getAvatarUrl() != null ? userInfo.getAvatarUrl() : null);
-                user.setStatus(1);
-                user.setMpOpenId(session.getOpenid());
-                user.setUnionId(session.getUnionid());
-                user.setCreateTime(new Date());
-                user.setPhone(phoneNoInfo.getPhoneNumber());
-                userService.insertFsUser(user);
             }
             log.info("保存成功的用户信息user: {}, 用户id: {}", user, user.getUserId());
             String token = jwtUtils.generateToken(user.getUserId());

+ 1 - 0
fs-user-app/src/main/java/com/fs/app/controller/WxH5MpController.java

@@ -78,6 +78,7 @@ public class WxH5MpController {
                 userMap.setUserId(user.getUserId());
                 userMap.setMpOpenId(wxMpUser.getOpenid());
                 userMap.setUpdateTime(new DateTime());
+                userMap.setAvatar(wxMpUser.getHeadImgUrl());
                 userMap.setNickname(wxMpUser.getNickname());
                 userService.updateFsUser(userMap);
             } else {