Browse Source

隐藏无数据导航和区域

dev
liwenxuan 2 years ago
parent
commit
dd7d945df9
  1. 4
      src/main/java/com/hxgk/zxxy/controller/ArchivesTypeController.java
  2. 2
      src/main/java/com/hxgk/zxxy/mapper/GraphicformMapper.java
  3. 10
      src/main/java/com/hxgk/zxxy/model/entity/ArchivesType.java
  4. 18
      src/main/java/com/hxgk/zxxy/model/request/ArchivesTypeRequest.java
  5. 2
      src/main/java/com/hxgk/zxxy/service/ArchivesTypeService.java
  6. 46
      src/main/java/com/hxgk/zxxy/service/impl/ArchivesTypeServiceImpl.java
  7. 2
      src/main/resources/application.properties
  8. 34
      src/main/resources/mapper/GraphicformMapper.xml

4
src/main/java/com/hxgk/zxxy/controller/ArchivesTypeController.java

@ -20,7 +20,9 @@ public class ArchivesTypeController {
public JsonData getZxxyArchivesType(@RequestBody ArchivesTypeRequest archivesTypeRequest){
Long L = Long.parseLong(archivesTypeRequest.getAtParentId());
List<ArchivesType> archivesTypeList = archivesTypeService.getZxxyArchivesType(L);
String userkey = archivesTypeRequest.getUserkey();
String usertoken = archivesTypeRequest.getUsertoken();
List<ArchivesType> archivesTypeList = archivesTypeService.getZxxyArchivesType(L,userkey,usertoken);
return JsonData.buildSuccess(archivesTypeList);
}
}

2
src/main/java/com/hxgk/zxxy/mapper/GraphicformMapper.java

@ -40,4 +40,6 @@ public interface GraphicformMapper {
List<Graphicform> queryListByParam(@Param("g_parent") String gParent,@Param("g_parent_sun") String gParentSun, @Param("gBfIdList") List<Long> gBfIdList, @Param("gWsIdList") List<Long> gWsIdList, @Param("key") Long key);
List<Graphicform> queryCarousel(@Param("g_parent") String gParent,@Param("g_parent_sun") String gParentSun, @Param("gBfIdList") List<Long> gBfIdList, @Param("gWsIdList") List<Long> gWsIdList, @Param("key") Long key);
int queryCountByParam(@Param("g_parent") String gParent,@Param("g_parent_sun") String gParentSun, @Param("gBfIdList") List<Long> gBfIdList, @Param("gWsIdList") List<Long> gWsIdList, @Param("key") Long key);
}

10
src/main/java/com/hxgk/zxxy/model/entity/ArchivesType.java

@ -31,6 +31,16 @@ public class ArchivesType {
private String atUid;
//排序
private Short atSort;
//本次查询有无数据
private Boolean hasCard;
public Boolean getHasCard() {
return hasCard;
}
public void setHasCard(Boolean hasCard) {
this.hasCard = hasCard;
}
public String getAtId() {
return atId;

18
src/main/java/com/hxgk/zxxy/model/request/ArchivesTypeRequest.java

@ -5,6 +5,24 @@ import com.fasterxml.jackson.annotation.JsonProperty;
public class ArchivesTypeRequest {
//@JsonProperty("at_parent_id")
private String atParentId;
private String userkey;
private String usertoken;
public String getUserkey() {
return userkey;
}
public void setUserkey(String userkey) {
this.userkey = userkey;
}
public String getUsertoken() {
return usertoken;
}
public void setUsertoken(String usertoken) {
this.usertoken = usertoken;
}
public String getAtParentId() {
return atParentId;

2
src/main/java/com/hxgk/zxxy/service/ArchivesTypeService.java

@ -7,5 +7,5 @@ import java.util.Map;
public interface ArchivesTypeService {
List<ArchivesType> getZxxyArchivesType(long atParentId);
List<ArchivesType> getZxxyArchivesType(long atParentId,String userkey,String usertoken);
}

46
src/main/java/com/hxgk/zxxy/service/impl/ArchivesTypeServiceImpl.java

@ -1,25 +1,67 @@
package com.hxgk.zxxy.service.impl;
import com.hxgk.zxxy.mapper.ArchivesTypeMapper;
import com.hxgk.zxxy.mapper.GraphicformMapper;
import com.hxgk.zxxy.model.entity.ArchivesType;
import com.hxgk.zxxy.model.entity.UserDetail;
import com.hxgk.zxxy.service.ArchivesTypeService;
import com.hxgk.zxxy.service.HrService;
import com.hxgk.zxxy.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@Service
public class ArchivesTypeServiceImpl implements ArchivesTypeService {
@Autowired
private ArchivesTypeMapper archivesTypeMapper;
@Autowired
private UserService userService;
@Autowired
private HrService hrService;
@Autowired
private GraphicformMapper graphicformMapper;
/**
* 根据atParentId获取知行学院的navi列表
*
* @param atParentId
* @return
*/
@Override
public List<ArchivesType> getZxxyArchivesType(long atParentId) {
return archivesTypeMapper.getZxxyArchivesType(atParentId);
public List<ArchivesType> getZxxyArchivesType(long atParentId, String userkey, String usertoken) {
String atParentIdStr = Long.toString(atParentId);
Map<String, String> userInfo = new HashMap<>();
userInfo.put("userkey", userkey);
userInfo.put("usertoken", usertoken);
UserDetail userDetail = userService.getUserDetailFromRedis(userInfo);
//去Hr中查询分厂(部门)和工段,工段可能是list(如果该用户层级较高,则拥有多个工段的权限.)当该用户层级低时,需向上查询他的上级机构码
List<Long> gBfIdList = hrService.queryGBfId(userDetail.getAdminorg());
//工段(list)
List<Long> gWsIdList = null;
try {
gWsIdList = hrService.queryGWsId(userDetail.getAdminorg());
} catch (Exception e) {
e.printStackTrace();
}
List<ArchivesType> list = archivesTypeMapper.getZxxyArchivesType(atParentId);
Iterator<ArchivesType> iterator = list.iterator();
while (iterator.hasNext()) {
ArchivesType a = iterator.next();
int count = graphicformMapper
.queryCountByParam(atParentIdStr, a.getAtId(), gBfIdList, gWsIdList, userDetail.getWmKey());
if (count > 0) {
a.setHasCard(true);
} else {
a.setHasCard(false);
iterator.remove();//使用迭代器的删除方法删除
}
}
return list;
}
}

2
src/main/resources/application.properties

@ -131,7 +131,7 @@ spring.redis.lettuce.pool.max-wait= -1ms
#开启控制台打印sql
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
# mybatis 下划线转驼峰配置,两者都可以
#mybatis.configuration.mapUnderscoreToCamelCase=true

34
src/main/resources/mapper/GraphicformMapper.xml

@ -70,4 +70,38 @@
g_recommend ASC
</select>
<select id="queryCountByParam" resultType="int">
SELECT count(g_id) FROM graphicform WHERE 1 = 1
<if test='g_parent_sun != "" and g_parent_sun!=null' >
AND g_parent_sun = #{g_parent_sun}
</if>
and g_parent = #{g_parent}
AND g_state = 2
AND (
( g_visit_strat = 1 )
OR ( g_visit_strat = 2 AND g_bf_id IN
<foreach collection="gBfIdList" item="gBfId" index="index" open="(" close=")" separator=",">
#{gBfId}
</foreach>
)
<if test="gWsIdList.size() >'0'">
OR ( g_visit_strat = 3 AND g_ws_id IN
<foreach collection="gWsIdList" item="gWsId" index="index" open="(" close=")" separator=",">
#{gWsId}
</foreach>
)
</if>
OR (
g_visit_strat = 4 AND FIND_IN_SET( #{key}, g_range )
)
)
ORDER BY
g_add_time DESC,
g_recommend ASC
</select>
</mapper>
Loading…
Cancel
Save