Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
1139fb66
提交
1139fb66
authored
2月 12, 2025
作者:
李秋林
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
获取阿里云sts_token,职能角色上传计划
上级
6925b5c2
全部展开
显示空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
116 行增加
和
33 行删除
+116
-33
pom.xml
pom.xml
+7
-0
PromPlanCoreController.java
...ion/controller/activityplanv2/PromPlanCoreController.java
+51
-29
AliyunGetToken.java
...m/wangxiaolu/promotion/controller/yun/AliyunGetToken.java
+12
-1
ManageEmployeeInfoDao.java
.../promotion/domain/activity/dao/ManageEmployeeInfoDao.java
+2
-0
ManageEmployeeInfoInfoDaoImpl.java
...main/activity/dao/impl/ManageEmployeeInfoInfoDaoImpl.java
+5
-0
ManageEmployeeInfoMapper.java
...tion/domain/activity/mapper/ManageEmployeeInfoMapper.java
+1
-0
PromPlanCoreService.java
...promotion/service/activityplanv2/PromPlanCoreService.java
+1
-0
PromPlanCoreServiceImpl.java
.../service/activityplanv2/impl/PromPlanCoreServiceImpl.java
+0
-0
ManageEmployeeQueryService.java
...lu/promotion/service/user/ManageEmployeeQueryService.java
+2
-0
ManageEmployeeQueryServiceImpl.java
...ion/service/user/impl/ManageEmployeeQueryServiceImpl.java
+5
-0
AliyunUtils.java
...main/java/com/wangxiaolu/promotion/utils/AliyunUtils.java
+23
-3
ManageEmployeeInfoMapper.xml
src/main/resources/mapper/ManageEmployeeInfoMapper.xml
+7
-0
没有找到文件。
pom.xml
浏览文件 @
1139fb66
...
...
@@ -245,6 +245,13 @@
<artifactId>
aliyun-sdk-oss
</artifactId>
<version>
${aliyun.oss.version}
</version>
</dependency>
<dependency>
<groupId>
com.aliyun
</groupId>
<artifactId>
sts20150401
</artifactId>
<version>
${aliyun.sts.version}
</version>
</dependency>
</dependencies>
<build>
...
...
src/main/java/com/wangxiaolu/promotion/controller/activityplanv2/PromPlanCoreController.java
浏览文件 @
1139fb66
...
...
@@ -30,7 +30,7 @@ public class PromPlanCoreController {
/**
* 城市经理 - 上传计划
* 城市经理 - 上传计划
(新增)
* 当月只能上传次月的新增(当月需要新增需要交由职能角色上传)
*/
@PostMapping
(
"/self/upload"
)
...
...
@@ -61,40 +61,62 @@ public class PromPlanCoreController {
}
}
@GetMapping
(
"/self/upload/{uuid}"
)
public
R
selfPlanAf
(
@PathVariable
(
"uuid"
)
String
planUuid
){
promPlanCoreService
.
selfPlanAf
(
planUuid
);
return
R
.
success
();
/**
* todo 城市经理修改
*/
/**
* todo 职能角色修改
*/
/**
* 职能角色 - 上传计划(新增)
*/
@PostMapping
(
"/auth/upload"
)
public
R
authPlan
(
@RequestBody
ActivityPlanVo
activityPlanVo
)
{
// 判断当前账号是否是城市经理
boolean
isAuth
=
manageEmployeeQueryService
.
isAuth
(
activityPlanVo
.
getEmployeeId
());
if
(!
isAuth
)
{
throw
new
DataException
(
RCode
.
EMP_PRIVILEGE_ERROR
);
}
try
{
String
[]
urlArr
=
activityPlanVo
.
getExcelUrl
().
split
(
"weda-uploader/"
);
String
fileId
=
urlArr
[
urlArr
.
length
-
1
];
if
(
fileId
.
length
()
>
53
)
{
throw
new
DataException
(
RCode
.
ACTIVITY_PLAN_FILENAME_LONG
);
}
String
filePath
=
"/home/"
+
fileId
;
FileUtils
.
downloadExcel
(
activityPlanVo
.
getExcelUrl
(),
filePath
);
// todo String filePath = "/Users/a02200059/Desktop/职能角色-新增-1.xlsx";
activityPlanVo
.
setExcelId
(
fileId
);
Map
<
String
,
Object
>
map
=
promPlanCoreService
.
authPlanUp
(
activityPlanVo
,
filePath
);
return
R
.
success
(
map
);
}
catch
(
DataException
e
)
{
return
new
R
(
e
.
getCode
(),
e
.
getMsg
(),
null
);
}
catch
(
Exception
e
)
{
return
R
.
fail
();
}
}
/**
*
职能角色 - 上传计划
*
确认上传(根据任一UUID)
*/
@GetMapping
(
"/auth/upload"
)
public
void
authPlan
(
@RequestBody
ActivityPlanVo
activityPlanVo
)
{
// 判断当前账号是否是城市经理
// boolean isSelf = manageEmployeeQueryService.isOneSelf(activityPlanVo.getEmployeeId());
// if (!isSelf) {
// throw new DataException(RCode.EMP_PRIVILEGE_ERROR);
// }
//
// try {
// String[] urlArr = activityPlanVo.getExcelUrl().split("weda-uploader/");
// String fileId = urlArr[urlArr.length - 1];
// if (fileId.length() > 53) {
// throw new DataException(RCode.ACTIVITY_PLAN_FILENAME_LONG);
// }
//
// String filePath = "/home/" + fileId;
// FileUtils.downloadExcel(activityPlanVo.getExcelUrl(), filePath);
// String filePath = "/Users/a02200059/Desktop/测试新增v3 2.xlsx";
// activityPlanVo.setExcelId(fileId);
// Map<String, Object> map = promPlanCoreService.selfPlanUp(activityPlanVo, filePath);
// return R.success(map);
// } catch (DataException e) {
// return new R(e.getCode(), e.getMsg(), null);
@GetMapping
(
"/upload/{uuid}"
)
public
R
selfPlanAf
(
@PathVariable
(
"uuid"
)
String
planUuid
){
promPlanCoreService
.
selfPlanAf
(
planUuid
);
return
R
.
success
();
}
/**
* 删除计划 计划日期大于今日可直接删除,如果计划日期是今日则必需是10点之前,包含过去日期不可删除
*/
...
...
src/main/java/com/wangxiaolu/promotion/controller/yun/AliyunGetToken.java
浏览文件 @
1139fb66
package
com
.
wangxiaolu
.
promotion
.
controller
.
yun
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.wangxiaolu.promotion.result.basedata.R
;
import
com.wangxiaolu.promotion.utils.AliyunUtils
;
...
...
@@ -10,6 +9,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
/**
* @author : liqiulin
* @date : 2025-02-06 13
...
...
@@ -31,4 +32,14 @@ public class AliyunGetToken {
return
R
.
fail
();
}
}
@GetMapping
(
"/sts_token"
)
public
R
getStsToken
()
{
try
{
String
stsToken
=
aliyunUtils
.
getStsToken
();
return
R
.
success
(
stsToken
);
}
catch
(
Exception
e
)
{
return
R
.
fail
(
e
.
getMessage
());
}
}
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/ManageEmployeeInfoDao.java
浏览文件 @
1139fb66
...
...
@@ -26,4 +26,6 @@ public interface ManageEmployeeInfoDao {
void
updateAccount
(
String
employeeNo
,
Integer
privilegeId
,
String
status
);
boolean
isOneSelf
(
Integer
employeeId
);
boolean
isAuth
(
Integer
employeeId
);
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/ManageEmployeeInfoInfoDaoImpl.java
浏览文件 @
1139fb66
...
...
@@ -92,6 +92,11 @@ public class ManageEmployeeInfoInfoDaoImpl implements ManageEmployeeInfoDao {
return
manageEmployeeInfoMapper
.
isOneSelf
(
employeeId
);
}
@Override
public
boolean
isAuth
(
Integer
employeeId
)
{
return
manageEmployeeInfoMapper
.
isAuth
(
employeeId
);
}
/**
* 增加权限
*/
...
...
src/main/java/com/wangxiaolu/promotion/domain/activity/mapper/ManageEmployeeInfoMapper.java
浏览文件 @
1139fb66
...
...
@@ -29,6 +29,7 @@ public interface ManageEmployeeInfoMapper extends BaseMapper<ManageEmployeeInfoD
void
updatePrivilege
(
@Param
(
"employeeNo"
)
String
employeeNo
,
@Param
(
"privilegeId"
)
Integer
privilegeId
);
boolean
isOneSelf
(
Integer
employeeId
);
boolean
isAuth
(
Integer
employeeId
);
}
...
...
src/main/java/com/wangxiaolu/promotion/service/activityplanv2/PromPlanCoreService.java
浏览文件 @
1139fb66
...
...
@@ -18,4 +18,5 @@ public interface PromPlanCoreService {
void
deletePlan
(
List
<
Long
>
planIds
);
Map
<
String
,
Object
>
authPlanUp
(
ActivityPlanVo
activityPlanVo
,
String
filePath
);
}
src/main/java/com/wangxiaolu/promotion/service/activityplanv2/impl/PromPlanCoreServiceImpl.java
浏览文件 @
1139fb66
差异被折叠。
点击展开。
src/main/java/com/wangxiaolu/promotion/service/user/ManageEmployeeQueryService.java
浏览文件 @
1139fb66
...
...
@@ -23,4 +23,6 @@ public interface ManageEmployeeQueryService {
boolean
hasByEmpNo
(
String
employeeNo
);
boolean
isOneSelf
(
Integer
employeeId
);
boolean
isAuth
(
Integer
employeeId
);
}
src/main/java/com/wangxiaolu/promotion/service/user/impl/ManageEmployeeQueryServiceImpl.java
浏览文件 @
1139fb66
...
...
@@ -62,4 +62,9 @@ public class ManageEmployeeQueryServiceImpl implements ManageEmployeeQueryServic
public
boolean
isOneSelf
(
Integer
employeeId
)
{
return
manageEmployeeInfoDao
.
isOneSelf
(
employeeId
);
}
@Override
public
boolean
isAuth
(
Integer
employeeId
)
{
return
manageEmployeeInfoDao
.
isAuth
(
employeeId
);
}
}
src/main/java/com/wangxiaolu/promotion/utils/AliyunUtils.java
浏览文件 @
1139fb66
...
...
@@ -14,6 +14,7 @@ import com.aliyuncs.exceptions.ClientException;
import
com.aliyuncs.profile.DefaultProfile
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
com.aliyun.sts20150401.Client
;
import
javax.crypto.Mac
;
import
javax.crypto.spec.SecretKeySpec
;
...
...
@@ -53,11 +54,11 @@ public class AliyunUtils {
public
JSONObject
getSignature
()
throws
JsonProcessingException
{
//获取发送STS请求基础信息
//
环境变量中
获取access_key_id
//获取access_key_id
String
accessKeyId
=
OSS_ACCESS_KEY_ID
;
//
环境变量中
获取access_key_secret
//获取access_key_secret
String
accessKeySecret
=
OSS_ACCESS_KEY_SECRET
;
//
环境变量中
获取ARN
//获取ARN
String
roleArnForOssUpload
=
OSS_STS_ROLE_ARN
;
//色会话名称,用来区分不同的令牌,可自定义
String
roleSessionName
=
YOUR_ROLE_SESSION_NAME
;
...
...
@@ -180,4 +181,22 @@ public class AliyunUtils {
throw
new
RuntimeException
(
"Failed to calculate HMAC-SHA256"
,
e
);
}
}
public
String
getStsToken
()
throws
Exception
{
com
.
aliyun
.
teaopenapi
.
models
.
Config
config
=
new
com
.
aliyun
.
teaopenapi
.
models
.
Config
()
.
setAccessKeyId
(
OSS_ACCESS_KEY_ID
)
.
setAccessKeySecret
(
OSS_ACCESS_KEY_SECRET
);
config
.
endpoint
=
"sts."
+
REGION_ID
+
".aliyuncs.com"
;
Client
client
=
new
Client
(
config
);
com
.
aliyun
.
sts20150401
.
models
.
AssumeRoleRequest
assumeRoleRequest
=
new
com
.
aliyun
.
sts20150401
.
models
.
AssumeRoleRequest
()
.
setDurationSeconds
(
3600L
)
.
setRoleArn
(
OSS_STS_ROLE_ARN
)
.
setRoleSessionName
(
"000516"
);
com
.
aliyun
.
teautil
.
models
.
RuntimeOptions
runtime
=
new
com
.
aliyun
.
teautil
.
models
.
RuntimeOptions
();
com
.
aliyun
.
sts20150401
.
models
.
AssumeRoleResponse
assumeRoleResponse
=
client
.
assumeRoleWithOptions
(
assumeRoleRequest
,
runtime
);
return
assumeRoleResponse
.
body
.
getCredentials
().
getSecurityToken
();
}
}
\ No newline at end of file
src/main/resources/mapper/ManageEmployeeInfoMapper.xml
浏览文件 @
1139fb66
...
...
@@ -67,8 +67,15 @@
where employee_id = (select id from manage_employee_info where employee_no = #{employeeNo});
</update>
<!-- 权限(1:oneself,2:admin)-->
<select
id=
"isOneSelf"
resultType=
"boolean"
>
select count(*) > 0
from manage_employee_ref_privilege where employee_id = #{employeeId} and privilege_id = 1;
</select>
<!-- 权限(1:oneself,2:admin)-->
<select
id=
"isAuth"
resultType=
"boolean"
>
select count(*) > 0
from manage_employee_ref_privilege where employee_id = #{employeeId} and privilege_id = 2;
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论