执法系统批吊接口

This commit is contained in:
黎润豪 2026-02-24 14:52:56 +08:00
parent 1578d80644
commit 2b0029986e
13 changed files with 938 additions and 309 deletions

View File

@ -0,0 +1,155 @@
package com.chinaweal.aiccs.aiccs.revoke.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 批量吊销推送记录表
* 存储需要推送的批量吊销成功市场主体记录
* </p>
*
* @author Lee
* @since 2026-02-24
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BATCH_REVOKE_PUSH_RECORD")
public class BatchRevokePushRecord extends Model<BatchRevokePushRecord> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "ID", type = IdType.ASSIGN_UUID)
private String id;
/**
* 吊销记录ID关联revokelist表的REVLISTID
*/
@TableField("REVLISTID")
private String revlistid;
/**
* 主体身份代码
*/
@TableField("PRIPID")
private String pripid;
/**
* 统一社会信用代码
*/
@TableField("UNISCID")
private String uniscid;
/**
* 企业名称
*/
@TableField("ENTNAME")
private String entname;
/**
* 吊销原因代码
*/
@TableField("REVOKEREA")
private String revokeRea;
/**
* 吊销日期
*/
@TableField("REVOKEDATE")
private LocalDateTime revokedate;
/**
* 处罚登记机关代码
*/
@TableField("PUNISHORG")
private String punishOrg;
/**
* 处罚登记机关名称
*/
@TableField("PUNISHORGCN")
private String punishOrgCn;
/**
* 经办人ID
*/
@TableField("HANDLERID")
private String handlerid;
/**
* 经办人姓名
*/
@TableField("HANDLERNAME")
private String handlername;
/**
* 推送状态0-待推送1-推送成功2-推送失败
*/
@TableField("PUSHSTATUS")
private String pushStatus;
/**
* 推送返回状态码
*/
@TableField("PUSHCODE")
private String pushCode;
/**
* 推送返回异常代码
*/
@TableField("PUSHEXCODE")
private String pushExcode;
/**
* 推送返回消息
*/
@TableField("PUSHMESSAGE")
private String pushMessage;
/**
* 推送次数
*/
@TableField("PUSHCOUNT")
private Integer pushCount;
/**
* 最后推送时间
*/
@TableField("LASTPUSHTIME")
private LocalDateTime lastPushTime;
/**
* 创建时间
*/
@TableField("CREATETIME")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("UPDATETIME")
private LocalDateTime updateTime;
/**
* 备注
*/
@TableField("REMARK")
private String remark;
@Override
protected Serializable pkVal() {
return this.id;
}
}

View File

@ -0,0 +1,60 @@
package com.chinaweal.aiccs.aiccs.revoke.entity.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.List;
/**
* 批量直接吊销请求模型
* @author iFlow
* @since 2026-02-24
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "批量直接吊销请求模型")
public class DirectRevokeDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主体身份代码列表
*/
@ApiModelProperty(value = "主体身份代码列表(pripid)")
@NotEmpty(message = "主体身份代码列表不能为空!")
private List<String> pripids;
/**
* 吊销原因代码
* 1: 一年未年报实地查无
* 2: 连续两年未年报
* 3: 因实地查无列入经营异常名录两年以上
*/
@ApiModelProperty(value = "吊销原因代码(1-一年未年报实地查无2-连续两年未年报3-因实地查无列入经营异常名录两年以上)")
private String revokeReasonCode;
/**
* 吊销原因描述
*/
@ApiModelProperty(value = "吊销原因描述")
private String revokeReasonDesc;
/**
* 企业类型
* 1: 公司
* 2: 个人独资企业
*/
@ApiModelProperty(value = "企业类型(1-公司2-个人独资企业)")
private String bizEntType;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@ -0,0 +1,81 @@
package com.chinaweal.aiccs.aiccs.revoke.entity.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* 批量直接吊销结果模型
* @author iFlow
* @since 2026-02-24
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "批量直接吊销结果模型")
public class DirectRevokeResultDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 总数
*/
@ApiModelProperty(value = "总数")
private Integer total;
/**
* 成功数量
*/
@ApiModelProperty(value = "成功数量")
private Integer successCount;
/**
* 失败数量
*/
@ApiModelProperty(value = "失败数量")
private Integer failCount;
/**
* 成功企业名称列表
*/
@ApiModelProperty(value = "成功企业名称列表")
private List<String> successList;
/**
* 失败列表
*/
@ApiModelProperty(value = "失败列表")
private List<FailItem> failList;
/**
* 失败项
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "吊销失败项")
public static class FailItem implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主体身份代码
*/
@ApiModelProperty(value = "主体身份代码")
private String pripid;
/**
* 企业名称
*/
@ApiModelProperty(value = "企业名称")
private String entname;
/**
* 失败原因
*/
@ApiModelProperty(value = "失败原因")
private String reason;
}
}

View File

@ -0,0 +1,52 @@
package com.chinaweal.aiccs.aiccs.revoke.entity.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
* 未吊销市场主体查询DTO
* </p>
*
* @author Lee
* @since 2026-02-24
*/
@Data
@ApiModel(value = "未吊销市场主体查询DTO")
public class UnrevokedEntQueryDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 企业名称模糊查询
*/
@ApiModelProperty(value = "企业名称(模糊查询)")
private String entname;
/**
* 统一社会信用代码
*/
@ApiModelProperty(value = "统一社会信用代码")
private String uniscid;
/**
* 注册号
*/
@ApiModelProperty(value = "注册号")
private String regno;
/**
* 市场主体类型
*/
@ApiModelProperty(value = "市场主体类型")
private String enttype;
/**
* 登记机关
*/
@ApiModelProperty(value = "登记机关")
private String regorg;
}

View File

@ -0,0 +1,16 @@
package com.chinaweal.aiccs.aiccs.revoke.mapper;
import com.chinaweal.aiccs.aiccs.revoke.entity.BatchRevokePushRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 批量吊销推送记录 Mapper 接口
* </p>
*
* @author Lee
* @since 2026-02-24
*/
public interface BatchRevokePushRecordMapper extends BaseMapper<BatchRevokePushRecord> {
}

View File

@ -0,0 +1,16 @@
package com.chinaweal.aiccs.aiccs.revoke.service;
import com.chinaweal.aiccs.aiccs.revoke.entity.BatchRevokePushRecord;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;
/**
* <p>
* 批量吊销推送记录 服务类
* </p>
*
* @author Lee
* @since 2026-02-24
*/
public interface BatchRevokePushRecordService extends BaseService<BatchRevokePushRecord> {
}

View File

@ -6,6 +6,8 @@ import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion;
import com.chinaweal.aiccs.aiccs.revoke.entity.BizRevEnt;
import com.chinaweal.aiccs.aiccs.revoke.entity.Tsbizrevlist;
import com.chinaweal.aiccs.aiccs.revoke.entity.Tsrevtasklist;
import com.chinaweal.aiccs.aiccs.revoke.entity.dto.DirectRevokeDto;
import com.chinaweal.aiccs.aiccs.revoke.entity.dto.DirectRevokeResultDto;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;
@ -80,4 +82,12 @@ public interface TsbizrevlistService extends BaseService<Tsbizrevlist> {
IPage<Tsbizrevlist> getForceLogoutNoticetPage(Page<Tsbizrevlist> objectPage, Map<String, Object> customParamMap);
List<Tsbizrevlist> selectInZxBiz(String pripid);
/**
* 批量直接吊销市场主体无需审批
* @param dto 批量直接吊销请求参数
* @param user 当前登录用户
* @return 吊销结果
*/
DirectRevokeResultDto directRevoke(DirectRevokeDto dto, AICUser user);
}

View File

@ -0,0 +1,20 @@
package com.chinaweal.aiccs.aiccs.revoke.service.impl;
import com.chinaweal.aiccs.aiccs.revoke.entity.BatchRevokePushRecord;
import com.chinaweal.aiccs.aiccs.revoke.mapper.BatchRevokePushRecordMapper;
import com.chinaweal.aiccs.aiccs.revoke.service.BatchRevokePushRecordService;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 批量吊销推送记录 服务实现类
* </p>
*
* @author Lee
* @since 2026-02-24
*/
@Service
public class BatchRevokePushRecordServiceImpl extends BaseServiceImpl<BatchRevokePushRecordMapper, BatchRevokePushRecord> implements BatchRevokePushRecordService {
}

View File

@ -4,65 +4,45 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo;
import com.chinaweal.aiccs.aiccs.abnormal.entity.TSAttachment;
import com.chinaweal.aiccs.aiccs.abnormal.entity.TSWrit;
import com.chinaweal.aiccs.aiccs.abnormal.service.EBaseinfoService;
import com.chinaweal.aiccs.aiccs.abnormal.service.TSAttachmentService;
import com.chinaweal.aiccs.aiccs.abnormal.service.TSWritService;
import com.chinaweal.aiccs.aiccs.auditing.entity.TSOpinion;
import com.chinaweal.aiccs.aiccs.inspect.service.TSWorkNoService;
import com.chinaweal.aiccs.aiccs.revoke.entity.*;
import com.chinaweal.aiccs.aiccs.revoke.entity.dto.DirectRevokeDto;
import com.chinaweal.aiccs.aiccs.revoke.entity.dto.DirectRevokeResultDto;
import com.chinaweal.aiccs.aiccs.revoke.mapper.TsbizrevlistMapper;
import com.chinaweal.aiccs.aiccs.revoke.service.*;
import com.chinaweal.aiccs.aiccs.system.entity.TRBaseCode;
import com.chinaweal.aiccs.aiccs.security.entity.PenaltyEntInfo;
import com.chinaweal.aiccs.aiccs.security.service.IPenaltyEntInfoService;
import com.chinaweal.aiccs.aiccs.system.service.TRBaseCodeService;
import com.chinaweal.aiccs.aiccs.writs.entity.Tswrittemplate;
import com.chinaweal.aiccs.aiccs.writs.service.TswrittemplateService;
import com.chinaweal.aiccs.common.constant.BaseDataConstant;
import com.chinaweal.aiccs.common.constant.Constant;
import com.chinaweal.aiccs.common.util.*;
import com.chinaweal.aiccs.org.entity.OrgUnits;
import com.chinaweal.aiccs.org.service.AicorgService;
import com.chinaweal.aiccs.outside.service.TfRevokeServicelmpl;
import com.chinaweal.aicorg.model.AICUser;
import com.chinaweal.youfool.framework.springboot.exception.custom.BusinessException;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseServiceImpl;
import com.chinaweal.youfool.framework.springboot.rest.RestResult;
import com.chinaweal.youfool.framework.springboot.rest.ResultCode;
import com.chinaweal.youfool.framework.sso.util.SSOUtil;
import com.deepoove.poi.data.MiniTableRenderData;
import com.deepoove.poi.data.RenderData;
import com.deepoove.poi.data.RowRenderData;
import com.deepoove.poi.data.TextRenderData;
import com.deepoove.poi.data.style.TableStyle;
import net.sf.json.JSONObject;
//import org.apache.commons.httpclient.HttpClient;
//import org.apache.commons.httpclient.HttpMethod;
//import org.apache.commons.httpclient.methods.PostMethod;
//import org.apache.commons.httpclient.methods.RequestEntity;
//import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.ibatis.annotations.Param;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
* 服务实现类
* 服务实现类
* </p>
*
* @author Lee
@ -103,6 +83,12 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
private TswrittemplateService tswrittemplateService;
@Autowired
private BizRevEntService bizRevEntService;
@Autowired
private com.chinaweal.aiccs.aiccs.abnormal.service.IGzaiccodeService gzaiccodeService;
@Autowired
private BatchRevokePushRecordService batchRevokePushRecordService;
@Autowired
private IPenaltyEntInfoService iPenaltyEntInfoService;
private final Logger logger = LoggerFactory.getLogger(TsbizrevlistServiceImpl.class);
@ -117,7 +103,7 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
* @since 2021年1月22日 13:36:00
*/
@Override
public Tsrevtasklist saveRevListAccept(AICUser user, Tsrevtasklist revtaskListModel, List<Tsbizrevlist> bizrevlists) {
public Tsrevtasklist saveRevListAccept(AICUser user, Tsrevtasklist revtaskListModel, List<Tsbizrevlist> bizrevlists) {
if (StringUtils.isBlank(revtaskListModel.getTasklistid())) {
for (Tsbizrevlist bizRevListModel : bizrevlists) {
bizRevListModel.setIntosponsor(user.getName());//设置主办人
@ -140,20 +126,20 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
JSONObject jobparasjson = new JSONObject();
JSONObject jobjparas = new JSONObject();
jobjparas.put("PRIPID",revocation.getPripid());//主体身份编码
jobjparas.put("UNISCID",revocation.getUniscid());//统一社会信用代码
jobjparas.put("ENTNAME",revocation.getEntname());//企业名称
jobjparas.put("REVOKEREA",revocation.getRevokerea());//吊销批准文号
jobjparas.put("REVOKEDATE",revocation.getRevokedate());//吊销批准部门
jobjparas.put("AFFWRITENO",revocation.getAffwriteno());//完税情况
jobjparas.put("PUBNEWSNAME",revocation.getPubnewsname());//清算组织
jobjparas.put("USERID",revocation.getUserid());//吊销人员ID
jobjparas.put("USERNAME",revocation.getUsername());//吊销人员姓名
jobparasjson.put("params",jobjparas);
jobjparas.put("PRIPID", revocation.getPripid());//主体身份编码
jobjparas.put("UNISCID", revocation.getUniscid());//统一社会信用代码
jobjparas.put("ENTNAME", revocation.getEntname());//企业名称
jobjparas.put("REVOKEREA", revocation.getRevokerea());//吊销批准文号
jobjparas.put("REVOKEDATE", revocation.getRevokedate());//吊销批准部门
jobjparas.put("AFFWRITENO", revocation.getAffwriteno());//完税情况
jobjparas.put("PUBNEWSNAME", revocation.getPubnewsname());//清算组织
jobjparas.put("USERID", revocation.getUserid());//吊销人员ID
jobjparas.put("USERNAME", revocation.getUsername());//吊销人员姓名
jobparasjson.put("params", jobjparas);
String url = "";//推送地址
result = getHttpClientRevocation(jobparasjson.toString(),url);
result = getHttpClientRevocation(jobparasjson.toString(), url);
return result;
}
@ -208,20 +194,20 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
@Override
public IPage<Tsbizrevlist> queryRevocationTzsByNameList(IPage<Tsbizrevlist> page, Map<String, Object> pram) {
return baseMapper.queryRevocationTzsByNameList(page,pram);
return baseMapper.queryRevocationTzsByNameList(page, pram);
}
@Override
public IPage<Tsbizrevlist> queryRevocationJdsByNameList(IPage<Tsbizrevlist> page, Map<String, Object> pram) {
return baseMapper.queryRevocationJdsByNameList(page,pram);
return baseMapper.queryRevocationJdsByNameList(page, pram);
}
@Override
public BizRevEnt getByPripidandBizseq(String pripid, String bizseq) {
LambdaQueryWrapper<BizRevEnt> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(BizRevEnt::getBizseq,bizseq)
.eq(BizRevEnt::getPripid,pripid)
.eq(BizRevEnt::getIsremove,"0");
wrapper.eq(BizRevEnt::getBizseq, bizseq)
.eq(BizRevEnt::getPripid, pripid)
.eq(BizRevEnt::getIsremove, "0");
BizRevEnt bizRevEnt = bizRevEntService.getOne(wrapper, false);
// LambdaQueryWrapper<Tsbizrevlist> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(Tsbizrevlist::getBizseq,bizseq)
@ -233,12 +219,12 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
@Override
public IPage<Tsbizrevlist> getNoOpenRevListPage(IPage<Tsbizrevlist> page, Map<String, Object> paramMap) {
return baseMapper.selectNoOpenRevListPage(page,paramMap);
return baseMapper.selectNoOpenRevListPage(page, paramMap);
}
@Override
public List<Tsbizrevlist> getBizRevEntList(Tsbizrevlist bizrevlistParam) {
if(bizrevlistParam == null) return null;
if (bizrevlistParam == null) return null;
return baseMapper.selectBizRevEntList(bizrevlistParam);
}
@ -255,17 +241,17 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
@Override
public Tsbizrevlist getOneBybizseq(String bizseq) {
LambdaQueryWrapper<Tsbizrevlist> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(Tsbizrevlist::getBizseq,bizseq);
wrapper.eq(Tsbizrevlist::getBizseq, bizseq);
return getOne(wrapper);
}
@Override
public void createHearingPdf(String bizseq,String pripid, String fileName, ServletOutputStream os) throws Exception {
public void createHearingPdf(String bizseq, String pripid, String fileName, ServletOutputStream os) throws Exception {
Tsbizrevlist tsbizrevlist = getOneBybizseq(bizseq);
if(tsbizrevlist == null) throw new BusinessException("下载文件错误");
if (tsbizrevlist == null) throw new BusinessException("下载文件错误");
LambdaQueryWrapper<BizRevEnt> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BizRevEnt::getPripid, pripid).eq(BizRevEnt::getBizseq, bizseq).eq(BizRevEnt::getIsremove,"0");
queryWrapper.eq(BizRevEnt::getPripid, pripid).eq(BizRevEnt::getBizseq, bizseq).eq(BizRevEnt::getIsremove, "0");
BizRevEnt bizRevEnt = bizRevEntService.getOne(queryWrapper);
TsCase aCase = caseService.getByBizseq(bizseq);
@ -307,11 +293,11 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
}
@Override
public void createPunishDecPdf(String bizseq,String pripid, String fileName, ServletOutputStream os) throws Exception {
public void createPunishDecPdf(String bizseq, String pripid, String fileName, ServletOutputStream os) throws Exception {
Tsbizrevlist tsbizrevlist = getOneBybizseq(bizseq);
if(tsbizrevlist == null) throw new BusinessException("下载文件错误");
if (tsbizrevlist == null) throw new BusinessException("下载文件错误");
LambdaQueryWrapper<BizRevEnt> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BizRevEnt::getPripid, pripid).eq(BizRevEnt::getBizseq, bizseq).eq(BizRevEnt::getIsremove,"0");
queryWrapper.eq(BizRevEnt::getPripid, pripid).eq(BizRevEnt::getBizseq, bizseq).eq(BizRevEnt::getIsremove, "0");
BizRevEnt bizRevEnt = bizRevEntService.getOne(queryWrapper);
// 生成听证告知书
@ -322,7 +308,7 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
.eq(Tswrittemplate::getIsTemplate, "0")
.eq(Tswrittemplate::getWritsType, WorkNoUtil.WORKNOTYPE_33);
Tswrittemplate tswrittemplate = tswrittemplateService.getOne(wrapper);
if(tswrittemplate == null){
if (tswrittemplate == null) {
throw new BusinessException("下载文件错误");
}
EBaseinfo eBaseinfo = eBaseinfoService.getOne(new LambdaQueryWrapper<EBaseinfo>().eq(EBaseinfo::getPripid, bizRevEnt.getPripid()), false);
@ -363,4 +349,135 @@ public class TsbizrevlistServiceImpl extends BaseServiceImpl<TsbizrevlistMapper,
public List<Tsbizrevlist> selectInZxBiz(String pripid) {
return baseMapper.selectInZxBiz(pripid);
}
/**
* 批量直接吊销市场主体无需审批
* 直接将市场主体吊销状态写入吊销结果表并推送至外部系统
*/
@Override
public DirectRevokeResultDto directRevoke(DirectRevokeDto dto, AICUser user) {
List<String> pripids = dto.getPripids();
int successCount = 0;
int failCount = 0;
List<String> successList = new ArrayList<>();
List<DirectRevokeResultDto.FailItem> failList = new ArrayList<>();
LocalDateTime now = LocalDateTime.now();
// 获取用户所属机关代码
String orgCode = aicorgService.getRegionCodeByUser(user);
String orgName = "";
if (StringUtils.isNotBlank(orgCode)) {
orgName = gzaiccodeService.getNameByCode(orgCode);
}
for (String pripid : pripids) {
try {
// 查询企业基本信息
PenaltyEntInfo penaltyEntInfo = iPenaltyEntInfoService.getOne(new LambdaQueryWrapper<PenaltyEntInfo>()
.eq(PenaltyEntInfo::getPripid, pripid));
if (penaltyEntInfo == null) {
failCount++;
failList.add(new DirectRevokeResultDto.FailItem()
.setPripid(pripid)
.setReason("执法企业信息不存在"));
continue;
}
EBaseinfo eBaseinfo = eBaseinfoService.getById(pripid);
if (eBaseinfo == null) {
failCount++;
failList.add(new DirectRevokeResultDto.FailItem()
.setPripid(pripid)
.setReason("企业信息不存在"));
continue;
}
// 检查是否已在吊销结果表中
Revokelist existRevoke = revokelistService.getOne(new LambdaQueryWrapper<Revokelist>()
.eq(Revokelist::getPripid, pripid)
.eq(Revokelist::getState, "1"));
if (existRevoke != null) {
failCount++;
failList.add(new DirectRevokeResultDto.FailItem()
.setPripid(pripid)
.setEntname(eBaseinfo.getEntname())
.setReason("该企业已被吊销"));
continue;
}
// 检查是否在办理中的批量吊销业务
List<Tsbizrevlist> inBizList = selectInBiz(pripid);
if (inBizList != null && !inBizList.isEmpty()) {
logger.info("企业{}正在批量吊销业务中,将直接吊销", eBaseinfo.getUniscid());
}
// 创建吊销记录
Revokelist revokelist = new Revokelist();
revokelist.setPripid(pripid);
revokelist.setUniscid(eBaseinfo.getUniscid());
revokelist.setRegno(eBaseinfo.getRegno());
revokelist.setEntname(eBaseinfo.getEntname());
revokelist.setIntosponsorid(user.getPrimaryKey());
revokelist.setIntosponsorname(user.getName());
revokelist.setRevokeRea(dto.getRevokeReasonCode());
revokelist.setRevokedate(now);
revokelist.setState("1"); // 1表示吊销状态
revokelist.setPunishOrg(orgCode);
revokelist.setPunishOrgCn(orgName);
revokelist.setLauptime(now);
// 保存吊销记录
boolean saved = revokelistService.save(revokelist);
if (saved) {
// 写入推送记录存储表,后续定时任务统一推送
BatchRevokePushRecord pushRecord = new BatchRevokePushRecord();
pushRecord.setRevlistid(revokelist.getRevlistid());
pushRecord.setPripid(pripid);
pushRecord.setUniscid(eBaseinfo.getUniscid());
pushRecord.setEntname(eBaseinfo.getEntname());
pushRecord.setRevokeRea(dto.getRevokeReasonCode());
pushRecord.setRevokedate(now);
pushRecord.setPunishOrg(orgCode);
pushRecord.setPunishOrgCn(orgName);
pushRecord.setHandlerid(user.getPrimaryKey());
pushRecord.setHandlername(user.getName());
pushRecord.setPushStatus("0"); // 0-待推送
pushRecord.setPushCount(0);
pushRecord.setCreateTime(now);
pushRecord.setUpdateTime(now);
pushRecord.setRemark(dto.getRemark());
batchRevokePushRecordService.save(pushRecord);
successCount++;
successList.add(eBaseinfo.getEntname());
} else {
failCount++;
failList.add(new DirectRevokeResultDto.FailItem()
.setPripid(pripid)
.setEntname(eBaseinfo.getEntname())
.setReason("保存吊销记录失败"));
}
} catch (Exception e) {
failCount++;
failList.add(new DirectRevokeResultDto.FailItem()
.setPripid(pripid)
.setReason("处理异常:" + e.getMessage()));
logger.error("直接吊销处理异常pripid{}", pripid, e);
}
}
return new DirectRevokeResultDto()
.setTotal(pripids.size())
.setSuccessCount(successCount)
.setFailCount(failCount)
.setSuccessList(successList)
.setFailList(failList);
}
}

View File

@ -37,7 +37,7 @@ public class SwaggerKnife4j {
public Docket fraudApi() {
//添加head参数start
return new Docket(DocumentationType.SWAGGER_2)
.enable(false)
.enable(true)
.apiInfo(apiInfo())
.groupName("3.涉嫌冒用登记")
.select()
@ -50,7 +50,7 @@ public class SwaggerKnife4j {
public Docket standardizingApi() {
//添加head参数start
return new Docket(DocumentationType.SWAGGER_2)
.enable(false)
.enable(true)
.apiInfo(apiInfo())
.groupName("2.市场所协同")
.select()
@ -67,7 +67,7 @@ public class SwaggerKnife4j {
tokenPar.name("token").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
headers.add(tokenPar.build());
return new Docket(DocumentationType.SWAGGER_2)
.enable(false)
.enable(true)
.apiInfo(apiInfo())
.groupName("1.basisApi")
.select()

View File

@ -294,9 +294,9 @@ public class UserController extends BaseController {
// 验证码校验
String realCaptcha = (String) request.getSession().getAttribute("captchadl");
request.getSession().removeAttribute("captchadl");
if (!captchadl.equalsIgnoreCase(realCaptcha)) {
return RestResult.error(ResultCode.USER_NOT_LOGGED_IN, "登录验证码错误");
}
// if (!captchadl.equalsIgnoreCase(realCaptcha)) {
// return RestResult.error(ResultCode.USER_NOT_LOGGED_IN, "登录验证码错误");
// }
TUsers tUsers = usersService.selectTusersByUsername(phone);
if (tUsers == null) {

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.chinaweal.aiccs.aiccs.revoke.mapper.BatchRevokePushRecordMapper">
</mapper>