Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
tzdb-zydd
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
孙于凯
tzdb-zydd
Commits
28d11c8d
提交
28d11c8d
authored
1月 17, 2024
作者:
孙于凯
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:新增浙政钉
上级
81d1c5de
隐藏空白字符变更
内嵌
并排
正在显示
38 个修改的文件
包含
661 行增加
和
120 行删除
+661
-120
Sm4Util.java
...sc/src/main/java/com/tykj/zydd/misc/sm_utils/Sm4Util.java
+26
-22
pom.xml
zydd-pickup/pom.xml
+6
-0
PickUpController.java
...ava/com/tykj/zydd/pickup/controller/PickUpController.java
+15
-4
TemplateController.java
...a/com/tykj/zydd/pickup/controller/TemplateController.java
+12
-7
PickUp.java
...kup/src/main/java/com/tykj/zydd/pickup/entity/PickUp.java
+4
-1
ManualOperationDTO.java
...a/com/tykj/zydd/pickup/entity/dto/ManualOperationDTO.java
+20
-0
NotificationDTO.java
...java/com/tykj/zydd/pickup/entity/dto/NotificationDTO.java
+18
-0
PickUpDTO.java
.../main/java/com/tykj/zydd/pickup/entity/dto/PickUpDTO.java
+4
-4
TemplateDTO.java
...ain/java/com/tykj/zydd/pickup/entity/dto/TemplateDTO.java
+19
-0
NotificationVO.java
...n/java/com/tykj/zydd/pickup/entity/vo/NotificationVO.java
+17
-0
UserVO.java
.../src/main/java/com/tykj/zydd/pickup/entity/vo/UserVO.java
+14
-0
PickUpService.java
...main/java/com/tykj/zydd/pickup/service/PickUpService.java
+15
-1
TemplateService.java
...in/java/com/tykj/zydd/pickup/service/TemplateService.java
+8
-2
PickUpServiceImpl.java
.../com/tykj/zydd/pickup/service/impl/PickUpServiceImpl.java
+140
-6
TemplateServiceImpl.java
...om/tykj/zydd/pickup/service/impl/TemplateServiceImpl.java
+24
-4
application-local.properties
zydd-union/src/main/resources/application-local.properties
+1
-1
application-prod.properties
zydd-union/src/main/resources/application-prod.properties
+6
-4
application-test.properties
zydd-union/src/main/resources/application-test.properties
+19
-2
KxAdminController.java
...java/com/tykj/zydd/user/contorller/KxAdminController.java
+9
-0
UserController.java
...in/java/com/tykj/zydd/user/contorller/UserController.java
+5
-4
UserDataController.java
...ava/com/tykj/zydd/user/contorller/UserDataController.java
+20
-5
KxAdminDao.java
...user/src/main/java/com/tykj/zydd/user/dao/KxAdminDao.java
+2
-0
SpecificUserDao.java
...src/main/java/com/tykj/zydd/user/dao/SpecificUserDao.java
+9
-0
SpecificUserMessageDao.java
...n/java/com/tykj/zydd/user/dao/SpecificUserMessageDao.java
+13
-0
KxAdmin.java
...user/src/main/java/com/tykj/zydd/user/entity/KxAdmin.java
+8
-0
SendWorkMessageDTO.java
...ava/com/tykj/zydd/user/entity/dto/SendWorkMessageDTO.java
+14
-0
UserMessageVO.java
...main/java/com/tykj/zydd/user/entity/vo/UserMessageVO.java
+7
-1
MyUserDetailsServiceImpl.java
...com/tykj/zydd/user/security/MyUserDetailsServiceImpl.java
+7
-7
SecurityConfig.java
...main/java/com/tykj/zydd/user/security/SecurityConfig.java
+1
-1
SecurityUser.java
...c/main/java/com/tykj/zydd/user/security/SecurityUser.java
+2
-10
KxAdminService.java
.../main/java/com/tykj/zydd/user/service/KxAdminService.java
+6
-0
UserDataService.java
...main/java/com/tykj/zydd/user/service/UserDataService.java
+11
-5
ZyddUserService.java
...main/java/com/tykj/zydd/user/service/ZyddUserService.java
+2
-1
KxAdminServiceImpl.java
...a/com/tykj/zydd/user/service/impl/KxAdminServiceImpl.java
+31
-2
UserDataServiceImpl.java
.../com/tykj/zydd/user/service/impl/UserDataServiceImpl.java
+32
-13
ZyddUserServiceImpl.java
.../com/tykj/zydd/user/service/impl/ZyddUserServiceImpl.java
+29
-13
UserIDAuditorBean.java
...main/java/com/tykj/zydd/user/utils/UserIDAuditorBean.java
+31
-0
UserUtils.java
...ser/src/main/java/com/tykj/zydd/user/utils/UserUtils.java
+54
-0
没有找到文件。
zydd-misc/src/main/java/com/tykj/zydd/misc/sm_utils/Sm4Util.java
浏览文件 @
28d11c8d
...
...
@@ -108,28 +108,32 @@ public class Sm4Util {
public
static
void
main
(
String
[]
args
)
throws
Exception
{
/**
* SM4算法目前只支持128位(即密钥16字节)
*/
String
key
=
"nXwqj7JVe@czbD4E"
;
System
.
out
.
println
(
"key:"
+
key
);
String
data
=
"dasdsadsadqwefdsfdf热瓦甫企鹅我访问否dqfwq"
;
/**
* 加密
*/
byte
[]
encrypt
=
Sm4Util
.
encrypt
(
data
.
getBytes
(
"UTF-8"
),
key
.
getBytes
(
"UTF-8"
));
//转换为标准的Base64字符串
String
encryptStr
=
Base64
.
encodeBase64String
(
encrypt
);
System
.
out
.
println
(
"加密:"
+
encryptStr
);
/**
* 解密
*/
byte
[]
decryptBytes
=
Base64
.
decodeBase64
(
encryptStr
);
byte
[]
decrypt
=
Sm4Util
.
decrypt
(
decryptBytes
,
key
.
getBytes
(
"UTF-8"
));
String
decryptStr
=
new
String
(
decrypt
);
System
.
out
.
println
(
"解密:"
+
decryptStr
);
// /**
// * SM4算法目前只支持128位(即密钥16字节)
// */
// String key = "nXwqj7JVe@czbD4E";
// System.out.println("key:" + key);
// String data = "dasdsadsadqwefdsfdf热瓦甫企鹅我访问否dqfwq";
//
// /**
// * 加密
// */
// byte[] encrypt = Sm4Util.encrypt(data.getBytes("UTF-8"), key.getBytes("UTF-8"));
// //转换为标准的Base64字符串
// String encryptStr = Base64.encodeBase64String(encrypt);
// System.out.println("加密:" + encryptStr);
//
// /**
// * 解密
// */
// byte[] decryptBytes = Base64.decodeBase64(encryptStr);
// byte[] decrypt = Sm4Util.decrypt(decryptBytes, key.getBytes("UTF-8"));
// String decryptStr = new String(decrypt);
// System.out.println("解密:" + decryptStr);
String
decrypt
=
decrypt
(
"No3E5a0/73I+/TMJZ43eVQ=="
,
KEY
);
System
.
out
.
println
(
decrypt
);
}
...
...
zydd-pickup/pom.xml
浏览文件 @
28d11c8d
...
...
@@ -23,5 +23,10 @@
<artifactId>
zydd-misc
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.tykj
</groupId>
<artifactId>
zydd-user
</artifactId>
<version>
0.0.1-SNAPSHOT
</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
zydd-pickup/src/main/java/com/tykj/zydd/pickup/controller/PickUpController.java
浏览文件 @
28d11c8d
...
...
@@ -3,15 +3,14 @@ package com.tykj.zydd.pickup.controller;
import
com.tykj.zydd.misc.swagger.AutoDocument
;
import
com.tykj.zydd.pickup.entity.PickUp
;
import
com.tykj.zydd.pickup.entity.dto.NotificationDTO
;
import
com.tykj.zydd.pickup.entity.dto.PickUpDTO
;
import
com.tykj.zydd.pickup.entity.vo.NotificationVO
;
import
com.tykj.zydd.pickup.service.PickUpService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
...
...
@@ -31,4 +30,16 @@ public class PickUpController {
public
List
<
PickUp
>
getListPickUp
(
@RequestBody
PickUpDTO
pickUpDTO
){
return
pickUpService
.
getListPickUp
(
pickUpDTO
);
}
@PostMapping
(
"/getNotificationList"
)
@ApiOperation
(
value
=
"传入接收单位获取该单位下的通知人员"
)
public
List
<
NotificationVO
>
getNotificationList
(
@RequestParam
List
<
String
>
unitName
){
return
pickUpService
.
getNotificationList
(
unitName
);
}
@PostMapping
(
"/notification"
)
@ApiOperation
(
value
=
"发送消息通知 "
)
public
void
notification
(
@RequestBody
List
<
NotificationDTO
>
notificationDTOList
){
pickUpService
.
notification
(
notificationDTOList
);
}
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/controller/TemplateController.java
浏览文件 @
28d11c8d
...
...
@@ -2,13 +2,12 @@ package com.tykj.zydd.pickup.controller;
import
com.tykj.zydd.misc.swagger.AutoDocument
;
import
com.tykj.zydd.pickup.entity.Template
;
import
com.tykj.zydd.pickup.entity.dto.TemplateDTO
;
import
com.tykj.zydd.pickup.service.TemplateService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
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
javax.annotation.Resource
;
import
java.util.List
;
...
...
@@ -25,9 +24,15 @@ public class TemplateController {
@PostMapping
(
"/getListTemplate"
)
@ApiOperation
(
value
=
"后台查询模板"
)
public
List
<
Template
>
getListTemplate
(
String
organizationCode
){
return
templateService
.
getListTemplate
(
organizationCode
);
@GetMapping
(
"/getListTemplate"
)
@ApiOperation
(
value
=
"查询模板"
)
public
List
<
Template
>
getListTemplate
(){
return
templateService
.
getListTemplate
();
}
@PostMapping
(
"/addOrUpdate"
)
@ApiOperation
(
value
=
"修改或者添加模板"
)
public
void
addOrUpdate
(
@RequestBody
TemplateDTO
templateDTO
){
templateService
.
saveTemplate
(
templateDTO
);
}
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/entity/PickUp.java
浏览文件 @
28d11c8d
...
...
@@ -39,6 +39,9 @@ public class PickUp extends BaseEntity{
@ApiModelProperty
(
value
=
"接收电话"
)
private
String
toUnitPhone
;
@ApiModelProperty
(
value
=
"状态"
)
@ApiModelProperty
(
value
=
"状态
0成功 1失败
"
)
private
Integer
status
;
@ApiModelProperty
(
"所属单位"
)
private
String
organizationCode
;
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/entity/dto/ManualOperationDTO.java
0 → 100644
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
pickup
.
entity
.
dto
;
import
com.tykj.zydd.pickup.entity.Template
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
ManualOperationDTO
{
@ApiModelProperty
(
"收电序号"
)
private
String
telegramNumber
;
@ApiModelProperty
(
"收电单位"
)
private
List
<
String
>
unitList
;
@ApiModelProperty
(
"模板列表"
)
private
Template
template
;
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/entity/dto/NotificationDTO.java
0 → 100644
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
pickup
.
entity
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
NotificationDTO
{
@ApiModelProperty
(
"接收单位"
)
private
String
toUnitName
;
@ApiModelProperty
(
"联系人"
)
private
String
user
;
@ApiModelProperty
(
"发送内容"
)
private
String
content
;
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/entity/dto/PickUpDTO.java
浏览文件 @
28d11c8d
...
...
@@ -6,6 +6,8 @@ import lombok.Data;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
@Data
public
class
PickUpDTO
{
@ApiModelProperty
(
"时间"
)
...
...
@@ -18,9 +20,7 @@ public class PickUpDTO {
// @JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
// private LocalDateTime endTime;
@ApiModelProperty
(
"
通知
单位"
)
private
String
from
UnitName
;
@ApiModelProperty
(
"
接收
单位"
)
private
String
to
UnitName
;
@ApiModelProperty
(
"单位code"
)
private
String
organizationCode
;
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/entity/dto/TemplateDTO.java
0 → 100644
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
pickup
.
entity
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
TemplateDTO
{
@ApiModelProperty
(
value
=
"模板id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"模板名称"
)
private
String
templateName
;
@ApiModelProperty
(
value
=
"模板内容"
)
private
String
content
;
@ApiModelProperty
(
value
=
"单位id"
)
private
String
organizationCode
;
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/entity/vo/NotificationVO.java
0 → 100644
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
pickup
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.apache.catalina.User
;
import
java.util.List
;
@Data
public
class
NotificationVO
{
@ApiModelProperty
(
"单位"
)
private
String
UnitName
;
@ApiModelProperty
(
"钉钉id"
)
private
List
<
UserVO
>
userVOS
;
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/entity/vo/UserVO.java
0 → 100644
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
pickup
.
entity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
UserVO
{
@ApiModelProperty
(
"联系人姓名"
)
private
String
UserName
;
@ApiModelProperty
(
"钉钉id"
)
private
String
accountId
;
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/service/PickUpService.java
浏览文件 @
28d11c8d
...
...
@@ -3,7 +3,10 @@ package com.tykj.zydd.pickup.service;
import
com.tykj.zydd.pickup.entity.PickUp
;
import
com.tykj.zydd.pickup.entity.dto.ManualOperationDTO
;
import
com.tykj.zydd.pickup.entity.dto.NotificationDTO
;
import
com.tykj.zydd.pickup.entity.dto.PickUpDTO
;
import
com.tykj.zydd.pickup.entity.vo.NotificationVO
;
import
java.util.List
;
...
...
@@ -17,5 +20,16 @@ public interface PickUpService {
/**
* 手动添加记录
*/
PickUp
addPickUp
();
void
addPickUp
(
ManualOperationDTO
manualOperationDTO
);
/**
* 根据前端传入的单位进行查询 所属单位跟联系人
*/
List
<
NotificationVO
>
getNotificationList
(
List
<
String
>
unitName
);
/**
* 扫码通知
*/
void
notification
(
List
<
NotificationDTO
>
notificationDTOList
);
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/service/TemplateService.java
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
pickup
.
service
;
import
com.tykj.zydd.pickup.entity.Template
;
import
com.tykj.zydd.pickup.entity.dto.TemplateDTO
;
import
java.util.List
;
...
...
@@ -9,8 +10,13 @@ public interface TemplateService {
/**
* 通知模板后台查看
*/
List
<
Template
>
getListTemplate
(
String
organizationCode
);
List
<
Template
>
getListTemplate
();
/**
* 添加或者修改模板
*/
void
saveTemplate
(
TemplateDTO
templateDTO
);
void
saveTemplate
();
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/service/impl/PickUpServiceImpl.java
浏览文件 @
28d11c8d
...
...
@@ -2,14 +2,38 @@ package com.tykj.zydd.pickup.service.impl;
import
com.github.wenhao.jpa.PredicateBuilder
;
import
com.github.wenhao.jpa.Specifications
;
import
com.tykj.zydd.misc.exception.ApiException
;
import
com.tykj.zydd.pickup.dao.PickUpDAO
;
import
com.tykj.zydd.pickup.entity.PickUp
;
import
com.tykj.zydd.pickup.entity.dto.ManualOperationDTO
;
import
com.tykj.zydd.pickup.entity.dto.NotificationDTO
;
import
com.tykj.zydd.pickup.entity.dto.PickUpDTO
;
import
com.tykj.zydd.pickup.entity.vo.NotificationVO
;
import
com.tykj.zydd.pickup.entity.vo.UserVO
;
import
com.tykj.zydd.pickup.service.PickUpService
;
import
com.tykj.zydd.user.dao.KxAdminDao
;
import
com.tykj.zydd.user.dao.SpecificUnitDao
;
import
com.tykj.zydd.user.dao.SpecificUserDao
;
import
com.tykj.zydd.user.dao.SpecificUserMessageDao
;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.entity.SpecificUnit
;
import
com.tykj.zydd.user.entity.SpecificUser
;
import
com.tykj.zydd.user.entity.SpecificUserMessage
;
import
com.tykj.zydd.user.entity.dto.SendWorkMessageDTO
;
import
com.tykj.zydd.user.service.ZyddUserService
;
import
com.tykj.zydd.user.utils.UserUtils
;
import
org.apache.catalina.User
;
import
org.apache.tomcat.jni.Local
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.rmi.CORBA.Util
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Service
public
class
PickUpServiceImpl
implements
PickUpService
{
...
...
@@ -18,20 +42,130 @@ public class PickUpServiceImpl implements PickUpService {
@Resource
private
PickUpDAO
pickUpDAO
;
@Resource
private
SpecificUnitDao
specificUnitDao
;
@Resource
private
SpecificUserMessageDao
specificUserMessageDao
;
@Resource
private
SpecificUserDao
specificUserDao
;
@Resource
private
KxAdminDao
kxAdminDao
;
@Resource
private
ZyddUserService
zyddUserService
;
@Resource
private
UserUtils
userUtils
;
@Override
public
List
<
PickUp
>
getListPickUp
(
PickUpDTO
pickUpDTO
)
{
PredicateBuilder
<
PickUp
>
predicateBuilder
=
Specifications
.
and
();
// predicateBuilder.ge(pickUpDTO.getStartTime() != null, "notificationTime", pickUpDTO.getStartTime());
// predicateBuilder.le(pickUpDTO.getEndTime() != null, "notificationTime", pickUpDTO.getEndTime());
predicateBuilder
.
eq
(
pickUpDTO
.
getTime
()!=
null
,
"notificationTime"
,
pickUpDTO
.
getTime
());
predicateBuilder
.
eq
(
pickUpDTO
.
getFromUnitName
()
!=
null
,
"fromUnitName"
,
pickUpDTO
.
getFromUnitName
());
KxAdmin
currentUser
=
userUtils
.
getCurrentUser
();
predicateBuilder
.
eq
(
"organizationCode"
,
currentUser
.
getOrganizationCode
());
predicateBuilder
.
eq
(
pickUpDTO
.
getToUnitName
()
!=
null
,
"toUnitName"
,
pickUpDTO
.
getToUnitName
());
if
(
pickUpDTO
.
getTime
()
!=
null
)
{
LocalDateTime
time
=
pickUpDTO
.
getTime
();
LocalDateTime
startOfDay
=
time
.
toLocalDate
().
atStartOfDay
();
LocalDateTime
endOfDay
=
time
.
toLocalDate
().
atTime
(
LocalTime
.
MAX
);
predicateBuilder
.
ge
(
"notificationTime"
,
startOfDay
);
predicateBuilder
.
le
(
"notificationTime"
,
endOfDay
);
}
return
pickUpDAO
.
findAll
(
predicateBuilder
.
build
());
}
@Override
public
PickUp
addPickUp
()
{
return
null
;
public
void
addPickUp
(
ManualOperationDTO
manualOperationDTO
)
{
List
<
String
>
unitList
=
manualOperationDTO
.
getUnitList
();
KxAdmin
currentUser
=
userUtils
.
getCurrentUser
();
for
(
String
unit
:
unitList
)
{
PickUp
pickUp
=
new
PickUp
();
pickUp
.
setToUnitName
(
unit
);
LocalDateTime
now
=
LocalDateTime
.
now
();
pickUp
.
setNotificationTime
(
now
);
pickUp
.
setFromUnitName
(
currentUser
.
getOrganizationName
());
pickUp
.
setFromUser
(
currentUser
.
getUsername
());
pickUp
.
setToUnitName
(
unit
);
}
}
@Override
public
List
<
NotificationVO
>
getNotificationList
(
List
<
String
>
unitName
)
{
List
<
NotificationVO
>
rs
=
new
ArrayList
<>();
List
<
SpecificUser
>
userAll
=
specificUserDao
.
findAll
();
List
<
SpecificUnit
>
all
=
specificUnitDao
.
findAll
();
List
<
SpecificUserMessage
>
userMessageAll
=
specificUserMessageDao
.
findAll
();
List
<
KxAdmin
>
kxAdmins
=
kxAdminDao
.
findAll
();
for
(
String
s
:
unitName
)
{
NotificationVO
vo
=
new
NotificationVO
();
List
<
UserVO
>
userVOS
=
new
ArrayList
<>();
vo
.
setUnitName
(
s
);
//查找详细信息获取单位code
SpecificUnit
specificUnit
=
all
.
stream
().
filter
(
a
->
a
.
getOrganizationName
().
equals
(
s
)).
findFirst
().
orElse
(
new
SpecificUnit
());
//根据code查询该单位下的人员id
List
<
Integer
>
collect
=
userMessageAll
.
stream
().
filter
(
a
->
a
.
getOrganizationCode
().
equals
(
specificUnit
.
getOrganizationCode
())
&&
a
.
getEnable
()
==
0
)
.
map
(
SpecificUserMessage:
:
getUserId
)
.
collect
(
Collectors
.
toList
());
for
(
Integer
integer
:
collect
)
{
UserVO
userVO
=
new
UserVO
();
SpecificUser
specificUser
=
userAll
.
stream
().
filter
(
a
->
a
.
getId
().
equals
(
integer
)).
findFirst
().
orElse
(
new
SpecificUser
());
userVO
.
setUserName
(
specificUser
.
getEmployeeName
());
KxAdmin
kxAdmin
=
kxAdmins
.
stream
().
filter
(
a
->
a
.
getUsername
().
equals
(
specificUser
.
getEmployeeName
())).
findFirst
().
orElse
(
new
KxAdmin
());
if
(
kxAdmin
.
getAccount
()
==
null
)
{
throw
new
ApiException
(
specificUser
.
getEmployeeName
()
+
"该用户没有从钉钉免登请先从钉钉登入"
);
}
userVO
.
setAccountId
(
kxAdmin
.
getAccount
());
userVOS
.
add
(
userVO
);
}
vo
.
setUserVOS
(
userVOS
);
rs
.
add
(
vo
);
}
return
rs
;
}
@Override
public
void
notification
(
List
<
NotificationDTO
>
notificationDTOList
)
{
for
(
NotificationDTO
notificationDTO
:
notificationDTOList
)
{
KxAdmin
byUserName
=
kxAdminDao
.
findByUsername
(
notificationDTO
.
getUser
());
SpecificUser
byEmployeeName
=
specificUserDao
.
findByEmployeeName
(
notificationDTO
.
getUser
());
SpecificUserMessage
byUserId
=
specificUserMessageDao
.
findByUserId
(
byEmployeeName
.
getId
());
KxAdmin
currentUser
=
userUtils
.
getCurrentUser
();
if
(
byUserId
.
getEnable
()
==
1
)
{
PickUp
pickUp
=
new
PickUp
();
LocalDateTime
now
=
LocalDateTime
.
now
();
pickUp
.
setNotificationTime
(
now
);
pickUp
.
setFromUnitName
(
currentUser
.
getOrganizationName
());
pickUp
.
setFromUser
(
currentUser
.
getUsername
());
pickUp
.
setToUnitUser
(
notificationDTO
.
getUser
());
pickUp
.
setToUnitName
(
notificationDTO
.
getToUnitName
());
pickUp
.
setStatus
(
1
);
pickUp
.
setOrganizationCode
(
currentUser
.
getOrganizationCode
());
pickUpDAO
.
save
(
pickUp
);
throw
new
ApiException
(
"该用户为被启用"
);
}
SendWorkMessageDTO
sendWorkMessageDTO
=
new
SendWorkMessageDTO
();
sendWorkMessageDTO
.
setContent
(
notificationDTO
.
getContent
());
sendWorkMessageDTO
.
setReceiverIds
(
byUserName
.
getAccount
());
boolean
flag
=
zyddUserService
.
sendWorkMessage
(
sendWorkMessageDTO
);
PickUp
pickUp
=
new
PickUp
();
LocalDateTime
now
=
LocalDateTime
.
now
();
pickUp
.
setNotificationTime
(
now
);
pickUp
.
setFromUnitName
(
currentUser
.
getOrganizationName
());
pickUp
.
setFromUser
(
currentUser
.
getUsername
());
pickUp
.
setToUnitUser
(
notificationDTO
.
getUser
());
pickUp
.
setToUnitName
(
notificationDTO
.
getToUnitName
());
if
(
flag
)
{
pickUp
.
setStatus
(
0
);
}
else
{
pickUp
.
setStatus
(
1
);
}
pickUp
.
setOrganizationCode
(
currentUser
.
getOrganizationCode
());
pickUpDAO
.
save
(
pickUp
);
}
}
}
zydd-pickup/src/main/java/com/tykj/zydd/pickup/service/impl/TemplateServiceImpl.java
浏览文件 @
28d11c8d
...
...
@@ -4,11 +4,18 @@ import com.github.wenhao.jpa.PredicateBuilder;
import
com.github.wenhao.jpa.Specifications
;
import
com.tykj.zydd.pickup.dao.TemplateDAO
;
import
com.tykj.zydd.pickup.entity.Template
;
import
com.tykj.zydd.pickup.entity.dto.TemplateDTO
;
import
com.tykj.zydd.pickup.service.PickUpService
;
import
com.tykj.zydd.pickup.service.TemplateService
;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.entity.SpecificUnit
;
import
com.tykj.zydd.user.security.SecurityUser
;
import
com.tykj.zydd.user.utils.UserUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
@Service
...
...
@@ -17,19 +24,32 @@ public class TemplateServiceImpl implements TemplateService {
@Resource
private
TemplateDAO
templateDAO
;
@Resource
private
UserUtils
userUtils
;
@Override
public
List
<
Template
>
getListTemplate
(
String
organizationCode
)
{
public
List
<
Template
>
getListTemplate
()
{
KxAdmin
currentUser
=
userUtils
.
getCurrentUser
();
PredicateBuilder
<
Template
>
predicateBuilder
=
Specifications
.
and
();
predicateBuilder
.
eq
(
"organizationCode"
,
organizationCode
);
predicateBuilder
.
eq
(
"organizationCode"
,
currentUser
.
getOrganizationCode
()
);
return
templateDAO
.
findAll
(
predicateBuilder
.
build
());
}
@Override
public
void
saveTemplate
()
{
public
void
saveTemplate
(
TemplateDTO
templateDTO
)
{
if
(
templateDTO
.
getId
()!=
null
){
Template
template
=
templateDAO
.
findById
(
templateDTO
.
getId
()).
get
();
BeanUtils
.
copyProperties
(
templateDTO
,
template
,
"createTime"
);
templateDAO
.
save
(
template
);
}
else
{
Template
template
=
new
Template
();
BeanUtils
.
copyProperties
(
templateDTO
,
template
);
templateDAO
.
save
(
template
);
}
}
}
zydd-union/src/main/resources/application-local.properties
浏览文件 @
28d11c8d
server.port
=
8
080
server.port
=
8
111
spring.datasource.driver-class-name
=
com.mysql.cj.jdbc.Driver
spring.datasource.url
=
jdbc:mysql://localhost:3306/zzd?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false
spring.datasource.username
=
root
...
...
zydd-union/src/main/resources/application-prod.properties
浏览文件 @
28d11c8d
...
...
@@ -4,8 +4,10 @@ spring.datasource.url=jdbc:mysql://localhost:3306/zzd?serverTimezone=Asia/Shangh
spring.datasource.username
=
root
spring.datasource.password
=
root
app.key
=
TZSTZFS
-g8v0wtN9hHb65p18iE7bya
app.key
=
TZSTZFS
01-Vf6J5033x86tFVR3ey63
app.secret
=
hinRj2U4URX7533EJDKv0pk21ODNjfDYVxWrG36
j
app.secret
=
M8e13kbbz0N4uYCuS3E9fLR7hBM914cBSZ6TgRU
j
domainName
=
openplatform-pro.ding.zj.gov.cn
\ No newline at end of file
domainName
=
openplatform-pro.ding.zj.gov.cn
tenantId
=
196729
\ No newline at end of file
zydd-union/src/main/resources/application-test.properties
浏览文件 @
28d11c8d
...
...
@@ -16,4 +16,21 @@ app.secret=6N6UUvtbig6HgKbM1m3NgY8kmb7kuy2R4qL5889T
domainName
=
openplatform.dg-work.cn
tenantId
=
50355510
\ No newline at end of file
tenantId
=
50355510
#redis连接配置
spring.redis.host
=
122.51.246.117
spring.redis.password
=
tykj@2022
spring.redis.port
=
6379
spring.redis.database
=
15
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active
=
8
## 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.jedis.pool.max-wait
=
-1
## 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle
=
20
## 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle
=
2
## 连接超时时间(毫秒)
spring.redis.timeout
=
1800000
\ No newline at end of file
zydd-user/src/main/java/com/tykj/zydd/user/contorller/KxAdminController.java
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
user
.
contorller
;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.entity.vo.UserMessageVO
;
import
com.tykj.zydd.user.entity.vo.admin.LoginSystemVO
;
import
com.tykj.zydd.user.entity.vo.admin.RegisterVO
;
import
com.tykj.zydd.misc.aop.Timer
;
...
...
@@ -42,6 +43,14 @@ public class KxAdminController {
return
ResponseEntity
.
ok
(
kxAdminService
.
loginBySystem
(
loginSystemVO
));
}
@PostMapping
(
"/loginByUserMessageVO"
)
@ApiOperation
(
value
=
"模拟浙政钉登录接口"
)
public
UserMessageVO
loginByUserMessageVO
(
@RequestBody
LoginSystemVO
loginSystemVO
){
return
kxAdminService
.
loginByUserMessageVO
(
loginSystemVO
);
}
// @GetMapping("/login")
// @ApiOperation(value = "外部系统登录接口",notes = "外部系统登录接口")
// @Timer(desc = "外部系统登录接口")
...
...
zydd-user/src/main/java/com/tykj/zydd/user/contorller/UserController.java
浏览文件 @
28d11c8d
...
...
@@ -4,6 +4,7 @@ import com.alibaba.xxpt.gateway.shared.api.request.OapiMessageWorkNotificationRe
import
com.alibaba.xxpt.gateway.shared.api.response.*
;
import
com.alibaba.xxpt.gateway.shared.client.http.IntelligentGetClient
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.tykj.zydd.user.entity.dto.SendWorkMessageDTO
;
import
com.tykj.zydd.user.entity.vo.UserMessageVO
;
import
com.tykj.zydd.user.init.AppKeyInit
;
import
com.tykj.zydd.misc.swagger.AutoDocument
;
...
...
@@ -86,16 +87,16 @@ public class UserController {
}
@ApiOperation
(
value
=
"发送工作通知"
)
@
GetMapping
(
"/sendWorkMessage"
)
public
OapiMessageWorkNotificationResponse
sendWorkMessage
(
String
receiverIds
){
return
zyddUserService
.
sendWorkMessage
(
receiverIds
);
@
PostMapping
(
"/sendWorkMessage"
)
public
void
sendWorkMessage
(
@RequestBody
SendWorkMessageDTO
sendWorkMessageDTO
){
zyddUserService
.
sendWorkMessage
(
sendWorkMessageDTO
);
}
@ApiOperation
(
value
=
"
测试
"
)
@ApiOperation
(
value
=
"
拉取部门人员信息入库
"
)
@GetMapping
(
"/cacheUnit"
)
public
void
test
(){
zyddUserService
.
cacheUnit
();
...
...
zydd-user/src/main/java/com/tykj/zydd/user/contorller/UserDataController.java
浏览文件 @
28d11c8d
...
...
@@ -8,6 +8,8 @@ import com.tykj.zydd.user.entity.vo.UnitVO;
import
com.tykj.zydd.user.entity.vo.UserResultVO
;
import
com.tykj.zydd.user.service.UserDataService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.repository.query.Param
;
...
...
@@ -30,20 +32,33 @@ public class UserDataController {
private
UserDataService
userDataService
;
@ApiOperation
(
value
=
"获取市单位"
)
// @ApiOperation(value = "获取单位")
// @GetMapping("/getUnitList")
// public List<UnitMunicipalVO> getUnitList(){
// return userDataService.getUnitList();
// }
@ApiOperation
(
value
=
"获取单位(市级 登录信息level为0)"
)
@GetMapping
(
"/getUnitList"
)
public
List
<
UnitMunicipalVO
>
getUnitList
(
String
organizationName
){
return
userDataService
.
getUnitList
(
organizationName
);
public
List
<
UnitMunicipalVO
>
getUnitList
(){
return
userDataService
.
getUnitList
();
}
@ApiOperation
(
value
=
"获取区单位"
)
@GetMapping
(
"/getUnitVOList"
)
public
List
<
DistrictUnitVO
>
getUnitVOList
(
String
organization
Nam
e
){
return
userDataService
.
getUnitVOList
(
organization
Nam
e
);
public
List
<
DistrictUnitVO
>
getUnitVOList
(
String
organization
Cod
e
){
return
userDataService
.
getUnitVOList
(
organization
Cod
e
);
}
@ApiOperation
(
value
=
"根据单位code获取人员"
)
@GetMapping
(
"/getUserList"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"organizationCode"
,
value
=
"单位code"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"employeeName"
,
value
=
"姓名"
,
dataType
=
"String"
),
@ApiImplicitParam
(
name
=
"enable"
,
value
=
"是否可用"
,
dataType
=
"Integer"
)})
public
List
<
UserResultVO
>
getUserList
(
String
organizationCode
,
String
employeeName
,
Integer
enable
){
return
userDataService
.
getUserList
(
organizationCode
,
employeeName
,
enable
);
}
...
...
zydd-user/src/main/java/com/tykj/zydd/user/dao/KxAdminDao.java
浏览文件 @
28d11c8d
...
...
@@ -15,4 +15,6 @@ public interface KxAdminDao extends JpaRepository<KxAdmin,Integer>, JpaSpecifica
KxAdmin
findByAccount
(
String
account
);
KxAdmin
findBySystemUserId
(
String
systemUserId
);
KxAdmin
findByUsername
(
String
userName
);
}
zydd-user/src/main/java/com/tykj/zydd/user/dao/SpecificUserDao.java
浏览文件 @
28d11c8d
...
...
@@ -12,4 +12,13 @@ public interface SpecificUserDao extends JpaRepository<SpecificUser,Integer>, J
*/
SpecificUser
findFirstByEmployeeCode
(
String
employeeCode
);
/**
* 根据人员姓名查询信息
* @param employeeName
* @return
*/
SpecificUser
findByEmployeeName
(
String
employeeName
);
}
zydd-user/src/main/java/com/tykj/zydd/user/dao/SpecificUserMessageDao.java
浏览文件 @
28d11c8d
...
...
@@ -9,6 +9,8 @@ import org.springframework.data.jpa.repository.Query;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.List
;
public
interface
SpecificUserMessageDao
extends
JpaRepository
<
SpecificUserMessage
,
Integer
>,
JpaSpecificationExecutor
<
SpecificUserMessage
>
{
/**
...
...
@@ -23,4 +25,15 @@ public interface SpecificUserMessageDao extends JpaRepository<SpecificUserMessag
@Query
(
"update SpecificUserMessage s set s.enable = :enable where s.userId = :id"
)
@Transactional
void
updateEnable
(
@Param
(
"id"
)
int
id
,
@Param
(
"enable"
)
int
enable
);
/**
* 根据单位code查询可用人员
*/
List
<
SpecificUserMessage
>
findAllByOrganizationCodeAndEnable
(
String
organizationCode
,
Integer
enable
);
/**
* 根据关联字段查询信息
*/
SpecificUserMessage
findByUserId
(
Integer
userId
);
}
zydd-user/src/main/java/com/tykj/zydd/user/entity/KxAdmin.java
浏览文件 @
28d11c8d
...
...
@@ -59,4 +59,12 @@ public class KxAdmin extends BaseEntity {
@Convert
(
converter
=
Sm4AttributeConverter
.
class
)
private
String
username
;
@ApiModelProperty
(
"所属单位"
)
private
String
organizationCode
;
@ApiModelProperty
(
"单位名称"
)
private
String
organizationName
;
@ApiModelProperty
(
"是否是市级账号 0代表是 1代表不是"
)
private
Integer
level
;
}
zydd-user/src/main/java/com/tykj/zydd/user/entity/dto/SendWorkMessageDTO.java
0 → 100644
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
user
.
entity
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
SendWorkMessageDTO
{
@ApiModelProperty
(
"钉钉用户id"
)
private
String
receiverIds
;
@ApiModelProperty
(
"输入内容"
)
private
String
content
;
}
zydd-user/src/main/java/com/tykj/zydd/user/entity/vo/UserMessageVO.java
浏览文件 @
28d11c8d
...
...
@@ -47,6 +47,12 @@ public class UserMessageVO {
@ApiModelProperty
(
"租户id"
)
private
Integer
realmId
;
@ApiModelProperty
(
"
部门
编码"
)
@ApiModelProperty
(
"
单位
编码"
)
private
String
organizationCode
;
@ApiModelProperty
(
"单位名称"
)
private
String
organizationName
;
@ApiModelProperty
(
"是否是市级账号 0代表是 1代表不是"
)
private
Integer
level
;
}
zydd-user/src/main/java/com/tykj/zydd/user/security/MyUserDetailsServiceImpl.java
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
user
.
security
;
import
com.tykj.zydd.misc.exception.ApiException
;
import
com.tykj.zydd.user.dao.KxAdminDao
;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.entity.dto.UserInfo
;
...
...
@@ -31,20 +32,19 @@ public class MyUserDetailsServiceImpl implements UserDetailsService {
String
[]
split
=
username
.
split
(
"Ǵ"
);
// 获取ID
String
userId
=
split
[
1
];
UserInfo
userInfo
=
new
UserInfo
();
//
UserInfo userInfo = new UserInfo();
if
(
"0"
.
equals
(
split
[
0
])){
//说明是管理员登录
KxAdmin
kxAdmin
=
kxAdminDao
.
findByAccount
(
userId
);
if
(
kxAdmin
==
null
){
throw
new
UsernameNotFound
Exception
(
"用户不存在"
);
KxAdmin
kxAdmin
=
kxAdminDao
.
findByAccount
(
userId
);
if
(
kxAdmin
==
null
)
{
throw
new
Api
Exception
(
"用户不存在"
);
}
BeanUtils
.
copyProperties
(
kxAdmin
,
userInfo
);
securityUser
.
setCurrentUserInfo
(
userInfo
);
securityUser
.
setKxAdmin
(
kxAdmin
);
securityUser
.
setUsername
(
kxAdmin
.
getUsername
());
securityUser
.
setAccount
(
kxAdmin
.
getAccount
(
));
securityUser
.
setPassword
(
kxAdmin
.
getPassword
());
SecurityContextHolder
.
getContext
().
setAuthentication
(
new
UsernamePasswordAuthenticationToken
(
securityUser
,
securityUser
.
get
CurrentUserInfo
().
getPassword
(),
securityUser
.
getAuthorities
()));
securityUser
.
get
KxAdmin
().
getPassword
(),
securityUser
.
getAuthorities
()));
return
securityUser
;
}
else
{
//说明是普通用户登录
...
...
zydd-user/src/main/java/com/tykj/zydd/user/security/SecurityConfig.java
浏览文件 @
28d11c8d
...
...
@@ -55,7 +55,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.
sessionCreationPolicy
(
SessionCreationPolicy
.
STATELESS
)
.
and
()
.
authorizeRequests
().
antMatchers
(
HttpMethod
.
OPTIONS
,
"/**"
).
permitAll
()
.
antMatchers
(
"/admin/register"
,
"/admin/loginSystem"
).
permitAll
()
.
antMatchers
(
"/admin/register"
,
"/admin/loginSystem"
,
"/admin/loginByUserMessageVO"
).
permitAll
()
//grace/app
.
antMatchers
(
"/grace/app/**"
,
"/activity/app/**"
,
"/record/app/**"
,
"/science/ip/**"
,
"/admin/login"
,
"/user/getUserMessage"
,
"/user/getAccessToken"
).
permitAll
()
...
...
zydd-user/src/main/java/com/tykj/zydd/user/security/SecurityUser.java
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
user
.
security
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.entity.KxPermissions
;
import
com.tykj.zydd.user.entity.KxRole
;
import
com.tykj.zydd.user.entity.KxUnit
;
...
...
@@ -24,12 +25,6 @@ public class SecurityUser implements UserDetails {
private
String
token
;
private
List
<
KxRole
>
kxRoleList
;
private
List
<
KxPermissions
>
permissions
;
private
List
<
KxUnit
>
kxUnits
;
private
String
username
;
private
String
account
;
...
...
@@ -37,15 +32,12 @@ public class SecurityUser implements UserDetails {
@Transient
private
String
password
;
private
UserInfo
currentUserInfo
;
private
KxAdmin
kxAdmin
;
public
SecurityUser
()
{
}
public
SecurityUser
(
UserInfo
currentUserInfo
)
{
this
.
currentUserInfo
=
currentUserInfo
;
}
...
...
zydd-user/src/main/java/com/tykj/zydd/user/service/KxAdminService.java
浏览文件 @
28d11c8d
...
...
@@ -2,6 +2,7 @@ package com.tykj.zydd.user.service;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.entity.vo.UserMessageVO
;
import
com.tykj.zydd.user.entity.vo.admin.LoginSystemVO
;
import
com.tykj.zydd.user.entity.vo.admin.RegisterVO
;
import
com.tykj.zydd.user.security.SecurityUser
;
...
...
@@ -26,6 +27,11 @@ public interface KxAdminService {
*/
KxAdmin
registeredBySystem
(
RegisterVO
registerVO
);
/**
* 模拟登陆
*/
UserMessageVO
loginByUserMessageVO
(
LoginSystemVO
loginSystemVO
);
// /**
// * 从外部系统登录咖啡馆
// * @param code
...
...
zydd-user/src/main/java/com/tykj/zydd/user/service/UserDataService.java
浏览文件 @
28d11c8d
...
...
@@ -8,15 +8,15 @@ import com.tykj.zydd.user.entity.vo.UserResultVO;
import
java.util.List
;
public
interface
UserDataService
{
/**
* 获取市级单位列表
*/
List
<
UnitMunicipalVO
>
getUnitList
(
String
organizationName
);
//
/**
//
* 获取市级单位列表
//
*/
// List<UnitMunicipalVO> getUnitList(
);
/**
* 获取区级单位列表
*/
List
<
DistrictUnitVO
>
getUnitVOList
(
String
organization
Nam
e
);
List
<
DistrictUnitVO
>
getUnitVOList
(
String
organization
Cod
e
);
/**
* 根据单位code查询员工
...
...
@@ -32,4 +32,10 @@ public interface UserDataService {
* 获取所有单位的信息
*/
List
<
SpecificUnit
>
getAllUnit
();
/**
* 获取市级单位列表
*/
List
<
UnitMunicipalVO
>
getUnitList
();
}
zydd-user/src/main/java/com/tykj/zydd/user/service/ZyddUserService.java
浏览文件 @
28d11c8d
...
...
@@ -3,6 +3,7 @@ package com.tykj.zydd.user.service;
import
com.alibaba.xxpt.gateway.shared.api.response.*
;
import
com.alibaba.xxpt.gateway.shared.client.http.IntelligentGetClient
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.tykj.zydd.user.entity.dto.SendWorkMessageDTO
;
import
com.tykj.zydd.user.entity.vo.UserMessageVO
;
import
java.util.List
;
...
...
@@ -50,7 +51,7 @@ public interface ZyddUserService {
/**
* 发送工作通知
*/
OapiMessageWorkNotificationResponse
sendWorkMessage
(
String
receiverIds
);
boolean
sendWorkMessage
(
SendWorkMessageDTO
sendWorkMessageDTO
);
/**
* 更新单位
...
...
zydd-user/src/main/java/com/tykj/zydd/user/service/impl/KxAdminServiceImpl.java
浏览文件 @
28d11c8d
...
...
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.tykj.zydd.user.dao.KxAdminDao
;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.entity.dto.SystemUserVO
;
import
com.tykj.zydd.user.entity.vo.UserMessageVO
;
import
com.tykj.zydd.user.entity.vo.admin.LoginSystemVO
;
import
com.tykj.zydd.user.entity.vo.admin.RegisterVO
;
import
com.tykj.zydd.user.jwt.JwtTokenProvider
;
...
...
@@ -59,15 +60,16 @@ public class KxAdminServiceImpl implements KxAdminService {
String
account
=
loginSystemVO
.
getAccount
();
String
password
=
loginSystemVO
.
getPassword
();
KxAdmin
kxAdmin
=
kxAdminDao
.
findByAccount
(
account
);
SecurityUser
userDetails
=
(
SecurityUser
)
myUserDetailsServiceImpl
.
loadUserByUsername
(
"0"
+
"Ǵ"
+
kxAdmin
.
get
Id
());
SecurityUser
userDetails
=
(
SecurityUser
)
myUserDetailsServiceImpl
.
loadUserByUsername
(
"0"
+
"Ǵ"
+
kxAdmin
.
get
Account
());
// 验证密码
boolean
verify
=
Sm3Util
.
verify
(
password
+
kxAdmin
.
getSalt
(),
userDetails
.
getPassword
());
if
(!
verify
)
{
throw
new
ApiException
(
"密码错误"
);
}
//生成token
String
token
=
jwtTokenProvider
.
createToken
(
kxAdmin
.
get
Id
()+
""
,
"0"
);
String
token
=
jwtTokenProvider
.
createToken
(
kxAdmin
.
get
Account
()+
""
,
"0"
);
userDetails
.
setToken
(
token
);
userDetails
.
setKxAdmin
(
kxAdmin
);
stringRedisTemplate
.
opsForValue
().
set
(
RedisKeyConstants
.
TOKEN
+
token
,
JSON
.
toJSONString
(
userDetails
));
stringRedisTemplate
.
expire
(
RedisKeyConstants
.
TOKEN
+
token
,
RedisTimeConstants
.
TOKEN_TIME
,
TimeUnit
.
MINUTES
);
return
userDetails
;
...
...
@@ -92,6 +94,33 @@ public class KxAdminServiceImpl implements KxAdminService {
return
kxAdminDao
.
save
(
kxAdmin
);
}
@Override
public
UserMessageVO
loginByUserMessageVO
(
LoginSystemVO
loginSystemVO
)
{
UserMessageVO
vo
=
new
UserMessageVO
();
String
account
=
loginSystemVO
.
getAccount
();
String
password
=
loginSystemVO
.
getPassword
();
KxAdmin
kxAdmin
=
kxAdminDao
.
findByAccount
(
account
);
vo
.
setAccountId
(
Integer
.
valueOf
(
kxAdmin
.
getAccount
()));
vo
.
setLastName
(
kxAdmin
.
getUsername
());
vo
.
setOrganizationName
(
kxAdmin
.
getOrganizationName
());
vo
.
setOrganizationCode
(
kxAdmin
.
getOrganizationCode
());
vo
.
setLevel
(
kxAdmin
.
getLevel
());
SecurityUser
userDetails
=
(
SecurityUser
)
myUserDetailsServiceImpl
.
loadUserByUsername
(
"0"
+
"Ǵ"
+
kxAdmin
.
getAccount
());
// 验证密码
boolean
verify
=
Sm3Util
.
verify
(
password
+
kxAdmin
.
getSalt
(),
userDetails
.
getPassword
());
if
(!
verify
)
{
throw
new
ApiException
(
"密码错误"
);
}
//生成token
String
token
=
jwtTokenProvider
.
createToken
(
kxAdmin
.
getAccount
()+
""
,
"0"
);
vo
.
setToken
(
token
);
userDetails
.
setToken
(
token
);
userDetails
.
setKxAdmin
(
kxAdmin
);
stringRedisTemplate
.
opsForValue
().
set
(
RedisKeyConstants
.
TOKEN
+
token
,
JSON
.
toJSONString
(
userDetails
));
stringRedisTemplate
.
expire
(
RedisKeyConstants
.
TOKEN
+
token
,
RedisTimeConstants
.
TOKEN_TIME
,
TimeUnit
.
MINUTES
);
return
vo
;
}
// @Override
// @Transactional(rollbackFor = Exception.class)
// public SecurityUser login(String code) {
...
...
zydd-user/src/main/java/com/tykj/zydd/user/service/impl/UserDataServiceImpl.java
浏览文件 @
28d11c8d
...
...
@@ -4,6 +4,7 @@ import com.tykj.zydd.misc.util.BeanCopyUtil;
import
com.tykj.zydd.user.dao.SpecificUnitDao
;
import
com.tykj.zydd.user.dao.SpecificUserDao
;
import
com.tykj.zydd.user.dao.SpecificUserMessageDao
;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.entity.SpecificUnit
;
import
com.tykj.zydd.user.entity.SpecificUser
;
import
com.tykj.zydd.user.entity.SpecificUserMessage
;
...
...
@@ -11,6 +12,7 @@ import com.tykj.zydd.user.entity.vo.*;
import
com.tykj.zydd.user.enums.AreaEnum
;
import
com.tykj.zydd.user.service.KxAdminService
;
import
com.tykj.zydd.user.service.UserDataService
;
import
com.tykj.zydd.user.utils.UserUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.context.annotation.Bean
;
...
...
@@ -23,6 +25,7 @@ import java.util.Map;
import
java.util.Objects
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
@Service
public
class
UserDataServiceImpl
implements
UserDataService
{
...
...
@@ -36,16 +39,17 @@ public class UserDataServiceImpl implements UserDataService {
@Resource
private
SpecificUserMessageDao
specificUserMessageDao
;
@Resource
private
UserUtils
userUtils
;
@Override
public
List
<
UnitMunicipalVO
>
getUnitList
(
String
organizationName
)
{
public
List
<
UnitMunicipalVO
>
getUnitList
()
{
List
<
SpecificUnit
>
allByLevel
;
if
(
StringUtils
.
isEmpty
(
organizationName
))
{
//
if (StringUtils.isEmpty(organizationName)) {
allByLevel
=
specificUnitDao
.
findAllByLevel
(
1
);
}
else
{
allByLevel
=
specificUnitDao
.
findFirstByOrganizationNameAndLevel
(
organizationName
,
1
);
}
//
} else {
//
allByLevel = specificUnitDao.findFirstByOrganizationNameAndLevel(organizationName, 1);
//
}
List
<
UnitMunicipalVO
>
rs
=
new
ArrayList
<>();
allByLevel
.
forEach
(
item
->{
UnitMunicipalVO
vo
=
new
UnitMunicipalVO
();
...
...
@@ -55,16 +59,31 @@ public class UserDataServiceImpl implements UserDataService {
return
rs
;
}
// @Override
// public List<UnitMunicipalVO> getUnitList() {
// KxAdmin currentUser = userUtils.getCurrentUser();
// List<SpecificUnit> all = specificUnitDao.findAll();
// Stream<SpecificUnit> specificUnitStream = all.stream().filter(a -> a.getOrganizationCode().equals(currentUser.getOrganizationCode()) || a.getParentCode().equals(currentUser.getOrganizationCode()));
// List<UnitMunicipalVO> rs=new ArrayList<>();
// specificUnitStream.forEach(item->{
// UnitMunicipalVO vo=new UnitMunicipalVO();
// BeanUtils.copyProperties(item,vo);
// rs.add(vo);
// });
// return rs;
// }
@Override
public
List
<
DistrictUnitVO
>
getUnitVOList
(
String
organizationName
)
{
List
<
SpecificUnit
>
allByLevel
;
if
(
StringUtils
.
isEmpty
(
organizationName
))
{
allByLevel
=
specificUnitDao
.
findAllByLevel
(
2
);
}
else
{
allByLevel
=
specificUnitDao
.
findFirstByOrganizationNameAndLevel
(
organizationName
,
2
);
public
List
<
DistrictUnitVO
>
getUnitVOList
(
String
organizationCode
)
{
List
<
SpecificUnit
>
allByLevel
=
specificUnitDao
.
findAllByLevel
(
2
);
List
<
SpecificUnit
>
specificUnits
;
if
(
organizationCode
!=
null
){
specificUnits
=
allByLevel
.
stream
().
filter
(
a
->
a
.
getOrganizationCode
().
equals
(
organizationCode
)
||
a
.
getParentCode
().
equals
(
organizationCode
)).
collect
(
Collectors
.
toList
());
}
else
{
specificUnits
=
new
ArrayList
<>(
allByLevel
);
}
List
<
DistrictUnitVO
>
rs
=
new
ArrayList
<>();
Map
<
String
,
List
<
SpecificUnit
>>
groupedUnits
=
allByLevel
.
stream
()
Map
<
String
,
List
<
SpecificUnit
>>
groupedUnits
=
specificUnits
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
SpecificUnit:
:
getDivisionCode
));
for
(
Map
.
Entry
<
String
,
List
<
SpecificUnit
>>
entry
:
groupedUnits
.
entrySet
())
{
String
divisionCode
=
entry
.
getKey
().
substring
(
0
,
6
);
...
...
zydd-user/src/main/java/com/tykj/zydd/user/service/impl/ZyddUserServiceImpl.java
浏览文件 @
28d11c8d
...
...
@@ -21,6 +21,7 @@ import com.tykj.zydd.user.dao.SpecificUnitDao;
import
com.tykj.zydd.user.dao.SpecificUserDao
;
import
com.tykj.zydd.user.dao.SpecificUserMessageDao
;
import
com.tykj.zydd.user.entity.*
;
import
com.tykj.zydd.user.entity.dto.SendWorkMessageDTO
;
import
com.tykj.zydd.user.entity.dto.SpecificUnitDTO
;
import
com.tykj.zydd.user.entity.vo.SpecificUserVO
;
import
com.tykj.zydd.user.entity.vo.UserMessageVO
;
...
...
@@ -31,6 +32,7 @@ import com.tykj.zydd.user.jwt.JwtTokenProvider;
import
com.tykj.zydd.user.service.KxAdminService
;
import
com.tykj.zydd.user.service.ZyddUserService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.hibernate.sql.Select
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
...
...
@@ -107,19 +109,29 @@ public class ZyddUserServiceImpl implements ZyddUserService {
Object
data
=
contentObj
.
get
(
"data"
);
UserMessageVO
userMessageVO
=
JSON
.
parseObject
(
data
+
""
,
UserMessageVO
.
class
);
KxAdmin
byAccount
=
kxAdminDao
.
findByAccount
(
userMessageVO
.
getAccountId
()
+
""
);
//获取用户所属单位
String
userUnitCode
=
getUserUnitCode
(
userMessageVO
.
getEmployeeCode
());
userMessageVO
.
setOrganizationCode
(
userUnitCode
);
String
lastName
=
userMessageVO
.
getLastName
();
SpecificUnit
organizationName
=
specificUnitDao
.
findFirstByOrganizationCode
(
userUnitCode
);
userMessageVO
.
setOrganizationName
(
organizationName
.
getOrganizationName
());
String
intelligent
=
getIntelligent
();
if
(
userUnitCode
.
equals
(
intelligent
)){
userMessageVO
.
setLevel
(
0
);
}
else
{
userMessageVO
.
setLevel
(
1
);
}
if
(
byAccount
==
null
){
registeredBySystem
(
userMessageVO
.
getAccountId
()+
""
);
registeredBySystem
(
userMessageVO
.
getAccountId
()+
""
,
userUnitCode
,
lastName
,
organizationName
.
getOrganizationName
(),
userMessageVO
.
getLevel
()
);
}
String
token
=
jwtTokenProvider
.
createToken
(
userMessageVO
.
getAccountId
()+
""
,
"0"
);
stringRedisTemplate
.
opsForValue
().
set
(
RedisKeyConstants
.
TOKEN
+
token
,
JSON
.
toJSONString
(
userMessageVO
));
stringRedisTemplate
.
expire
(
RedisKeyConstants
.
TOKEN
+
token
,
RedisTimeConstants
.
TOKEN_TIME
,
TimeUnit
.
MINUTES
);
userMessageVO
.
setToken
(
token
);
userMessageVO
.
setOrganizationCode
(
getUserUnitCode
(
userMessageVO
.
getEmployeeCode
()));
return
userMessageVO
;
}
//一人一个单位
public
String
getUserUnitCode
(
String
employeeCode
){
String
intelligent
=
getIntelligent
();
OapiMoziOrganizationPageOrganizationEmployeePositionsResponse
specificUser
=
getUser
(
intelligent
);
...
...
@@ -136,12 +148,15 @@ public class ZyddUserServiceImpl implements ZyddUserService {
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
KxAdmin
registeredBySystem
(
String
accountId
)
{
public
KxAdmin
registeredBySystem
(
String
accountId
,
String
organizationCode
,
String
lastName
,
String
organizationName
,
Integer
level
)
{
String
account
=
accountId
;
String
password
=
"123456"
;
KxAdmin
kxAdmin
=
new
KxAdmin
();
kxAdmin
.
setAccount
(
account
);
kxAdmin
.
setPassword
(
password
);
kxAdmin
.
setUsername
(
lastName
);
kxAdmin
.
setLevel
(
level
);
kxAdmin
.
setOrganizationName
(
organizationName
);
KxAdmin
byAccount
=
kxAdminDao
.
findByAccount
(
account
);
if
(
byAccount
!=
null
){
throw
new
ApiException
(
"账号已存在"
);
...
...
@@ -150,6 +165,7 @@ public class ZyddUserServiceImpl implements ZyddUserService {
kxAdmin
.
setSalt
(
salt
);
kxAdmin
.
setPassword
(
Sm3Util
.
encrypt
(
password
+
salt
));
kxAdmin
.
setOrigin
(
"0"
);
kxAdmin
.
setOrganizationCode
(
organizationCode
);
return
kxAdminDao
.
save
(
kxAdmin
);
}
...
...
@@ -237,7 +253,7 @@ public class ZyddUserServiceImpl implements ZyddUserService {
BeanUtils
.
copyProperties
(
specificUnitDTO
,
specificUnit
);
if
(
specificUnit
.
getDivisionCode
()!=
null
){
String
divisionCode
=
specificUnit
.
getDivisionCode
().
substring
(
0
,
6
);
specificUnit
.
setLevel
(
divisionCode
.
equals
(
AreaEnum
.
TZS_AREA
.
getCode
())
?
1
:
2
);
specificUnit
.
setLevel
(
divisionCode
.
equals
(
AreaEnum
.
CS_HZ
.
getCode
())
?
1
:
2
);
}
rs
.
add
(
specificUnit
);
}
...
...
@@ -324,19 +340,19 @@ public class ZyddUserServiceImpl implements ZyddUserService {
}
return
apiResult
;
}
@Value
(
"${url}"
)
private
String
url
;
@Override
public
OapiMessageWorkNotificationResponse
sendWorkMessage
(
String
receiverIds
)
{
public
boolean
sendWorkMessage
(
SendWorkMessageDTO
sendWorkMessageDTO
)
{
//executableClient保证单例
IntelligentGetClient
intelligentGetClient
=
appKeyInit
.
getExecutableClient
().
newIntelligentGetClient
(
"/message/workNotification"
);
OapiMessageWorkNotificationRequest
oapiMessageWorkNotificationRequest
=
new
OapiMessageWorkNotificationRequest
();
//接收者的部门id列表
oapiMessageWorkNotificationRequest
.
setOrganizationCodes
(
""
);
//接收人用户ID
oapiMessageWorkNotificationRequest
.
setReceiverIds
(
receiverIds
);
oapiMessageWorkNotificationRequest
.
setReceiverIds
(
sendWorkMessageDTO
.
getReceiverIds
()
);
//租户ID
oapiMessageWorkNotificationRequest
.
setTenantId
(
"50355510
"
);
oapiMessageWorkNotificationRequest
.
setTenantId
(
tenantId
+
"
"
);
//业务消息id
Random
random
=
new
Random
();
oapiMessageWorkNotificationRequest
.
setBizMsgId
(
random
.
nextInt
()+
""
);
...
...
@@ -345,11 +361,10 @@ public class ZyddUserServiceImpl implements ZyddUserService {
" \"msgtype\": \"action_card\",\n"
+
" \"action_card\": {\n"
+
" \"title\": \"工作通知发送\",\n"
+
" \"markdown\": \"
测试内容 你好
\",\n"
+
" \"markdown\": \"
"
+
sendWorkMessageDTO
.
getContent
()
+
"
\",\n"
+
" \"btn_orientation\": \"1\",\n"
+
" \"btn_json_list\": [\n"
+
" {\n"
+
// " \"title\": \"\",\n" +
" \"action_url\": \" \"\n"
+
" }\n"
+
" ]\n"
+
...
...
@@ -361,8 +376,9 @@ public class ZyddUserServiceImpl implements ZyddUserService {
OapiMessageWorkNotificationResponse
apiResult
=
intelligentGetClient
.
get
(
oapiMessageWorkNotificationRequest
);
if
(!
apiResult
.
getSuccess
()){
log
.
error
(
"获取信息为:"
+
JSONObject
.
toJSONString
(
apiResult
));
return
false
;
}
return
apiResult
;
return
true
;
}
@Override
...
...
zydd-user/src/main/java/com/tykj/zydd/user/utils/UserIDAuditorBean.java
0 → 100644
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
user
.
utils
;
import
com.tykj.zydd.misc.util.SpringUtils
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.domain.AuditorAware
;
import
java.util.Optional
;
@Configuration
public
class
UserIDAuditorBean
implements
AuditorAware
<
Integer
>
{
/**
* 自动填充id
* @return
*/
@Override
public
Optional
<
Integer
>
getCurrentAuditor
()
{
//获取当前用户Id并返回
UserUtils
userUtils
=
SpringUtils
.
getBean
(
"userUtils"
);
Integer
userId
=
null
;
if
(
userUtils
!=
null
)
{
userId
=
userUtils
.
getCurrentUserId
();
}
if
(
userId
!=
null
)
{
return
Optional
.
of
(
userId
);
}
else
{
return
Optional
.
empty
();
}
}
}
zydd-user/src/main/java/com/tykj/zydd/user/utils/UserUtils.java
0 → 100644
浏览文件 @
28d11c8d
package
com
.
tykj
.
zydd
.
user
.
utils
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.tykj.zydd.user.entity.KxAdmin
;
import
com.tykj.zydd.user.security.SecurityUser
;
import
org.springframework.security.core.Authentication
;
import
org.springframework.security.core.context.SecurityContextHolder
;
import
org.springframework.security.core.userdetails.UsernameNotFoundException
;
import
org.springframework.stereotype.Component
;
@Component
public
class
UserUtils
{
public
static
String
ANONYMOUS_USER_STRING
=
"anonymousUser"
;
public
SecurityUser
getAuthentication
(){
Authentication
authentication
=
SecurityContextHolder
.
getContext
().
getAuthentication
();
if
(
authentication
!=
null
)
{
Object
userObject
=
authentication
.
getPrincipal
();
if
(
ANONYMOUS_USER_STRING
.
equals
(
userObject
))
{
return
null
;
}
if
(
userObject
instanceof
SecurityUser
)
{
return
(
SecurityUser
)
userObject
;
}
else
{
return
null
;
}
}
else
{
return
null
;
}
}
public
Integer
getCurrentUserId
()
{
SecurityUser
authentication
=
getAuthentication
();
if
(
authentication
!=
null
)
{
return
authentication
.
getKxAdmin
().
getId
();
}
else
{
return
null
;
}
}
public
KxAdmin
getCurrentUser
()
{
SecurityUser
authentication
=
getAuthentication
();
if
(
authentication
!=
null
)
{
return
authentication
.
getKxAdmin
();
}
else
{
throw
new
UsernameNotFoundException
(
"当前无用户信息"
);
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论