add 委员会代码,同步数据代码

This commit is contained in:
lijiarao
2024-06-06 17:14:52 +08:00
parent 4576948659
commit 400fe4ce92
9 changed files with 288 additions and 41 deletions
+90
View File
@@ -0,0 +1,90 @@
-- auto-generated definition
create table pay_committee_info
(
id varchar(36) not null comment 'id',
contacts varchar(100) null comment '联系人',
email varchar(100) null comment 'Email',
establishment_year varchar(100) null comment '成立年代',
telephone varchar(100) null comment '电话',
the_unit_to_which_one_belongs varchar(100) null comment '秘书处所在单位',
approval_time_for_this_session date null comment '本届批准时间',
technical_organization_type varchar(100) null comment '技术组织类型',
contact_email varchar(100) null comment '联系人Email',
committee_number varchar(100) null comment '委员会编号',
province varchar(100) null comment '秘书处所在省',
first_establishment_date date null comment '第一届成立时间',
contact_fax varchar(100) null comment '联系人传真',
responsible_for_professional_scope varchar(500) null comment '负责专业范围',
secretariat_mailing_address varchar(100) null comment '秘书处通讯地址',
contact_phone_number varchar(100) null comment '联系人电话',
business_guidance_unit varchar(100) null comment '业务指导单位',
city varchar(100) null comment '秘书处所在城市',
unit_nature varchar(100) null comment '秘书处单位性质',
org_code varchar(100) null comment '秘书处组织机构代码',
secretary_general varchar(100) null comment '秘书长',
establishment_number varchar(100) null comment '成立文号',
cell_phone varchar(100) null comment '联系人手机',
what_is_the_current_session varchar(100) null comment '现为第几届',
zip_code varchar(100) null comment '邮政编码',
english_name varchar(100) null comment '英文名称',
approval_number_for_this_session varchar(100) null comment '本届批准文号编号',
facsimile varchar(100) null comment '传真',
preparation_unit varchar(100) null comment '筹建单位',
committee_name varchar(100) null comment '委员会名称',
constraint Index_1
unique (id)
)
comment '委员会表';
alter table pay_committee_info
add primary key (id);
-- auto-generated definition
drop table if exists pay_committee_member_info;
create table pay_committee_member_info
(
id varchar(36) not null comment 'id',
mobile_phone varchar(100) null comment '手机',
number int null comment '序号',
identification_number varchar(100) null comment '证件号码',
major_studied varchar(100) null comment '所学专业',
administrative_position varchar(100) null comment '行政职务',
technical_title varchar(100) null comment '技术职称',
affiliated_parties varchar(100) null comment '所属相关方',
committee_participation_time date null comment '参加委员会时间',
work_unit varchar(100) null comment '工作单位',
e_mail varchar(100) null comment '电子邮箱',
committee_number varchar(100) null comment '委员会编号',
name varchar(100) null comment '姓名',
nation varchar(100) null comment '民族',
contact_phone_number varchar(100) null comment '联系电话',
graduation_institution varchar(100) null comment '毕业院校',
validity_period_of_employment_letter date null comment '聘书有效期',
foreign_language varchar(100) null comment '外语',
appointment_letter_number varchar(100) null comment '委员聘书编号',
position_of_standards_committee varchar(100) null comment '标委会职务',
professional_technical_expertise text null comment '专业技术特长',
title_level varchar(100) null comment '职称级别',
engaged_in_profession varchar(100) null comment '从事专业',
educational_background varchar(100) null comment '学历',
zip_code varchar(100) null comment '邮政编码',
degree varchar(100) null comment '学位',
unit_nature varchar(100) null comment '单位性质',
gender varchar(100) null comment '性别',
communication_address varchar(100) null comment '通信地址',
foreign_language_proficiency_level varchar(100) null comment '外语熟练程度',
facsimile varchar(100) null comment '传真',
central_enterprise_level varchar(100) null comment '央企级别',
org_code varchar(100) null comment '工作单位统一社会信用代码或组织机构代码',
political_landscape varchar(100) null comment '政治面貌',
province_of_work_unit varchar(100) null comment '工作单位所属省_直辖市_自治区_特区',
document_type varchar(100) null comment '证件类型',
birth_date varchar(100) null comment '出生年月',
constraint Index_1
unique (id)
)
comment '委员会成员表';
alter table pay_committee_member_info
add primary key (id);
@@ -55,18 +55,6 @@ public class PayCommitteeInfoController extends JeroController<PayCommitteeInfo,
return Result.OK(pageList);
}
/**
* 列表查询
*/
@ApiOperation(value = "委员会表-列表查询", notes = "委员会表-列表查询")
@GetMapping(value = "/list")
public Result<List<PayCommitteeInfo>> queryList(PayCommitteeInfo payCommitteeInfo,
HttpServletRequest req) {
QueryWrapper<PayCommitteeInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeInfo, req.getParameterMap());
List<PayCommitteeInfo> list = payCommitteeInfoService.list(queryWrapper);
return Result.OK(list);
}
/**
* 通过id查询
*/
@@ -84,9 +72,18 @@ public class PayCommitteeInfoController extends JeroController<PayCommitteeInfo,
/**
* 导出excel
*/
@ApiOperation(value = "委员会表-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCommitteeInfo payCommitteeInfo) {
return super.exportXls(request, payCommitteeInfo, PayCommitteeInfo.class, "委员会表");
//@ApiOperation(value = "委员会表-导出excel")
//@GetMapping(value = "/exportXls")
//public ModelAndView exportXls(HttpServletRequest request, PayCommitteeInfo payCommitteeInfo) {
// return super.exportXls(request, payCommitteeInfo, PayCommitteeInfo.class, "委员会表");
//}
/**
* 同步数据
*/
@ApiOperation(value = "同步数据")
@GetMapping(value = "/sync")
public void sync() {
payCommitteeInfoService.sync();
}
}
@@ -1,5 +1,6 @@
package com.jero.committee.controller;
import cn.hutool.core.util.DesensitizedUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -22,6 +23,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
@@ -52,21 +54,23 @@ public class PayCommitteeMemberInfoController extends JeroController<PayCommitte
QueryWrapper<PayCommitteeMemberInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeMemberInfo, req.getParameterMap());
Page<PayCommitteeMemberInfo> page = new Page<>(pageNo, pageSize);
IPage<PayCommitteeMemberInfo> pageList = payCommitteeMemberInfoService.page(page, queryWrapper);
for (PayCommitteeMemberInfo record : pageList.getRecords()) {
String identificationNumber = record.getIdentificationNumber();
record.setIdentificationNumber(DesensitizedUtil.idCardNum(identificationNumber,1,2));
String mobilePhone = record.getMobilePhone();
record.setMobilePhone(DesensitizedUtil.mobilePhone(mobilePhone));
String birthDate = record.getBirthDate();
record.setBirthDate(DesensitizedUtil.password(birthDate));
String appointmentLetterNumber = record.getAppointmentLetterNumber();
record.setAppointmentLetterNumber(DesensitizedUtil.password(appointmentLetterNumber));
String eMail = record.getEMail();
record.setEMail(DesensitizedUtil.email(eMail));
String contactPhoneNumber = record.getContactPhoneNumber();
record.setContactPhoneNumber(DesensitizedUtil.password(contactPhoneNumber));
}
return Result.OK(pageList);
}
/**
* 列表查询
*/
@ApiOperation(value = "委员会成员表-列表查询", notes = "委员会成员表-列表查询")
@GetMapping(value = "/list")
public Result<List<PayCommitteeMemberInfo>> queryList(PayCommitteeMemberInfo payCommitteeMemberInfo,
HttpServletRequest req) {
QueryWrapper<PayCommitteeMemberInfo> queryWrapper = QueryGenerator.initQueryWrapper(payCommitteeMemberInfo, req.getParameterMap());
List<PayCommitteeMemberInfo> list = payCommitteeMemberInfoService.list(queryWrapper);
return Result.OK(list);
}
/**
* 通过id查询
*/
@@ -85,10 +89,10 @@ public class PayCommitteeMemberInfoController extends JeroController<PayCommitte
/**
* 导出excel
*/
@ApiOperation(value = "委员会成员表-导出excel")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayCommitteeMemberInfo payCommitteeMemberInfo) {
return super.exportXls(request, payCommitteeMemberInfo, PayCommitteeMemberInfo.class, "委员会成员表");
}
//@ApiOperation(value = "委员会成员表-导出excel")
//@GetMapping(value = "/exportXls")
//public ModelAndView exportXls(HttpServletRequest request, PayCommitteeMemberInfo payCommitteeMemberInfo) {
// return super.exportXls(request, payCommitteeMemberInfo, PayCommitteeMemberInfo.class, "委员会成员表");
//}
}
@@ -10,7 +10,7 @@ import lombok.NoArgsConstructor;
*/
@NoArgsConstructor
@Data
public class CommiteeInfoDTO {
public class CommitteeInfoDTO {
/**
* 联系人
@@ -10,7 +10,7 @@ import lombok.NoArgsConstructor;
*/
@NoArgsConstructor
@Data
public class CommiteeMemberInfoDTO {
public class CommitteeMemberInfoDTO {
/**
* 手机
*/
@@ -102,9 +102,9 @@ public class PayCommitteeInfo {
/**
* 第一届成立时间
*/
@TableField(value = "rst_establishment_date")
@TableField(value = "first_establishment_date")
@ApiModelProperty(value = "第一届成立时间")
private Date rstEstablishmentDate;
private Date firstEstablishmentDate;
/**
* 联系人传真
@@ -279,5 +279,5 @@ public class PayCommitteeMemberInfo {
*/
@TableField(value = "birth_date")
@ApiModelProperty(value = "出生年月")
private Date birthDate;
private String birthDate;
}
@@ -1,18 +1,37 @@
package com.jero.committee.service;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.collect.Lists;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jero.committee.dto.CommitteeInfoDTO;
import com.jero.committee.dto.CommitteeMemberInfoDTO;
import com.jero.committee.entity.PayCommitteeMemberInfo;
import com.jero.util.ZxdUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.committee.mapper.PayCommitteeInfoMapper;
import com.jero.committee.entity.PayCommitteeInfo;
import javax.annotation.Resource;
/**
*
*@author liJiaRao
*@date 2024-06-05 16:02
*/
@Slf4j
@Service
public class PayCommitteeInfoService extends ServiceImpl<PayCommitteeInfoMapper, PayCommitteeInfo> {
@Resource
private PayCommitteeMemberInfoService committeeMemberInfoService;
public void add(PayCommitteeInfo payCommitteeInfo) {
this.save(payCommitteeInfo);
}
@@ -36,4 +55,141 @@ public class PayCommitteeInfoService extends ServiceImpl<PayCommitteeInfoMapper,
return payCommitteeInfo;
}
public void sync(){
JSONObject jsonObject = ZxdUtil.getWyh();
JSONObject result = jsonObject.getJSONObject("result");
List<CommitteeMemberInfoDTO> committeeMemberInfoList = JSONArray.parseArray(result.getString("commiteeMemberInfoList"), CommitteeMemberInfoDTO.class);
List<PayCommitteeMemberInfo> payCommitteeMemberInfos = convertCommitteeMemberInfoDTO(committeeMemberInfoList);
committeeMemberInfoService.saveOrUpdateBatch(payCommitteeMemberInfos);
List<CommitteeInfoDTO> committeeInfoList = JSONArray.parseArray(result.getString("commiteeInfoList"), CommitteeInfoDTO.class);
List<PayCommitteeInfo> payCommitteeInfos = convertCommitteeInfoDTO(committeeInfoList);
this.saveOrUpdateBatch(payCommitteeInfos);
}
private List<PayCommitteeInfo> convertCommitteeInfoDTO(List<CommitteeInfoDTO> dtoList){
List<PayCommitteeInfo> payCommitteeInfolist=Lists.newArrayList();
for (CommitteeInfoDTO committeeInfoDTO :dtoList) {
payCommitteeInfolist.add(convertFromCommitteeInfoDTO(committeeInfoDTO));
}
return payCommitteeInfolist;
}
private PayCommitteeInfo convertFromCommitteeInfoDTO(CommitteeInfoDTO dto) {
PayCommitteeInfo payCommitteeInfo = new PayCommitteeInfo();
String committeeNumber = dto.getCommitteeNumber();
LambdaQueryWrapper<PayCommitteeInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCommitteeInfo::getCommitteeNumber,committeeNumber);
PayCommitteeInfo committeeInfo = this.getOne(wrapper);
if (committeeInfo != null){
payCommitteeInfo.setId(committeeInfo.getId());
}
payCommitteeInfo.setCommitteeNumber(committeeNumber);
payCommitteeInfo.setContacts(dto.getContacts());
payCommitteeInfo.setEmail(dto.getEmail());
payCommitteeInfo.setEstablishmentYear(dto.getEstablishmentYear());
payCommitteeInfo.setTelephone(dto.getTelephone());
payCommitteeInfo.setTheUnitToWhichOneBelongs(dto.getTheUnitToWhichOneBelongs());
String approvalTimeForThisSession = dto.getApprovalTimeForThisSession();
if (StringUtils.isNotBlank(approvalTimeForThisSession)){
payCommitteeInfo.setApprovalTimeForThisSession(DateUtil.date(Long.parseLong(approvalTimeForThisSession)));
}
payCommitteeInfo.setTechnicalOrganizationType(dto.getTechnicalOrganizationType());
payCommitteeInfo.setContactEmail(dto.getContactEmail());
payCommitteeInfo.setProvince(dto.getProvince());
String firstEstablishmentDate = dto.getFirstEstablishmentDate();
if (StringUtils.isNotBlank(firstEstablishmentDate)){
payCommitteeInfo.setFirstEstablishmentDate(DateUtil.date(Long.parseLong(firstEstablishmentDate)));
}
payCommitteeInfo.setContactFax(dto.getContactFax());
payCommitteeInfo.setResponsibleForProfessionalScope(dto.getResponsibleForProfessionalScope());
payCommitteeInfo.setSecretariatMailingAddress(dto.getSecretariatMailingAddress());
payCommitteeInfo.setContactPhoneNumber(dto.getContactPhoneNumber());
payCommitteeInfo.setBusinessGuidanceUnit(dto.getBusinessGuidanceUnit());
payCommitteeInfo.setCity(dto.getCity());
payCommitteeInfo.setUnitNature(dto.getUnitNature());
payCommitteeInfo.setOrgCode(dto.getOrgCode());
payCommitteeInfo.setSecretaryGeneral(dto.getSecretaryGeneral());
payCommitteeInfo.setEstablishmentNumber(dto.getEstablishmentNumber());
payCommitteeInfo.setCellPhone(dto.getCellPhone());
payCommitteeInfo.setWhatIsTheCurrentSession(dto.getWhatIsTheCurrentSession());
payCommitteeInfo.setZipCode(dto.getZipCode());
payCommitteeInfo.setEnglishName(dto.getEnglishName());
payCommitteeInfo.setApprovalNumberForThisSession(dto.getApprovalNumberForThisSession());
payCommitteeInfo.setFacsimile(dto.getFacsimile());
payCommitteeInfo.setPreparationUnit(dto.getPreparationUnit());
payCommitteeInfo.setCommitteeName(dto.getCommitteeName());
return payCommitteeInfo;
}
private List<PayCommitteeMemberInfo> convertCommitteeMemberInfoDTO(List<CommitteeMemberInfoDTO> dtoList){
List<PayCommitteeMemberInfo> payCommitteeMemberInfolist=Lists.newArrayList();
for (CommitteeMemberInfoDTO committeeMemberInfoDTO :dtoList) {
payCommitteeMemberInfolist.add(convertFromCommitteeMemberInfoDTO(committeeMemberInfoDTO));
}
return payCommitteeMemberInfolist;
}
private PayCommitteeMemberInfo convertFromCommitteeMemberInfoDTO(CommitteeMemberInfoDTO dto) {
PayCommitteeMemberInfo payCommitteeMemberInfo = new PayCommitteeMemberInfo();
String identificationNumber = dto.getIdentificationNumber();
LambdaQueryWrapper<PayCommitteeMemberInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCommitteeMemberInfo::getIdentificationNumber,identificationNumber);
PayCommitteeMemberInfo committeeMemberInfo = committeeMemberInfoService.getOne(wrapper);
if (committeeMemberInfo != null){
payCommitteeMemberInfo.setId(committeeMemberInfo.getId());
}
payCommitteeMemberInfo.setMobilePhone(dto.getMobilePhone());
payCommitteeMemberInfo.setNumber(dto.getNumber());
payCommitteeMemberInfo.setIdentificationNumber(dto.getIdentificationNumber());
payCommitteeMemberInfo.setMajorStudied(dto.getMajorStudied());
payCommitteeMemberInfo.setAdministrativePosition(dto.getAdministrativePosition());
payCommitteeMemberInfo.setTechnicalTitle(dto.getTechnicalTitle());
payCommitteeMemberInfo.setAffiliatedParties(dto.getAffiliatedParties());
String committeeParticipationTime = dto.getCommitteeParticipationTime();
if (StringUtils.isNotBlank(committeeParticipationTime)) {
payCommitteeMemberInfo.setCommitteeParticipationTime(DateUtil.date(Long.parseLong(committeeParticipationTime)));
}
payCommitteeMemberInfo.setWorkUnit(dto.getWorkUnit());
payCommitteeMemberInfo.setEMail(dto.getEMail());
payCommitteeMemberInfo.setCommitteeNumber(dto.getCommitteeNumber());
payCommitteeMemberInfo.setName(dto.getName());
payCommitteeMemberInfo.setNation(dto.getNation());
payCommitteeMemberInfo.setContactPhoneNumber(dto.getContactPhoneNumber());
payCommitteeMemberInfo.setGraduationInstitution(dto.getGraduationInstitution());
String validityPeriodOfEmploymentLetter = dto.getValidityPeriodOfEmploymentLetter();
if (StringUtils.isNotBlank(validityPeriodOfEmploymentLetter)){
payCommitteeMemberInfo.setValidityPeriodOfEmploymentLetter(DateUtil.date(Long.parseLong(validityPeriodOfEmploymentLetter)));
}
payCommitteeMemberInfo.setForeignLanguage(dto.getForeignLanguage());
payCommitteeMemberInfo.setAppointmentLetterNumber(dto.getAppointmentLetterNumber());
payCommitteeMemberInfo.setPositionOfStandardsCommittee(dto.getPositionOfStandardsCommittee());
payCommitteeMemberInfo.setProfessionalTechnicalExpertise(dto.getProfessionalTechnicalExpertise());
payCommitteeMemberInfo.setTitleLevel(dto.getTitleLevel());
payCommitteeMemberInfo.setEngagedInProfession(dto.getEngagedInProfession());
payCommitteeMemberInfo.setEducationalBackground(dto.getEducationalBackground());
payCommitteeMemberInfo.setZipCode(dto.getZipCode());
payCommitteeMemberInfo.setDegree(dto.getDegree());
payCommitteeMemberInfo.setUnitNature(dto.getUnitNature());
payCommitteeMemberInfo.setGender(dto.getGender());
payCommitteeMemberInfo.setCommunicationAddress(dto.getCommunicationAddress());
payCommitteeMemberInfo.setForeignLanguageProficiencyLevel(dto.getForeignLanguageProficiencyLevel());
payCommitteeMemberInfo.setFacsimile(dto.getFacsimile());
payCommitteeMemberInfo.setCentralEnterpriseLevel(dto.getCentralEnterpriseLevel());
payCommitteeMemberInfo.setOrgCode(dto.getOrgCode());
payCommitteeMemberInfo.setPoliticalLandscape(dto.getPoliticalLandscape());
payCommitteeMemberInfo.setProvinceOfWorkUnit(dto.getProvinceOfWorkUnit());
payCommitteeMemberInfo.setDocumentType(dto.getDocumentType());
String birthDate = dto.getBirthDate();
if (StringUtils.isNotBlank(birthDate)) {
DateTime date = DateUtil.date(Long.parseLong(birthDate));
payCommitteeMemberInfo.setBirthDate(date.toDateStr());
}
return payCommitteeMemberInfo;
}
}
@@ -58,7 +58,7 @@ public class ZxdUtil {
private final static String PREFIXS ="appId=QC_APP01&type=getCommiteeAndMemberInfo";//列表获取参数
private final static String URL ="http://www.catarc.org.cn:8088/zxd/serviceInterface/getCommiteeAndMemberInfo";//列表地址
public static void getWyh(){
public static JSONObject getWyh(){
String encrypt = ZxdUtil.encrypt(PREFIXS, KEYS);
HashMap<String, Object> map = new HashMap<>();
map.put("appId",APP_ID);
@@ -67,7 +67,7 @@ public class ZxdUtil {
SM4 sm4 = SmUtil.sm4(SM4_KEY.getBytes());
String str = sm4.decryptStr(s1);
JSONObject jsonObject = JSONObject.parseObject(str);
log.info(jsonObject.toJSONString());
return jsonObject;
}
public static void main(String[] args) {