Browse Source

Merge branch 'release/analysisUserAndPartyMembers'

feature/dangjian
yujintao 5 years ago
parent
commit
284abc6645
  1. 17
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java
  2. 31
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyMembersDao.java
  3. 20
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyMembersService.java
  4. 37
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java
  5. 97
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml

17
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java

@ -112,10 +112,7 @@ public class PartyMembersController {
public Result delete(@RequestBody String[] ids) {
//效验数据
AssertUtils.isArrayEmpty(ids, "id");
partyMembersService.delete(ids);
return new Result();
return partyMembersService.delete(ids);
}
@GetMapping("export")
@ -166,5 +163,17 @@ public class PartyMembersController {
ExcelUtils.exportExcelToTarget(response, "已认证党员", partyMembersService.exportHasMoudle(params), PartyMembersExcel.class);
}
/***
* 已认证党员优化
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.PartyMembersDTO>>
* @author qushutong
* @date 2020/3/19 13:34
*/
@GetMapping("optimizeHasAuthenticationPartyPage")
@DataFilter(tableAlias = "eu", prefix = "AND", isPendingCreator = false)
public Result<PageData<PartyMembersDTO>> optimizeHasAuthenticationPartyPage(@RequestParam Map<String, Object> params) {
return partyMembersService.optimizeHasAuthenticationPartyPage(params);
}
}

31
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/PartyMembersDao.java

@ -21,6 +21,8 @@ import com.elink.esua.epdc.commons.mybatis.dao.BaseDao;
import com.elink.esua.epdc.dto.PartyMembersDTO;
import com.elink.esua.epdc.entity.PartyMembersEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PathVariable;
import java.io.Serializable;
import java.util.List;
@ -62,4 +64,33 @@ public interface PartyMembersDao extends BaseDao<PartyMembersEntity> {
* @since 2020/3/7 1:20
*/
void updateGridByDeptId(String newDeptName, Long deptId);
/***
* 已认证党员查询优化
* @param
* @return java.util.List<java.lang.String>
* @author qushutong
* @date 2020/3/19 13:32
*/
List<String> optimizeHasAuthenticationPartyPage(Map<String, Object> params);
/***
* 已认证党员查询优化
* @param
* @return java.util.List<com.elink.esua.epdc.dto.PartyMembersDTO>
* @author qushutong
* @date 2020/3/19 13:33
*/
List<PartyMembersDTO> optimizeHasAuthenticationPartyPageInfo(@Param("userIdList") List<String> userIdList);
/***
* 删除时校验党员是否被认证
* @param IdentityNo
* @return
* @author qushutong
* @date 2020/3/20 9:21
*/
Integer selectCountByIdentity(String IdentityNo);
}

20
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyMembersService.java

@ -52,7 +52,7 @@ public interface PartyMembersService extends BaseService<PartyMembersEntity> {
void update(PartyMembersDTO dto);
void delete(String[] ids);
Result delete(String[] ids);
/***
@ -100,4 +100,22 @@ public interface PartyMembersService extends BaseService<PartyMembersEntity> {
* @since 2020/3/7 1:23
*/
void modifyOrganizationInfo(OrganizationModifyDTO dto);
/***
* 已认证党员优化
* @param params
* @return com.elink.esua.epdc.commons.tools.utils.Result<com.elink.esua.epdc.commons.tools.page.PageData<com.elink.esua.epdc.dto.PartyMembersDTO>>
* @author qushutong
* @date 2020/3/19 13:36
*/
Result<PageData<PartyMembersDTO>> optimizeHasAuthenticationPartyPage(Map<String, Object> params);
/***
* 通过身份证校验此党员是否被认证
* @param IdentityNo
* @return java.lang.Integer
* @author qushutong
* @date 2020/3/20 9:10
*/
Integer checkCertificationByIdentityNo(String IdentityNo);
}

37
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java

