|
@@ -1,7 +1,6 @@
|
|
|
package com.fs.his.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import com.fs.common.core.domain.R;
|
|
|
import com.fs.common.exception.ServiceException;
|
|
|
import com.fs.common.utils.DateUtils;
|
|
|
import com.fs.common.utils.StringUtils;
|
|
@@ -17,8 +16,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
-import static com.fs.his.utils.PhoneUtil.encryptPhone;
|
|
|
-
|
|
|
/**
|
|
|
* 用户信息Service业务层处理
|
|
|
*
|
|
@@ -77,46 +74,49 @@ public class FsUserInfoServiceImpl extends ServiceImpl<FsUserInfoMapper, FsUserI
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public void updateFsUserInfo(FsUserInfo fsUserInfo) {
|
|
|
- // 微信小程序的用户 没有登录fs_user表
|
|
|
+ // 微信小程序的用户 没有登录fs_user_info表 更新做插入
|
|
|
FsUser userQuery = fsUserService.selectFsUserById(fsUserInfo.getUserId());
|
|
|
- if(userQuery==null){
|
|
|
+ if (userQuery == null || userQuery.getIsDel() == 1) {
|
|
|
throw new ServiceException("用户已注销或不存在");
|
|
|
}
|
|
|
|
|
|
FsUserInfo userInfo = baseMapper.selectFsUserInfoByIdOnle(fsUserInfo.getUserId());
|
|
|
- if(userInfo==null){
|
|
|
- if(StringUtils.isEmpty(fsUserInfo.getPhone())){
|
|
|
+ if (userInfo == null) {// 没有记录需要登记
|
|
|
+ if (StringUtils.isEmpty(fsUserInfo.getPhone())) {
|
|
|
throw new ServiceException("手机号不能为空");
|
|
|
}
|
|
|
|
|
|
// 查询手机号
|
|
|
FsUserInfo queryByPhone = baseMapper.selectFsUserInfoByPhone(fsUserInfo.getPhone());
|
|
|
- if(queryByPhone!=null){
|
|
|
+ if (queryByPhone != null) {
|
|
|
throw new ServiceException("该手机号用户已存在");
|
|
|
}
|
|
|
|
|
|
// 需登记FsUserInfo 信息
|
|
|
- if (baseMapper.insertFsUserInfo(fsUserInfo)<=0){
|
|
|
+ if (baseMapper.insertFsUserInfo(fsUserInfo) <= 0) {
|
|
|
throw new ServiceException("用户信息登记失败");
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
// 若手机号有修改 需校验手机号是否已存在 且不修改fs_user表的手机号
|
|
|
- if(StringUtils.isNotEmpty(fsUserInfo.getPhone())){
|
|
|
- if(!userInfo.getPhone().equals(fsUserInfo.getPhone())){// 若要修改手机号需要验证新的手机号是否存在
|
|
|
+ if (StringUtils.isNotEmpty(fsUserInfo.getPhone())) {
|
|
|
+ if (!userInfo.getPhone().equals(fsUserInfo.getPhone())) {// 若要修改手机号需要验证新的手机号是否存在
|
|
|
FsUserInfo queryByPhone = baseMapper.selectFsUserInfoByPhone(fsUserInfo.getPhone());
|
|
|
- if(queryByPhone!=null){
|
|
|
+ if (queryByPhone != null) {
|
|
|
throw new ServiceException("该手机号用户已存在");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if (userInfo.getIsDel() != 0) {// 用户被伪删除
|
|
|
+ fsUserInfo.setIsDel(0);// 恢复
|
|
|
+ }
|
|
|
fsUserInfo.setUpdateTime(DateUtils.getNowDate());
|
|
|
- if(baseMapper.updateFsUserInfo(fsUserInfo)<=0){
|
|
|
+ if (baseMapper.updateFsUserInfo(fsUserInfo) <= 0) {
|
|
|
throw new ServiceException("用户信息修改失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 更新用户信息 不修改手机号
|
|
|
- if(StringUtils.isNotEmpty(fsUserInfo.getAvatar()) || fsUserInfo.getSex()!= null || fsUserInfo.getCompanyUserId()!= null) {
|
|
|
+ if (StringUtils.isNotEmpty(fsUserInfo.getAvatar()) || fsUserInfo.getSex() != null || fsUserInfo.getCompanyUserId() != null) {
|
|
|
FsUser user = new FsUser();
|
|
|
user.setUserId(fsUserInfo.getUserId());
|
|
|
user.setAvatar(fsUserInfo.getAvatar());
|
|
@@ -129,6 +129,38 @@ public class FsUserInfoServiceImpl extends ServiceImpl<FsUserInfoMapper, FsUserI
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private void updateUser(FsUserInfo fsUserInfo, FsUser user) {
|
|
|
+ // 判断头像和姓名 性别是否一致 销售id
|
|
|
+ boolean updateFlag = false;
|
|
|
+ if (StringUtils.isNotEmpty(fsUserInfo.getAvatar())) {
|
|
|
+ if (!fsUserInfo.getAvatar().equals(user.getAvatar())) {
|
|
|
+ updateFlag = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (fsUserInfo.getSex() != null) {
|
|
|
+ if (!fsUserInfo.getSex().equals(user.getSex())) {
|
|
|
+ updateFlag = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (fsUserInfo.getCompanyUserId() != null) {
|
|
|
+ if (!fsUserInfo.getCompanyUserId().equals(user.getCompanyUserId())) {
|
|
|
+ updateFlag = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (updateFlag) {
|
|
|
+ // 更新用户信息 不修改手机号
|
|
|
+ user.setAvatar(fsUserInfo.getAvatar());
|
|
|
+ user.setSex(fsUserInfo.getSex());
|
|
|
+ user.setCompanyUserId(fsUserInfo.getCompanyUserId());
|
|
|
+ user.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ if (fsUserMapper.updateFsUser(user) <= 0) {
|
|
|
+ throw new ServiceException("用户信息修改失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @Description: 新增用户
|
|
|
* @Param:
|
|
@@ -141,78 +173,82 @@ public class FsUserInfoServiceImpl extends ServiceImpl<FsUserInfoMapper, FsUserI
|
|
|
public void add(FsUserInfo fsUserInfo) {
|
|
|
|
|
|
// 判断手机号是否已经存在
|
|
|
- if(StringUtils.isEmpty(fsUserInfo.getPhone())){
|
|
|
+ if (StringUtils.isEmpty(fsUserInfo.getPhone())) {
|
|
|
throw new ServiceException("手机号不能为空");
|
|
|
}
|
|
|
// 查询手机号
|
|
|
- FsUserInfo userInfo = baseMapper.selectFsUserInfoByPhone(fsUserInfo.getPhone());
|
|
|
- if(userInfo!=null){
|
|
|
- throw new ServiceException("该手机号用户已存在");
|
|
|
- }
|
|
|
FsUser user;
|
|
|
- if(fsUserInfo.getUserId()!=null){ // 根据userId 绑定用户信息
|
|
|
- user=fsUserService.selectFsUserById(fsUserInfo.getUserId());
|
|
|
- if(user==null){
|
|
|
- throw new ServiceException("该用户id不存在");
|
|
|
+ FsUserInfo userInfo = baseMapper.selectFsUserInfoByPhone(fsUserInfo.getPhone());
|
|
|
+ if (userInfo != null) {// 用户存在
|
|
|
+ if (userInfo.getIsDel() == 0) {
|
|
|
+ throw new ServiceException("该手机号用户已存在");
|
|
|
}
|
|
|
- }else { // 根据手机号 绑定用户信息
|
|
|
- user = fsUserService.selectFsUserByPhone(fsUserInfo.getPhone());
|
|
|
- }
|
|
|
- if(user!=null){
|
|
|
- // 判断头像和姓名 性别是否一致 销售id
|
|
|
- boolean updateFlag=false;
|
|
|
- if(StringUtils.isNotEmpty(fsUserInfo.getAvatar())){
|
|
|
- if(!fsUserInfo.getAvatar().equals(user.getAvatar())){
|
|
|
- updateFlag=true;
|
|
|
+ {// 用户被删除重新新增
|
|
|
+ // 查询原用户信息
|
|
|
+ user = fsUserService.selectFsUserById(userInfo.getUserId());
|
|
|
+ if (user == null || user.getIsDel() != 0) {
|
|
|
+ throw new ServiceException("该用户id不存在或已注销");
|
|
|
}
|
|
|
- }
|
|
|
- if(fsUserInfo.getSex()!= null){
|
|
|
- if(!fsUserInfo.getSex().equals(user.getSex())){
|
|
|
- updateFlag=true;
|
|
|
+ // 更新用户信息
|
|
|
+ updateUser(fsUserInfo, user);
|
|
|
+
|
|
|
+ // 更新用户信息
|
|
|
+ fsUserInfo.setUserId(user.getUserId());
|
|
|
+ fsUserInfo.setIsDel(0);
|
|
|
+ if (baseMapper.updateFsUserInfo(fsUserInfo) <= 0) {
|
|
|
+ throw new ServiceException("用户信息登记失败");
|
|
|
}
|
|
|
}
|
|
|
- if(fsUserInfo.getCompanyUserId()!= null){
|
|
|
- if(!fsUserInfo.getCompanyUserId().equals(user.getCompanyUserId())){
|
|
|
- updateFlag=true;
|
|
|
+ } else {// 用户不存在
|
|
|
+ // 判断原FsUser是否存在记录
|
|
|
+ if (fsUserInfo.getUserId() != null) { // 客户端根据userId 绑定用户信息
|
|
|
+ user = fsUserService.selectFsUserById(fsUserInfo.getUserId());
|
|
|
+ if (user == null) {
|
|
|
+ throw new ServiceException("该用户id不存在");
|
|
|
}
|
|
|
+ } else { // 根据手机号 绑定用户信息
|
|
|
+ user = fsUserService.selectFsUserByPhone(fsUserInfo.getPhone());
|
|
|
}
|
|
|
+ if (user != null) {
|
|
|
+ if (user.getIsDel() != 0) {
|
|
|
+ throw new ServiceException("该用户已注销");
|
|
|
+ }
|
|
|
+
|
|
|
+ // 更新用户信息
|
|
|
+ updateUser(fsUserInfo, user);
|
|
|
|
|
|
- if(updateFlag) {
|
|
|
- // 更新用户信息 不修改手机号
|
|
|
- user.setAvatar(fsUserInfo.getAvatar());
|
|
|
- user.setSex(fsUserInfo.getSex());
|
|
|
- user.setCompanyUserId(fsUserInfo.getCompanyUserId());
|
|
|
- user.setUpdateTime(DateUtils.getNowDate());
|
|
|
- if (fsUserMapper.updateFsUser(user) <= 0) {
|
|
|
- throw new ServiceException("用户信息修改失败");
|
|
|
+ // 登记同一个userId
|
|
|
+ fsUserInfo.setUserId(user.getUserId());
|
|
|
+ if (insertFsUserInfo(fsUserInfo) <= 0) {
|
|
|
+ throw new ServiceException("用户信息登记失败");
|
|
|
}
|
|
|
- }
|
|
|
- // 登记同一个userId
|
|
|
- fsUserInfo.setUserId(user.getUserId());
|
|
|
- if (insertFsUserInfo(fsUserInfo) <= 0) {
|
|
|
- throw new ServiceException("用户信息登记失败");
|
|
|
- }
|
|
|
|
|
|
- }else {
|
|
|
- // 新增用户信息
|
|
|
- FsUser fsUser = new FsUser();
|
|
|
- fsUser.setCompanyUserId(fsUserInfo.getCompanyUserId());
|
|
|
- fsUser.setAvatar(fsUserInfo.getAvatar());
|
|
|
- fsUser.setPhone(fsUserInfo.getPhone());
|
|
|
- fsUser.setSex(fsUserInfo.getSex());
|
|
|
- fsUser.setCreateTime(DateUtils.getNowDate());
|
|
|
- // 登记fsUser表
|
|
|
- if (fsUserMapper.insertFsUser(fsUser) <= 0) {
|
|
|
- throw new ServiceException("用户信息登记失败");
|
|
|
- }
|
|
|
- // 登记同一个userId
|
|
|
- fsUserInfo.setUserId(fsUser.getUserId());
|
|
|
- // 登记fsUserInfo表
|
|
|
- if (insertFsUserInfo(fsUserInfo) <= 0) {
|
|
|
- throw new ServiceException("用户信息登记失败");
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ // 新增用户信息
|
|
|
+ FsUser fsUser = new FsUser();
|
|
|
+ fsUser.setCompanyUserId(fsUserInfo.getCompanyUserId());
|
|
|
+ fsUser.setAvatar(fsUserInfo.getAvatar());
|
|
|
+ fsUser.setPhone(fsUserInfo.getPhone());
|
|
|
+ fsUser.setSex(fsUserInfo.getSex());
|
|
|
+ fsUser.setCreateTime(DateUtils.getNowDate());
|
|
|
+ // 登记fsUser表
|
|
|
+ if (fsUserMapper.insertFsUser(fsUser) <= 0) {
|
|
|
+ throw new ServiceException("用户信息登记失败");
|
|
|
+ }
|
|
|
+ // 登记同一个userId
|
|
|
+ fsUserInfo.setUserId(fsUser.getUserId());
|
|
|
+ // 登记fsUserInfo表
|
|
|
+ if (insertFsUserInfo(fsUserInfo) <= 0) {
|
|
|
+ throw new ServiceException("用户信息登记失败");
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public int deleteFsUserInfoByUserId(Long userId) {
|
|
|
+ return baseMapper.deleteFsUserInfoByUserId(userId);
|
|
|
+ }
|
|
|
+
|
|
|
}
|