Browse Source

Merge remote-tracking branch 'origin/master'

zx 3 days ago
parent
commit
c54083e213

+ 6 - 0
fs-company-app/src/main/java/com/fs/app/controller/CompanyUserController.java

@@ -11,6 +11,7 @@ import com.fs.common.annotation.RepeatSubmit;
 import com.fs.common.constant.UserConstants;
 import com.fs.common.core.domain.R;
 import com.fs.common.exception.ServiceException;
+import com.fs.common.utils.PatternUtils;
 import com.fs.common.utils.bean.BeanUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyDept;
@@ -158,6 +159,11 @@ public class CompanyUserController extends AppBaseController {
             return R.error("注册用户'" + param.getPhoneNumber() + "'失败,登录账号已存在");
         }
 
+        // 密码校验
+        if (!PatternUtils.checkPassword(param.getPassword())) {
+            return R.error("密码格式不正确,需包含字母、数字和特殊字符,长度为 8-20位");
+        }
+
         // 组装参数
         CompanyUser companyUser = new CompanyUser();
         BeanUtils.copyProperties(param, companyUser);

+ 11 - 8
fs-company-app/src/main/java/com/fs/app/controller/UserController.java

@@ -4,9 +4,11 @@ import cn.hutool.core.lang.Validator;
 import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.fs.app.annotation.Login;
-import com.fs.app.param.*;
+import com.fs.app.param.EditPwdParam;
+import com.fs.app.param.EditUserInfoParam;
+import com.fs.app.param.EditUserQrCodeParam;
+import com.fs.app.param.LoginParam;
 import com.fs.app.utils.JwtUtils;
-import com.fs.app.vo.CompanySubUserVO;
 import com.fs.app.vo.CompanyUserAppVO;
 import com.fs.app.vo.UserListVO;
 import com.fs.app.vo.UserVO;
@@ -15,23 +17,20 @@ import com.fs.common.config.FSConfig;
 import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.exception.BaseException;
-import com.fs.common.exception.CustomException;
 import com.fs.common.exception.ServiceException;
+import com.fs.common.utils.PatternUtils;
 import com.fs.common.utils.PinYinUtil;
-
 import com.fs.common.utils.StringUtils;
 import com.fs.common.utils.bean.BeanUtils;
 import com.fs.common.utils.http.HttpUtils;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyUser;
 import com.fs.company.domain.CompanyUserCard;
-import com.fs.company.param.BaseQueryParam;
 import com.fs.company.param.CompanyUserCardQueryParam;
 import com.fs.company.service.*;
 import com.fs.company.vo.CompanyUserVO;
 import com.fs.core.security.SecurityUtils;
 import com.fs.course.service.IFsCourseRedPacketLogService;
-import com.fs.his.param.BaseParam;
 import com.fs.store.service.IFsUserService;
 import com.fs.wx.miniapp.config.WxMaProperties;
 import com.github.pagehelper.PageHelper;