@ -142,7 +142,7 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
* 将必要的查询参数进行trim
*
* @param params 查询参数
* @return java.util.Map<java.lang.String, java.lang.Object>
* @return java.util.Map<java.lang.String , java.lang.Object>
* @author work@yujt.net.cn
* @date 2020/2/24 16:43
*/
@ -246,13 +246,20 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
@Override
@Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) {
public Result delete(String[] ids) {
//逻辑删除
//logicDelete(ids, PartyMembersEntity.class);
// 删除之前校验此党员是否被认证
PartyMembersEntity partyMembersEntity = selectById(ids[0]);
Integer integer = checkCertificationByIdentityNo(partyMembersEntity.getIdentityNo());
if (integer != 0) {
throw new RenException("此党员已被认证不允许删除");
} else {
//物理删除
baseDao.deleteBatchIds(Arrays.asList(ids));
}
return new Result();
}
public void saveList(List<PartyMembersExcel> partyList) {
List<PartyMembersEntity> partyMembersEntityList = ConvertUtils.sourceToTarget(partyList, PartyMembersEntity.class);
@ -445,18 +452,18 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
}
/**
*
* 组织机构信息处理
*
* @params [dto, partyList]
* @return java.util.List<com.elink.esua.epdc.entity.PartyMembersEntity>
* @params [dto, partyList]
* @author liuchuang
* @since 2020/3/7 15:17
*/
private List<PartyMembersEntity> handleOrganizationInfo(OrganizationModifyDTO dto, List<PartyMembersDTO> partyList) {
List<PartyMembersEntity> entities = new ArrayList<>();
for (PartyMembersDTO party: partyList) {
for (PartyMembersDTO party : partyList) {
PartyMembersEntity entity = new PartyMembersEntity();
if (StringUtils.isNotEmpty(party.getParentDeptIds()) && StringUtils.isNotEmpty(party.getParentDeptNames())) {
List<String> parentDeptIds = Arrays.asList(party.getParentDeptIds().split(","));
@ -485,4 +492,22 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
return entities;
}
@Override
public Result<PageData<PartyMembersDTO>> optimizeHasAuthenticationPartyPage(Map<String, Object> params) {
IPage<String> page = getPage(params);
List<String> userIds = baseDao.optimizeHasAuthenticationPartyPage(params);
if (userIds.size() > 0) {
List<PartyMembersDTO> partyMembersDTOList = baseDao.optimizeHasAuthenticationPartyPageInfo(userIds);
return new Result<PageData<PartyMembersDTO>>().ok(new PageData<>(partyMembersDTOList, page.getTotal()));
} else {
return new Result<PageData<PartyMembersDTO>>().ok(new PageData<>(new ArrayList<>(), NumConstant.ZERO));
}
}
@Override
public Integer checkCertificationByIdentityNo(String IdentityNo) {
return baseDao.selectCountByIdentity(IdentityNo);
}
}

97
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml

@ -99,14 +99,14 @@
LEFT JOIN epdc_user_tag ut ON pt.TAG_ID = ut.ID
AND ut.DEL_FLAG = '0'
WHERE
eu.PARTY_FLAG = '1' and eu.DEL_FLAG = '0' and pm.DEL_FLAG = '0'
<if test="realName != null and realName != '' "> and pm.REAL_NAME = #{realName} </if>
<if test="mobile != null and mobile != '' "> and pm.MOBILE = #{mobile} </if>
<if test="identityNo != null and identityNo != '' "> and pm.IDENTITY_NO = #{identityNo} </if>
<if test="registFlag != null and registFlag != '' "> and pm.REGIST_FLAG = #{registFlag} </if>
<if test="postId != null and postId != '' "> and pm.POST_ID = #{postId} </if>
<if test="startTime != null and startTime != '' "> and pm.REGIST_TIME >= #{startTime} </if>
<if test="endTime != null and endTime != '' "> <![CDATA[ and pm.REGIST_TIME <= ]]> #{endTime} </if>
eu.PARTY_FLAG = '1' and eu.DEL_FLAG = '0'
<if test="realName != null and realName != '' ">and pm.REAL_NAME = #{realName}</if>
<if test="mobile != null and mobile != '' ">and pm.MOBILE = #{mobile}</if>
<if test="identityNo != null and identityNo != '' ">and pm.IDENTITY_NO = #{identityNo}</if>
<if test="registFlag != null and registFlag != '' ">and pm.REGIST_FLAG = #{registFlag}</if>
<if test="postId != null and postId != '' ">and pm.POST_ID = #{postId}</if>
<if test="startTime != null and startTime != '' ">and pm.REGIST_TIME >= #{startTime}</if>
<if test="endTime != null and endTime != '' "> <![CDATA[ and pm.REGIST_TIME <= ]]> #{endTime}</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},eu.PARENT_DEPT_IDS) OR find_in_set(#{streetId},eu.ALL_DEPT_IDS))
</if>
@ -154,4 +154,85 @@
UPDATE epdc_party_members SET GRID_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId}
</update>
<!--已认证党员分页-->
<select id="optimizeHasAuthenticationPartyPage" resultType="String">
SELECT
eu.ID
FROM
epdc_user eu
WHERE
eu.PARTY_FLAG = '1' and eu.DEL_FLAG = '0'
<if test="realName != null and realName != '' ">and eu.REAL_NAME = #{realName}</if>
<if test="mobile != null and mobile != '' ">and eu.MOBILE = #{mobile}</if>
<if test="identityNo != null and identityNo != '' ">and eu.IDENTITY_NO = #{identityNo}</if>
<if test="registFlag != null and registFlag != '' ">and eu.REGIST_FLAG = #{registFlag}</if>
<if test="startTime != null and startTime != '' ">and eu.REGISTER_TIME >= #{startTime}</if>
<if test="endTime != null and endTime != '' "> <![CDATA[ and eu.REGISTER_TIME <= ]]> #{endTime}</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},eu.PARENT_DEPT_IDS) OR find_in_set(#{streetId},eu.ALL_DEPT_IDS))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},eu.PARENT_DEPT_IDS) OR find_in_set(#{communityId},eu.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
and (eu.dept_id = #{gridId} OR find_in_set(#{gridId},eu.ALL_DEPT_IDS))
</if>
ORDER BY eu.REGISTER_TIME DESC
</select>
<!--已认证党员填充数据-->
<select id="optimizeHasAuthenticationPartyPageInfo" resultType="com.elink.esua.epdc.dto.PartyMembersDTO">
SELECT
pm.CADRE_FLAG,
pm.CREATED_BY,
pm.DEPT_ID,
pm.ID,
pm.POST,
pm.POST_VALUE,
pm.REGIST_FLAG,
GROUP_CONCAT(ut.TAG_NAME) TAG_NAME,
allu.CREATED_TIME,
allu.IDENTITY_NO,
allu.MOBILE,
allu.REAL_NAME,
allu.registTime,
allu.ALL_DEPT_NAMES
FROM
(
SELECT
eu.ID,
eu.CREATED_TIME,
eu.IDENTITY_NO,
eu.MOBILE,
eu.REAL_NAME,
eu.REGISTER_TIME as registTime,
eu.ALL_DEPT_NAMES
FROM
epdc_user eu
WHERE
eu.ID IN
<foreach collection="userIdList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
) allu
LEFT JOIN epdc_party_members pm ON pm.IDENTITY_NO = allu.IDENTITY_NO
AND pm.REAL_NAME = allu.REAL_NAME
LEFT JOIN epdc_party_tag_relation pt ON pm.ID = pt.PARTY_ID
LEFT JOIN epdc_user_tag ut ON pt.TAG_ID = ut.ID
AND ut.DEL_FLAG = '0'
GROUP BY
allu.ID
ORDER BY
allu.registTime DESC
</select>
<!--删除党员时候校验是否被认证-->
<select id="selectCountByIdentity" resultType="Integer">
SELECT
COUNT(u.ID)
FROM
epdc_user u
WHERE
u.IDENTITY_NO = #{IdentityNo}
</select>
</mapper>

Loading…
Cancel
Save