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. 33
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java
  5. 83
      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) { public Result delete(@RequestBody String[] ids) {
//效验数据 //效验数据
AssertUtils.isArrayEmpty(ids, "id"); AssertUtils.isArrayEmpty(ids, "id");
return partyMembersService.delete(ids);
partyMembersService.delete(ids);
return new Result();
} }
@GetMapping("export") @GetMapping("export")
@ -166,5 +163,17 @@ public class PartyMembersController {
ExcelUtils.exportExcelToTarget(response, "已认证党员", partyMembersService.exportHasMoudle(params), PartyMembersExcel.class); 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.dto.PartyMembersDTO;
import com.elink.esua.epdc.entity.PartyMembersEntity; import com.elink.esua.epdc.entity.PartyMembersEntity;
import org.apache.ibatis.annotations.Mapper; 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.io.Serializable;
import java.util.List; import java.util.List;
@ -62,4 +64,33 @@ public interface PartyMembersDao extends BaseDao<PartyMembersEntity> {
* @since 2020/3/7 1:20 * @since 2020/3/7 1:20
*/ */
void updateGridByDeptId(String newDeptName, Long deptId); 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 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 * @since 2020/3/7 1:23
*/ */
void modifyOrganizationInfo(OrganizationModifyDTO dto); 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);
} }

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

@ -246,13 +246,20 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) { public Result delete(String[] ids) {
//逻辑删除 //逻辑删除
//logicDelete(ids, PartyMembersEntity.class); //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)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
return new Result();
}
public void saveList(List<PartyMembersExcel> partyList) { public void saveList(List<PartyMembersExcel> partyList) {
List<PartyMembersEntity> partyMembersEntityList = ConvertUtils.sourceToTarget(partyList, PartyMembersEntity.class); List<PartyMembersEntity> partyMembersEntityList = ConvertUtils.sourceToTarget(partyList, PartyMembersEntity.class);
@ -445,12 +452,12 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId()); baseDao.updateGridByDeptId(dto.getNewDeptName(), dto.getDeptId());
} }
/** /**
*
* 组织机构信息处理 * 组织机构信息处理
* *
* @params [dto, partyList]
* @return java.util.List<com.elink.esua.epdc.entity.PartyMembersEntity> * @return java.util.List<com.elink.esua.epdc.entity.PartyMembersEntity>
* @params [dto, partyList]
* @author liuchuang * @author liuchuang
* @since 2020/3/7 15:17 * @since 2020/3/7 15:17
*/ */
@ -485,4 +492,22 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
return entities; 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);
}
} }

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

@ -99,7 +99,7 @@
LEFT JOIN epdc_user_tag ut ON pt.TAG_ID = ut.ID LEFT JOIN epdc_user_tag ut ON pt.TAG_ID = ut.ID
AND ut.DEL_FLAG = '0' AND ut.DEL_FLAG = '0'
WHERE WHERE
eu.PARTY_FLAG = '1' and eu.DEL_FLAG = '0' and pm.DEL_FLAG = '0' eu.PARTY_FLAG = '1' and eu.DEL_FLAG = '0'
<if test="realName != null and realName != '' ">and pm.REAL_NAME = #{realName}</if> <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="mobile != null and mobile != '' ">and pm.MOBILE = #{mobile}</if>
<if test="identityNo != null and identityNo != '' ">and pm.IDENTITY_NO = #{identityNo}</if> <if test="identityNo != null and identityNo != '' ">and pm.IDENTITY_NO = #{identityNo}</if>
@ -154,4 +154,85 @@
UPDATE epdc_party_members SET GRID_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId} UPDATE epdc_party_members SET GRID_NAME = #{newDeptName}, UPDATED_TIME = NOW() WHERE GRID_ID = #{deptId}
</update> </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> </mapper>

Loading…
Cancel
Save