获取最近分享手机号

master
lld 2026-04-06 04:18:39 +08:00
parent 80aa6d7922
commit 7f9189b7be
9 changed files with 66 additions and 4 deletions

View File

@ -4,7 +4,9 @@ import com.agri.common.annotation.Excel;
import com.agri.common.annotation.Excel.ColumnType; import com.agri.common.annotation.Excel.ColumnType;
import com.agri.common.annotation.Excel.Type; import com.agri.common.annotation.Excel.Type;
import com.agri.common.annotation.Excels; import com.agri.common.annotation.Excels;
import com.agri.common.annotation.Sensitive;
import com.agri.common.core.domain.BaseEntity; import com.agri.common.core.domain.BaseEntity;
import com.agri.common.enums.DesensitizedType;
import com.agri.common.xss.Xss; import com.agri.common.xss.Xss;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;

View File

@ -90,6 +90,11 @@ public class SysRegisterService
// todo 默认用户部 考虑项目启动将所有部门和角色缓存到redis中修改时更新缓存 // todo 默认用户部 考虑项目启动将所有部门和角色缓存到redis中修改时更新缓存
sysUser.setDeptId(203L); sysUser.setDeptId(203L);
sysUser.setPhonenumber(registerBody.getPhonenumber()); sysUser.setPhonenumber(registerBody.getPhonenumber());
if (userService.checkPhoneUnique(sysUser))
{
msg = "当前手机号已被绑定!";
return msg;
}
boolean regFlag = userService.registerUser(sysUser); boolean regFlag = userService.registerUser(sysUser);
// 默认普通角色 // 默认普通角色
userService.insertUserAuth(sysUser.getUserId(), new Long[] {2L}); userService.insertUserAuth(sysUser.getUserId(), new Long[] {2L});

View File

@ -162,4 +162,16 @@ public class SysUserAgriController extends BaseController {
} }
return success(); return success();
} }
/**
*
* @param sysUserAgri
* @return
*/
@PreAuthorize("@ss.hasPermi('assets:userAgri:list')")
@GetMapping("/getRecentShareUser")
public AjaxResult getRecentShareUser(SysUserAgri sysUserAgri) {
return success(sysUserAgriService.getRecentShareUser(sysUserAgri));
}
} }

View File

@ -62,6 +62,7 @@ public class SysUserAgri extends BaseEntity
/** 邀请人用户ID */ /** 邀请人用户ID */
@Excel(name = "邀请人用户ID") @Excel(name = "邀请人用户ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long inviteBy; private Long inviteBy;
/** 邀请时间 */ /** 邀请时间 */
@ -91,8 +92,9 @@ public class SysUserAgri extends BaseEntity
@TableField(exist = false) @TableField(exist = false)
private List<String> imeiList; private List<String> imeiList;
public SysUserAgri(List<String> imeiList) { public SysUserAgri(List<String> imeiList, Integer status) {
this.imeiList = imeiList; this.imeiList = imeiList;
this.status = status;
} }
public SysUserAgri() { public SysUserAgri() {

View File

@ -1,9 +1,11 @@
package com.agri.system.mapper; package com.agri.system.mapper;
import com.agri.common.core.domain.entity.SysUser;
import com.agri.system.domain.SysUserAgri; import com.agri.system.domain.SysUserAgri;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* -Mapper * -Mapper
@ -74,4 +76,6 @@ public interface SysUserAgriMapper extends BaseMapper<SysUserAgri>
* @return * @return
*/ */
List<SysUserAgri> findAllUser(SysUserAgri sysUserAgri); List<SysUserAgri> findAllUser(SysUserAgri sysUserAgri);
List<Map<String, Object>> getRecentShareUser(SysUserAgri sysUserAgri);
} }

View File

@ -1,9 +1,11 @@
package com.agri.system.service; package com.agri.system.service;
import com.agri.common.core.domain.entity.SysUser;
import com.agri.system.domain.SysUserAgri; import com.agri.system.domain.SysUserAgri;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* -Service * -Service
@ -63,6 +65,8 @@ public interface ISysUserAgriService extends IService<SysUserAgri> {
*/ */
public int deleteSysUserAgriById(Long id); public int deleteSysUserAgriById(Long id);
List<Map<String, Object>> getRecentShareUser(SysUserAgri sysUserAgri);
} }

View File

@ -39,7 +39,7 @@ public class AgriServiceImpl implements AgriService {
= offlineList.stream().map(SysAgriInfo::getImei).collect(Collectors.toList()); = offlineList.stream().map(SysAgriInfo::getImei).collect(Collectors.toList());
List<SysUserAgri> agriUser List<SysUserAgri> agriUser
= userAgriService.findAgriUser(new SysUserAgri(imeiList)); = userAgriService.findAgriUser(new SysUserAgri(imeiList, 1));
if (CollectionUtils.isEmpty(agriUser)) { if (CollectionUtils.isEmpty(agriUser)) {
log.info("大棚未关联用户,暂停推送消息"); log.info("大棚未关联用户,暂停推送消息");
return Collections.emptyList(); return Collections.emptyList();

View File

@ -1,13 +1,22 @@
package com.agri.system.service.impl; 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.DateUtils;
import com.agri.common.utils.SecurityUtils;
import com.agri.system.domain.SysUserAgri; import com.agri.system.domain.SysUserAgri;
import com.agri.system.mapper.SysUserAgriMapper; import com.agri.system.mapper.SysUserAgriMapper;
import com.agri.system.service.ISysUserAgriService; import com.agri.system.service.ISysUserAgriService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; 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 * -Service
@ -103,4 +112,11 @@ public class SysUserAgriServiceImpl extends ServiceImpl<SysUserAgriMapper, SysUs
return baseMapper.findAllUser(sysUserAgri); return baseMapper.findAllUser(sysUserAgri);
} }
@Override
public List<Map<String, Object>> getRecentShareUser(SysUserAgri sysUserAgri) {
sysUserAgri.setUserId(SecurityUtils.getUserId());
return baseMapper.getRecentShareUser(sysUserAgri);
}
} }

View File

@ -181,7 +181,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sys_user_agri user_agri sys_user_agri user_agri
LEFT JOIN sys_user `u` ON user_agri.user_id = `u`.user_id and `u`.del_flag=0 LEFT JOIN sys_user `u` ON user_agri.user_id = `u`.user_id and `u`.del_flag=0
<where> <where>
`user_agri`.status=1
<if test="imeiList != null and imeiList.size() > 0"> <if test="imeiList != null and imeiList.size() > 0">
and user_agri.agri_id IN and user_agri.agri_id IN
<foreach collection="imeiList" item="imei" open="(" separator="," close=")"> <foreach collection="imeiList" item="imei" open="(" separator="," close=")">
@ -192,7 +191,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="role != null "> and user_agri.role = #{role}</if> <if test="role != null "> and user_agri.role = #{role}</if>
<if test="permMask != null "> and user_agri.perm_mask = #{permMask}</if> <if test="permMask != null "> and user_agri.perm_mask = #{permMask}</if>
<if test="status != null "> and user_agri.status = #{status}</if> <if test="status != null "> and user_agri.status = #{status}</if>
<if test="inviteBy != null "> and user_agri.invite_by = #{inviteBy}</if> <if test="inviteBy != null "> and user_agri.invite_by = #{inviteBy}
and user_agri.invite_by != user_agri.user_id</if>
<if test="inviteTime != null "> and user_agri.invite_time = #{inviteTime}</if> <if test="inviteTime != null "> and user_agri.invite_time = #{inviteTime}</if>
<if test="acceptTime != null "> and user_agri.accept_time = #{acceptTime}</if> <if test="acceptTime != null "> and user_agri.accept_time = #{acceptTime}</if>
<if test="version != null "> and user_agri.version = #{version}</if> <if test="version != null "> and user_agri.version = #{version}</if>
@ -247,4 +247,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
</where> </where>
</select> </select>
<select id="getRecentShareUser" parameterType="SysUserAgri" resultType="java.util.Map">
SELECT
su.user_id,
su.phonenumber
FROM sys_user su
WHERE su.del_flag = '0'
AND su.status = '0'
and su.phonenumber is not null
and su.phonenumber != ''
AND EXISTS (
SELECT 1
FROM sys_user_agri sua
WHERE sua.invite_by = #{userId}
AND sua.user_id = su.user_id
);
</select>
</mapper> </mapper>