Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangxinjiang
yifu-mvp
Commits
2cfe6eeb
You need to sign in or sign up before continuing.
Commit
2cfe6eeb
authored
Oct 16, 2025
by
fangxinjiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
社保办理失败推送微信-fxj
parent
63c5f79b
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1315 additions
and
1 deletion
+1315
-1
SocialTask.java
...n/java/com/yifu/cloud/plus/v1/job/compont/SocialTask.java
+13
-0
TSocialAlertInfo.java
...fu/cloud/plus/v1/yifu/social/entity/TSocialAlertInfo.java
+189
-0
TSocialAlertInfoSearchVo.java
...loud/plus/v1/yifu/social/vo/TSocialAlertInfoSearchVo.java
+56
-0
TSocialAlertInfoVo.java
...yifu/cloud/plus/v1/yifu/social/vo/TSocialAlertInfoVo.java
+109
-0
TSocialAlertInfoController.java
...v1/yifu/social/controller/TSocialAlertInfoController.java
+189
-0
TSocialAlertInfoMapper.java
...ud/plus/v1/yifu/social/mapper/TSocialAlertInfoMapper.java
+49
-0
TSocialfundHouseResMapper.java
...plus/v1/yifu/social/mapper/TSocialfundHouseResMapper.java
+9
-0
TSocialAlertInfoService.java
.../plus/v1/yifu/social/service/TSocialAlertInfoService.java
+52
-0
TSocialAlertInfoServiceImpl.java
...yifu/social/service/impl/TSocialAlertInfoServiceImpl.java
+385
-0
TSocialAlertInfoMapper.xml
...-biz/src/main/resources/mapper/TSocialAlertInfoMapper.xml
+240
-0
TSocialfundHouseResMapper.xml
...z/src/main/resources/mapper/TSocialfundHouseResMapper.xml
+24
-1
No files found.
yifu-job/yifu-job-api/src/main/java/com/yifu/cloud/plus/v1/job/compont/SocialTask.java
View file @
2cfe6eeb
...
...
@@ -314,4 +314,17 @@ public class SocialTask {
"/tdispatchinfopre/inner/pushDisConfrimSocial"
,
""
,
Void
.
class
,
SecurityConstants
.
FROM_IN
);
log
.
info
(
"-------------每天三点二十批量派单社保-定时任务开始------------"
);
}
/**
* 每天10点推送社保办理失败的信息给申请人,异常给地址办理人员
* @author fangxj
* @param
* @return void
*/
public
void
pushSocialhandleFailMessage
()
{
log
.
info
(
"-------------每天10点推送社保办理失败的信息给申请人,异常给地址办理人员开始------------"
);
HttpDaprUtil
.
invokeMethodPost
(
daprProperties
.
getAppUrl
(),
daprProperties
.
getAppId
(),
"/tsocialalertinfo/inner/createAndSendSocialAlert"
,
""
,
Void
.
class
,
SecurityConstants
.
FROM_IN
);
log
.
info
(
"-------------每天10点推送社保办理失败的信息给申请人,异常给地址办理人员结束------------"
);
}
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/entity/TSocialAlertInfo.java
0 → 100644
View file @
2cfe6eeb
/*
* 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
.
social
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.time.LocalDateTime
;
/**
* @author fxj
* @Description 社保办理失败通知信息
* @date 2025-10-15 14:50:53
*/
@Data
@TableName
(
"t_social_alert_info"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"社保办理失败通知信息"
)
public
class
TSocialAlertInfo
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 项目编码
*/
@ExcelAttribute
(
name
=
"项目编码"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"项目编码不能超过50个字符"
)
@ExcelProperty
(
"项目编码"
)
@Schema
(
description
=
"项目编码"
)
private
String
deptNo
;
/**
* 项目名称
*/
@ExcelAttribute
(
name
=
"项目名称"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"项目名称不能超过100个字符"
)
@ExcelProperty
(
"项目名称"
)
@Schema
(
description
=
"项目名称"
)
private
String
deptName
;
/**
* 类型:0社保1公积金
*/
@ExcelAttribute
(
name
=
"类型:0社保1公积金"
,
maxLength
=
255
)
@Length
(
max
=
255
,
message
=
"类型:0社保1公积金不能超过255个字符"
)
@ExcelProperty
(
"类型:0社保1公积金"
)
@Schema
(
description
=
"类型:0社保1公积金"
)
private
String
type
;
/**
* 员工姓名
*/
@ExcelAttribute
(
name
=
"员工姓名"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"员工姓名不能超过20个字符"
)
@ExcelProperty
(
"员工姓名"
)
@Schema
(
description
=
"员工姓名"
)
private
String
empName
;
/**
* 员工身份证
*/
@ExcelAttribute
(
name
=
"员工身份证"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"员工身份证不能超过30个字符"
)
@ExcelProperty
(
"员工身份证"
)
@Schema
(
description
=
"员工身份证"
)
private
String
empIdcard
;
/**
* 失败原因
*/
@ExcelAttribute
(
name
=
"失败原因"
,
maxLength
=
200
)
@Length
(
max
=
200
,
message
=
"失败原因不能超过200个字符"
)
@ExcelProperty
(
"失败原因"
)
@Schema
(
description
=
"失败原因"
)
private
String
reason
;
/**
* 接收人
*/
@ExcelAttribute
(
name
=
"接收人"
,
maxLength
=
36
)
@Length
(
max
=
36
,
message
=
"接收人不能超过36个字符"
)
@ExcelProperty
(
"接收人"
)
@Schema
(
description
=
"接收人"
)
private
String
receiveUser
;
/**
* 办理事时间
*/
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Schema
(
description
=
"办理事时间"
)
private
LocalDateTime
handleTime
;
/**
* 户名称
*/
@ExcelAttribute
(
name
=
"户名称"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"户名称不能超过20个字符"
)
@ExcelProperty
(
"户名称"
)
@Schema
(
description
=
"户名称"
)
private
String
houseHoldName
;
/**
* 缴纳地-省
*/
@ExcelAttribute
(
name
=
"社保缴纳地-省"
,
maxLength
=
32
,
isArea
=
true
,
needExport
=
true
)
@Schema
(
description
=
"社保缴纳地-省"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"社保缴纳地-省"
)
private
String
socialProvince
;
/**
* 缴纳地-市
*/
@ExcelAttribute
(
name
=
"社保缴纳地-市"
,
maxLength
=
32
,
isArea
=
true
,
parentField
=
"socialProvince"
,
needExport
=
true
)
@Schema
(
description
=
"社保缴纳地-市"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"社保缴纳地-市"
)
private
String
socialCity
;
/**
* 缴纳地-县
*/
@ExcelAttribute
(
name
=
"社保缴纳地-县"
,
maxLength
=
32
,
isArea
=
true
,
parentField
=
"socialCity"
,
needExport
=
true
)
@Schema
(
description
=
"社保缴纳地-县"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"社保缴纳地-县"
)
private
String
socialTown
;
/**
* 公积金缴纳地-省
*/
@ExcelAttribute
(
name
=
"公积金缴纳地-省"
,
maxLength
=
32
,
isArea
=
true
,
needExport
=
true
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"公积金缴纳地-省"
)
private
String
fundProvince
;
/**
* 公积金缴纳地-市
*/
@ExcelAttribute
(
name
=
"公积金缴纳地-市"
,
maxLength
=
32
,
isArea
=
true
,
parentField
=
"fundProvince"
,
needExport
=
true
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"公积金缴纳地-市"
)
private
String
fundCity
;
/**
* 公积金缴纳地-县
*/
@ExcelAttribute
(
name
=
"公积金缴纳地-县"
,
maxLength
=
32
,
isArea
=
true
,
parentField
=
"fundCity"
,
needExport
=
true
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"公积金缴纳地-县"
)
private
String
fundTown
;
/**
* 派单ID
*/
@ExcelAttribute
(
name
=
"派单ID"
,
maxLength
=
32
)
@ExcelProperty
(
"派单ID"
)
private
String
dispatchId
;
/**
* 申请人
*/
@ExcelAttribute
(
name
=
"申请人"
,
maxLength
=
32
)
@ExcelProperty
(
"申请人"
)
private
String
applyName
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TSocialAlertInfoSearchVo.java
0 → 100644
View file @
2cfe6eeb
/*
* 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
.
social
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* @author fxj
* @date 2025-10-15 14:50:53
*/
@Data
public
class
TSocialAlertInfoSearchVo
extends
TSocialAlertInfo
{
/**
* 多选导出或删除等操作
*/
@Schema
(
description
=
"选中ID,多个逗号分割"
)
private
String
ids
;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema
(
description
=
"创建时间区间"
)
private
LocalDateTime
[]
createTimes
;
/**
* @Author fxj
* 查询数据起
**/
@Schema
(
description
=
"查询limit 开始"
)
private
int
limitStart
;
/**
* @Author fxj
* 查询数据止
**/
@Schema
(
description
=
"查询limit 数据条数"
)
private
int
limitEnd
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TSocialAlertInfoVo.java
0 → 100644
View file @
2cfe6eeb
/*
* 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
.
social
.
vo
;
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.vo.RowIndex
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* @author fxj
* @date 2025-10-15 14:50:53
*/
@Data
public
class
TSocialAlertInfoVo
extends
RowIndex
implements
Serializable
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@NotBlank
(
message
=
"id 不能为空"
)
@Length
(
max
=
32
,
message
=
"id 不能超过32 个字符"
)
@ExcelAttribute
(
name
=
"id"
,
isNotEmpty
=
true
,
errorInfo
=
"id 不能为空"
,
maxLength
=
32
)
@Schema
(
description
=
"id"
)
@ExcelProperty
(
"id"
)
private
String
id
;
/**
* 项目编码
*/
@Length
(
max
=
50
,
message
=
"项目编码 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"项目编码"
,
maxLength
=
50
)
@Schema
(
description
=
"项目编码"
)
@ExcelProperty
(
"项目编码"
)
private
String
deptNo
;
/**
* 项目名称
*/
@Length
(
max
=
100
,
message
=
"项目名称 不能超过100 个字符"
)
@ExcelAttribute
(
name
=
"项目名称"
,
maxLength
=
100
)
@Schema
(
description
=
"项目名称"
)
@ExcelProperty
(
"项目名称"
)
private
String
deptName
;
/**
* 类型:0社保1公积金
*/
@Length
(
max
=
255
,
message
=
"类型:0社保1公积金 不能超过255 个字符"
)
@ExcelAttribute
(
name
=
"类型:0社保1公积金"
,
maxLength
=
255
)
@Schema
(
description
=
"类型:0社保1公积金"
)
@ExcelProperty
(
"类型:0社保1公积金"
)
private
String
type
;
/**
* 员工姓名
*/
@Length
(
max
=
20
,
message
=
"员工姓名 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"员工姓名"
,
maxLength
=
20
)
@Schema
(
description
=
"员工姓名"
)
@ExcelProperty
(
"员工姓名"
)
private
String
empName
;
/**
* 员工身份证
*/
@Length
(
max
=
30
,
message
=
"员工身份证 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"员工身份证"
,
maxLength
=
30
)
@Schema
(
description
=
"员工身份证"
)
@ExcelProperty
(
"员工身份证"
)
private
String
empIdcard
;
/**
* 失败原因
*/
@Length
(
max
=
200
,
message
=
"失败原因 不能超过200 个字符"
)
@ExcelAttribute
(
name
=
"失败原因"
,
maxLength
=
200
)
@Schema
(
description
=
"失败原因"
)
@ExcelProperty
(
"失败原因"
)
private
String
reason
;
/**
* 接收人
*/
@Length
(
max
=
36
,
message
=
"接收人 不能超过36 个字符"
)
@ExcelAttribute
(
name
=
"接收人"
,
maxLength
=
36
)
@Schema
(
description
=
"接收人"
)
@ExcelProperty
(
"接收人"
)
private
String
receiveUser
;
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/TSocialAlertInfoController.java
0 → 100644
View file @
2cfe6eeb
/*
* 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
.
social
.
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.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
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.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TSocialAlertInfoService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialAlertInfoSearchVo
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
lombok.SneakyThrows
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
* @author fxj
* @date 2025-10-15 14:50:53
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tsocialalertinfo"
)
@Tag
(
name
=
"社保办理失败通知信息"
)
public
class
TSocialAlertInfoController
{
private
final
TSocialAlertInfoService
tSocialAlertInfoService
;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSocialAlertInfo
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TSocialAlertInfo
>>
getTSocialAlertInfoPage
(
Page
<
TSocialAlertInfo
>
page
,
TSocialAlertInfoSearchVo
tSocialAlertInfo
)
{
return
new
R
<>(
tSocialAlertInfoService
.
getTSocialAlertInfoPage
(
page
,
tSocialAlertInfo
));
}
/**
* 不分页查询
*
* @param tSocialAlertInfo
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
public
R
<
List
<
TSocialAlertInfo
>>
getTSocialAlertInfoNoPage
(
@RequestBody
TSocialAlertInfoSearchVo
tSocialAlertInfo
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
null
==
user
||
null
==
user
.
getId
()){
return
R
.
failed
(
CommonConstants
.
USER_FAIL
);
}
tSocialAlertInfo
.
setReceiveUser
(
user
.
getId
());
return
R
.
ok
(
tSocialAlertInfoService
.
noPageDiy
(
tSocialAlertInfo
));
}
/**
* 通过id查询
*
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询:hasPermission('social_tsocialalertinfo_get')"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo_get')"
)
public
R
<
TSocialAlertInfo
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tSocialAlertInfoService
.
getById
(
id
));
}
/**
* 新增
*
* @param tSocialAlertInfo
* @return R
*/
@Operation
(
summary
=
"新增"
,
description
=
"新增:hasPermission('social_tsocialalertinfo_add')"
)
@SysLog
(
"新增"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo_add')"
)
public
R
<
Boolean
>
save
(
@RequestBody
TSocialAlertInfo
tSocialAlertInfo
)
{
return
R
.
ok
(
tSocialAlertInfoService
.
save
(
tSocialAlertInfo
));
}
/**
* 修改
*
* @param tSocialAlertInfo
* @return R
*/
@Operation
(
summary
=
"修改"
,
description
=
"修改:hasPermission('social_tsocialalertinfo_edit')"
)
@SysLog
(
"修改"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TSocialAlertInfo
tSocialAlertInfo
)
{
return
R
.
ok
(
tSocialAlertInfoService
.
updateById
(
tSocialAlertInfo
));
}
/**
* 通过id删除
*
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id删除"
,
description
=
"通过id删除:hasPermission('social_tsocialalertinfo_del')"
)
@SysLog
(
"通过id删除"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tSocialAlertInfoService
.
removeById
(
id
));
}
/**
* 批量导入
*
* @author fxj
* @date 2025-10-15 14:50:53
**/
@SneakyThrows
@Operation
(
description
=
"批量新增 hasPermission('social_tsocialalertinfo-batch-import')"
)
@SysLog
(
"批量新增"
)
@PostMapping
(
"/importListAdd"
)
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo-batch-import')"
)
public
R
<
List
<
ErrorMessage
>>
importListAdd
(
@RequestBody
MultipartFile
file
)
{
return
tSocialAlertInfoService
.
importDiy
(
file
.
getInputStream
());
}
/**
* 批量导出
*
* @author fxj
* @date 2025-10-15 14:50:53
**/
@Operation
(
description
=
"导出 hasPermission('social_tsocialalertinfo-export')"
)
@PostMapping
(
"/export"
)
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo-export')"
)
public
void
export
(
HttpServletResponse
response
,
@RequestBody
TSocialAlertInfoSearchVo
searchVo
)
{
tSocialAlertInfoService
.
listExport
(
response
,
searchVo
);
}
/**
* @Author fxj
* @Description 每天刷新办理失败的数据 并发送给申请人,如果申请人异常发给地市办理人,如果地市办理人异常 不处理
* @Date 15:14 2025/10/15
* @Param
* @return
**/
@Operation
(
description
=
"每天刷新办理失败的数据"
)
@Inner
@PostMapping
(
"/inner/createAndSendSocialAlert"
)
public
void
createAndSendSocialAlert
()
{
tSocialAlertInfoService
.
createAndSendSocialAlert
();
}
@Operation
(
description
=
"每天刷新办理失败的数据"
)
@PostMapping
(
"/createAndSendSocialAlert2"
)
public
void
createAndSendSocialAlert2
()
{
tSocialAlertInfoService
.
createAndSendSocialAlert
();
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/TSocialAlertInfoMapper.java
0 → 100644
View file @
2cfe6eeb
/*
* 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
.
social
.
mapper
;
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.social.entity.TSocialAlertInfo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @author fxj
* @date 2025-10-15 14:50:53
*/
@Mapper
public
interface
TSocialAlertInfoMapper
extends
BaseMapper
<
TSocialAlertInfo
>
{
/**
* 简单分页查询
*
* @param tSocialAlertInfo
* @return
*/
IPage
<
TSocialAlertInfo
>
getTSocialAlertInfoPage
(
Page
<
TSocialAlertInfo
>
page
,
@Param
(
"tSocialAlertInfo"
)
TSocialAlertInfo
tSocialAlertInfo
);
List
<
TSocialAlertInfo
>
getTSocialAlertInfoList
();
List
<
TSocialAlertInfo
>
getTFundAlertInfoList
();
void
deleteCUrrentDayData
();
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/TSocialfundHouseResMapper.java
View file @
2cfe6eeb
...
...
@@ -21,10 +21,12 @@ 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.social.entity.TSocialfundHouseRes
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Map
;
/**
* 社保公积金户权限配置表
...
...
@@ -58,4 +60,11 @@ public interface TSocialfundHouseResMapper extends BaseMapper<TSocialfundHouseRe
List
<
String
>
getSocialListByUserId
(
@Param
(
"userId"
)
String
userId
);
/**
* 获取户名称与用户ID的映射关系
* key: 户名称(HOUSEHOLD)
* value: 用户ID列表,多个ID使用逗号分隔
* @return 户名称与用户ID的映射关系Map
*/
List
<
Map
<
String
,
String
>>
getHouseHoldUserMap
();
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TSocialAlertInfoService.java
0 → 100644
View file @
2cfe6eeb
/*
* 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
.
social
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialAlertInfoSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.List
;
/**
*
*
* @author fxj
* @date 2025-10-15 14:50:53
*/
public
interface
TSocialAlertInfoService
extends
IService
<
TSocialAlertInfo
>
{
/**
* 简单分页查询
* @param tSocialAlertInfo
* @return
*/
IPage
<
TSocialAlertInfo
>
getTSocialAlertInfoPage
(
Page
<
TSocialAlertInfo
>
page
,
TSocialAlertInfoSearchVo
tSocialAlertInfo
);
R
<
List
<
ErrorMessage
>>
importDiy
(
InputStream
inputStream
);
void
listExport
(
HttpServletResponse
response
,
TSocialAlertInfoSearchVo
searchVo
);
List
<
TSocialAlertInfo
>
noPageDiy
(
TSocialAlertInfoSearchVo
searchVo
);
void
createAndSendSocialAlert
();
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TSocialAlertInfoServiceImpl.java
0 → 100644
View file @
2cfe6eeb
This diff is collapsed.
Click to expand it.
yifu-social/yifu-social-biz/src/main/resources/mapper/TSocialAlertInfoMapper.xml
0 → 100644
View file @
2cfe6eeb
<?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.social.mapper.TSocialAlertInfoMapper"
>
<resultMap
id=
"tSocialAlertInfoMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo"
>
<id
property=
"id"
column=
"ID"
/>
<result
property=
"deptNo"
column=
"DEPT_NO"
/>
<result
property=
"deptName"
column=
"DEPT_NAME"
/>
<result
property=
"type"
column=
"TYPE"
/>
<result
property=
"empName"
column=
"EMP_NAME"
/>
<result
property=
"empIdcard"
column=
"EMP_IDCARD"
/>
<result
property=
"reason"
column=
"REASON"
/>
<result
property=
"receiveUser"
column=
"RECEIVE_USER"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"handleTime"
column=
"HANDLE_TIME"
/>
<result
property=
"houseHoldName"
column=
"HOUSE_HOLD_NAME"
/>
<result
property=
"socialProvince"
column=
"SOCIAL_PROVINCE"
/>
<result
property=
"socialCity"
column=
"SOCIAL_CITY"
/>
<result
property=
"socialTown"
column=
"SOCIAL_TOWN"
/>
<result
property=
"fundProvince"
column=
"FUND_PROVINCE"
/>
<result
property=
"fundCity"
column=
"FUND_CITY"
/>
<result
property=
"fundTown"
column=
"FUND_TOWN"
/>
<result
property=
"dispatchId"
column=
"DISPATCH_ID"
/>
<result
property=
"applyName"
column=
"APPLY_NAME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
a.DEPT_NO,
a.DEPT_NAME,
a.TYPE,
a.EMP_NAME,
a.EMP_IDCARD,
a.REASON,
a.RECEIVE_USER,
a.CREATE_BY,
a.UPDATE_BY,
a.CREATE_NAME,
a.UPDATE_TIME,
a.CREATE_TIME,
a.HOUSE_HOLD_NAME,
a.SOCIAL_PROVINCE,
a.SOCIAL_CITY,
a.SOCIAL_TOWN,
a.FUND_PROVINCE,
a.FUND_CITY,
a.FUND_TOWN,
a.HANDLE_TIME,
a.DISPATCH_ID,a.APPLY_NAME
</sql>
<sql
id=
"tSocialAlertInfo_where"
>
<if
test=
"tSocialAlertInfo != null"
>
<if
test=
"tSocialAlertInfo.id != null and tSocialAlertInfo.id.trim() != ''"
>
AND a.ID = #{tSocialAlertInfo.id}
</if>
<if
test=
"tSocialAlertInfo.deptNo != null and tSocialAlertInfo.deptNo.trim() != ''"
>
AND a.DEPT_NO = #{tSocialAlertInfo.deptNo}
</if>
<if
test=
"tSocialAlertInfo.deptName != null and tSocialAlertInfo.deptName.trim() != ''"
>
AND a.DEPT_NAME = #{tSocialAlertInfo.deptName}
</if>
<if
test=
"tSocialAlertInfo.type != null and tSocialAlertInfo.type.trim() != ''"
>
AND a.TYPE = #{tSocialAlertInfo.type}
</if>
<if
test=
"tSocialAlertInfo.empName != null and tSocialAlertInfo.empName.trim() != ''"
>
AND a.EMP_NAME = #{tSocialAlertInfo.empName}
</if>
<if
test=
"tSocialAlertInfo.empIdcard != null and tSocialAlertInfo.empIdcard.trim() != ''"
>
AND a.EMP_IDCARD = #{tSocialAlertInfo.empIdcard}
</if>
<if
test=
"tSocialAlertInfo.reason != null and tSocialAlertInfo.reason.trim() != ''"
>
AND a.REASON = #{tSocialAlertInfo.reason}
</if>
<if
test=
"tSocialAlertInfo.receiveUser != null and tSocialAlertInfo.receiveUser.trim() != ''"
>
AND a.RECEIVE_USER = #{tSocialAlertInfo.receiveUser}
</if>
<if
test=
"tSocialAlertInfo.createBy != null and tSocialAlertInfo.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tSocialAlertInfo.createBy}
</if>
<if
test=
"tSocialAlertInfo.updateBy != null and tSocialAlertInfo.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tSocialAlertInfo.updateBy}
</if>
<if
test=
"tSocialAlertInfo.createName != null and tSocialAlertInfo.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tSocialAlertInfo.createName}
</if>
<if
test=
"tSocialAlertInfo.updateTime != null"
>
AND a.UPDATE_TIME = #{tSocialAlertInfo.updateTime}
</if>
<if
test=
"tSocialAlertInfo.createTime != null"
>
AND a.CREATE_TIME = #{tSocialAlertInfo.createTime}
</if>
</if>
</sql>
<!--tSocialAlertInfo简单分页查询-->
<select
id=
"getTSocialAlertInfoPage"
resultMap=
"tSocialAlertInfoMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_social_alert_info a
<where>
1=1
<include
refid=
"tSocialAlertInfo_where"
/>
</where>
</select>
<!--tSocialAlertInfo数据获取-->
<select
id=
"getTSocialAlertInfoList"
resultMap=
"tSocialAlertInfoMap"
>
SELECT
di.SETTLE_DOMAIN_CODE as DEPT_NO,
di.SETTLE_DOMAIN_NAME as DEPT_NAME,
di.TYPE AS TYPE,
di.EMP_NAME AS EMP_NAME,
di.EMP_IDCARD AS EMP_IDCARD,
di.CREATE_NAME AS APPLY_NAME,
di.CREATE_BY AS CREATE_BY,
di.CREATE_BY AS RECEIVE_USER,
di.SOCIAL_HOUSEHOLD_NAME as HOUSE_HOLD_NAME,
di.SOCIAL_PROVINCE as SOCIAL_PROVINCE,
di.SOCIAL_CITY as SOCIAL_CITY,
di.SOCIAL_TOWN as SOCIAL_TOWN,
NULL as FUND_PROVINCE,
NULL as FUND_CITY,
NULL as FUND_TOWN,
di.id as DISPATCH_ID,
CASE
WHEN di.TYPE =0 THEN si.HANDLE_TIME
WHEN di.TYPE =1 THEN si.REDUCE_HANDLE_TIME
ELSE NULL
END AS HANDLE_TIME,
CASE
WHEN di.SOCIAL_HANDLE_STATUS IN ('2', '3') THEN di.SOCIAL_HANDLE_REMARK
ELSE NULL
END AS REASON
FROM
t_dispatch_info as di
LEFT JOIN
(
SELECT
ID,
HANDLE_TIME,
REDUCE_HANDLE_TIME
FROM t_social_info
WHERE
CREATE_TIME > DATE_SUB(CURDATE(), INTERVAL 4 MONTH)
) AS si ON di.SOCIAL_ID = si.ID
WHERE
(
(si.HANDLE_TIME >= DATE_SUB(CURDATE(), INTERVAL 100 DAY)
AND si.HANDLE_TIME
<![CDATA[ <= ]]>
CONCAT(CURDATE(), ' 10:00:00'))
OR
(si.REDUCE_HANDLE_TIME >= DATE_SUB(CURDATE(), INTERVAL 100 DAY)
AND si.REDUCE_HANDLE_TIME
<![CDATA[ <= ]]>
CONCAT(CURDATE(), ' 10:00:00'))
)
AND di.SOCIAL_HANDLE_STATUS IN ('2', '3')
AND di.DELETE_FLAG = '0' AND di.TYPE=0
</select>
<!--tSocialAlertInfo数据获取-->
<select
id=
"getTFundAlertInfoList"
resultMap=
"tSocialAlertInfoMap"
>
SELECT
di.SETTLE_DOMAIN_CODE as DEPT_NO,
di.SETTLE_DOMAIN_NAME as DEPT_NAME,
di.TYPE AS TYPE,
di.EMP_NAME AS EMP_NAME,
di.EMP_IDCARD AS EMP_IDCARD,
di.CREATE_NAME AS APPLY_NAME,
di.CREATE_BY AS CREATE_BY,
di.CREATE_BY AS RECEIVE_USER,
di.PROVIDENT_HOUSEHOLD_NAME as HOUSE_HOLD_NAME,
NULL as SOCIAL_PROVINCE,
NULL as SOCIAL_CITY,
NULL as SOCIAL_TOWN,
di.FUND_PROVINCE as FUND_PROVINCE,
di.FUND_CITY as FUND_CITY,
di.FUND_TOWN as FUND_TOWN,
di.id as DISPATCH_ID,
CASE
WHEN di.TYPE =0 THEN pf.HANDLE_TIME
WHEN di.TYPE =1 THEN pf.REDUCE_HANDLE_TIME
ELSE NULL
END AS HANDLE_TIME,
CASE
WHEN di.FUND_HANDLE_STATUS = '2' THEN di.FUND_HANDLE_REMARK
ELSE NULL
END AS REASON
FROM
t_dispatch_info as di
LEFT JOIN
(
SELECT
HANDLE_TIME,
ID,
REDUCE_HANDLE_TIME
FROM t_provident_fund
WHERE
CREATE_TIME > DATE_SUB(CURDATE(), INTERVAL 4 MONTH )
) AS pf ON di.FUND_ID = pf.ID
WHERE
(
(pf.HANDLE_TIME >= DATE_SUB(CURDATE(), INTERVAL 100 DAY)
AND pf.HANDLE_TIME
<![CDATA[ <= ]]>
CONCAT(CURDATE(), ' 10:00:00'))
OR
(pf.REDUCE_HANDLE_TIME >= DATE_SUB(CURDATE(), INTERVAL 100 DAY)
AND pf.REDUCE_HANDLE_TIME
<![CDATA[ <= ]]>
CONCAT(CURDATE(), ' 10:00:00'))
)
AND di.FUND_HANDLE_STATUS = '2'
AND di.DELETE_FLAG = '0' AND di.TYPE=1
</select>
<delete
id=
"deleteCUrrentDayData"
>
delete from t_social_alert_info where CREATE_TIME >= CONCAT(CURDATE(), ' 10:00:00')
</delete>
</mapper>
\ No newline at end of file
yifu-social/yifu-social-biz/src/main/resources/mapper/TSocialfundHouseResMapper.xml
View file @
2cfe6eeb
...
...
@@ -129,5 +129,28 @@
<select
id=
"getSocialListByUserId"
resultType=
"java.lang.String"
>
SELECT a.SOCIAL_HOUSEHOLD FROM t_socialfund_house_res a WHERE user_id = #{userId} AND STATUS = '0' AND AUTH_TYPE = '1' AND HOUSE_NAME_TYPE = '0'
</select>
<select
id=
"getHouseHoldUserMap"
resultType=
"java.util.Map"
>
<!--
查询各个户籍/公积金账户对应的用户ID列表
条件:
- STATUS = '0': 有效状态
- AUTH_TYPE = '1': 授权类型为1
- HOUSE_NAME_TYPE = '0': 社保户籍类型 或 HOUSE_NAME_TYPE = '1': 公积金户籍类型
-->
SELECT x.HOUSEHOLD as 'key',GROUP_CONCAT(DISTINCT x.USER_ID) as 'value'
FROM
(
SELECT a.SOCIAL_HOUSEHOLD as HOUSEHOLD,a.USER_ID
FROM t_socialfund_house_res a
WHERE STATUS = '0' AND AUTH_TYPE = '1' AND HOUSE_NAME_TYPE = '0'
UNION ALL
SELECT a.FUND_HOUSEHOLD as HOUSEHOLD,a.USER_ID
FROM t_socialfund_house_res a
WHERE STATUS = '0' AND AUTH_TYPE = '1' AND HOUSE_NAME_TYPE = '1'
) AS x
WHERE x.HOUSEHOLD IS NOT NULL
GROUP BY x.HOUSEHOLD
</select>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment