From 00ef2e4c4c6a85af857be272cf74a7e43e6517f0 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期日, 16 三月 2025 03:42:16 +0800 Subject: [PATCH] 修改诉求流程和新增评价功能 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/PartyMemberServiceImpl.java | 137 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 136 insertions(+), 1 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..2217369 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,28 @@ package com.panzhihua.sangeshenbian.service.impl; +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.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 +33,123 @@ * @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; + } + + + /** + * 根据电话号码查询有效的党员数据 + * @param phone + * @return + */ + @Override + public PartyMember getPartyMemberByPhone(String phone) { + PartyMember one = this.getOne(new LambdaQueryWrapper<PartyMember>().eq(PartyMember::getPhone, phone) + .eq(PartyMember::getAuditStatus, 1).eq(PartyMember::getFreezeStatus, 0).eq(PartyMember::getDelFlag, 0)); + return one; + }} -- Gitblit v1.7.1