1.
luofl
2025-03-15 9c2e0c9cad7d48014df7fdbe0a7292f86d95f3ae
1.
4个文件已修改
156 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/PartyMemberMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/PartyMemberApplicationRequest.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/PartyMemberMapper.xml 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/dao/PartyMemberMapper.java
@@ -5,6 +5,7 @@
import com.panzhihua.sangeshenbian.model.entity.PartyMember;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.sangeshenbian.warpper.PartyMemberQuery;
import com.panzhihua.sangeshenbian.warpper.PendingPartyMemberApplicationVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -34,4 +35,14 @@
     * @return
     */
    List<PartyMember> queryList( @Param("query") PartyMemberQuery query, @Param("loginUserInfo") SystemUserVo loginUserInfo);
    /**
     * 党员待审核申请列表
     */
    Page<PendingPartyMemberApplicationVO> queryPreAuditPage(@Param("page") Page<PendingPartyMemberApplicationVO> page,
                                                            @Param("userId") Long userId,
                                                            @Param("accountLevel") Integer accountLevel,
                                                            @Param("districtsCode") String districtsCode,
                                                            @Param("streetId") String streetId,
                                                            @Param("communityId") Long communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java
@@ -2,19 +2,29 @@
import cn.hutool.core.bean.BeanUtil;
import cn.idev.excel.FastExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.sangeshenbian.SystemUserVo;
import com.panzhihua.sangeshenbian.model.entity.PartyMember;
import com.panzhihua.sangeshenbian.dao.PartyMemberMapper;
import com.panzhihua.sangeshenbian.enums.AuditStatusEnum;
import com.panzhihua.sangeshenbian.enums.ReportTypeEnum;
import com.panzhihua.sangeshenbian.model.entity.PartyMember;
import com.panzhihua.sangeshenbian.model.entity.SystemUser;
import com.panzhihua.sangeshenbian.model.excel.PartyMemberExcel;
import com.panzhihua.sangeshenbian.model.excel.PartyMemberTemplate;
import com.panzhihua.sangeshenbian.service.IPartyMemberService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.sangeshenbian.service.ISystemUserService;
import com.panzhihua.sangeshenbian.warpper.PartyMemberApplicationRequest;
import com.panzhihua.sangeshenbian.warpper.PartyMemberDTO;
import com.panzhihua.sangeshenbian.warpper.PartyMemberQuery;
import com.panzhihua.sangeshenbian.warpper.PendingPartyMemberApplicationVO;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -35,6 +45,7 @@
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
public class PartyMemberServiceImpl extends ServiceImpl<PartyMemberMapper, PartyMember> implements IPartyMemberService {
    private final HttpServletResponse response;
    private final ISystemUserService systemUserService;
    /**
     * 党员分页查询列表
     *
@@ -116,6 +127,19 @@
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void applyForMembership(PartyMemberApplicationRequest dto, LoginUserInfoVO loginUserInfo) {
        PartyMember partyMember = BeanUtil.copyProperties(dto, PartyMember.class);
        String idNumber = dto.getIdNumber();
        partyMember.setPhone(loginUserInfo.getPhone());
        partyMember.setGender(getGender(idNumber));
        partyMember.setCreateBy(loginUserInfo.getUserId());
        partyMember.setAuditStatus(AuditStatusEnum.PENDING.getCode());
        saveOrUpdate(partyMember);
    }
    /**
     * 审核
     *
@@ -129,6 +153,36 @@
        updateById(partyMember);
    }
    @Override
    public Page<PendingPartyMemberApplicationVO> preAuditList(Page<PendingPartyMemberApplicationVO> page,
                                                              LoginUserInfoVO loginUserInfo) {
        SystemUser adminUser = systemUserService.getOne(new LambdaQueryWrapper<SystemUser>()
                .eq(SystemUser::getPhone, loginUserInfo.getPhone())
                .eq(SystemUser::getIsAdmin, 1)
                .ne(SystemUser::getStatus, 3)
                .last("LIMIT 1"));
        if (adminUser == null){
            throw new ServiceException("无权审核");
        }
        int accountLevel = adminUser.getAccountLevel();
        Long communityId = null;
        String streetId = null;
        String districtsCode = null;
        if (accountLevel == ReportTypeEnum.COMMUNITY.getCode()) {
            communityId = adminUser.getCommunityId();
        } else if (accountLevel == ReportTypeEnum.STREET.getCode()) {
            streetId = adminUser.getStreetId();
        } else if (accountLevel == ReportTypeEnum.DISTRICT.getCode()) {
            districtsCode = adminUser.getDistrictsCode();
        } else if(accountLevel != ReportTypeEnum.PARTY.getCode()){
            throw new ServiceException("无权审核:未知等级");
        }
        Long userId = loginUserInfo.getUserId();
        return this.baseMapper.queryPreAuditPage(page, userId, accountLevel, districtsCode, streetId, communityId);
    }
    /**
     * 根据身份证号获取性别
     * @param idNumber
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/warpper/PartyMemberApplicationRequest.java
@@ -0,0 +1,57 @@
package com.panzhihua.sangeshenbian.warpper;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
@ApiModel("党员申请传输对象")
public class PartyMemberApplicationRequest {
    @ApiModelProperty(value = "主键id", notes = "编辑时必填")
    private Long id;
    @ApiModelProperty(value = "姓名")
    @NotBlank(message = "姓名不能空")
    private String name;
    @ApiModelProperty(value = "身份证号")
    @NotBlank(message = "身份证号不能空")
    private String idNumber;
    @ApiModelProperty(value = "所属区县")
    @NotBlank(message = "区县不能空")
    private String districts;
    @ApiModelProperty(value = "区县编号")
    @NotBlank(message = "区县编号不能空")
    private String districtsCode;
    @ApiModelProperty(value = "街道")
    @NotBlank(message = "街道不能空")
    private String street;
    @ApiModelProperty(value = "街道ID")
    @NotBlank(message = "街道ID不能空")
    private String streetId;
    @ApiModelProperty(value = "社区")
    @NotBlank(message = "社区不能空")
    private String community;
    @ApiModelProperty(value = "社区ID")
    @NotBlank(message = "社区ID不能空")
    private Long communityId;
    @ApiModelProperty(value = "服务对象")
    private String serviceTarget;
    @ApiModelProperty(value = "所在党组织")
    private String partyOrganization;
    @ApiModelProperty(value = "头像")
    @NotBlank(message = "头像不能空")
    private String avatar;
}
springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/resources/mapper/PartyMemberMapper.xml
@@ -109,4 +109,34 @@
        </where>
        ORDER BY create_time DESC
    </select>
    <select id="queryPreAuditPage"
            resultType="com.panzhihua.sangeshenbian.warpper.PendingPartyMemberApplicationVO">
        SELECT
            id,
            audit_status,
            `name`,
            gender,
            id_number,
            phone,
            districts,
            street,
            community,
            service_target,
            party_organization,
            avatar,
            create_time
        FROM
            sgsb_party_member
        WHERE
            audit_status = 0 and create_by != ${userId}
        <if test="accountLevel==2">
            and districts_code = #{districtsCode}
        </if>
        <if test="accountLevel==3">
            and street_id = #{streetId}
        </if>
        <if test="accountLevel==4">
            and community_id = #{communityId}
        </if>
    </select>
</mapper>