skjcmanager/skjcmanager-auth/pom.xml
@@ -53,6 +53,7 @@ <groupId>org.springblade</groupId> <artifactId>blade-starter-social</artifactId> </dependency> <!--feign相关--> <dependency> <groupId>cn.gistack</groupId> <artifactId>skjcmanager-user-api</artifactId> @@ -63,6 +64,11 @@ <artifactId>skjcmanager-system-api</artifactId> <version>3.0.1.RELEASE</version> </dependency> <dependency> <groupId>cn.gistack</groupId> <artifactId>skjcmanager-sm-api</artifactId> <version>3.0.1.RELEASE</version> </dependency> <!--安全模块--> <dependency> <groupId>org.springframework.boot</groupId> skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
@@ -17,6 +17,8 @@ package cn.gistack.auth.service; import cn.gistack.auth.constant.AuthConstant; import cn.gistack.sm.sjztmd.entity.AttResManagePerson; import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient; import cn.gistack.system.entity.Dept; import cn.gistack.system.entity.Role; import com.alibaba.nacos.common.utils.StringUtils; @@ -59,6 +61,8 @@ public static final String FAIL_COUNT_VALUE = "account.failCount"; private final IUserClient userClient; private final IAttResManagePersonClient attResManagePersonClient; private final ISysClient sysClient; private final BladeRedis bladeRedis; @@ -148,6 +152,14 @@ } user.setRoleId(headerRole); } //拼接用户所属行政区划、责任人需要返回水库ids R<AttResManagePerson> attRes = attResManagePersonClient.queryListByPhone(user.getPhone()); userInfo.getDetail().set("resIds",attRes.getData()); R<Dept> deptRes = sysClient.getDept(Long.valueOf(userInfo.getUser().getDeptId())); userInfo.getDetail().set("adCodeBase",attResManagePersonClient.getAdBaseById(deptRes.getData().getAdCode()).getData()); // 成功则清除登录错误次数 delFailCount(tenantId, username); return new BladeUserDetails(user.getId(), skjcmanager/skjcmanager-service-api/pom.xml
@@ -21,6 +21,7 @@ <module>skjcmanager-scope-api</module> <module>skjcmanager-system-api</module> <module>skjcmanager-user-api</module> <module>skjcmanager-sm-api</module> </modules> <dependencies> skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/pom.xml
New file @@ -0,0 +1,24 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>skjcmanager-service-api</artifactId> <groupId>cn.gistack</groupId> <version>3.0.1.RELEASE</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>skjcmanager-sm-api</artifactId> <name>${project.artifactId}</name> <version>${bladex.project.version}</version> <packaging>jar</packaging> <dependencies> <dependency> <groupId>org.springblade</groupId> <artifactId>blade-starter-cache</artifactId> </dependency> </dependencies> </project> skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztmd/entity/AttResManagePerson.java
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztmd/feign/IAttResManagePersonClient.java
New file @@ -0,0 +1,32 @@ package cn.gistack.sm.sjztmd.feign; import cn.gistack.sm.sjztmd.entity.AttResManagePerson; import org.springblade.core.tool.api.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; /** * @ClassName AttResManagePersonClent * @Description TODO * @Author aix * @Date 2023/4/23 19:34 * @Version 1.0 */ @FeignClient( value = "blade-sm", fallback = IAttResManagePersonClientFallback.class ) public interface IAttResManagePersonClient { String API_PREFIX = "/client"; String QUERY_LIST_BY_PHONE = API_PREFIX + "/queryListByPhone"; String GET_AD_BASE = API_PREFIX + "/getAdBaseById"; @GetMapping(QUERY_LIST_BY_PHONE) R queryListByPhone(@RequestParam("userPhone") String userPhone); @GetMapping(GET_AD_BASE) R getAdBaseById(@RequestParam("guid") String guid); } skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sjztmd/feign/IAttResManagePersonClientFallback.java
New file @@ -0,0 +1,27 @@ package cn.gistack.sm.sjztmd.feign; import cn.gistack.sm.sjztmd.entity.AttResManagePerson; import org.springblade.core.tool.api.R; import org.springframework.stereotype.Component; /** * @ClassName Feign失败配置 * @Description TODO * @Author aix * @Date 2023/4/23 19:40 * @Version 1.0 */ @Component public class IAttResManagePersonClientFallback implements IAttResManagePersonClient{ @Override public R queryListByPhone(String userPhone) { return R.fail("获取数据失败"); } @Override public R getAdBaseById(String guid) { return R.fail("获取数据失败"); } } skjcmanager/skjcmanager-service-api/skjcmanager-system-api/src/main/java/cn/gistack/system/entity/Dept.java
@@ -104,5 +104,11 @@ @ApiModelProperty(value = "是否已删除") private Integer isDeleted; /** * 区划名称 */ @ApiModelProperty(value = "区划名称") private String adCode; } skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
@@ -36,6 +36,11 @@ <artifactId>blade-core-auto</artifactId> <scope>compile</scope> </dependency> <dependency> <groupId>cn.gistack</groupId> <artifactId>skjcmanager-sm-api</artifactId> <version>3.0.1.RELEASE</version> </dependency> </dependencies> <build> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/AttResManagePersonController.java
@@ -52,6 +52,19 @@ return R.data(list); } @ApiOperation(value = "根据水库id获取中台责任人列表", notes = "根据水库id获取中台责任人列表") @GetMapping(value = "/findResManagePersonByResIds") public R findResManagePersonByResId(String resIds) { if (StringUtil.isEmpty(resIds)) return R.fail("resGuid不能为空"); List<AttResManagePerson> list = attResManagePersonService.attResManagePersonListByResIds(resIds); return R.data(list); } @ApiOperation(value = "根据手机号码获取中台责任人水库id组合字符串", notes = "根据手机号码获取中台责任人水库id组合字符串") @GetMapping(value = "/queryListByPhone") public R queryListByPhone(AttResManagePerson attResManagePerson) { skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/feign/AttResManagePersonClient.java
New file @@ -0,0 +1,59 @@ package cn.gistack.sm.sjztmd.feign; import cn.gistack.sm.sjztmd.entity.AttAdBase; import cn.gistack.sm.sjztmd.entity.AttResManagePerson; import cn.gistack.sm.sjztmd.service.IAttAdBaseService; import cn.gistack.sm.sjztmd.service.IAttResManagePersonService; import jodd.util.StringUtil; import lombok.AllArgsConstructor; import org.springblade.core.mp.support.Condition; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; import java.util.ArrayList; import java.util.List; /** * @ClassName SM服务Feign实现类 * @Description TODO * @Author aix * @Date 2023/4/23 19:42 * @Version 1.0 */ @NonDS @ApiIgnore @RestController @AllArgsConstructor public class AttResManagePersonClient implements IAttResManagePersonClient { private final IAttResManagePersonService attResManagePersonService; private final IAttAdBaseService adBaseService; @Override @GetMapping(QUERY_LIST_BY_PHONE) public R queryListByPhone(String userPhone) { AttResManagePerson attResManagePerson = new AttResManagePerson(); attResManagePerson.setUserPhone(userPhone); List<AttResManagePerson> list = attResManagePersonService.list(Condition.getQueryWrapper(attResManagePerson)); List<String> reslist = new ArrayList<>(); list.forEach(item->{ reslist.add(item.getResGuid()); }); return R.data(StringUtil.join(reslist,",")); } @Override @GetMapping(GET_AD_BASE) public R getAdBaseById(String guid) { AttAdBase attAdBase = new AttAdBase(); attAdBase.setGuid(guid); List<AttAdBase> attAdBases = adBaseService.list(Condition.getQueryWrapper(attAdBase)); if (attAdBases.size() > 0) return R.data(attAdBases.get(0)); return R.data(null); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.java
@@ -3,6 +3,8 @@ import cn.gistack.sm.sjztmd.entity.AttResManagePerson; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; /** * @ClassName AttResManagePersonMapper * @Description TODO @@ -11,4 +13,7 @@ * @Version 1.0 */ public interface AttResManagePersonMapper extends BaseMapper<AttResManagePerson> { List<AttResManagePerson> attResManagePersonListByResId(List<Long> resId); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/AttResManagePersonMapper.xml
@@ -2,4 +2,25 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.gistack.sm.sjztmd.mapper.AttResManagePersonMapper"> <!-- 通用查询映射结果 --> <resultMap id="baseResultMap" type="cn.gistack.sm.sjztmd.entity.AttResManagePerson"> <id column="guid" property="guid"/> <result column="user_name" property="userName"/> <result column="type" property="type"/> <result column="user_phone" property="userPhone"/> <result column="user_unit" property="userUnit"/> <result column="postion" property="position"/> <result column="res_guid" property="resGuid"/> </resultMap> <!-- <select id="attResManagePersonListByResId" resultMap="baseResultMap">--> <select id="attResManagePersonListByResId" resultMap="baseResultMap"> select DISTINCT "guid","user_name","type","user_phone","user_unit","position","res_guid","user_guid" from "att_res_manage_person" where "type" = 5 AND "res_guid" IN <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> </mapper> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IAttResManagePersonService.java
@@ -3,6 +3,8 @@ import cn.gistack.sm.sjztmd.entity.AttResManagePerson; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * @ClassName AttResManagePerson * @Description TODO @@ -11,4 +13,11 @@ * @Version 1.0 */ public interface IAttResManagePersonService extends IService<AttResManagePerson> { /** * 获取水库巡查责任人列表 * @param ResId 水库id数组 * @return */ List<AttResManagePerson> attResManagePersonListByResIds(String ResId); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/AttResManagePersonServiceImpl.java
@@ -5,7 +5,10 @@ import cn.gistack.sm.sjztmd.service.IAttResManagePersonService; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.tool.utils.Func; import org.springframework.stereotype.Service; import java.util.List; /** * @ClassName AttResManagePersonServiceImpl @@ -17,4 +20,8 @@ @Service @DS("zt") public class AttResManagePersonServiceImpl extends ServiceImpl<AttResManagePersonMapper, AttResManagePerson> implements IAttResManagePersonService { @Override public List<AttResManagePerson> attResManagePersonListByResIds(String resId) { return baseMapper.attResManagePersonListByResId(Func.toLongList(resId)); } } skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/DeptMapper.xml
@@ -13,6 +13,7 @@ <result column="sort" property="sort"/> <result column="remark" property="remark"/> <result column="is_deleted" property="isDeleted"/> <result column="ad_code" property="adCode"/> </resultMap> <resultMap id="deptVOResultMap" type="cn.gistack.system.vo.DeptVO"> @@ -26,6 +27,7 @@ <result column="remark" property="remark"/> <result column="is_deleted" property="isDeleted"/> <result column="has_children" property="hasChildren"/> <result column="ad_code" property="adCode"/> </resultMap> <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">