Compare commits
9 Commits
5dd3e1b7da
...
176011e6f4
| Author | SHA1 | Date |
|---|---|---|
|
|
176011e6f4 | |
|
|
fdd5bc8605 | |
|
|
2cd65662fc | |
|
|
0826d453c9 | |
|
|
1e0b189115 | |
|
|
ba4945e651 | |
|
|
97d6d2f1fe | |
|
|
9673af71a3 | |
|
|
0c8e1cf6e4 |
|
|
@ -3,8 +3,8 @@ spring:
|
||||||
import:
|
import:
|
||||||
# - classpath:nacos.yml
|
# - classpath:nacos.yml
|
||||||
# - classpath:sdk.yml
|
# - classpath:sdk.yml
|
||||||
- classpath:nacos-prod.yml
|
# - classpath:nacos-prod.yml
|
||||||
- classpath:sdk-prod.yml
|
# - classpath:sdk-prod.yml
|
||||||
# - classpath:nacos-prod2.yml
|
- classpath:nacos-prod2.yml
|
||||||
# - classpath:sdk-prod2.yml
|
- classpath:sdk-prod2.yml
|
||||||
- classpath:swagger.yml
|
- classpath:swagger.yml
|
||||||
|
|
|
||||||
|
|
@ -157,5 +157,11 @@ public class CorpInfoController {
|
||||||
return SingleResponse.of(corpInfoService.getEncryInfo(userCheckPassWordCmd));
|
return SingleResponse.of(corpInfoService.getEncryInfo(userCheckPassWordCmd));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("可视化大屏-企业部门用户统计")
|
||||||
|
@PostMapping("/corpUserStatisticPage")
|
||||||
|
public PageResponse<CorpUserStatisticCO> corpUserStatisticPage(@Validated @RequestBody CorpUserStatisticQry qry) {
|
||||||
|
return corpInfoService.corpUserStatisticPage(qry);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -415,7 +415,10 @@ public class UserImportExe {
|
||||||
user.setPostId(postId);
|
user.setPostId(postId);
|
||||||
user.setCorpinfoId(corpinfoId);
|
user.setCorpinfoId(corpinfoId);
|
||||||
user.setName(importEntity.getName());
|
user.setName(importEntity.getName());
|
||||||
|
user.setUserIdCard(encodeBase64IdCard(importEntity.getUserIdCard()));
|
||||||
|
user.setPersonnelType(importEntity.getPersonnelType());
|
||||||
|
user.setPersonnelTypeName(importEntity.getPersonnelTypeName());
|
||||||
|
user.resetPassword(corpInfoDO.getType());
|
||||||
userGateway.add(user);
|
userGateway.add(user);
|
||||||
String corpName = null;
|
String corpName = null;
|
||||||
if(corpInfoDO != null && !ObjectUtils.isEmpty(corpInfoDO.getCorpName())){
|
if(corpInfoDO != null && !ObjectUtils.isEmpty(corpInfoDO.getCorpName())){
|
||||||
|
|
@ -431,5 +434,15 @@ public class UserImportExe {
|
||||||
allUsers.add(userDO);
|
allUsers.add(userDO);
|
||||||
userDOTempList.add(userDO);
|
userDOTempList.add(userDO);
|
||||||
}
|
}
|
||||||
|
private static String encodeBase64IdCard(String userIdCard) {
|
||||||
|
if (StringUtils.isEmpty(userIdCard)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
return Base64.getEncoder().encodeToString(userIdCard.trim().getBytes("UTF-8"));
|
||||||
|
} catch (Exception ex) {
|
||||||
|
return userIdCard.trim();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import com.zcloud.basic.info.dto.*;
|
||||||
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
|
import com.zcloud.basic.info.dto.clientobject.CorpDepartmentCO;
|
||||||
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
|
import com.zcloud.basic.info.dto.clientobject.CorpInfoCO;
|
||||||
import com.zcloud.basic.info.dto.clientobject.CorpUserMiddleCO;
|
import com.zcloud.basic.info.dto.clientobject.CorpUserMiddleCO;
|
||||||
|
import com.zcloud.basic.info.dto.clientobject.CorpUserStatisticCO;
|
||||||
import com.zcloud.basic.info.dto.clientobject.UserCO;
|
import com.zcloud.basic.info.dto.clientobject.UserCO;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.*;
|
import com.zcloud.basic.info.persistence.dataobject.*;
|
||||||
import com.zcloud.basic.info.persistence.repository.*;
|
import com.zcloud.basic.info.persistence.repository.*;
|
||||||
|
|
@ -310,6 +311,17 @@ public class CorpInfoQueryExe {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PageResponse<CorpUserStatisticCO> corpUserStatisticPage(CorpUserStatisticQry qry) {
|
||||||
|
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||||
|
PageResponse<CorpUserStatisticDO> pageResponse = corpInfoRepository.corpUserStatisticPage(params);
|
||||||
|
List<CorpUserStatisticCO> list = pageResponse.getData().stream().map(item -> {
|
||||||
|
CorpUserStatisticCO co = new CorpUserStatisticCO();
|
||||||
|
BeanUtils.copyProperties(item, co);
|
||||||
|
return co;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
return PageResponse.of(list, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -146,5 +146,10 @@ public class CorpInfoServiceImpl implements CorpInfoServiceI {
|
||||||
return corpInfoQueryExe.verifyCorpInfo();
|
return corpInfoQueryExe.verifyCorpInfo();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResponse<CorpUserStatisticCO> corpUserStatisticPage(CorpUserStatisticQry qry) {
|
||||||
|
return corpInfoQueryExe.corpUserStatisticPage(qry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,5 +55,7 @@ public interface CorpInfoServiceI {
|
||||||
DecryptCmd getEncryInfo(UserCheckPassWordCmd userCheckPassWordCmd);
|
DecryptCmd getEncryInfo(UserCheckPassWordCmd userCheckPassWordCmd);
|
||||||
|
|
||||||
void deleteCorpAndDown(List<Long> ids);
|
void deleteCorpAndDown(List<Long> ids);
|
||||||
|
|
||||||
|
PageResponse<CorpUserStatisticCO> corpUserStatisticPage(CorpUserStatisticQry qry);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.zcloud.basic.info.dto;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.PageQuery;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏企业部门用户统计查询参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CorpUserStatisticQry extends PageQuery {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业名称", name = "likeCorpName")
|
||||||
|
private String likeCorpName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业类型(0-普通企业,1-集团单位,2-股份单位,3-相关方企业,4-货主单位,5-驻港单位, 6-物资中心)", name = "inType")
|
||||||
|
private List<Integer> inType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业类型1:监管 2:企业 3:相关方", name = "enterpriseType")
|
||||||
|
private Integer enterpriseType;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.zcloud.basic.info.dto.clientobject;
|
||||||
|
|
||||||
|
import com.alibaba.cola.dto.ClientObject;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏企业部门用户统计
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CorpUserStatisticCO extends ClientObject {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业id")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "企业名称")
|
||||||
|
private String corpName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "部门数量")
|
||||||
|
private Long departmentCount;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "用户数量")
|
||||||
|
private Long userCount;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.zcloud.basic.info.persistence.dataobject;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 可视化大屏企业部门用户统计查询结果
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CorpUserStatisticDO {
|
||||||
|
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private String corpName;
|
||||||
|
|
||||||
|
private Long departmentCount;
|
||||||
|
|
||||||
|
private Long userCount;
|
||||||
|
}
|
||||||
|
|
@ -7,6 +7,7 @@ import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
|
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.UserCorpInfoStatDO;
|
import com.zcloud.basic.info.persistence.dataobject.UserCorpInfoStatDO;
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.CorpUserStatisticDO;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.UserDO;
|
import com.zcloud.basic.info.persistence.dataobject.UserDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
@ -36,6 +37,7 @@ public interface CorpInfoMapper extends BaseMapper<CorpInfoDO> {
|
||||||
|
|
||||||
IPage<CorpInfoDO> selectUserPageNoPms(IPage<CorpInfoDO> iPage, @Param("ew") QueryWrapper<CorpInfoDO> queryWrapper, String menuPerms);
|
IPage<CorpInfoDO> selectUserPageNoPms(IPage<CorpInfoDO> iPage, @Param("ew") QueryWrapper<CorpInfoDO> queryWrapper, String menuPerms);
|
||||||
|
|
||||||
|
IPage<CorpUserStatisticDO> corpUserStatisticPage(IPage<CorpUserStatisticDO> iPage, Map<String, Object> params);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageResponse;
|
||||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
|
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.UserCorpInfoStatDO;
|
import com.zcloud.basic.info.persistence.dataobject.UserCorpInfoStatDO;
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.CorpUserStatisticDO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -47,5 +48,7 @@ public interface CorpInfoRepository extends BaseRepository<CorpInfoDO> {
|
||||||
Boolean isSupper();
|
Boolean isSupper();
|
||||||
|
|
||||||
void deleteById(Long id);
|
void deleteById(Long id);
|
||||||
|
|
||||||
|
PageResponse<CorpUserStatisticDO> corpUserStatisticPage(Map<String, Object> parmas);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ import com.zcloud.basic.info.domain.enums.CorpUseFlagEnum;
|
||||||
import com.zcloud.basic.info.domain.enums.MenuEnum;
|
import com.zcloud.basic.info.domain.enums.MenuEnum;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
|
import com.zcloud.basic.info.persistence.dataobject.CorpInfoDO;
|
||||||
import com.zcloud.basic.info.persistence.dataobject.UserCorpInfoStatDO;
|
import com.zcloud.basic.info.persistence.dataobject.UserCorpInfoStatDO;
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.CorpUserStatisticDO;
|
||||||
import com.zcloud.basic.info.persistence.mapper.CorpInfoMapper;
|
import com.zcloud.basic.info.persistence.mapper.CorpInfoMapper;
|
||||||
import com.zcloud.basic.info.persistence.repository.CorpInfoRepository;
|
import com.zcloud.basic.info.persistence.repository.CorpInfoRepository;
|
||||||
import com.zcloud.basic.info.utils.Query;
|
import com.zcloud.basic.info.utils.Query;
|
||||||
|
|
@ -332,5 +333,23 @@ public class CorpInfoRepositoryImpl extends BaseRepositoryImpl<CorpInfoMapper, C
|
||||||
updateWrapper.set("delete_enum", "TRUE");
|
updateWrapper.set("delete_enum", "TRUE");
|
||||||
update(updateWrapper);
|
update(updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResponse<CorpUserStatisticDO> corpUserStatisticPage(Map<String, Object> params) {
|
||||||
|
IPage<CorpUserStatisticDO> iPage = new Query<CorpUserStatisticDO>().getPage(params);
|
||||||
|
if (ObjectUtil.isNotEmpty(params.get("enterpriseType"))) {
|
||||||
|
List<Integer> enterpriseType = CorpTypeEnum.getCodesByEnterpriseType((Integer) params.get("enterpriseType"));
|
||||||
|
if (CollUtil.isNotEmpty(enterpriseType)) {
|
||||||
|
params.put("type", enterpriseType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<Integer> inType = (List<Integer>) params.get("inType");
|
||||||
|
if (CollUtil.isNotEmpty(inType)) {
|
||||||
|
params.put("type", inType);
|
||||||
|
}
|
||||||
|
|
||||||
|
IPage<CorpUserStatisticDO> result = corpInfoMapper.corpUserStatisticPage(iPage, params);
|
||||||
|
return PageHelper.pageToResponse(result, result.getRecords());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -112,5 +112,28 @@
|
||||||
FROM corp_info
|
FROM corp_info
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="corpUserStatisticPage" resultType="com.zcloud.basic.info.persistence.dataobject.CorpUserStatisticDO">
|
||||||
|
SELECT
|
||||||
|
c.id,
|
||||||
|
c.corp_name AS corpName,
|
||||||
|
COUNT(DISTINCT d.id) AS departmentCount,
|
||||||
|
COUNT(DISTINCT u.id) AS userCount
|
||||||
|
FROM corp_info c
|
||||||
|
LEFT JOIN department d ON d.corpinfo_id = c.id AND d.delete_enum = 'FALSE'
|
||||||
|
LEFT JOIN user u ON u.corpinfo_id = c.id AND u.delete_enum = 'FALSE'
|
||||||
|
WHERE c.delete_enum = 'FALSE'
|
||||||
|
<if test="params.type != null and params.type.size() > 0">
|
||||||
|
AND c.type IN
|
||||||
|
<foreach collection="params.type" item="type" open="(" close=")" separator=",">
|
||||||
|
#{type}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="params.likeCorpName != null and params.likeCorpName.trim() != ''">
|
||||||
|
AND c.corp_name like concat('%',#{params.likeCorpName},'%')
|
||||||
|
</if>
|
||||||
|
GROUP BY c.id, c.corp_name
|
||||||
|
ORDER BY userCount DESC, departmentCount DESC, c.corp_order ASC, c.create_time DESC
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue