Commit 6006f606 authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/MVP1.7.17' into MVP1.7.17

parents 94ca8525 9290eb79
......@@ -657,6 +657,7 @@ public interface CommonConstants {
List<String> processInsurancesStatus = Stream.of("1","2","5").collect(Collectors.toList());
List<String> processListPreArchivesStatus = Stream.of("0","1","2","3","4","5").collect(Collectors.toList());
String[] INSURANCE_ALERT_STATUS = {"0","1","2","3","4","5"};
List<String> deptList = Stream.of("安徽一册档案管理有限公司","安徽顾合企业管理咨询有限公司","安徽赤道线数字传媒科技有限公司","劳务业务中心","易服智享&研究院").collect(Collectors.toList());
......
package com.yifu.cloud.plus.v1.yifu.insurances.constants;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* @author licancan
* @description 商险常量
......@@ -1343,4 +1347,7 @@ public class InsurancesConstants {
public static final String IMPORT_POLICY_REMARK = "保单号维护模版导入";
public static final String INSURANCE_AUTO_FLAG_IS_ENABLE = "该项目已纳入自动化,请至作业自动化模块入职登记-接收确认后自动派单";
// 0待确认1待派单 可忽略
public static final Set<String> ALERT_IGNORE_STATUS = new HashSet<>(Arrays.asList("0", "1"));
}
......@@ -263,5 +263,13 @@ public class TInsuranceAlert extends BaseEntity {
@Schema(description = "是否地市自购0是 1 否")
private String isAddress;
@TableField(exist = false)
@Schema(description = "预计续保发起时间")
private String expectedCollectionTime;
@TableField(exist = false)
@Schema(description = "新派单的商险ID")
private String insurancesIdNew;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -60,6 +60,14 @@ public class TInsurancePreRenewDetail extends BaseEntity {
@ExcelProperty("商险ID")
@Schema(description = "商险ID")
private String insurancesId;
/**
* 新派单的商险ID
*/
@ExcelAttribute(name = "新派单的商险ID", maxLength = 32)
@Length(max = 32, message = "新派单的商险ID不能超过32个字符")
@ExcelProperty("新派单的商险ID")
@Schema(description = "新派单的商险ID")
private String insurancesIdNew;
/**
* 结算主体名称
*/
......@@ -200,6 +208,14 @@ public class TInsurancePreRenewDetail extends BaseEntity {
@ExcelProperty("险种名称")
@Schema(description = "险种名称")
private String insuranceTypeName;
/**
* 原购买标准
*/
@ExcelAttribute(name = "原购买标准", maxLength = 32)
@Length(max = 32, message = "原购买标准不能超过32个字符")
@ExcelProperty("原购买标准")
@Schema(description = "原购买标准")
private String buyStandardOld;
/**
* 购买标准
*/
......@@ -247,12 +263,12 @@ public class TInsurancePreRenewDetail extends BaseEntity {
private LocalDate policyEffect;
/**
* 预计派单时间
* 预计续保发起时间
*/
//@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
@ExcelAttribute(name = "预计派单时间", isDate = true)
@ExcelProperty("预计派单时间")
@Schema(description = "预计派单时间")
@ExcelAttribute(name = "预计续保发起时间", isDate = true)
@ExcelProperty("预计续保发起时间")
@Schema(description = "预计续保发起时间")
private LocalDateTime expectedCollectionTime;
/**
* 发送确认起始日期
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
@Data
@TableName("t_insurance_pre_renew_detail_qw")
@Schema(description = "商险待续保企微消息")
public class TInsurancePreRenewDetailQw {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@Schema(description = "主键")
private String id;
/**
* 前端客服
*/
@ExcelAttribute(name = "前端客服", maxLength = 30)
@Length(max = 30, message = "前端客服不能超过30个字符")
@ExcelProperty("前端客服")
@Schema(description = "前端客服")
private String customerUsername;
/**
* 前端客服登录名
*/
@ExcelAttribute(name = "前端客服登录名", isNotEmpty = true, errorInfo = "前端客服登录名不能为空", maxLength = 30)
@NotBlank(message = "前端客服登录名不能为空")
@Length(max = 30, message = "前端客服登录名不能超过30个字符")
@ExcelProperty("前端客服登录名")
@Schema(description = "前端客服登录名")
private String customerUserLoginname;
/**
* 内容
*/
@ExcelAttribute(name = "内容", isNotEmpty = true, errorInfo = "内容不能为空", maxLength = 200)
@NotBlank(message = "内容不能为空")
@Length(max = 200, message = "内容不能超过200个字符")
@ExcelProperty("内容")
@Schema(description = "内容")
private String description;
/**
* 创建时间
*/
@ExcelAttribute(name = "创建时间", isDate = true)
@ExcelProperty("创建时间")
@Schema(description = "创建时间")
private LocalDateTime createTime;
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.entity;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
@Data
@TableName("t_insurance_pre_renew_detail_qw_detail")
@Schema(description = "商险待续保企微消息")
public class TInsurancePreRenewDetailQwDetail {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
@ExcelProperty("主键")
@Schema(description = "主键")
private String id;
/**
* 关联主键(t_employee_insurance_pre_qw表的ID)
*/
@ExcelAttribute(name = "关联主键(t_employee_insurance_pre_qw表的ID)", isNotEmpty = true, errorInfo = "关联主键(t_employee_insurance_pre_qw表的ID)不能为空", maxLength = 36)
@NotBlank(message = "关联主键(t_employee_insurance_pre_qw表的ID)不能为空")
@Length(max = 36, message = "关联主键(t_employee_insurance_pre_qw表的ID)不能超过36个字符")
@ExcelProperty("关联主键(t_employee_insurance_pre_qw表的ID)")
@Schema(description = "关联主键(t_employee_insurance_pre_qw表的ID)")
private String mainId;
/**
* 姓名
*/
@ExcelAttribute(name = "姓名", maxLength = 30)
@Length(max = 30, message = "姓名不能超过30个字符")
@ExcelProperty("姓名")
@Schema(description = "姓名")
private String empName;
/**
* 身份证
*/
@ExcelAttribute(name = "身份证", maxLength = 18)
@Length(max = 18, message = "身份证不能超过18个字符")
@ExcelProperty("身份证")
@Schema(description = "身份证")
private String empIdcard;
/**
* 失败原因
*/
@ExcelAttribute(name = "失败原因", maxLength = 200)
@Length(max = 200, message = "失败原因不能超过200个字符")
@ExcelProperty("失败原因")
@Schema(description = "失败原因")
private String errorInfo;
/**
* 失败时间
*/
@ExcelAttribute(name = "失败时间", isDate = true)
@ExcelProperty("失败时间")
@Schema(description = "失败时间")
private LocalDateTime errorTime;
/**
* 商险待派单ID(t_employee_insurance_pre的ID)
*/
@ExcelAttribute(name = "商险待派单ID(t_employee_insurance_pre的ID)", maxLength = 36)
@Length(max = 36, message = "商险待派单ID(t_employee_insurance_pre的ID)不能超过36个字符")
@ExcelProperty("商险待派单ID(t_employee_insurance_pre的ID)")
@Schema(description = "商险待派单ID(t_employee_insurance_pre的ID)")
private String preId;
}
......@@ -125,6 +125,11 @@ public class InsuranceAddParam implements Serializable {
*/
@Schema(description = "商险待购买id")
private String insurancePreId;
/**
* 商险待续保id
*/
@Schema(description = "商险待续保id")
private String insurancePreRenewId;
/**
* 前端客服姓名
......
......@@ -162,6 +162,11 @@ public class InsuranceAutoParam implements Serializable {
*/
@Schema(description = "商险待购买id")
private String insurancePreId;
/**
* 商险待续保id
*/
@Schema(description = "商险待续保id")
private String insurancePreRenewId;
/**
* 前端客服姓名
......
......@@ -120,6 +120,11 @@ public class InsuranceBatchParam implements Serializable {
*/
@Schema(description = "商险待购买id")
private String insurancePreId;
/**
* 商险待续保id
*/
@Schema(description = "商险待续保id")
private String insurancePreRenewId;
/**
* 前端客服姓名
......
......@@ -108,6 +108,11 @@ public class InsuranceReplaceParam implements Serializable {
*/
@Schema(description = "商险待购买id")
private String insurancePreId;
/**
* 商险待购买id
*/
@Schema(description = "商险待续保id")
private String insurancePreRenewId;
/**
* 前端客服姓名
......
......@@ -30,7 +30,7 @@ import lombok.Data;
*/
@Data
@ColumnWidth(10)
public class TInsuranceAlertExportVO extends BaseEntity {
public class TInsuranceAlertExportVO {
private static final long serialVersionUID = 1L;
......
......@@ -72,4 +72,7 @@ public class TInsuranceAlertSearchVo extends TInsuranceAlert {
@Schema(description = "查询limit 数据条数")
private int limitEnd;
@Schema(description = "列表查询类型 1 待办 2监控 3入职确认信息")
private String type;
}
......@@ -21,16 +21,20 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePreRenewDetailService;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.BatchIgnoreVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceAutoParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 商险续签待办
......@@ -84,20 +88,24 @@ public class TInsurancePreRenewDetailController {
@Operation(summary = "单个确认-商险续签待办", description = "单个确认-商险续签待办")
@SysLog("单个确认-商险续签待办")
@PostMapping("/doSure")
public R<Boolean> doSure(@RequestBody TInsurancePreRenewDetail tInsurancePreRenewDetail) {
if (tInsurancePreRenewDetail != null && Common.isNotNull(tInsurancePreRenewDetail.getId())) {
TInsurancePreRenewDetail old = tInsurancePreRenewDetailService.getById(tInsurancePreRenewDetail.getId());
if (old == null || Common.isEmpty(old.getId()) || Common.isEmpty(old.getProcessStatus())) {
return R.failed("根据ID未找到续签待办信息");
}
if (!CommonConstants.ZERO_STRING.equals(old.getProcessStatus())) {
return R.failed("状态非待确认,请检查");
}
} else {
return R.failed("请传参ID");
public R<String> doSure(@RequestBody TInsurancePreRenewDetail tInsurancePreRenewDetail) {
return tInsurancePreRenewDetailService.doSure(tInsurancePreRenewDetail);
}
/**
* @Description: 批量确认
* @Author: hgw
* @Date: 2025/11/17 10:53
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Boolean>
**/
@Operation(summary = "批量确认-商险续签待办", description = "批量确认-商险续签待办")
@SysLog("批量确认-商险续签待办(与单个确认分开,是因为单个确认还有编辑功能,批量仅改状态")
@PostMapping("/doSureBatch")
public R<String> doSureBatch(@RequestBody BatchIgnoreVo vo) {
if (null == vo || vo.getIds() == null || vo.getIds().isEmpty()){
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
tInsurancePreRenewDetail.setProcessStatus(CommonConstants.ONE_STRING);
return R.ok(tInsurancePreRenewDetailService.updateById(tInsurancePreRenewDetail));
return tInsurancePreRenewDetailService.doSureBatch(vo);
}
/**
......@@ -109,25 +117,52 @@ public class TInsurancePreRenewDetailController {
@Operation(summary = "编辑商险续签待办", description = "编辑商险续签待办")
@SysLog("编辑商险续签待办")
@PutMapping
public R<Boolean> updateById(@RequestBody TInsurancePreRenewDetail tInsurancePreRenewDetail) {
if (tInsurancePreRenewDetail != null && Common.isNotNull(tInsurancePreRenewDetail.getId())) {
TInsurancePreRenewDetail old = tInsurancePreRenewDetailService.getById(tInsurancePreRenewDetail.getId());
if (old == null || Common.isEmpty(old.getId()) || Common.isEmpty(old.getProcessStatus())) {
return R.failed("根据ID未找到续签待办信息");
}
if (!(CommonConstants.ONE_STRING.equals(old.getProcessStatus())
|| CommonConstants.TWO_STRING.equals(old.getProcessStatus())
|| CommonConstants.FIVE_STRING.equals(old.getProcessStatus()))) {
return R.failed("该状态不可编辑,请刷新后重试");
}
if (Common.isNotNull(tInsurancePreRenewDetail.getProcessStatus())
&& !old.getProcessStatus().equals(tInsurancePreRenewDetail.getProcessStatus())) {
return R.failed("状态在编辑保存前发生改变,请刷新后重试");
}
} else {
return R.failed("请传参ID");
}
return R.ok(tInsurancePreRenewDetailService.updateById(tInsurancePreRenewDetail));
public R<String> updateById(@RequestBody TInsurancePreRenewDetail tInsurancePreRenewDetail) {
return tInsurancePreRenewDetailService.doEdit(tInsurancePreRenewDetail);
}
/**
* @Description: 商险待续保单个/批量派单
* @Author: hgw
* @Date: 2025/11/17 14:17
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R
**/
@Operation(description = "商险待续保单个/批量派单")
@PostMapping("/batchDoInsurancePreRenew")
public R<List<InsuranceAutoParam>> batchDoInsurancePreRenew(@RequestBody List<String> idList, @RequestParam(required = false) String isExit) {
return tInsurancePreRenewDetailService.batchDoInsurancePreRenew(idList, isExit, false);
}
/**
* @Description: 每天下午三点、三点二十推送续保待派单数
* @Author: hgw
* @Date: 2025/11/17 16:18
* @return: void
**/
@SysLog("每天下午三点、三点二十推送续保待派单数据")
@Inner
@PostMapping("/inner/autoDoInsurancePreRenew")
public void autoDoInsurancePreRenew() {
tInsurancePreRenewDetailService.autoDoInsurancePreRenew();
}
/**
* @Description: 每日9点统一推送确认信息
* @Author: hgw
* @Date: 2025/11/17 16:18
* @return: void
**/
@SysLog("每日9点统一推送确认信息(确认日到派单日之间的数据且今天是工作日)")
@Inner
@PostMapping("/inner/autoDoWxSureMessage")
public void autoDoWxSureMessage() {
tInsurancePreRenewDetailService.autoDoWxSureMessage();
}
@Operation(summary = "测试今天是否为工作日", description = "测试今天是否为工作日")
@PostMapping("/isWorkDayTest")
public boolean isWorkDayTest() {
return tInsurancePreRenewDetailService.isWorkDayTest();
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQwDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePreRenewDetailQwDetailService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/tinsuranceprerenewdetailqwdetail")
@Tag(name = "商险待续保企微消息管理")
public class TInsurancePreRenewDetailQwDetailController {
private final TInsurancePreRenewDetailQwDetailService tInsurancePreRenewDetailQwDetailService;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tInsurancePreRenewDetailQwDetail 商险待续保企微消息
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TInsurancePreRenewDetailQwDetail>> getTInsurancePreRenewDetailQwDetailPage(Page<TInsurancePreRenewDetailQwDetail> page
, TInsurancePreRenewDetailQwDetail tInsurancePreRenewDetailQwDetail) {
if (tInsurancePreRenewDetailQwDetail == null) {
tInsurancePreRenewDetailQwDetail = new TInsurancePreRenewDetailQwDetail();
}
if (Common.isEmpty(tInsurancePreRenewDetailQwDetail.getMainId())) {
tInsurancePreRenewDetailQwDetail.setMainId(CommonConstants.ZERO_STRING);
}
return new R<>(tInsurancePreRenewDetailQwDetailService.getTInsurancePreRenewDetailQwDetailPage(page, tInsurancePreRenewDetailQwDetail));
}
}
......@@ -58,6 +58,29 @@ public class TInsurancesWarnController {
return R.ok(insuranceWarnService.getTInsuranceAlertPage(page, tInsuranceAlert));
}
// 用来批量确认,批量派单等
@Operation(description = "商险待续保列表查询2000条")
@PostMapping("/getTInsuranceAlertList2000")
public R<List<TInsuranceAlert>> getTInsuranceAlertList2000(@RequestBody TInsuranceAlertSearchVo tInsuranceAlert) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tInsuranceAlert);
return R.ok(insuranceWarnService.getTInsuranceAlertList2000(tInsuranceAlert));
}
/**
* @Description: 商险待续签保数量查询
* @Author: hgw
* @Date: 2025/11/17 9:48
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R
**/
@Operation(description = "商险待续签保数量查询")
@PostMapping("/getInsuranceAlertCount")
public R<Long> getInsuranceAlertCount(@RequestBody TInsuranceAlertSearchVo tInsuranceAlert) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tInsuranceAlert);
return R.ok(insuranceWarnService.getInsuranceAlertCount(tInsuranceAlert));
}
@Operation(summary = "商险待续保导出", description = "商险待续保导出")
@SysLog("商险待续保导出")
@PostMapping("/exportTInsuranceAlert")
......@@ -150,6 +173,22 @@ public class TInsurancesWarnController {
return insuranceDetailService.batchexpireIgnore(vo.getIds(),vo.getRemark());
}
/**
* @Description: 商险待续保的批量忽略
* @Author: hgw
* @Date: 2025/11/17 10:05
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.Object>
**/
@Operation(description = "商险待续保的批量忽略")
@SysLog("商险待续保的批量忽略")
@PostMapping("/batchIgnoreInsuranceAlert")
public R<Object> batchIgnoreInsuranceAlert(@RequestBody BatchIgnoreVo vo) {
if (null == vo || vo.getIds() == null || vo.getIds().isEmpty()){
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
return insuranceDetailService.batchIgnoreInsuranceAlert(vo.getIds(),vo.getRemark());
}
/**
* @Author fxj
* @Description 工作台消息提醒:商险到期总数通知提醒
......
......@@ -20,10 +20,13 @@ package com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.vo.IdNameNoVo;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 商险续签待办
*
......@@ -39,4 +42,17 @@ public interface TInsurancePreRenewDetailMapper extends BaseMapper<TInsurancePre
*/
IPage<TInsurancePreRenewDetail> getTInsurancePreRenewDetailPage(Page<TInsurancePreRenewDetail> page
, @Param("tInsurancePreRenewDetail") TInsurancePreRenewDetail tInsurancePreRenewDetail);
void doBatchSure(@Param("idList") List<String> idList);
List<TInsurancePreRenewDetail> selectPreRenewDetailListByDispatch(@Param("idList") List<String> idList);
// 获取所有需要派单的数据
List<String> getAllNeedDispatchData();
// 获取所有待确认的数据
List<IdNameNoVo> getAllUnconfimData();
void updateRenewBatchById(@Param("idList") List<String> idList);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQwDetail;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
@Mapper
public interface TInsurancePreRenewDetailQwDetailMapper extends BaseMapper<TInsurancePreRenewDetailQwDetail> {
/**
* 商险待续保企微消息简单分页查询
*
* @param tInsurancePreRenewDetailQwDetail 商险待续保企微消息
* @return
*/
IPage<TInsurancePreRenewDetailQwDetail> getTInsurancePreRenewDetailQwDetailPage(
Page<TInsurancePreRenewDetailQwDetail> page
, @Param("tInsurancePreRenewDetailQwDetail") TInsurancePreRenewDetailQwDetail tInsurancePreRenewDetailQwDetail);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQw;
import org.apache.ibatis.annotations.Mapper;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
@Mapper
public interface TInsurancePreRenewDetailQwMapper extends BaseMapper<TInsurancePreRenewDetailQw> {
}
......@@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceAlert;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceAlertWx;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceSearchVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsuranceAlertExportVO;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsuranceAlertSearchVo;
import org.apache.ibatis.annotations.Mapper;
......@@ -24,6 +23,8 @@ public interface TInsuranceWarnMapper extends BaseMapper<TInsuranceAlert> {
IPage<TInsuranceAlert> getTInsuranceAlertPage(Page<TInsuranceAlert> page, @Param("tInsuranceAlert") TInsuranceAlertSearchVo tInsuranceAlert);
List<TInsuranceAlert> getTInsuranceAlertList2000(@Param("tInsuranceAlert") TInsuranceAlertSearchVo tInsuranceAlert);
int getTInsuranceAlertExportCount(@Param("tInsuranceAlert") TInsuranceAlertSearchVo tInsuranceAlert);
List<TInsuranceAlertExportVO> getTInsuranceAlertExport(@Param("tInsuranceAlert") TInsuranceAlertSearchVo tInsuranceAlert);
......@@ -40,4 +41,10 @@ public interface TInsuranceWarnMapper extends BaseMapper<TInsuranceAlert> {
List<TInsuranceAlert> selectInsuranceAlertIgnore();
// 查找ID与状态,用作忽略等
List<TInsuranceAlert> selectInsuranceAlertList(@Param("idList") List<String> idList);
// 查找ID与状态,用作确认等(与忽略不同的地方:返回的ID不同,更新不同的表数据
List<TInsuranceAlert> selectInsuranceAlertListBySure(@Param("idList") List<String> idList);
TInsuranceAlert selectInsuranceAlertOne(@Param("id") String id);
}
......@@ -119,4 +119,16 @@ public interface TEmployeeInsurancePreService extends IService<TEmployeeInsuranc
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.util.List < com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreDetail>>
**/
EmployeePreInsuranceListVo getExitInsuranceListByEmpPreId(String empPreId);
/**
* @param addParamList 新增
* @param batchParamList 批增
* @param replaceParamList 替换
* @Description: 将商险组装成一个
* @Author: hgw
* @Date: 2025/11/17 15:52
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceAutoParam>
**/
List<InsuranceAutoParam> getInsuranceAutoParamList(List<InsuranceAddParam> addParamList, List<InsuranceBatchParam> batchParamList
, List<InsuranceReplaceParam> replaceParamList);
}
......@@ -536,6 +536,8 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
R<Object> batchexpireIgnore(List<String> ids,String remark);
R<Object> batchIgnoreInsuranceAlert(List<String> ids,String remark);
R<Object> expireIgnore(TBusinessInsuranceVo vo);
R<List<ErrorMessage>> remarkBatchAdd(InputStream inputStream);
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQwDetail;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
public interface TInsurancePreRenewDetailQwDetailService extends IService<TInsurancePreRenewDetailQwDetail> {
/**
* 商险待续保企微消息简单分页查询
*
* @param tInsurancePreRenewDetailQwDetail 商险待续保企微消息
* @return
*/
IPage<TInsurancePreRenewDetailQwDetail> getTInsurancePreRenewDetailQwDetailPage(Page<TInsurancePreRenewDetailQwDetail> page
, TInsurancePreRenewDetailQwDetail tInsurancePreRenewDetailQwDetail);
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQw;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
public interface TInsurancePreRenewDetailQwService extends IService<TInsurancePreRenewDetailQw> {
}
......@@ -20,7 +20,12 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.BatchIgnoreVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceAutoParam;
import java.util.List;
/**
* 商险续签待办
......@@ -37,4 +42,23 @@ public interface TInsurancePreRenewDetailService extends IService<TInsurancePreR
*/
IPage<TInsurancePreRenewDetail> getTInsurancePreRenewDetailPage(Page<TInsurancePreRenewDetail> page, TInsurancePreRenewDetail tInsurancePreRenewDetail);
// 单个编辑
R<String> doEdit(TInsurancePreRenewDetail tInsurancePreRenewDetail);
// 单个确认(含编辑功能)
R<String> doSure(TInsurancePreRenewDetail tInsurancePreRenewDetail);
// 批量确认(不含编辑)
R<String> doSureBatch(BatchIgnoreVo vo);
// 每天下午三点、三点二十推送续保待派单数据
void autoDoInsurancePreRenew();
void autoDoWxSureMessage();
// 批量派单
// pushQiWeiFlag : 是否推送企微 true:推送(当前仅下午3点与3点20的定时任务,需要推送企微),false:不推送
R<List<InsuranceAutoParam>> batchDoInsurancePreRenew(List<String> idList, String sameFlag, boolean pushQiWeiFlag);
boolean isWorkDayTest();
}
......@@ -6,9 +6,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceAlert;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceSearchVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TEmployeeInsurancePreSearchVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsuranceAlertSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* @author huych
......@@ -19,6 +21,10 @@ public interface TInsuranceWarnService extends IService<TInsuranceAlert> {
IPage<TInsuranceAlert> getTInsuranceAlertPage(Page<TInsuranceAlert> page, TInsuranceAlertSearchVo tInsuranceAlert);
List<TInsuranceAlert> getTInsuranceAlertList2000(TInsuranceAlertSearchVo tInsuranceAlert);
long getInsuranceAlertCount(TInsuranceAlertSearchVo tInsuranceAlert);
// 商险待续保导出
void exportTInsuranceAlert(TInsuranceAlertSearchVo searchVo, HttpServletResponse response);
......
......@@ -790,6 +790,28 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
return false;
}
@Override
public List<InsuranceAutoParam> getInsuranceAutoParamList(List<InsuranceAddParam> addParamList, List<InsuranceBatchParam> batchParamList
, List<InsuranceReplaceParam> replaceParamList) {
if (addParamList != null) {
addParamList = new ArrayList<>();
}
if (batchParamList != null) {
batchParamList = new ArrayList<>();
}
if (replaceParamList != null) {
replaceParamList = new ArrayList<>();
}
// 使用Stream合并三个列表
return Stream.concat(
addParamList.stream().map(this::convertAddParam),
Stream.concat(
batchParamList.stream().map(this::convertBatchParam),
replaceParamList.stream().map(this::convertReplaceParam)
)
).collect(Collectors.toList());
}
private InsuranceAutoParam convertAddParam(InsuranceAddParam addParam) {
InsuranceAutoParam autoParam = new InsuranceAutoParam();
// 复制InsuranceAddParam的字段
......
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQwDetail;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsurancePreRenewDetailQwDetailMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePreRenewDetailQwDetailService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
@Log4j2
@Service
public class TInsurancePreRenewDetailQwDetailServiceImpl extends ServiceImpl<TInsurancePreRenewDetailQwDetailMapper, TInsurancePreRenewDetailQwDetail>
implements TInsurancePreRenewDetailQwDetailService {
/**
* 商险待续保企微消息简单分页查询
*
* @param tInsurancePreRenewDetailQwDetail 商险待续保企微消息
* @return
*/
@Override
public IPage<TInsurancePreRenewDetailQwDetail> getTInsurancePreRenewDetailQwDetailPage(Page<TInsurancePreRenewDetailQwDetail> page
, TInsurancePreRenewDetailQwDetail tInsurancePreRenewDetailQwDetail) {
return baseMapper.getTInsurancePreRenewDetailQwDetailPage(page, tInsurancePreRenewDetailQwDetail);
}
}
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQw;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsurancePreRenewDetailQwMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePreRenewDetailQwService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
/**
* 商险待续保企微消息
*
* @author hgw
* @date 2025-11-17 14:49:48
*/
@Log4j2
@Service
public class TInsurancePreRenewDetailQwServiceImpl extends ServiceImpl<TInsurancePreRenewDetailQwMapper, TInsurancePreRenewDetailQw> implements TInsurancePreRenewDetailQwService {
}
......@@ -77,6 +77,18 @@ public class TInsuranceWarnServiceImpl extends ServiceImpl<TInsuranceWarnMapper,
initSearchVo(tInsuranceAlert);
return baseMapper.getTInsuranceAlertPage(page, tInsuranceAlert);
}
@Override
public List<TInsuranceAlert> getTInsuranceAlertList2000(TInsuranceAlertSearchVo tInsuranceAlert) {
//权限赋值
initSearchVo(tInsuranceAlert);
return baseMapper.getTInsuranceAlertList2000(tInsuranceAlert);
}
@Override
public long getInsuranceAlertCount(TInsuranceAlertSearchVo tInsuranceAlert) {
initSearchVo(tInsuranceAlert);
return baseMapper.getTInsuranceAlertExportCount(tInsuranceAlert);
}
@Override
public void exportTInsuranceAlert(TInsuranceAlertSearchVo searchVo, HttpServletResponse response) {
......@@ -97,7 +109,7 @@ public class TInsuranceWarnServiceImpl extends ServiceImpl<TInsuranceWarnMapper,
response.setCharacterEncoding("utf-8");
response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, "UTF-8"));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcelFactory.write(out, EmployeeContractExportAuditVO.class).build();
ExcelWriter excelWriter = EasyExcelFactory.write(out, TInsuranceAlertExportVO.class).build();
int index = 0;
if (count > CommonConstants.ZERO_INT) {
WriteSheet writeSheet;
......@@ -142,7 +154,7 @@ public class TInsuranceWarnServiceImpl extends ServiceImpl<TInsuranceWarnMapper,
searchVo.setAuthSql(null);
return;
}
//if (Common.isNotNull(searchVo.getType()) && CommonConstants.ONE_STRING.equals(searchVo.getType())) {
if (Common.isNotNull(searchVo.getType()) && CommonConstants.ONE_STRING.equals(searchVo.getType())) {
searchVo.setAuthSql(null);
//获取项目信息
R<TSettleDomainRegistListVo> domainR = archivesDaprUtil.getAllDeptByCustomerLoginName(user.getUsername());
......@@ -151,7 +163,7 @@ public class TInsuranceWarnServiceImpl extends ServiceImpl<TInsuranceWarnMapper,
} else {
searchVo.setId(CommonConstants.ONE_STRING_NEGATE);
}
//}
}
}
public boolean haveRole(YifuUser user, long roleId) {
......@@ -314,6 +326,7 @@ public class TInsuranceWarnServiceImpl extends ServiceImpl<TInsuranceWarnMapper,
detail.setConfigName(vo.getConfigName());
detail.setInsuranceCompanyName(vo.getInsuranceCompanyName());
detail.setInsuranceTypeName(vo.getInsuranceTypeName());
detail.setBuyStandardOld(vo.getBuyStandard());
detail.setBuyStandard(vo.getBuyStandard());
detail.setInsuranceProvinceName(vo.getInsuranceProvinceName());
detail.setInsuranceCityName(vo.getInsuranceCityName());
......@@ -346,7 +359,6 @@ public class TInsuranceWarnServiceImpl extends ServiceImpl<TInsuranceWarnMapper,
detail.setUnitName(vo.getUnitName());
detail.setUnitNo(vo.getUnitNo());
detail.setIsAddress(vo.getIsAddress());
detail.setPolicyNo(vo.getPolicyNo());
detail.setProcessStatus(CommonConstants.ZERO_STRING);
detailList.add(detail);
......
......@@ -26,6 +26,7 @@
<resultMap id="tInsurancePreRenewDetailMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetail">
<id property="id" column="ID"/>
<result property="insurancesId" column="INSURANCES_ID"/>
<result property="insurancesIdNew" column="INSURANCES_ID_NEW"/>
<result property="deptName" column="DEPT_NAME"/>
<result property="deptNo" column="DEPT_NO"/>
<result property="empName" column="EMP_NAME"/>
......@@ -44,6 +45,7 @@
<result property="configName" column="CONFIG_NAME"/>
<result property="insuranceCompanyName" column="INSURANCE_COMPANY_NAME"/>
<result property="insuranceTypeName" column="INSURANCE_TYPE_NAME"/>
<result property="buyStandardOld" column="BUY_STANDARD_OLD"/>
<result property="buyStandard" column="BUY_STANDARD"/>
<result property="insuranceProvinceName" column="INSURANCE_PROVINCE_NAME"/>
<result property="insuranceCityName" column="INSURANCE_CITY_NAME"/>
......@@ -68,10 +70,13 @@
<result property="processStatus" column="process_status"/>
<result property="confirmDate" column="confirm_date"/>
<result property="isLeave" column="is_leave"/>
<result property="customerUsername" column="customer_username"/>
<result property="customerUserLoginname" column="customer_user_loginname"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.INSURANCES_ID,
a.INSURANCES_ID_NEW,
a.DEPT_NAME,
a.DEPT_NO,
a.EMP_NAME,
......@@ -90,6 +95,7 @@
a.CONFIG_NAME,
a.INSURANCE_COMPANY_NAME,
a.INSURANCE_TYPE_NAME,
a.BUY_STANDARD_OLD,
a.BUY_STANDARD,
a.INSURANCE_PROVINCE_NAME,
a.INSURANCE_CITY_NAME,
......@@ -113,6 +119,8 @@
a.replace_dept_no,
a.process_status,
a.confirm_date,
a.customer_username,
a.customer_user_loginname,
a.is_leave
</sql>
<sql id="tInsurancePreRenewDetail_where">
......@@ -255,4 +263,71 @@
<include refid="tInsurancePreRenewDetail_where"/>
</where>
</select>
<!-- 查找符合条件的需要派单的数据 -->
<select id="selectPreRenewDetailListByDispatch" resultMap="tInsurancePreRenewDetailMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_insurance_pre_renew_detail a
JOIN t_insurance_alert b ON b.INSURANCES_PRE_RENEW_DETAIL_ID = a.ID
<where>
b.EXPIRE_IGNORE_FLAG = '1' and b.DELETE_FLAG=0 and a.is_leave = '0' and b.IS_OVERDUE = 0
AND a.process_status in ('1','2','5')
<if test="idList != null and idList.size() > 0">
and a.id in
<foreach collection="idList" item="param" index="index" open="(" close=")" separator=",">
#{param}
</foreach>
</if>
<if test="idList == null or idList.size() == 0">
and a.id = '-1'
</if>
</where>
order by b.POLICY_END asc,b.id asc
</select>
<update id="doBatchSure">
<if test="idList != null and idList.size() > 0">
update t_insurance_pre_renew_detail a
set a.process_status = '1'
where
a.id in
<foreach collection="idList" item="param" index="index" open="(" close=")" separator=",">
#{param}
</foreach>
</if>
</update>
<!-- 获取所有需要派单的数据 -->
<select id="getAllNeedDispatchData" resultType="java.lang.String">
SELECT
a.id
FROM t_insurance_pre_renew_detail a
JOIN t_insurance_alert b ON b.INSURANCES_PRE_RENEW_DETAIL_ID = a.ID
where b.EXPIRE_IGNORE_FLAG = '1' and b.DELETE_FLAG=0 and a.is_leave = '0' and b.IS_OVERDUE = 0
AND a.process_status in ('0','1','2','5')
and DATE_FORMAT(a.expected_collection_time,"%Y-%m-%d") <![CDATA[ <= ]]> CURDATE()
</select>
<!-- 获取所有待确认的数据 -->
<select id="getAllUnconfimData" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.IdNameNoVo">
SELECT
count(1) as id, a.customer_user_loginname as name
FROM t_insurance_pre_renew_detail a
JOIN t_insurance_alert b ON b.INSURANCES_PRE_RENEW_DETAIL_ID = a.ID
where b.EXPIRE_IGNORE_FLAG = '1' and b.DELETE_FLAG=0 and a.is_leave = '0' and b.IS_OVERDUE = 0
AND a.process_status = '0' and DATE_FORMAT(a.confirmDate,"%Y-%m-%d") >= CURDATE()
AND DATE_FORMAT(a.expected_collection_time,"%Y-%m-%d") <![CDATA[ <= ]]> CURDATE()
group by a.customer_user_loginname
</select>
<update id="updateRenewBatchById">
update t_insurance_pre_renew_detail a
set a.process_status = '2'
where a.process_status in ('0','1') and a.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</update>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsurancePreRenewDetailQwDetailMapper">
<resultMap id="tInsurancePreRenewDetailQwDetailMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQwDetail">
<id property="id" column="ID"/>
<result property="mainId" column="MAIN_ID"/>
<result property="empName" column="EMP_NAME"/>
<result property="empIdcard" column="EMP_IDCARD"/>
<result property="errorInfo" column="ERROR_INFO"/>
<result property="errorTime" column="ERROR_TIME"/>
<result property="preId" column="PRE_ID"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.MAIN_ID,
a.EMP_NAME,
a.EMP_IDCARD,
a.ERROR_INFO,
a.ERROR_TIME,
a.PRE_ID
</sql>
<sql id="tInsurancePreRenewDetailQwDetail_where">
<if test="tInsurancePreRenewDetailQwDetail != null">
<if test="tInsurancePreRenewDetailQwDetail.id != null and tInsurancePreRenewDetailQwDetail.id.trim() != ''">
AND a.ID = #{tInsurancePreRenewDetailQwDetail.id}
</if>
<if test="tInsurancePreRenewDetailQwDetail.mainId != null and tInsurancePreRenewDetailQwDetail.mainId.trim() != ''">
AND a.MAIN_ID = #{tInsurancePreRenewDetailQwDetail.mainId}
</if>
<if test="tInsurancePreRenewDetailQwDetail.empName != null and tInsurancePreRenewDetailQwDetail.empName.trim() != ''">
AND a.EMP_NAME = #{tInsurancePreRenewDetailQwDetail.empName}
</if>
<if test="tInsurancePreRenewDetailQwDetail.empIdcard != null and tInsurancePreRenewDetailQwDetail.empIdcard.trim() != ''">
AND a.EMP_IDCARD = #{tInsurancePreRenewDetailQwDetail.empIdcard}
</if>
<if test="tInsurancePreRenewDetailQwDetail.errorInfo != null and tInsurancePreRenewDetailQwDetail.errorInfo.trim() != ''">
AND a.ERROR_INFO = #{tInsurancePreRenewDetailQwDetail.errorInfo}
</if>
<if test="tInsurancePreRenewDetailQwDetail.errorTime != null">
AND a.ERROR_TIME = #{tInsurancePreRenewDetailQwDetail.errorTime}
</if>
<if test="tInsurancePreRenewDetailQwDetail.preId != null and tInsurancePreRenewDetailQwDetail.preId.trim() != ''">
AND a.PRE_ID = #{tInsurancePreRenewDetailQwDetail.preId}
</if>
</if>
</sql>
<!--tInsurancePreRenewDetailQwDetail简单分页查询-->
<select id="getTInsurancePreRenewDetailQwDetailPage" resultMap="tInsurancePreRenewDetailQwDetailMap">
SELECT
<include refid="Base_Column_List"/>
FROM t_insurance_pre_renew_detail_qw_detail a
<where>
1=1
<include refid="tInsurancePreRenewDetailQwDetail_where"/>
</where>
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsurancePreRenewDetailQwMapper">
<resultMap id="tInsurancePreRenewDetailQwMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePreRenewDetailQw">
<id property="id" column="ID"/>
<result property="customerUsername" column="customer_username"/>
<result property="customerUserLoginname" column="customer_user_loginname"/>
<result property="description" column="description"/>
<result property="createTime" column="CREATE_TIME"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
a.customer_username,
a.customer_user_loginname,
a.description,
a.CREATE_TIME
</sql>
<sql id="tInsurancePreRenewDetailQw_where">
<if test="tInsurancePreRenewDetailQw != null">
<if test="tInsurancePreRenewDetailQw.id != null and tInsurancePreRenewDetailQw.id.trim() != ''">
AND a.ID = #{tInsurancePreRenewDetailQw.id}
</if>
<if test="tInsurancePreRenewDetailQw.customerUsername != null and tInsurancePreRenewDetailQw.customerUsername.trim() != ''">
AND a.customer_username = #{tInsurancePreRenewDetailQw.customerUsername}
</if>
<if test="tInsurancePreRenewDetailQw.customerUserLoginname != null and tInsurancePreRenewDetailQw.customerUserLoginname.trim() != ''">
AND a.customer_user_loginname = #{tInsurancePreRenewDetailQw.customerUserLoginname}
</if>
<if test="tInsurancePreRenewDetailQw.description != null and tInsurancePreRenewDetailQw.description.trim() != ''">
AND a.description = #{tInsurancePreRenewDetailQw.description}
</if>
<if test="tInsurancePreRenewDetailQw.createTime != null">
AND a.CREATE_TIME = #{tInsurancePreRenewDetailQw.createTime}
</if>
</if>
</sql>
</mapper>
......@@ -54,6 +54,8 @@
<result property="configId" column="config_id" jdbcType="VARCHAR"/>
<result property="configName" column="config_name" jdbcType="VARCHAR"/>
<result property="isAddress" column="IS_ADDRESS" jdbcType="CHAR"/>
<result property="expectedCollectionTime" column="expected_collection_time" jdbcType="TIMESTAMP"/>
<result property="insurancesIdNew" column="INSURANCES_ID_NEW" jdbcType="VARCHAR"/>
</resultMap>
<!-- 商险续签待办专用 -->
......@@ -96,14 +98,16 @@
a.UPDATE_TIME,
a.CREATE_USER_DEPT_NAME,
a.IS_EFFECT,
a.BUY_HANDLE_STATUS,
a.ALERTER,
a.ALERT_ID,
a.HAVE_WORK_DAY,
a.INSURANCES_PRE_RENEW_DETAIL_ID,
b.BUY_TYPE,
b.process_status,
b.error_info,
b.error_time
,DATE_FORMAT(b.expected_collection_time,'%Y-%m-%d %H:%i') expected_collection_time
,b.INSURANCES_ID_NEW
</sql>
<sql id="tInsuranceAlert_where">
<if test="tInsuranceAlert != null">
......@@ -233,9 +237,6 @@
<if test="tInsuranceAlert.isEffect != null">
AND a.IS_EFFECT = #{tInsuranceAlert.isEffect}
</if>
<if test="tInsuranceAlert.buyHandleStatus != null">
AND a.BUY_HANDLE_STATUS = #{tInsuranceAlert.buyHandleStatus}
</if>
<if test="tInsuranceAlert.alerter != null and tInsuranceAlert.alerter.trim() != ''">
AND a.ALERTER = #{tInsuranceAlert.alerter}
</if>
......@@ -276,6 +277,29 @@
order by a.POLICY_END asc,a.id asc
</select>
<!--tInsuranceAlert简单分页查询-->
<select id="getTInsuranceAlertList2000" resultMap="BaseResultMap">
SELECT
<include refid="Alert_Column_List"/>
FROM t_insurance_alert a
JOIN t_insurance_pre_renew_detail b ON a.INSURANCES_PRE_RENEW_DETAIL_ID = b.ID
<where>
a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0
<include refid="tInsuranceAlert_where"/>
<if test="tInsuranceAlert != null">
<if test="tInsuranceAlert.processStatusArray != null and tInsuranceAlert.processStatusArray.length > 0">
AND b.PROCESS_STATUS in
<foreach item="statusStr" index="index" collection="tInsuranceAlert.processStatusArray" open="("
separator="," close=")">
#{statusStr}
</foreach>
</if>
</if>
</where>
order by a.POLICY_END asc,a.id asc
limit 2000
</select>
<!-- 导出 -->
<select id="getTInsuranceAlertExportCount" resultType="java.lang.Integer">
SELECT
......@@ -461,4 +485,46 @@
t_insurance_alert a
where a.DELETE_FLAG = '0' and a.EXPIRE_IGNORE_FLAG = '0'
</select>
<select id="selectInsuranceAlertList" resultMap="BaseResultMap">
SELECT
a.ID,
b.process_status
FROM t_insurance_alert a
JOIN t_insurance_pre_renew_detail b ON a.INSURANCES_PRE_RENEW_DETAIL_ID = b.ID
where a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0
<if test="idList != null">
AND a.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</select>
<select id="selectInsuranceAlertListBySure" resultMap="BaseResultMap">
SELECT
b.ID,
b.process_status
FROM t_insurance_alert a
JOIN t_insurance_pre_renew_detail b ON a.INSURANCES_PRE_RENEW_DETAIL_ID = b.ID
where a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0
<if test="idList != null">
AND b.id in
<foreach item="idStr" index="index" collection="idList" open="(" separator="," close=")">
#{idStr}
</foreach>
</if>
</select>
<select id="selectInsuranceAlertOne" resultMap="BaseResultMap">
SELECT
a.ID,
b.process_status
FROM t_insurance_alert a
JOIN t_insurance_pre_renew_detail b ON a.INSURANCES_PRE_RENEW_DETAIL_ID = b.ID
where a.EXPIRE_IGNORE_FLAG = '1' and a.DELETE_FLAG=0 and b.is_leave = '0' and a.IS_OVERDUE = 0
AND b.id = #{id}
limit 1
</select>
</mapper>
......@@ -110,4 +110,27 @@ public class UpdateOverdueTask {
"/insuranceWarn/inner/pushInsuranceAlertToWx","", Void.class, SecurityConstants.FROM_IN);
log.info("-------------每天刷新商险待办信息到微信-定时任务结束------------");
}
/**
* 每天下午三点、三点二十推送续保待派单数据
* @author hgw
*/
public void autoDoInsurancePreRenew() {
log.info("-------------每天下午三点、三点二十推送续保待派单数据------------");
HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(), daprInsurancesProperties.getAppId(),
"/tinsuranceprerenewdetail/inner/autoDoInsurancePreRenew","", Void.class, SecurityConstants.FROM_IN);
log.info("-------------每天下午三点、三点二十推送续保待派单数据-定时任务结束------------");
}
/**
* 每日9点统一推送确认信息(确认日到派单日之间的数据且今天是工作日)
* @author hgw
*/
public void autoDoWxSureMessage() {
log.info("-------------每日9点统一推送确认信息(确认日到派单日之间的数据且今天是工作日)------------");
HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(), daprInsurancesProperties.getAppId(),
"/tinsuranceprerenewdetail/inner/autoDoWxSureMessage","", Void.class, SecurityConstants.FROM_IN);
log.info("-------------每日9点统一推送确认信息(确认日到派单日之间的数据且今天是工作日)-定时任务结束------------");
}
}
......@@ -66,7 +66,7 @@ public class TSocialFriendBackLog {
/**
* @Description: 类型1社保增 2社保减 3医保增 4医保减 5推送的日志 6社保图片路径7医保图片路径
* 8社保解除劳动合同9医保解除劳动合同11社保增拉取 12社保减拉取 13医保增拉取 14医保减拉取16社保单个图片17医保单个图片 18 反馈附件下载
* 19:花名册附件src 20:税友异常情况记录
* 19:花名册附件src 20:税友异常情况记录21:税友异常情况测试不通过22:税友异常情况测试通过
* @Author: hgw
* @Date: 2025/5/27 10:15
**/
......
......@@ -593,6 +593,108 @@ public class SocialFriendConfig {
json.put(buyType, cbrymdArr);
}
// 测试税友线上信息,慎用
public String getFriendByRequestIdOnlineTest(RestTemplate restTemplate, String requestId, String type) {
if (Common.isEmpty(requestId)) {
return "requestId不可为空";
}
String appKey = "3082B14EE2114C2D93B3A222DD925C26=";
String appSecret = "VmURqoxqmoKnNLXzAWynqQ==";
String appAddUrl = "https://openapi.17win.com";
if (Common.isNotNull(type) && CommonConstants.ONE_STRING.equals(type)) {
appAddUrl += urlGetInfoReduce;
} else {
appAddUrl += urlGetInfoAdd;
}
appAddUrl += "?requestId=" + requestId;
String version = "1.0.0";
String timestamp = String.valueOf(new Date().getTime());
String xReqNonce = "1";
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add(APP_KEY, appKey);
headers.add(TIMESTAMP, timestamp);
try {
String signature = SocialFriendSign.qianMing(getMapParam(appKey, appSecret, xReqNonce, version, timestamp, requestId));
headers.add("signature", signature);
} catch (SignatureException e) {
log.error("税友签名失败", e);
return "税友签名失败!";
}
headers.add(X_REQ_NONCE, xReqNonce);
headers.add(VERSION, version);
HttpEntity<String> formEntity = new HttpEntity<>(headers);
ResponseEntity<String> response = restTemplate.exchange(appAddUrl, HttpMethod.GET, formEntity, String.class);
if (Common.isEmpty(response) || Common.isEmpty(response.getBody())) {
throw new CheckedException("获取税友结果失败");
}
int statusCode = response.getStatusCodeValue();
if (statusCode != 200) {
throw new CheckedException("获取税友结果失败,statusCode=" + statusCode);
}
String dataResultList = response.getBody();
try {
// 组装返回结果
List<FriendResult> resultList = new ArrayList<>();
if (Common.isNotNull(dataResultList)) {
JSONObject dataObject = JSON.parseObject(dataResultList);
String head = dataObject.getString("head");
if (Common.isNotNull(head)) {
JSONObject headObject = JSON.parseObject(head);
String status = headObject.getString("status");
if ("Y".equals(status)) {
String body = dataObject.getString("body");
JSONObject bodyObject = JSON.parseObject(body);
// 获取核心结果
if (Common.isNotNull(bodyObject)) {
// 人员办理项目结果
JSONArray ryywbljglbArr = (JSONArray) bodyObject.get("ryywbljglb");
if (Common.isNotNull(ryywbljglbArr)) {
// 注意:此处可以返回多条身份证,但是我们单条提交
JSONObject ryywbljglb;
FriendResult result;
String idCard;
JSONArray blxmjglbArr;
JSONObject blxmjglb;
String zt;
String cwxx;
for (int i = 0; i < ryywbljglbArr.size(); i++) {
ryywbljglb = (JSONObject) ryywbljglbArr.get(i);
result = new FriendResult();
// 身份证
idCard = ryywbljglb.getString("zzhm");
result.setIdCard(idCard);
// 办理项目列表
blxmjglbArr = (JSONArray) ryywbljglb.get("blxmjglb");
if (Common.isNotNull(blxmjglbArr)) {
// 注意:此处可以返回多条办理,但是我们社保与医保分开提交
blxmjglb = (JSONObject) blxmjglbArr.get(0);
// 状态1-处理中,2-处理成功,3-处理失败,4-待办(提交成功,待网厅状态流转,上海特有)
zt = blxmjglb.getString("zt");
result.setZt(zt);
// 明细状态:提交失败、审核失败、审核成功、待确认
//String mxzt = blxmjglb.getString("mxzt")
// 提示或者错误信息 SUCCESS
cwxx = blxmjglb.getString("cwxx");
if (Common.isEmpty(cwxx)) {
return "requestId:"+requestId+"。详情:"+JSON.toJSONString(blxmjglb);
}
result.setCwxx(cwxx);
}
resultList.add(result);
}
}
}
}
}
}
resultList.clear();
} catch (Exception e) {
return requestId;
}
return null;
}
/**
* @param: type 0增加1减少
* @param: requestId : 请求ID
......@@ -704,6 +806,9 @@ public class SocialFriendConfig {
}
mxzt = blxmjglb.getString("mxzt");
if (Common.isNotNull(mxzt)) {
if (cwxx == null) {
cwxx = "";
}
if (cwxx.length() > 70) {
cwxx = cwxx.substring(0, 70);
}
......
......@@ -31,12 +31,10 @@ import com.yifu.cloud.plus.v1.yifu.social.service.TSocialFriendService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
......@@ -66,6 +64,20 @@ public class TSocialFriendController {
return tSocialFriendPushService.test();
}
@Operation(description = "测试税友接口报错(模拟获取结果)")
@GetMapping("/testToSocialFriendGet")
@SysLog("测试税友接口报错(模拟获取结果)")
public String testToSocialFriendGet() {
return tSocialFriendService.testToSocialFriendGet();
}
@Operation(description = "测试线上税友接口返回值,慎用")
@GetMapping("/testToSocialFriendOnline")
@SysLog("测试线上税友接口返回值,慎用")
public String testToSocialFriendOnline(@RequestParam List<String> requestIdList, @RequestParam(required = false) String type) {
return tSocialFriendService.testToSocialFriendOnline(requestIdList, type);
}
@Operation(description = "1定时任务推送税友")
@PostMapping("/inner/doPushFriend")
......
......@@ -22,6 +22,8 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 社保士兵
*
......@@ -38,6 +40,11 @@ public interface TSocialFriendService extends IService<TSocialInfo> {
**/
R<String> getInfoByRequestId();
// 测试税友接口报错
String testToSocialFriendGet();
// 测试税友接口线上信息,慎用
String testToSocialFriendOnline(List<String> requestIdList, String type);
@Transactional
void changeSocialHandndleStatus();
}
......@@ -62,6 +62,60 @@ public class TSocialFriendServiceImpl extends ServiceImpl<TSocialFriendMapper, T
private final TSocialFreindSetService tSocialFreindSetService;
private final AtomicInteger atomicGetFriend = new AtomicInteger(0);
@Override
public String testToSocialFriendOnline(List<String> requestIdList, String type) {
StringBuilder errorInfo = new StringBuilder();
for (String requestId : requestIdList) {
errorInfo.append(socialFriendConfig.getFriendByRequestIdOnlineTest(restTemplate, requestId
, type)).append(";");
}
return errorInfo.toString();
}
@Override
public String testToSocialFriendGet() {
StringBuilder errorInfo = new StringBuilder();
List<TSocialInfo> socialList = tSocialInfoService.getSocialFriendYgsAll();
if (socialList != null && !socialList.isEmpty()) {
TSocialFriendBackLog backLog;
for (TSocialInfo socialInfo : socialList) {
backLog = new TSocialFriendBackLog();
backLog.setSocialId(socialInfo.getEmpIdcard());
backLog.setRequestId(socialInfo.getYgsRequestId());
backLog.setType(21);
tSocialFriendBackLogService.save(backLog);
try {
socialFriendConfig.getFriendByRequestId(restTemplate, socialInfo.getYgsRequestId()
, backLog, socialInfo.getDispatchType());
} catch (Exception e) {
errorInfo.append(socialInfo.getYgsRequestId()).append(";");
}
backLog.setType(22);
tSocialFriendBackLogService.updateById(backLog);
}
}
List<TSocialInfo> socialYsdList = tSocialInfoService.getSocialFriendYsdAll();
if (socialYsdList != null && !socialYsdList.isEmpty()) {
TSocialFriendBackLog backLog;
for (TSocialInfo socialInfo : socialYsdList) {
backLog = new TSocialFriendBackLog();
backLog.setSocialId(socialInfo.getEmpIdcard());
backLog.setRequestId(socialInfo.getYgsRequestId());
backLog.setType(21);
tSocialFriendBackLogService.save(backLog);
try {
socialFriendConfig.getFriendByRequestId(restTemplate, socialInfo.getYgsRequestId()
, backLog, socialInfo.getDispatchType());
} catch (Exception e) {
errorInfo.append(socialInfo.getYgsRequestId()).append(";");
}
backLog.setType(22);
tSocialFriendBackLogService.updateById(backLog);
}
}
return errorInfo.toString();
}
/**
* @Description: 5 查看任务进度
* @Author: hgw
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment