Browse Source

修改 用户更新 微信小程序 新增用户异常问题

xgb 4 days ago
parent
commit
0a8dc16b67

+ 1 - 3
fs-company-app/src/main/java/com/fs/app/controller/FsUserInfoController.java

@@ -87,9 +87,7 @@ public class FsUserInfoController extends AppBaseController {
     @PostMapping("/update")
     @ApiOperation("修改用户信息")
     public R edit(@RequestBody FsUserInfo fsUserInfo) {
-        if (fsUserInfoService.updateFsUserInfo(fsUserInfo) <= 0) {
-            return R.error("用户信息修改失败");
-        }
+        fsUserInfoService.updateFsUserInfo(fsUserInfo);
         return R.ok();
     }
 

+ 2 - 0
fs-service/src/main/java/com/fs/his/mapper/FsUserInfoMapper.java

@@ -46,4 +46,6 @@ public interface FsUserInfoMapper extends BaseMapper<FsUserInfo> {
 
 
     FsUserInfo selectFsUserInfoByPhone(String phone);
+
+    FsUserInfo selectFsUserInfoByIdOnle(Long userId);
 }

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/IFsUserInfoService.java

@@ -43,7 +43,7 @@ public interface IFsUserInfoService extends IService<FsUserInfo> {
      * @param fsUserInfo 用户信息
      * @return 结果
      */
-    int updateFsUserInfo(FsUserInfo fsUserInfo);
+    void updateFsUserInfo(FsUserInfo fsUserInfo);
 
     void add(FsUserInfo fsUserInfo);
 }

+ 33 - 13
fs-service/src/main/java/com/fs/his/service/impl/FsUserInfoServiceImpl.java

@@ -76,20 +76,43 @@ public class FsUserInfoServiceImpl extends ServiceImpl<FsUserInfoMapper, FsUserI
      */
     @Override
     @Transactional
-    public int updateFsUserInfo(FsUserInfo fsUserInfo) {
-        // 若手机号有修改 需校验手机号是否已存在 且不修改fs_user表的手机号
-        if(StringUtils.isNotEmpty(fsUserInfo.getPhone())){
-            FsUserInfo user = baseMapper.selectFsUserInfoById(fsUserInfo.getUserId());
-            if(user== null){
-                throw new ServiceException("用户已注销或不存在");
+    public void updateFsUserInfo(FsUserInfo fsUserInfo) {
+        // 微信小程序的用户 没有登录fs_user表
+        FsUser userQuery = fsUserService.selectFsUserById(fsUserInfo.getUserId());
+        if(userQuery==null){
+            throw new ServiceException("用户已注销或不存在");
+        }
+
+        FsUserInfo userInfo = baseMapper.selectFsUserInfoByIdOnle(fsUserInfo.getUserId());
+        if(userInfo==null){
+            if(StringUtils.isEmpty(fsUserInfo.getPhone())){
+                throw new ServiceException("手机号不能为空");
             }
 
-            if(!user.getPhone().equals(fsUserInfo.getPhone())){// 若要修改手机号需要验证新的手机号是否存在
-                FsUserInfo userInfo = baseMapper.selectFsUserInfoByPhone(fsUserInfo.getPhone());
-                if(userInfo!=null){
-                    throw new ServiceException("该手机号已存在");
+            // 查询手机号
+            FsUserInfo queryByPhone = baseMapper.selectFsUserInfoByPhone(fsUserInfo.getPhone());
+            if(queryByPhone!=null){
+                throw new ServiceException("该手机号用户已存在");
+            }
+
+            // 需登记FsUserInfo 信息
+            if (baseMapper.insertFsUserInfo(fsUserInfo)<=0){
+                throw new ServiceException("用户信息登记失败");
+            }
+        }else {
+            // 若手机号有修改 需校验手机号是否已存在 且不修改fs_user表的手机号
+            if(StringUtils.isNotEmpty(fsUserInfo.getPhone())){
+                if(!userInfo.getPhone().equals(fsUserInfo.getPhone())){// 若要修改手机号需要验证新的手机号是否存在
+                    FsUserInfo queryByPhone = baseMapper.selectFsUserInfoByPhone(fsUserInfo.getPhone());
+                    if(queryByPhone!=null){
+                        throw new ServiceException("该手机号用户已存在");
+                    }
                 }
             }
+            fsUserInfo.setUpdateTime(DateUtils.getNowDate());
+            if(baseMapper.updateFsUserInfo(fsUserInfo)<=0){
+                throw new ServiceException("用户信息修改失败");
+            }
         }
 
         // 更新用户信息 不修改手机号
@@ -104,9 +127,6 @@ public class FsUserInfoServiceImpl extends ServiceImpl<FsUserInfoMapper, FsUserI
                 throw new ServiceException("用户信息修改失败");
             }
         }
-
-        fsUserInfo.setUpdateTime(DateUtils.getNowDate());
-        return baseMapper.updateFsUserInfo(fsUserInfo);
     }
 
     /**

+ 3 - 0
fs-service/src/main/resources/mapper/his/FsUserInfoMapper.xml

@@ -165,6 +165,9 @@
     <select id="selectFsUserInfoByPhone" resultType="com.fs.his.domain.FsUserInfo">
          <include refid="selectFsUserInfoVo"/> where phone = #{phone}
     </select>
+    <select id="selectFsUserInfoByIdOnle" resultType="com.fs.his.domain.FsUserInfo">
+         <include refid="selectFsUserInfoVo"/> where user_id = #{userId}
+    </select>
 
     <!-- 登记用户信息   -->
     <insert id="insertFsUserInfo" parameterType="FsUserInfo">

+ 1 - 3
fs-user-app/src/main/java/com/fs/app/controller/FsUserInfoController.java

@@ -68,9 +68,7 @@ public class FsUserInfoController extends AppBaseController {
     @PostMapping("/update")
     @ApiOperation("修改用户信息")
     public R edit(@RequestBody FsUserInfo fsUserInfo) {
-        if (fsUserInfoService.updateFsUserInfo(fsUserInfo) <= 0) {
-            return R.error("用户信息修改失败");
-        }
+        fsUserInfoService.updateFsUserInfo(fsUserInfo);
         return R.ok();
     }