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
a884e6a6
Commit
a884e6a6
authored
Aug 08, 2023
by
huyuchen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
消息提醒修改
parent
921bb4ea
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
115 additions
and
20 deletions
+115
-20
SecurityConstants.java
.../plus/v1/yifu/common/core/constant/SecurityConstants.java
+11
-0
TMessageInfo.java
.../java/com/yifu/cloud/plus/v1/msg/entity/TMessageInfo.java
+5
-0
WxConfig.java
...main/java/com/yifu/cloud/plus/v1/msg/config/WxConfig.java
+2
-0
TMessageInfoController.java
.../cloud/plus/v1/msg/controller/TMessageInfoController.java
+17
-9
TMessageInfoService.java
...m/yifu/cloud/plus/v1/msg/service/TMessageInfoService.java
+3
-2
TMessageInfoServiceImpl.java
...oud/plus/v1/msg/service/impl/TMessageInfoServiceImpl.java
+60
-8
application.yml
yifu-msg/yifu-msg-biz/src/main/resources/application.yml
+7
-1
TMessageInfoMapper.xml
...-msg-biz/src/main/resources/mapper/TMessageInfoMapper.xml
+5
-0
SysUser.java
...com/yifu.cloud.plus.v1/yifu/admin/api/entity/SysUser.java
+5
-0
No files found.
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/constant/SecurityConstants.java
View file @
a884e6a6
...
...
@@ -141,4 +141,15 @@ public interface SecurityConstants {
**/
String
WX_SEND_MESSAGE
=
"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s"
;
/**
* @Author: huyc
* @Date: 2023/7/28
* @Description: 企业微信发送消息授权路径
* @return:
* 下面链接中的state参数是和前端进行交互区分的重要参数,如果新增,请不要和以前的前缀相同
* 1,2,3,4 前缀为合同审批待处理、抄送和垫付审批中的待处理、抄送。 5 前缀为突发事件待处理页面的标识
* 1=垫付审批待处理,2=垫付审批抄送,3=合同审批待处理,4=合同审批抄送,5=事件审批待处理
**/
String
WX_GET_MESSAGE_AUTH_URL
=
"https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=snsapi_base&state=%s#wechat_redirect"
;
}
yifu-msg/yifu-msg-api/src/main/java/com/yifu/cloud/plus/v1/msg/entity/TMessageInfo.java
View file @
a884e6a6
...
...
@@ -80,6 +80,11 @@ public class TMessageInfo {
@ExcelProperty
(
"处理人-当前提醒人"
)
@Schema
(
description
=
"处理人-当前提醒人"
)
private
String
alertUser
;
/**
* 处理人-当前提醒人
*/
@Schema
(
description
=
"处理人-当前提醒人id"
)
private
String
alertUserId
;
/**
* 是否通知企业微信用户 0 是 1 否
*/
...
...
yifu-msg/yifu-msg-biz/src/main/java/com/yifu/cloud/plus/v1/msg/config/WxConfig.java
View file @
a884e6a6
...
...
@@ -41,6 +41,8 @@ public class WxConfig {
private
String
corpsecret
;
@Value
(
"${wx.agentid}"
)
private
String
agentid
;
@Value
(
"${wx.authUrl}"
)
private
String
authUrl
;
@Autowired
private
RedisTemplate
redisTemplate
;
...
...
yifu-msg/yifu-msg-biz/src/main/java/com/yifu/cloud/plus/v1/msg/controller/TMessageInfoController.java
View file @
a884e6a6
...
...
@@ -27,7 +27,6 @@ import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -64,7 +63,6 @@ public class TMessageInfoController {
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tmessageinfo_get')"
)
public
R
<
TMessageInfo
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tMessageInfoService
.
getById
(
id
));
}
...
...
@@ -76,10 +74,9 @@ public class TMessageInfoController {
*/
@Operation
(
summary
=
"新增消息提醒"
,
description
=
"新增消息提醒"
)
@SysLog
(
"新增消息提醒"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('demo_tmessageinfo_add')"
)
@PostMapping
(
"/saveMessageInfo"
)
public
R
<
Boolean
>
save
(
@RequestBody
TMessageInfo
tMessageInfo
)
{
return
R
.
ok
(
tMessageInfoService
.
saveMessage
(
tMessageInfo
)
);
return
tMessageInfoService
.
saveMessage
(
tMessageInfo
);
}
/**
...
...
@@ -90,7 +87,6 @@ public class TMessageInfoController {
@Operation
(
summary
=
"修改消息提醒"
,
description
=
"修改消息提醒"
)
@SysLog
(
"修改消息提醒"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('demo_tmessageinfo_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TMessageInfo
tMessageInfo
)
{
return
R
.
ok
(
tMessageInfoService
.
updateById
(
tMessageInfo
));
}
...
...
@@ -104,7 +100,20 @@ public class TMessageInfoController {
**/
@Operation
(
summary
=
"更新消息信息"
,
description
=
"更新消息信息"
)
@Inner
@PostMapping
(
"/inner/updateMessageInfo"
)
@PostMapping
(
"/inner/updateInnerMessageInfo"
)
public
void
updateInnerMessageInfo
(
@RequestBody
TMessageInfo
tMessageInfo
)
{
tMessageInfoService
.
updateMessageInfo
(
tMessageInfo
);
}
/**
* @Author huyc
* @Description 更新消息信息
* @Date 14:30 2023/7/26
* @Param
* @return
**/
@Operation
(
summary
=
"更新消息信息"
,
description
=
"更新消息信息"
)
@PostMapping
(
"/updateMessageInfo"
)
public
void
updateMessageInfo
(
@RequestBody
TMessageInfo
tMessageInfo
)
{
tMessageInfoService
.
updateMessageInfo
(
tMessageInfo
);
}
...
...
@@ -118,7 +127,7 @@ public class TMessageInfoController {
**/
@Operation
(
summary
=
"查询消息数量"
,
description
=
"查询消息数量"
)
@PostMapping
(
"/selectMessageCount"
)
public
long
selectMessageCount
(
@RequestBody
TMessageInfo
tMessageInfo
)
{
public
R
<
Long
>
selectMessageCount
(
@RequestBody
TMessageInfo
tMessageInfo
)
{
return
tMessageInfoService
.
selectMessageCount
(
tMessageInfo
);
}
...
...
@@ -130,7 +139,6 @@ public class TMessageInfoController {
@Operation
(
summary
=
"通过id删除消息提醒"
,
description
=
"通过id删除消息提醒"
)
@SysLog
(
"通过id删除消息提醒"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('demo_tmessageinfo_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tMessageInfoService
.
removeById
(
id
));
}
...
...
yifu-msg/yifu-msg-biz/src/main/java/com/yifu/cloud/plus/v1/msg/service/TMessageInfoService.java
View file @
a884e6a6
...
...
@@ -21,6 +21,7 @@ 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.msg.entity.TMessageInfo
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
/**
* 消息提醒
...
...
@@ -36,9 +37,9 @@ public interface TMessageInfoService extends IService<TMessageInfo> {
*/
IPage
<
TMessageInfo
>
getTMessageInfoPage
(
Page
<
TMessageInfo
>
page
,
TMessageInfo
tMessageInfo
);
boolean
saveMessage
(
TMessageInfo
tMessageInfo
);
R
<
Boolean
>
saveMessage
(
TMessageInfo
tMessageInfo
);
void
updateMessageInfo
(
TMessageInfo
tMessageInfo
);
long
selectMessageCount
(
TMessageInfo
tMessageInfo
);
R
<
Long
>
selectMessageCount
(
TMessageInfo
tMessageInfo
);
}
yifu-msg/yifu-msg-biz/src/main/java/com/yifu/cloud/plus/v1/msg/service/impl/TMessageInfoServiceImpl.java
View file @
a884e6a6
...
...
@@ -20,13 +20,26 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.msg.config.WxConfig
;
import
com.yifu.cloud.plus.v1.msg.entity.TMessageInfo
;
import
com.yifu.cloud.plus.v1.msg.mapper.TMessageInfoMapper
;
import
com.yifu.cloud.plus.v1.msg.service.TMessageInfoService
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants
;
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.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* 消息提醒
...
...
@@ -36,7 +49,15 @@ import org.springframework.stereotype.Service;
*/
@Log4j2
@Service
@AllArgsConstructor
public
class
TMessageInfoServiceImpl
extends
ServiceImpl
<
TMessageInfoMapper
,
TMessageInfo
>
implements
TMessageInfoService
{
@Autowired
private
final
UpmsDaprUtils
upmsDaprUtils
;
@Autowired
private
WxConfig
wxConfig
;
/**
* 消息提醒简单分页查询
* @param tMessageInfo 消息提醒
...
...
@@ -48,9 +69,40 @@ public class TMessageInfoServiceImpl extends ServiceImpl<TMessageInfoMapper, TMe
}
@Override
public
boolean
saveMessage
(
TMessageInfo
tMessageInfo
)
{
return
false
;
public
R
<
Boolean
>
saveMessage
(
TMessageInfo
tMessageInfo
)
{
//企业微信通知
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
tMessageInfo
.
getWxFlag
()))
{
//获取人员的账号
R
<
SysUser
>
simpleUser
=
upmsDaprUtils
.
getSimpleUser
(
tMessageInfo
.
getAlertUserId
());
if
(
null
!=
simpleUser
&&
null
!=
simpleUser
.
getData
())
{
SysUser
user
=
simpleUser
.
getData
();
if
(
Common
.
isEmpty
(
user
)
||
Common
.
isEmpty
(
user
.
getWxMessage
()))
{
return
R
.
failed
(
"未找到对应的人员信息"
);
}
else
{
RestTemplate
restTemplate
=
new
RestTemplate
();
Map
<
String
,
Object
>
textcard
=
new
HashMap
<>();
Map
<
String
,
Object
>
requestMap
=
new
HashMap
<>();
String
authUrl
=
String
.
format
(
SecurityConstants
.
WX_GET_MESSAGE_AUTH_URL
,
wxConfig
.
getCorpid
(),
wxConfig
.
getAuthUrl
(),
CommonConstants
.
ONE_STRING
+
tMessageInfo
.
getModelId
());
textcard
.
put
(
"title"
,
"审批待处理"
);
textcard
.
put
(
"url"
,
authUrl
);
StringBuilder
description
=
new
StringBuilder
();
description
.
append
(
"申请人:"
).
append
(
tMessageInfo
.
getSubmitUser
()).
append
(
"<br>"
);
description
.
append
(
"待处理人:"
).
append
(
tMessageInfo
.
getAlertUser
()).
append
(
"<br>"
);
description
.
append
(
"模块:"
).
append
(
tMessageInfo
.
getModelType
());
textcard
.
put
(
"description"
,
description
.
toString
());
requestMap
.
put
(
"touser"
,
user
.
getWxMessage
());
requestMap
.
put
(
"agentid"
,
wxConfig
.
getAgentid
());
requestMap
.
put
(
"msgtype"
,
"textcard"
);
requestMap
.
put
(
"textcard"
,
textcard
);
// 必须加上header说明
if
(!
wxConfig
.
sendTextCard
(
restTemplate
,
requestMap
))
{
wxConfig
.
sendTextCard
(
restTemplate
,
requestMap
);
}
}
}
}
baseMapper
.
insert
(
tMessageInfo
);
return
R
.
ok
();
}
@Override
...
...
@@ -75,10 +127,10 @@ public class TMessageInfoServiceImpl extends ServiceImpl<TMessageInfoMapper, TMe
}
@Override
public
long
selectMessageCount
(
TMessageInfo
tMessageInfo
)
{
return
baseMapper
.
selectCount
(
Wrappers
.<
TMessageInfo
>
query
().
lambda
()
.
eq
(
TMessageInfo:
:
getAlertUser
,
tMessageInfo
.
getAlertUser
()
)
.
eq
(
TMessageInfo:
:
get
ModelId
,
tMessageInfo
.
getModel
Id
())
.
eq
(
TMessageInfo:
:
getHandlerStatus
,
CommonConstants
.
ONE_STRING
));
public
R
<
Long
>
selectMessageCount
(
TMessageInfo
tMessageInfo
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
return
R
.
ok
(
baseMapper
.
selectCount
(
Wrappers
.<
TMessageInfo
>
query
().
lambda
(
)
.
eq
(
TMessageInfo:
:
get
AlertUserId
,
user
.
get
Id
())
.
eq
(
TMessageInfo:
:
getHandlerStatus
,
CommonConstants
.
ONE_STRING
))
)
;
}
}
yifu-msg/yifu-msg-biz/src/main/resources/application.yml
View file @
a884e6a6
...
...
@@ -63,4 +63,10 @@ springdoc:
#分组名
-
group
:
mail
#按包路径匹配
packagesToScan
:
com.yifu.cloud.plus.v1.msg.controller
\ No newline at end of file
packagesToScan
:
com.yifu.cloud.plus.v1.msg.controller
wx
:
corpid
:
ww59249a765dd499ad
corpsecret
:
o3fLn0u9SFHh5_htpIRBSp2bOibTa8pZGcOJIJqvidQ
agentid
:
1000003
authUrl
:
https://wx.worfu.com/auth/oauth/wxLogin
yifu-msg/yifu-msg-biz/src/main/resources/mapper/TMessageInfoMapper.xml
View file @
a884e6a6
...
...
@@ -29,6 +29,7 @@
<result
property=
"alertType"
column=
"ALERT_TYPE"
/>
<result
property=
"handlerStatus"
column=
"HANDLER_STATUS"
/>
<result
property=
"alertUser"
column=
"ALERT_USER"
/>
<result
property=
"alertUserId"
column=
"ALERT_USER_ID"
/>
<result
property=
"wxFlag"
column=
"WX_FLAG"
/>
<result
property=
"listUrl"
column=
"LIST_URL"
/>
<result
property=
"infoUrl"
column=
"INFO_URL"
/>
...
...
@@ -46,6 +47,7 @@
a.INFO_URL,
a.MODEL_TYPE,
a.MODEL_ID,
a.ALERT_USER_ID,
a.CREATE_TIME
</sql>
<sql
id=
"tMessageInfo_where"
>
...
...
@@ -62,6 +64,9 @@
<if
test=
"tMessageInfo.alertUser != null and tMessageInfo.alertUser.trim() != ''"
>
AND a.ALERT_USER = #{tMessageInfo.alertUser}
</if>
<if
test=
"tMessageInfo.alertUserId != null and tMessageInfo.alertUserId.trim() != ''"
>
AND a.ALERT_USER_ID = #{tMessageInfo.alertUserId}
</if>
<if
test=
"tMessageInfo.infoUrl != null and tMessageInfo.infoUrl.trim() != ''"
>
AND a.INFO_URL = #{tMessageInfo.infoUrl}
</if>
...
...
yifu-upms/yifu-upms-api/src/main/java/com/yifu.cloud.plus.v1/yifu/admin/api/entity/SysUser.java
View file @
a884e6a6
...
...
@@ -138,6 +138,11 @@ public class SysUser extends BaseEntity {
*/
private
String
wxOpenid
;
/**
* 微信公众号的openid(工资条使用)
*/
private
String
wxMessage
;
/**
* LDAP_DN
*/
...
...
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