From db0d34e944276dc913f70c374bf7c3bb75f9d451 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 14 三月 2025 18:27:43 +0800 Subject: [PATCH] 管理后台-党员管理 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java | 123 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java index 4a042d5..760517c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java @@ -1,10 +1,27 @@ package com.panzhihua.sangeshenbian.service.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.idev.excel.FastExcel; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +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.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.warpper.PartyMemberDTO; +import com.panzhihua.sangeshenbian.warpper.PartyMemberQuery; +import lombok.RequiredArgsConstructor; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.net.URLEncoder; +import java.util.Collections; +import java.util.List; +import java.util.Objects; /** * <p> @@ -15,6 +32,112 @@ * @since 2025-03-13 */ @Service +@RequiredArgsConstructor(onConstructor_ = {@Lazy}) public class PartyMemberServiceImpl extends ServiceImpl<PartyMemberMapper, PartyMember> implements IPartyMemberService { + private final HttpServletResponse response; + /** + * 党员分页查询列表 + * + * @param query + * @param loginUserInfo + * @return + */ + @Override + public Page<PartyMember> pageList(PartyMemberQuery query, SystemUserVo loginUserInfo) { + return baseMapper.pageList(new Page<>(query.getPageNum(), query.getPageSize()),query,loginUserInfo); + } + /** + * 添加党员 + * @param dto + * @param loginUserInfo + */ + @Override + public void save(PartyMemberDTO dto, SystemUserVo loginUserInfo) { + PartyMember partyMember = BeanUtil.copyProperties(dto, PartyMember.class); + String idNumber = dto.getIdNumber(); + partyMember.setGender(getGender(idNumber)); + if (Objects.isNull(dto.getId())) { + //添加 + partyMember.setCreateBy(Long.parseLong(loginUserInfo.getId().toString())); + save(partyMember); + } else { + partyMember.setUpdateBy(Long.parseLong(loginUserInfo.getId().toString())); + updateById(partyMember); + } + } + /** + * 冻结/解冻 + * @param id + * @param loginUserInfo + */ + @Override + public void freeze(Long id, SystemUserVo loginUserInfo) { + PartyMember partyMember = getById(id); + partyMember.setFreezeStatus(partyMember.getFreezeStatus() == 1 ? 0 : 1); + partyMember.setUpdateBy(Long.parseLong(loginUserInfo.getId().toString())); + updateById(partyMember); + } + + @Override + public void download() throws IOException { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode("党员导入模板", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + FastExcel.write(response.getOutputStream(), PartyMemberTemplate.class) + .sheet("党员导入模板") + .doWrite(Collections.emptyList()); + } + + /** + * 导出 + * @param query + * @param loginUserInfo + */ + @Override + public void export(PartyMemberQuery query, SystemUserVo loginUserInfo) throws IOException { + List<PartyMember> list = baseMapper.queryList(query,loginUserInfo); + List<PartyMemberExcel> partyMemberExcels = BeanUtil.copyToList(list, PartyMemberExcel.class); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode("党员数据", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + FastExcel.write(response.getOutputStream(), PartyMemberExcel.class) + .sheet("党员数据") + .doWrite(partyMemberExcels); + } + + /** + * + * @param loginUserInfo + */ + @Override + public void importExcel(SystemUserVo loginUserInfo) { + + } + + /** + * 审核 + * + * @param dto + * @param loginUserInfo + */ + @Override + public void audit(PartyMemberDTO dto, SystemUserVo loginUserInfo) { + PartyMember partyMember = BeanUtil.copyProperties(dto, PartyMember.class); + partyMember.setUpdateBy(Long.parseLong(loginUserInfo.getId().toString())); + updateById(partyMember); + } + + /** + * 根据身份证号获取性别 + * @param idNumber + * @return + */ + public static Integer getGender(String idNumber) { + char genderChar = idNumber.charAt(16); + int genderDigit = Character.getNumericValue(genderChar); + return (genderDigit % 2 == 0) ? 0 : 1; + } } -- Gitblit v1.7.1