Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yanxuan-qc-change-system
Overview
Overview
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
胡园园
yanxuan-qc-change-system
Commits
8da827c6
Commit
8da827c6
authored
Dec 09, 2022
by
“zcwang”
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
modify:邮件发送
parent
a738bffe
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
119 additions
and
24 deletions
+119
-24
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+0
-0
AppConfig.java
...com/netease/mail/yanxuan/change/biz/config/AppConfig.java
+3
-0
SupplierSendService.java
...l/yanxuan/change/biz/service/rpc/SupplierSendService.java
+5
-10
AutoSubmit.java
.../com/netease/mail/yanxuan/change/biz/task/AutoSubmit.java
+24
-2
ChangeStatusEnum.java
...se/mail/yanxuan/change/common/enums/ChangeStatusEnum.java
+2
-2
SendMailReq.java
...e/mail/yanxuan/change/dal/meta/model/req/SendMailReq.java
+28
-0
ChangeRecordMapper.xml
.../src/main/resources/mybatis/mapper/ChangeRecordMapper.xml
+2
-1
EmailTemplateEnum.java
...uan/change/integration/email/enums/EmailTemplateEnum.java
+10
-1
TestController.java
...se/mail/yanxuan/change/web/controller/TestController.java
+45
-8
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
8da827c6
This diff is collapsed.
Click to expand it.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/config/AppConfig.java
View file @
8da827c6
...
@@ -33,6 +33,9 @@ public class AppConfig {
...
@@ -33,6 +33,9 @@ public class AppConfig {
@Value
(
"${testEmail:A@163.com}"
)
@Value
(
"${testEmail:A@163.com}"
)
private
String
testEmail
;
private
String
testEmail
;
@Value
(
"${sendEmail:wb.wangzhichao01@mesg.corp.netease.com}"
)
private
String
sendEmail
;
@Value
(
"${change.goods.principal.name:aaa}"
)
@Value
(
"${change.goods.principal.name:aaa}"
)
private
String
defaultName
;
private
String
defaultName
;
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/rpc/SupplierSendService.java
View file @
8da827c6
...
@@ -36,21 +36,16 @@ public class SupplierSendService {
...
@@ -36,21 +36,16 @@ public class SupplierSendService {
@Autowired
@Autowired
private
EmailTemplateServiceImpl
emailTemplateService
;
private
EmailTemplateServiceImpl
emailTemplateService
;
/**
* 发送供应商邮件
public
void
sendSupplierEmail
(
String
supplier
,
String
subjectParam
,
EmailTemplateEnum
emailTemplateEnum
,
* @param changeRecord
* @param emailTemplateEnum
* @param param
*/
public
void
sendSupplierEmail
(
ChangeRecord
changeRecord
,
EmailTemplateEnum
emailTemplateEnum
,
Map
<
String
,
Object
>
param
)
{
Map
<
String
,
Object
>
param
)
{
SupplierSendEmailReq
req
=
new
SupplierSendEmailReq
();
SupplierSendEmailReq
req
=
new
SupplierSendEmailReq
();
req
.
setSupplierId
(
changeRecord
.
getChangeSupplier
()
);
req
.
setSupplierId
(
supplier
);
req
.
setMailSubject
(
String
.
format
(
emailTemplateEnum
.
getSubject
(),
changeRecord
.
getId
())
);
req
.
setMailSubject
(
subjectParam
);
EmailFactor
factor
=
EmailFactor
.
builder
().
data
(
param
).
emailTemplateEnum
(
emailTemplateEnum
)
EmailFactor
factor
=
EmailFactor
.
builder
().
data
(
param
).
emailTemplateEnum
(
emailTemplateEnum
)
.
subject
(
req
.
getMailSubject
()).
type
(
EmailTypeEnum
.
HTML
.
getType
()).
build
();
.
subject
(
req
.
getMailSubject
()).
type
(
EmailTypeEnum
.
HTML
.
getType
()).
build
();
req
.
setMailContent
(
this
.
content
(
factor
));
req
.
setMailContent
(
this
.
content
(
factor
));
log
.
debug
(
"[sendSupplierEmail] 发送供应商邮件内容
flowId:{}, req:{}"
,
changeRecord
.
getFlowId
()
,
JSON
.
toJSONString
(
req
));
log
.
debug
(
"[sendSupplierEmail] 发送供应商邮件内容
subjectParam:{}, req:{}"
,
subjectParam
,
JSON
.
toJSONString
(
req
));
flowRpcSupplierSendService
.
sendEmail
(
req
);
flowRpcSupplierSendService
.
sendEmail
(
req
);
}
}
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/task/AutoSubmit.java
View file @
8da827c6
...
@@ -19,6 +19,7 @@ import org.springframework.stereotype.Component;
...
@@ -19,6 +19,7 @@ import org.springframework.stereotype.Component;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeFlowBiz
;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeFlowBiz
;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.FlowService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.FlowService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.SupplierSendService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.SupplierSendService
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
import
com.netease.mail.yanxuan.change.common.bean.CommonConstants
;
...
@@ -27,6 +28,7 @@ import com.netease.mail.yanxuan.change.common.enums.CreateSourceEnum;
...
@@ -27,6 +28,7 @@ import com.netease.mail.yanxuan.change.common.enums.CreateSourceEnum;
import
com.netease.mail.yanxuan.change.common.enums.FlowOperationTypeEnum
;
import
com.netease.mail.yanxuan.change.common.enums.FlowOperationTypeEnum
;
import
com.netease.mail.yanxuan.change.common.util.DateUtils
;
import
com.netease.mail.yanxuan.change.common.util.DateUtils
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeRecord
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeRecord
;
import
com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeConfigPo
;
import
com.netease.mail.yanxuan.change.integration.email.enums.EmailTemplateEnum
;
import
com.netease.mail.yanxuan.change.integration.email.enums.EmailTemplateEnum
;
import
com.netease.mail.yanxuan.dschedule.core.biz.model.ReturnT
;
import
com.netease.mail.yanxuan.dschedule.core.biz.model.ReturnT
;
import
com.netease.mail.yanxuan.dschedule.core.handler.IJobHandler
;
import
com.netease.mail.yanxuan.dschedule.core.handler.IJobHandler
;
...
@@ -56,6 +58,9 @@ public class AutoSubmit extends IJobHandler {
...
@@ -56,6 +58,9 @@ public class AutoSubmit extends IJobHandler {
@Autowired
@Autowired
private
SupplierSendService
sendSupplierEmail
;
private
SupplierSendService
sendSupplierEmail
;
@Autowired
private
ChangeConfigService
changeConfigService
;
@Override
@Override
public
ReturnT
<
String
>
execute
(
String
...
strings
)
throws
Exception
{
public
ReturnT
<
String
>
execute
(
String
...
strings
)
throws
Exception
{
log
.
info
(
"AutoSubmit start"
);
log
.
info
(
"AutoSubmit start"
);
...
@@ -114,11 +119,27 @@ public class AutoSubmit extends IJobHandler {
...
@@ -114,11 +119,27 @@ public class AutoSubmit extends IJobHandler {
map
.
put
(
"changeId"
,
changeRecord
.
getId
());
map
.
put
(
"changeId"
,
changeRecord
.
getId
());
map
.
put
(
"changeSubject"
,
changeRecord
.
getChangeSubject
());
map
.
put
(
"changeSubject"
,
changeRecord
.
getChangeSubject
());
map
.
put
(
"flowUrl"
,
changeRecord
.
getFlowId
());
map
.
put
(
"flowUrl"
,
changeRecord
.
getFlowId
());
changeFlowBiz
.
qcSendEmail
(
changeRecord
.
getChangeCommander
(),
changeRecord
.
getId
().
toString
(),
ChangeConfigPo
changeConfigPo
=
changeConfigService
.
queryInfoPo
(
changeRecord
.
getParentChangeClassId
(),
changeRecord
.
getSonChangeClassId
());
StringBuilder
changeType
=
new
StringBuilder
(
""
);
try
{
changeType
.
append
(
changeConfigPo
.
getChangeTypes
().
get
(
0
).
getTypeName
());
}
catch
(
Exception
e
)
{
log
.
error
(
"queryInfoPo error:{}"
,
JSON
.
toJSONString
(
changeConfigPo
));
}
try
{
changeType
.
append
(
changeConfigPo
.
getChangeTypes
().
get
(
1
).
getTypeName
());
}
catch
(
Exception
e
)
{
log
.
error
(
"queryInfoPo error:{}"
,
JSON
.
toJSONString
(
changeConfigPo
));
}
String
subjectParam
=
changeRecord
.
getChangeSubject
()
+
changeType
.
toString
()
+
changeRecord
.
getId
().
toString
();
changeFlowBiz
.
qcSendEmail
(
changeRecord
.
getChangeCommander
(),
subjectParam
,
EmailTemplateEnum
.
YX_QC_CHANGE_AFFIRM
,
map
);
EmailTemplateEnum
.
YX_QC_CHANGE_AFFIRM
,
map
);
// 如果是供应商,再次发送供应商邮件
// 如果是供应商,再次发送供应商邮件
if
(
changeRecord
.
getCreateSource
().
equals
(
CreateSourceEnum
.
QC
.
getType
()))
{
if
(
changeRecord
.
getCreateSource
().
equals
(
CreateSourceEnum
.
QC
.
getType
()))
{
sendSupplierEmail
.
sendSupplierEmail
(
changeRecord
,
EmailTemplateEnum
.
YX_QC_CHANGE_AFFIRM
,
map
);
sendSupplierEmail
.
sendSupplierEmail
(
changeRecord
.
getChangeSupplier
(),
subjectParam
,
EmailTemplateEnum
.
YX_QC_CHANGE_AFFIRM
,
map
);
}
}
}
}
}
}
\ No newline at end of file
yanxuan-qc-change-system-common/src/main/java/com/netease/mail/yanxuan/change/common/enums/ChangeStatusEnum.java
View file @
8da827c6
...
@@ -11,11 +11,11 @@ package com.netease.mail.yanxuan.change.common.enums;
...
@@ -11,11 +11,11 @@ package com.netease.mail.yanxuan.change.common.enums;
* @Date 2022/11/14
* @Date 2022/11/14
*/
*/
public
enum
ChangeStatusEnum
{
public
enum
ChangeStatusEnum
{
IN
(
1
,
"进行中"
),
IN
(
1
,
"进行中"
),
CANCEL
(
2
,
"取消完结"
),
CANCEL
(
2
,
"取消完结"
),
DELAY
(
3
,
"延期"
),
DELAY
(
3
,
"延期"
),
END
(
4
,
"完结"
);
END
(
4
,
"完结"
),
WAIT
(
5
,
"待发起"
),;
private
Integer
status
;
private
Integer
status
;
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/req/SendMailReq.java
0 → 100644
View file @
8da827c6
/**
* @(#)SendMailReq.java, 2022/12/9.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
dal
.
meta
.
model
.
req
;
import
lombok.Data
;
/**
* @Author zcwang
* @Date 2022/12/9
*/
@Data
public
class
SendMailReq
{
private
Long
id
;
private
String
code
;
private
String
mapToJson
;
private
Integer
createSource
;
private
String
changeSupplier
;
}
\ No newline at end of file
yanxuan-qc-change-system-dal/src/main/resources/mybatis/mapper/ChangeRecordMapper.xml
View file @
8da827c6
...
@@ -78,7 +78,7 @@
...
@@ -78,7 +78,7 @@
<if
test=
"endTime != null"
>
<if
test=
"endTime != null"
>
and create_time
<![CDATA[ < ]]>
#{endTime}
and create_time
<![CDATA[ < ]]>
#{endTime}
</if>
</if>
order by create_time desc
</where>
</where>
order by create_time desc
</select>
</select>
</mapper>
</mapper>
\ No newline at end of file
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/email/enums/EmailTemplateEnum.java
View file @
8da827c6
...
@@ -11,7 +11,7 @@ public enum EmailTemplateEnum {
...
@@ -11,7 +11,7 @@ public enum EmailTemplateEnum {
YX_QC_CHANGE_RELEASE_FLOW
(
"yxqc_change_release_flow"
,
"发起变更"
,
"【待处理】%s 变更申请提交 "
),
YX_QC_CHANGE_RELEASE_FLOW
(
"yxqc_change_release_flow"
,
"发起变更"
,
"【待处理】%s 变更申请提交 "
),
YX_QC_CHANGE_SUBMIT_CANCEL
(
"yx_qc_change_submit_cancel"
,
"变更取消"
,
"
【待处理】
%s 变更取消通知"
),
YX_QC_CHANGE_SUBMIT_CANCEL
(
"yx_qc_change_submit_cancel"
,
"变更取消"
,
"%s 变更取消通知"
),
YX_QC_CHANGE_SUBMIT_FORWARD
(
"yx_qc_change_submit_forward"
,
"变更转交"
,
"%s 变更工单转交通知"
),
YX_QC_CHANGE_SUBMIT_FORWARD
(
"yx_qc_change_submit_forward"
,
"变更转交"
,
"%s 变更工单转交通知"
),
...
@@ -51,4 +51,13 @@ public enum EmailTemplateEnum {
...
@@ -51,4 +51,13 @@ public enum EmailTemplateEnum {
return
subject
;
return
subject
;
}
}
public
static
EmailTemplateEnum
getEmailTemplateEnum
(
String
code
){
for
(
EmailTemplateEnum
template
:
EmailTemplateEnum
.
values
())
{
if
(
template
.
getCode
().
equals
(
code
))
{
return
template
;
}
}
return
null
;
}
}
}
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/controller/TestController.java
View file @
8da827c6
...
@@ -6,30 +6,39 @@
...
@@ -6,30 +6,39 @@
*/
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
web
.
controller
;
package
com
.
netease
.
mail
.
yanxuan
.
change
.
web
.
controller
;
import
com.netease.mail.yanxuan.change.biz.service.change.ChangeConfigService
;
import
java.util.List
;
import
com.netease.mail.yanxuan.change.dal.meta.model.po.ChangeConfigPo
;
import
java.util.Map
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierInfoService
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierRelatedUserReq
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierUserRsp
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.Assert
;
import
org.springframework.util.Assert
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.GetMapping
;
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
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeFlowBiz
;
import
com.netease.mail.yanxuan.change.biz.config.AppConfig
;
import
com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory
;
import
com.netease.mail.yanxuan.change.biz.meta.exception.ExceptionFactory
;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.SupplierSendService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.TodoService
;
import
com.netease.mail.yanxuan.change.biz.service.rpc.TodoService
;
import
com.netease.mail.yanxuan.change.biz.task.AutoSubmit
;
import
com.netease.mail.yanxuan.change.biz.task.AutoSubmit
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCode
;
import
com.netease.mail.yanxuan.change.common.bean.ResponseCode
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeFlowEnum
;
import
com.netease.mail.yanxuan.change.common.enums.CreateSourceEnum
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeRecord
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeRecord
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.SendMailReq
;
import
com.netease.mail.yanxuan.change.integration.email.enums.EmailTemplateEnum
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.FlowRpcSupplierInfoService
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.req.SupplierRelatedUserReq
;
import
com.netease.mail.yanxuan.change.integration.flow.supplier.rsp.SupplierUserRsp
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.List
;
/**
/**
* @Author zcwang
* @Author zcwang
* @Date 2022/11/28
* @Date 2022/11/28
...
@@ -48,7 +57,17 @@ public class TestController {
...
@@ -48,7 +57,17 @@ public class TestController {
@Autowired
@Autowired
private
AutoSubmit
autoSubmit
;
private
AutoSubmit
autoSubmit
;
@Autowired
private
ChangeFlowBiz
changeFlowBiz
;
@Autowired
private
AppConfig
appConfig
;
@Autowired
private
SupplierSendService
sendSupplierEmail
;
@PostMapping
(
"/createToDo"
)
@PostMapping
(
"/createToDo"
)
public
AjaxResult
<
Void
>
createTodoTask
(
ChangeRecord
entity
)
{
public
AjaxResult
<
Void
>
createTodoTask
(
ChangeRecord
entity
)
{
log
.
info
(
"[createToDoTask] entity:{}"
,
JSON
.
toJSONString
(
entity
));
log
.
info
(
"[createToDoTask] entity:{}"
,
JSON
.
toJSONString
(
entity
));
todoService
.
createTodoTask
(
entity
);
todoService
.
createTodoTask
(
entity
);
...
@@ -86,4 +105,21 @@ public class TestController {
...
@@ -86,4 +105,21 @@ public class TestController {
public
List
<
SupplierUserRsp
>
test
(
@RequestBody
SupplierRelatedUserReq
req
)
{
public
List
<
SupplierUserRsp
>
test
(
@RequestBody
SupplierRelatedUserReq
req
)
{
return
supplierInfoService
.
querySupplierRelatedUser
(
req
);
return
supplierInfoService
.
querySupplierRelatedUser
(
req
);
}
}
@PostMapping
(
"/send"
)
public
void
sendEmail
(
@RequestBody
SendMailReq
req
)
{
String
subjectParam
=
req
.
getId
().
toString
();
EmailTemplateEnum
emailTemplateEnum
=
EmailTemplateEnum
.
getEmailTemplateEnum
(
req
.
getCode
());
String
mapToJson
=
req
.
getMapToJson
();
log
.
debug
(
"[testSendEmail] subjectParam:{}, emailTemplateEnum:{}, mapToJson:{}"
,
subjectParam
,
emailTemplateEnum
,
mapToJson
);
changeFlowBiz
.
qcSendEmail
(
appConfig
.
getSendEmail
(),
subjectParam
,
emailTemplateEnum
,
JSON
.
parseObject
(
mapToJson
,
Map
.
class
));
// 如果是供应商,再次发送供应商邮件
if
(
req
.
getCreateSource
().
equals
(
CreateSourceEnum
.
QC
.
getType
()))
{
Assert
.
notNull
(
req
.
getChangeSupplier
(),
"同舟端负责人不可为空"
);
sendSupplierEmail
.
sendSupplierEmail
(
req
.
getChangeSupplier
(),
subjectParam
,
emailTemplateEnum
,
JSON
.
parseObject
(
mapToJson
,
Map
.
class
));
}
}
}
}
\ No newline at end of file
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