diff --git a/agri-common/src/main/java/com/agri/common/core/domain/entity/SysUser.java b/agri-common/src/main/java/com/agri/common/core/domain/entity/SysUser.java index d8b8558..4a76735 100644 --- a/agri-common/src/main/java/com/agri/common/core/domain/entity/SysUser.java +++ b/agri-common/src/main/java/com/agri/common/core/domain/entity/SysUser.java @@ -4,7 +4,9 @@ import com.agri.common.annotation.Excel; import com.agri.common.annotation.Excel.ColumnType; import com.agri.common.annotation.Excel.Type; import com.agri.common.annotation.Excels; +import com.agri.common.annotation.Sensitive; import com.agri.common.core.domain.BaseEntity; +import com.agri.common.enums.DesensitizedType; import com.agri.common.xss.Xss; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; diff --git a/agri-framework/src/main/java/com/agri/framework/web/service/SysRegisterService.java b/agri-framework/src/main/java/com/agri/framework/web/service/SysRegisterService.java index df5a0a1..5075dab 100644 --- a/agri-framework/src/main/java/com/agri/framework/web/service/SysRegisterService.java +++ b/agri-framework/src/main/java/com/agri/framework/web/service/SysRegisterService.java @@ -90,6 +90,11 @@ public class SysRegisterService // todo 默认用户部 考虑项目启动将所有部门和角色缓存到redis中,修改时更新缓存 sysUser.setDeptId(203L); sysUser.setPhonenumber(registerBody.getPhonenumber()); + if (userService.checkPhoneUnique(sysUser)) + { + msg = "当前手机号已被绑定!"; + return msg; + } boolean regFlag = userService.registerUser(sysUser); // 默认普通角色 userService.insertUserAuth(sysUser.getUserId(), new Long[] {2L}); diff --git a/agri-system/src/main/java/com/agri/system/controller/SysUserAgriController.java b/agri-system/src/main/java/com/agri/system/controller/SysUserAgriController.java index 495af79..291f5ef 100644 --- a/agri-system/src/main/java/com/agri/system/controller/SysUserAgriController.java +++ b/agri-system/src/main/java/com/agri/system/controller/SysUserAgriController.java @@ -162,4 +162,16 @@ public class SysUserAgriController extends BaseController { } return success(); } + + /** + * 获取最近分享的用户 + * @param sysUserAgri + * @return + */ + @PreAuthorize("@ss.hasPermi('assets:userAgri:list')") + @GetMapping("/getRecentShareUser") + public AjaxResult getRecentShareUser(SysUserAgri sysUserAgri) { + + return success(sysUserAgriService.getRecentShareUser(sysUserAgri)); + } } diff --git a/agri-system/src/main/java/com/agri/system/domain/SysUserAgri.java b/agri-system/src/main/java/com/agri/system/domain/SysUserAgri.java index a770ced..cca6cec 100644 --- a/agri-system/src/main/java/com/agri/system/domain/SysUserAgri.java +++ b/agri-system/src/main/java/com/agri/system/domain/SysUserAgri.java @@ -62,6 +62,7 @@ public class SysUserAgri extends BaseEntity /** 邀请人用户ID */ @Excel(name = "邀请人用户ID") + @JsonSerialize(using = ToStringSerializer.class) private Long inviteBy; /** 邀请时间 */ @@ -91,8 +92,9 @@ public class SysUserAgri extends BaseEntity @TableField(exist = false) private List imeiList; - public SysUserAgri(List imeiList) { + public SysUserAgri(List imeiList, Integer status) { this.imeiList = imeiList; + this.status = status; } public SysUserAgri() { diff --git a/agri-system/src/main/java/com/agri/system/mapper/SysUserAgriMapper.java b/agri-system/src/main/java/com/agri/system/mapper/SysUserAgriMapper.java index 16a915d..5df1cb8 100644 --- a/agri-system/src/main/java/com/agri/system/mapper/SysUserAgriMapper.java +++ b/agri-system/src/main/java/com/agri/system/mapper/SysUserAgriMapper.java @@ -1,9 +1,11 @@ package com.agri.system.mapper; +import com.agri.common.core.domain.entity.SysUser; import com.agri.system.domain.SysUserAgri; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; +import java.util.Map; /** * 大棚信息(用户-设备关联)Mapper接口 @@ -74,4 +76,6 @@ public interface SysUserAgriMapper extends BaseMapper * @return */ List findAllUser(SysUserAgri sysUserAgri); + + List> getRecentShareUser(SysUserAgri sysUserAgri); } diff --git a/agri-system/src/main/java/com/agri/system/service/ISysUserAgriService.java b/agri-system/src/main/java/com/agri/system/service/ISysUserAgriService.java index f687aef..125cf61 100644 --- a/agri-system/src/main/java/com/agri/system/service/ISysUserAgriService.java +++ b/agri-system/src/main/java/com/agri/system/service/ISysUserAgriService.java @@ -1,9 +1,11 @@ package com.agri.system.service; +import com.agri.common.core.domain.entity.SysUser; import com.agri.system.domain.SysUserAgri; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; +import java.util.Map; /** * 大棚信息(用户-设备关联)Service接口 @@ -63,6 +65,8 @@ public interface ISysUserAgriService extends IService { */ public int deleteSysUserAgriById(Long id); + + List> getRecentShareUser(SysUserAgri sysUserAgri); } diff --git a/agri-system/src/main/java/com/agri/system/service/impl/AgriServiceImpl.java b/agri-system/src/main/java/com/agri/system/service/impl/AgriServiceImpl.java index 8438b6e..6377c8b 100644 --- a/agri-system/src/main/java/com/agri/system/service/impl/AgriServiceImpl.java +++ b/agri-system/src/main/java/com/agri/system/service/impl/AgriServiceImpl.java @@ -39,7 +39,7 @@ public class AgriServiceImpl implements AgriService { = offlineList.stream().map(SysAgriInfo::getImei).collect(Collectors.toList()); List agriUser - = userAgriService.findAgriUser(new SysUserAgri(imeiList)); + = userAgriService.findAgriUser(new SysUserAgri(imeiList, 1)); if (CollectionUtils.isEmpty(agriUser)) { log.info("大棚未关联用户,暂停推送消息"); return Collections.emptyList(); diff --git a/agri-system/src/main/java/com/agri/system/service/impl/SysUserAgriServiceImpl.java b/agri-system/src/main/java/com/agri/system/service/impl/SysUserAgriServiceImpl.java index 90e3968..4c7397c 100644 --- a/agri-system/src/main/java/com/agri/system/service/impl/SysUserAgriServiceImpl.java +++ b/agri-system/src/main/java/com/agri/system/service/impl/SysUserAgriServiceImpl.java @@ -1,13 +1,22 @@ package com.agri.system.service.impl; +import com.agri.common.core.domain.entity.SysUser; import com.agri.common.utils.DateUtils; +import com.agri.common.utils.SecurityUtils; import com.agri.system.domain.SysUserAgri; import com.agri.system.mapper.SysUserAgriMapper; import com.agri.system.service.ISysUserAgriService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; /** * 大棚信息(用户-设备关联)Service业务层处理 @@ -103,4 +112,11 @@ public class SysUserAgriServiceImpl extends ServiceImpl> getRecentShareUser(SysUserAgri sysUserAgri) { + + sysUserAgri.setUserId(SecurityUtils.getUserId()); + return baseMapper.getRecentShareUser(sysUserAgri); + } } diff --git a/agri-system/src/main/resources/mapper/system/SysUserAgriMapper.xml b/agri-system/src/main/resources/mapper/system/SysUserAgriMapper.xml index 664498f..0273982 100644 --- a/agri-system/src/main/resources/mapper/system/SysUserAgriMapper.xml +++ b/agri-system/src/main/resources/mapper/system/SysUserAgriMapper.xml @@ -181,7 +181,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" sys_user_agri user_agri LEFT JOIN sys_user `u` ON user_agri.user_id = `u`.user_id and `u`.del_flag=0 - `user_agri`.status=1 and user_agri.agri_id IN @@ -192,7 +191,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and user_agri.role = #{role} and user_agri.perm_mask = #{permMask} and user_agri.status = #{status} - and user_agri.invite_by = #{inviteBy} + and user_agri.invite_by = #{inviteBy} + and user_agri.invite_by != user_agri.user_id and user_agri.invite_time = #{inviteTime} and user_agri.accept_time = #{acceptTime} and user_agri.version = #{version} @@ -247,4 +247,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + \ No newline at end of file