@@ -47,8 +46,6 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.time.ZoneId;
-import java.time.format.DateTimeFormatter;
-import java.time.format.DateTimeParseException;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -150,6 +147,12 @@ public class UserController extends AppBaseController {
     @PostMapping("/login")
     @ApiOperation("密码登录")
     public R login(@Validated @RequestBody LoginParam param) {
+
+        // 密码校验
+        if (!PatternUtils.checkPassword(param.getPassword())) {
+            return R.error("密码格式不正确,需包含字母、数字和特殊字符,长度为 8-20位");
+        }
+
         try {
             //判断用户基本规则
             CompanyUser companyUser = userService.selectUserByUserName(param.getAccount());

+ 1 - 0
fs-service-system/src/main/java/com/fs/fastGpt/service/impl/AiHookServiceImpl.java

@@ -1359,6 +1359,7 @@ public class AiHookServiceImpl implements AiHookService {
         listVO.setId(qwMsg.getMsgId().toString());
         listVO.setContent(qwMsg.getContent());
         listVO.setToContactId(String.valueOf(qwSession.getSessionId()));
+        listVO.setAppKey(qwUser.getAppKey());
         return listVO;
     }
 

+ 1 - 1
fs-service-system/src/main/java/com/fs/qw/mapper/QwExternalContactMapper.java

@@ -389,7 +389,7 @@ public interface QwExternalContactMapper extends BaseMapper<QwExternalContact> {
 
     List<GroupUserExternalVo> selectByGroupUser(@Param("ids") List<String> ids);
 
-    @Select("SELECT id,external_user_id,name,avatar,remark,description FROM qw_external_contact " +
+    @Select("SELECT id,external_user_id,name,avatar,remark,description,fs_user_id FROM qw_external_contact " +
             " WHERE id = #{qwExternalContactId}")
     QwExternalContact getQwExternalContactDetailsById(Long qwExternalContactId);
 }

+ 2 - 0
fs-service-system/src/main/java/com/fs/qw/service/impl/QwMsgServiceImpl.java

@@ -417,6 +417,7 @@ public class QwMsgServiceImpl extends ServiceImpl<QwMsgMapper, QwMsg> implements
         listVO.setId(qwMsg.getMsgId().toString());
         listVO.setContent(qwMsg.getContent());
         listVO.setToContactId(String.valueOf(param.getSessionId()));
+        listVO.setAppKey(qwUser.getAppKey());
         return R.ok().put("data", listVO);
     }
 
@@ -547,6 +548,7 @@ public class QwMsgServiceImpl extends ServiceImpl<QwMsgMapper, QwMsg> implements
             listVO.setId(record.getMsgId().toString());
             listVO.setContent(record.getContent());
             listVO.setToContactId(param.getConversationId());
+            listVO.setAppKey(user.getAppKey());
             qwMessageVOS.add(listVO);
         }
         return qwMessageVOS;

+ 1 - 0
fs-service-system/src/main/java/com/fs/qw/vo/QwMessageListVO.java

@@ -19,6 +19,7 @@ public class QwMessageListVO {
     private String imageUrl;
     private Integer duration; //时长
     private String toContactId;
+    private String appKey;
     private QWFromUser fromUser;
     @JSONField(serialize = false)
     private Long companyId;

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

@@ -77,7 +77,7 @@ public class WxCompanyUserController extends AppBaseController {
             this.logger.info(session.getOpenid());
             // 解密
             WxMaPhoneNumberInfo phoneNoInfo = wxService.getUserService().getPhoneNoInfo(session.getSessionKey(), param.getEncryptedData(), param.getIv());
-            WxMaUserInfo userInfo = wxService.getUserService().getUserInfo(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());
@@ -156,8 +156,8 @@ public class WxCompanyUserController extends AppBaseController {
                     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.setNickname(param.getNickname() != null ? param.getNickname() : "微信用户");
+                    userMap.setAvatar(param.getAvatar() != null ? param.getAvatar() : null);
                     userMap.setPhone(phoneNoInfo.getPhoneNumber());
                     if(companyUser != null && companyUser.getIsNeedRegisterMember() != null && companyUser.getIsNeedRegisterMember() != 1){
                         user.setCompanyId(param.getCompanyId());
@@ -167,8 +167,8 @@ public class WxCompanyUserController extends AppBaseController {
                 } else {
                     //新增
                     user = new FsUser();
-                    user.setNickname(userInfo.getNickName() != null ? userInfo.getNickName() : "微信用户");
-                    user.setAvatar(userInfo.getAvatarUrl() != null ? userInfo.getAvatarUrl() : null);
+                    user.setNickname(param.getNickname() != null ? param.getNickname() : "微信用户");
+                    user.setAvatar(param.getAvatar() != null ? param.getAvatar() : null);
                     user.setStatus((company != null ? company.getFsUserIsDefaultBlack() : 0) == 1 ? 0 : 1);
                     user.setMaOpenId(session.getOpenid());
                     user.setUnionId(session.getUnionid());

+ 6 - 0
fs-user-app/src/main/java/com/fs/app/param/LoginMaWxParam.java

@@ -28,6 +28,12 @@ public class LoginMaWxParam implements Serializable {
     @ApiModelProperty(value = "销售id")
     private Long companyUserId;
 
+    @ApiModelProperty(value = "用户昵称")
+    private String nickname;
+
+    @ApiModelProperty(value = "用户头像")
+    private String avatar;
+
 //    @ApiModelProperty(value = "公司id,如果不是第一位销售,都需要传")
 //    private Long companyId;