Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
pension
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
mengmeng
pension
Commits
447b86e6
Commit
447b86e6
authored
Mar 15, 2021
by
mengmeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'Shen' into 'master'
Shen See merge request
!16
parents
f2e7cee7
3af407cb
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
550 additions
and
34 deletions
+550
-34
PensionOrderDTO.java
...ava/io/hmit/modules/serviceOrder/dto/PensionOrderDTO.java
+8
-0
PensionOrderEntity.java
.../hmit/modules/serviceOrder/entity/PensionOrderEntity.java
+8
-0
application.yml
hmit-admin/src/main/resources/application.yml
+1
-1
SwaggerConfig.java
hmit-api/src/main/java/io/hmit/config/SwaggerConfig.java
+1
-1
WeChatMpConfig.java
hmit-api/src/main/java/io/hmit/config/WeChatMpConfig.java
+38
-0
WechatAccountConfig.java
...api/src/main/java/io/hmit/config/WechatAccountConfig.java
+24
-0
PensionOrderController.java
...dules/serviceOrder/controller/PensionOrderController.java
+43
-5
PensionOrderEvaluationController.java
...iceOrder/controller/PensionOrderEvaluationController.java
+18
-5
PensionOrderDocumentDao.java
...mit/modules/serviceOrder/dao/PensionOrderDocumentDao.java
+8
-1
PensionOrderEvaluationDao.java
...t/modules/serviceOrder/dao/PensionOrderEvaluationDao.java
+4
-1
PensionServiceDocumentDao.java
...t/modules/serviceOrder/dao/PensionServiceDocumentDao.java
+2
-1
PensionOrderDTO.java
...ava/io/hmit/modules/serviceOrder/dto/PensionOrderDTO.java
+23
-0
PensionOrderEvaluationDTO.java
...t/modules/serviceOrder/dto/PensionOrderEvaluationDTO.java
+4
-1
StaffFinishDTO.java
...java/io/hmit/modules/serviceOrder/dto/StaffFinishDTO.java
+34
-0
PensionOrderEntity.java
.../hmit/modules/serviceOrder/entity/PensionOrderEntity.java
+4
-0
PensionOrderDocumentService.java
...les/serviceOrder/service/PensionOrderDocumentService.java
+6
-0
PensionOrderEvaluationService.java
...s/serviceOrder/service/PensionOrderEvaluationService.java
+2
-0
PensionOrderService.java
...mit/modules/serviceOrder/service/PensionOrderService.java
+3
-0
PensionOrderDocumentServiceImpl.java
...ceOrder/service/impl/PensionOrderDocumentServiceImpl.java
+13
-0
PensionOrderEvaluationServiceImpl.java
...Order/service/impl/PensionOrderEvaluationServiceImpl.java
+7
-0
PensionOrderServiceImpl.java
...es/serviceOrder/service/impl/PensionOrderServiceImpl.java
+23
-2
PushMessage.java
hmit-api/src/main/java/io/hmit/service/PushMessage.java
+11
-0
SmsService.java
hmit-api/src/main/java/io/hmit/service/SmsService.java
+139
-0
PushMessageImpl.java
...i/src/main/java/io/hmit/service/impl/PushMessageImpl.java
+87
-0
application.yml
hmit-api/src/main/resources/application.yml
+12
-7
PensionOrderDao.xml
...rc/main/resources/mapper/serviceOrder/PensionOrderDao.xml
+9
-9
PensionOrderDocumentDao.xml
...resources/mapper/serviceOrder/PensionOrderDocumentDao.xml
+9
-0
PensionOrderEvaluationDao.xml
...sources/mapper/serviceOrder/PensionOrderEvaluationDao.xml
+4
-0
pom.xml
pom.xml
+5
-0
No files found.
hmit-admin/src/main/java/io/hmit/modules/serviceOrder/dto/PensionOrderDTO.java
View file @
447b86e6
package
io
.
hmit
.
modules
.
serviceOrder
.
dto
;
package
io
.
hmit
.
modules
.
serviceOrder
.
dto
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
/**
/**
...
@@ -70,6 +72,12 @@ public class PensionOrderDTO implements Serializable {
...
@@ -70,6 +72,12 @@ public class PensionOrderDTO implements Serializable {
@ApiModelProperty
(
value
=
"接单人电话"
)
@ApiModelProperty
(
value
=
"接单人电话"
)
private
String
orderRecipientPhone
;
private
String
orderRecipientPhone
;
@ApiModelProperty
(
value
=
"服务内容描述"
)
private
String
content
;
@ApiModelProperty
(
value
=
"实际金额"
)
private
String
actPrice
;
@ApiModelProperty
(
value
=
"部门ID"
)
@ApiModelProperty
(
value
=
"部门ID"
)
private
Long
deptId
;
private
Long
deptId
;
...
...
hmit-admin/src/main/java/io/hmit/modules/serviceOrder/entity/PensionOrderEntity.java
View file @
447b86e6
...
@@ -91,6 +91,14 @@ public class PensionOrderEntity extends BaseEntity {
...
@@ -91,6 +91,14 @@ public class PensionOrderEntity extends BaseEntity {
* 接单人电话
* 接单人电话
*/
*/
private
String
orderRecipientPhone
;
private
String
orderRecipientPhone
;
/**
* 服务内容描述
*/
private
String
content
;
/**
* 实际金额
*/
private
String
actPrice
;
/**
/**
* 部门ID
* 部门ID
*/
*/
...
...
hmit-admin/src/main/resources/application.yml
View file @
447b86e6
...
@@ -72,5 +72,5 @@ mybatis-plus:
...
@@ -72,5 +72,5 @@ mybatis-plus:
call-setters-on-nulls
:
true
call-setters-on-nulls
:
true
jdbc-type-for-null
:
'
null'
jdbc-type-for-null
:
'
null'
QR
:
QR
:
# download-path: /home/resourse/bsqzc/ D:/123/ /home/websoft/java_jar/
bl_workorder
/myfile/
# download-path: /home/resourse/bsqzc/ D:/123/ /home/websoft/java_jar/
pension_service
/myfile/
download-path
:
/home/websoft/java_jar/pension_service/myfile/
download-path
:
/home/websoft/java_jar/pension_service/myfile/
hmit-api/src/main/java/io/hmit/config/SwaggerConfig.java
View file @
447b86e6
...
@@ -27,7 +27,7 @@ public class SwaggerConfig {
...
@@ -27,7 +27,7 @@ public class SwaggerConfig {
@Bean
@Bean
public
Docket
createRestApi
()
{
public
Docket
createRestApi
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
//
.host("byyl.zjhmit.com")
.
host
(
"byyl.zjhmit.com"
)
.
apiInfo
(
apiInfo
())
.
apiInfo
(
apiInfo
())
.
select
()
.
select
()
//加了ApiOperation注解的类,才生成接口文档
//加了ApiOperation注解的类,才生成接口文档
...
...
hmit-api/src/main/java/io/hmit/config/WeChatMpConfig.java
0 → 100644
View file @
447b86e6
package
io
.
hmit
.
config
;
import
me.chanjar.weixin.mp.api.WxMpConfigStorage
;
import
me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage
;
import
me.chanjar.weixin.mp.api.WxMpService
;
import
me.chanjar.weixin.mp.api.impl.WxMpServiceImpl
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.stereotype.Component
;
/**
* @Description :
* @Author : Shen Yuanfeng
* @Date: 2021/3/12 16:03
*/
@Component
public
class
WeChatMpConfig
{
@Autowired
private
WechatAccountConfig
wechatAccountConfig
;
@Bean
public
WxMpService
wxMpService
(){
WxMpService
wxMpService
=
new
WxMpServiceImpl
();
wxMpService
.
setWxMpConfigStorage
(
wxMpConfigStorage
());
return
wxMpService
;
}
@Bean
public
WxMpConfigStorage
wxMpConfigStorage
(){
WxMpInMemoryConfigStorage
wxMpConfigStorage
=
new
WxMpInMemoryConfigStorage
();
wxMpConfigStorage
.
setAppId
(
wechatAccountConfig
.
getMpAppId
());
wxMpConfigStorage
.
setSecret
(
wechatAccountConfig
.
getMpAppSecret
());
return
wxMpConfigStorage
;
}
}
hmit-api/src/main/java/io/hmit/config/WechatAccountConfig.java
0 → 100644
View file @
447b86e6
package
io
.
hmit
.
config
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
/**
* @Description :
* @Author : Shen Yuanfeng
* @Date: 2021/3/12 16:02
*/
@Data
@Component
@ConfigurationProperties
(
prefix
=
"wechat"
)
public
class
WechatAccountConfig
{
private
String
mpAppId
;
private
String
mpAppSecret
;
private
String
templateId
;
}
hmit-api/src/main/java/io/hmit/modules/serviceOrder/controller/PensionOrderController.java
View file @
447b86e6
package
io
.
hmit
.
modules
.
serviceOrder
.
controller
;
package
io
.
hmit
.
modules
.
serviceOrder
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
io.hmit.annotation.Login
;
import
io.hmit.annotation.Login
;
import
io.hmit.annotation.LoginUser
;
import
io.hmit.annotation.LoginUser
;
import
io.hmit.common.constant.Constant
;
import
io.hmit.common.constant.Constant
;
...
@@ -13,7 +14,8 @@ import io.hmit.common.validator.group.UpdateGroup;
...
@@ -13,7 +14,8 @@ import io.hmit.common.validator.group.UpdateGroup;
import
io.hmit.entity.UserEntity
;
import
io.hmit.entity.UserEntity
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDTO
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDTO
;
import
io.hmit.modules.serviceOrder.dto.ReservationDTO
;
import
io.hmit.modules.serviceOrder.dto.ReservationDTO
;
import
io.hmit.modules.serviceOrder.service.PensionOrderService
;
import
io.hmit.modules.serviceOrder.dto.StaffFinishDTO
;
import
io.hmit.modules.serviceOrder.service.*
;
import
io.hmit.service.UserService
;
import
io.hmit.service.UserService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParam
;
...
@@ -23,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -23,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.annotations.ApiIgnore
;
import
springfox.documentation.annotations.ApiIgnore
;
import
java.net.URLDecoder
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -42,6 +45,15 @@ public class PensionOrderController {
...
@@ -42,6 +45,15 @@ public class PensionOrderController {
@Autowired
@Autowired
private
UserService
userService
;
private
UserService
userService
;
@Autowired
private
PensionOrderDocumentService
pensionOrderDocumentService
;
@Autowired
private
PensionOrderEvaluationService
pensionOrderEvaluationService
;
@Autowired
private
PensionServiceService
pensionServiceService
;
@Login
@Login
@GetMapping
(
"page"
)
@GetMapping
(
"page"
)
@ApiOperation
(
"全部订单(志愿者)"
)
@ApiOperation
(
"全部订单(志愿者)"
)
...
@@ -203,6 +215,22 @@ public class PensionOrderController {
...
@@ -203,6 +215,22 @@ public class PensionOrderController {
return
new
Result
<
PageData
<
PensionOrderDTO
>>().
ok
(
page
);
return
new
Result
<
PageData
<
PensionOrderDTO
>>().
ok
(
page
);
}
}
/**
* 服务人员完成订单接口
*/
@Login
@PostMapping
(
"staffFinishedOrder"
)
@ApiOperation
(
value
=
"服务人员完成订单接口(服务人员)"
)
public
Result
staffFinishedOrder
(
@RequestBody
String
dto
){
String
todto
=
null
;
try
{
todto
=
URLDecoder
.
decode
(
dto
,
"UTF-8"
);
}
catch
(
Exception
ignored
){}
StaffFinishDTO
staffFinishDTO
=
JSON
.
parseObject
(
todto
.
substring
(
4
),
StaffFinishDTO
.
class
);
pensionOrderService
.
staffFinishedOrder
(
staffFinishDTO
);
return
new
Result
();
}
/**
/**
* 机构订单接口
* 机构订单接口
*/
*/
...
@@ -272,16 +300,26 @@ public class PensionOrderController {
...
@@ -272,16 +300,26 @@ public class PensionOrderController {
@ApiOperation
(
"信息"
)
@ApiOperation
(
"信息"
)
public
Result
<
PensionOrderDTO
>
get
(
@PathVariable
(
"id"
)
Long
id
){
public
Result
<
PensionOrderDTO
>
get
(
@PathVariable
(
"id"
)
Long
id
){
PensionOrderDTO
data
=
pensionOrderService
.
get
(
id
);
PensionOrderDTO
data
=
pensionOrderService
.
get
(
id
);
data
.
setStaffImages
(
pensionOrderDocumentService
.
findByOrderIdAndRemark
(
id
,
"1"
));
data
.
setStaffVoiceMessage
(
pensionOrderDocumentService
.
findStaffVoiceId
(
id
));
data
.
setUserImages
(
pensionOrderDocumentService
.
findByOrderIdAndRemark
(
id
,
"3"
));
data
.
setPensionOrderEvaluationDTO
(
pensionOrderEvaluationService
.
findByOrderId
(
id
));
data
.
setIcon
(
pensionServiceService
.
get
(
data
.
getServiceId
()).
getDetailPicture
());
return
new
Result
<
PensionOrderDTO
>().
ok
(
data
);
return
new
Result
<
PensionOrderDTO
>().
ok
(
data
);
}
}
@Login
@Login
@PostMapping
(
"reservationOrder"
)
@PostMapping
(
"reservationOrder"
)
@ApiOperation
(
"预约保存"
)
@ApiOperation
(
"预约保存"
)
public
Result
reservationOrder
(
@ApiIgnore
@LoginUser
UserEntity
user
,
@RequestBody
ReservationDTO
dto
){
public
Result
reservationOrder
(
@ApiIgnore
@LoginUser
UserEntity
user
,
@RequestBody
String
dto
){
String
todto
=
null
;
try
{
todto
=
URLDecoder
.
decode
(
dto
,
"UTF-8"
);
}
catch
(
Exception
ignored
){}
ReservationDTO
reservationDTO
=
JSON
.
parseObject
(
todto
.
substring
(
4
),
ReservationDTO
.
class
);
PensionOrderDTO
data
=
new
PensionOrderDTO
().
assemblePensionOrder
(
dto
,
user
);
PensionOrderDTO
data
=
new
PensionOrderDTO
().
assemblePensionOrder
(
reservationDTO
,
user
);
data
.
setCommunityId
(
user
.
getCommunityId
());
data
.
setCommunityId
(
user
.
getCommunityId
());
data
.
setCommunityName
(
user
.
getCommunityName
());
data
.
setCommunityName
(
user
.
getCommunityName
());
pensionOrderService
.
reservation
(
data
);
pensionOrderService
.
reservation
(
data
);
...
...
hmit-api/src/main/java/io/hmit/modules/serviceOrder/controller/PensionOrderEvaluationController.java
View file @
447b86e6
package
io
.
hmit
.
modules
.
serviceOrder
.
controller
;
package
io
.
hmit
.
modules
.
serviceOrder
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
io.hmit.annotation.Login
;
import
io.hmit.common.constant.Constant
;
import
io.hmit.common.constant.Constant
;
import
io.hmit.common.page.PageData
;
import
io.hmit.common.page.PageData
;
import
io.hmit.common.utils.Result
;
import
io.hmit.common.utils.Result
;
...
@@ -14,10 +17,14 @@ import io.swagger.annotations.Api;
...
@@ -14,10 +17,14 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
springfox.documentation.annotations.ApiIgnore
;
import
springfox.documentation.annotations.ApiIgnore
;
import
springfox.documentation.spring.web.json.Json
;
import
java.net.URLDecoder
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -59,13 +66,19 @@ public class PensionOrderEvaluationController {
...
@@ -59,13 +66,19 @@ public class PensionOrderEvaluationController {
return
new
Result
<
PensionOrderEvaluationDTO
>().
ok
(
data
);
return
new
Result
<
PensionOrderEvaluationDTO
>().
ok
(
data
);
}
}
@Login
@PostMapping
@PostMapping
@ApiOperation
(
"保存"
)
@ApiOperation
(
"保存"
)
public
Result
save
(
@RequestBody
PensionOrderEvaluationDTO
dto
){
public
Result
save
(
@RequestBody
String
dto
){
String
todto
=
null
;
pensionOrderEvaluationService
.
save
(
dto
);
try
{
todto
=
URLDecoder
.
decode
(
dto
,
"UTF-8"
);
pensionOrderService
.
evaluationDone
(
dto
);
}
catch
(
Exception
ignored
){}
PensionOrderEvaluationDTO
pensionOrderEvaluationDTO
=
JSON
.
parseObject
(
todto
.
substring
(
4
),
PensionOrderEvaluationDTO
.
class
);
pensionOrderEvaluationDTO
.
setFile
(
StringUtils
.
join
(
pensionOrderEvaluationDTO
.
getFiles
(),
","
));
pensionOrderEvaluationService
.
save
(
pensionOrderEvaluationDTO
);
pensionOrderService
.
evaluationDone
(
pensionOrderEvaluationDTO
);
return
new
Result
();
return
new
Result
();
}
}
...
...
hmit-api/src/main/java/io/hmit/modules/serviceOrder/dao/PensionOrderDocumentDao.java
View file @
447b86e6
package
io
.
hmit
.
modules
.
serviceOrder
.
dao
;
package
io
.
hmit
.
modules
.
serviceOrder
.
dao
;
import
io.hmit.common.dao.BaseDao
;
import
io.hmit.common.dao.BaseDao
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
/**
* 订单及相关图片附件关联表
* 订单及相关图片附件关联表
*
*
...
@@ -13,4 +16,8 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -13,4 +16,8 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
@Mapper
public
interface
PensionOrderDocumentDao
extends
BaseDao
<
PensionOrderDocumentEntity
>
{
public
interface
PensionOrderDocumentDao
extends
BaseDao
<
PensionOrderDocumentEntity
>
{
List
<
PensionOrderDocumentDTO
>
findByOrderIdAndRemark
(
Long
orderId
,
String
remark
);
PensionOrderDocumentDTO
findStaffVoiceId
(
Long
orderId
);
}
}
\ No newline at end of file
hmit-api/src/main/java/io/hmit/modules/serviceOrder/dao/PensionOrderEvaluationDao.java
View file @
447b86e6
package
io
.
hmit
.
modules
.
serviceOrder
.
dao
;
package
io
.
hmit
.
modules
.
serviceOrder
.
dao
;
import
io.hmit.common.dao.BaseDao
;
import
io.hmit.common.dao.BaseDao
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
...
@@ -13,4 +14,6 @@ import org.apache.ibatis.annotations.Mapper;
...
@@ -13,4 +14,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
@Mapper
public
interface
PensionOrderEvaluationDao
extends
BaseDao
<
PensionOrderEvaluationEntity
>
{
public
interface
PensionOrderEvaluationDao
extends
BaseDao
<
PensionOrderEvaluationEntity
>
{
PensionOrderEvaluationDTO
findByOrderId
(
Long
orderId
);
}
}
\ No newline at end of file
hmit-api/src/main/java/io/hmit/modules/serviceOrder/dao/PensionServiceDocumentDao.java
View file @
447b86e6
package
io
.
hmit
.
modules
.
serviceOrder
.
dao
;
package
io
.
hmit
.
modules
.
serviceOrder
.
dao
;
import
io.hmit.common.dao.BaseDao
;
import
io.hmit.common.dao.BaseDao
;
import
io.hmit.modules.serviceOrder.dto.PensionServiceDocumentDTO
;
import
io.hmit.modules.serviceOrder.entity.PensionServiceDocumentEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionServiceDocumentEntity
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
...
...
hmit-api/src/main/java/io/hmit/modules/serviceOrder/dto/PensionOrderDTO.java
View file @
447b86e6
package
io
.
hmit
.
modules
.
serviceOrder
.
dto
;
package
io
.
hmit
.
modules
.
serviceOrder
.
dto
;
import
com.fasterxml.jackson.annotation.JsonIgnore
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
io.hmit.common.constant.Constant
;
import
io.hmit.common.constant.Constant
;
import
io.hmit.entity.UserEntity
;
import
io.hmit.entity.UserEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
...
@@ -8,6 +10,7 @@ import lombok.Data;
...
@@ -8,6 +10,7 @@ import lombok.Data;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.UUID
;
import
java.util.UUID
;
...
@@ -55,6 +58,7 @@ public class PensionOrderDTO implements Serializable {
...
@@ -55,6 +58,7 @@ public class PensionOrderDTO implements Serializable {
@ApiModelProperty
(
value
=
"预约时间"
)
@ApiModelProperty
(
value
=
"预约时间"
)
private
Date
appointmentTime
;
private
Date
appointmentTime
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@ApiModelProperty
(
value
=
"取消原因"
)
@ApiModelProperty
(
value
=
"取消原因"
)
private
String
cancelReason
;
private
String
cancelReason
;
...
@@ -73,6 +77,9 @@ public class PensionOrderDTO implements Serializable {
...
@@ -73,6 +77,9 @@ public class PensionOrderDTO implements Serializable {
@ApiModelProperty
(
value
=
"接单人电话"
)
@ApiModelProperty
(
value
=
"接单人电话"
)
private
String
orderRecipientPhone
;
private
String
orderRecipientPhone
;
@ApiModelProperty
(
value
=
"服务内容描述"
)
private
String
content
;
@ApiModelProperty
(
value
=
"实际金额"
)
@ApiModelProperty
(
value
=
"实际金额"
)
private
String
actPrice
;
private
String
actPrice
;
...
@@ -106,6 +113,22 @@ public class PensionOrderDTO implements Serializable {
...
@@ -106,6 +113,22 @@ public class PensionOrderDTO implements Serializable {
@ApiModelProperty
(
value
=
"所属社区Id"
)
@ApiModelProperty
(
value
=
"所属社区Id"
)
private
Long
communityId
;
private
Long
communityId
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@ApiModelProperty
(
value
=
"用户评论照片"
)
private
List
<
PensionOrderDocumentDTO
>
userImages
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@ApiModelProperty
(
value
=
"服务人员评论照片"
)
private
List
<
PensionOrderDocumentDTO
>
staffImages
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@ApiModelProperty
(
value
=
"服务人员语音"
)
private
PensionOrderDocumentDTO
staffVoiceMessage
;
@JsonInclude
(
JsonInclude
.
Include
.
NON_NULL
)
@ApiModelProperty
(
value
=
"订单评价信息"
)
private
PensionOrderEvaluationDTO
pensionOrderEvaluationDTO
;
public
PensionOrderDTO
assemblePensionOrder
(
ReservationDTO
reservationDTO
,
UserEntity
user
){
public
PensionOrderDTO
assemblePensionOrder
(
ReservationDTO
reservationDTO
,
UserEntity
user
){
PensionOrderDTO
pensionOrder
=
new
PensionOrderDTO
();
PensionOrderDTO
pensionOrder
=
new
PensionOrderDTO
();
pensionOrder
.
setOrderNum
(
""
);
pensionOrder
.
setOrderNum
(
""
);
...
...
hmit-api/src/main/java/io/hmit/modules/serviceOrder/dto/PensionOrderEvaluationDTO.java
View file @
447b86e6
...
@@ -38,7 +38,10 @@ public class PensionOrderEvaluationDTO implements Serializable {
...
@@ -38,7 +38,10 @@ public class PensionOrderEvaluationDTO implements Serializable {
@ApiModelProperty
(
value
=
"评价内容"
)
@ApiModelProperty
(
value
=
"评价内容"
)
private
String
content
;
private
String
content
;
@ApiModelProperty
(
value
=
"评价文件地址"
)
@ApiModelProperty
(
value
=
"评价文件地址(返回)"
)
private
String
file
;
@ApiModelProperty
(
value
=
"评价文件地址(上传)"
)
private
String
[]
files
;
private
String
[]
files
;
@ApiModelProperty
(
value
=
"创建者"
)
@ApiModelProperty
(
value
=
"创建者"
)
...
...
hmit-api/src/main/java/io/hmit/modules/serviceOrder/dto/StaffFinishDTO.java
0 → 100644
View file @
447b86e6
package
io
.
hmit
.
modules
.
serviceOrder
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* @Description :
* @Author : Shen Yuanfeng
* @Date: 2021/3/12 8:31
*/
@Data
@ApiModel
(
value
=
"服务人员完成订单传值"
)
public
class
StaffFinishDTO
{
@ApiModelProperty
(
value
=
"订单所属的服务id"
)
private
Long
orderId
;
@ApiModelProperty
(
value
=
"描述服务内容"
)
private
String
content
;
@ApiModelProperty
(
value
=
"定位坐标"
)
private
String
location
;
@ApiModelProperty
(
value
=
"服务人员评论照片"
)
private
String
[]
images
;
@ApiModelProperty
(
value
=
"服务人员语音"
)
private
String
[]
voice
;
@ApiModelProperty
(
value
=
"角色id"
)
private
Long
roleId
;
}
hmit-api/src/main/java/io/hmit/modules/serviceOrder/entity/PensionOrderEntity.java
View file @
447b86e6
...
@@ -83,6 +83,10 @@ public class PensionOrderEntity extends BaseEntity {
...
@@ -83,6 +83,10 @@ public class PensionOrderEntity extends BaseEntity {
* 接单人电话
* 接单人电话
*/
*/
private
String
orderRecipientPhone
;
private
String
orderRecipientPhone
;
/**
* 服务内容描述
*/
private
String
content
;
/**
/**
* 实际金额
* 实际金额
*/
*/
...
...
hmit-api/src/main/java/io/hmit/modules/serviceOrder/service/PensionOrderDocumentService.java
View file @
447b86e6
...
@@ -4,6 +4,8 @@ import io.hmit.common.service.CrudService;
...
@@ -4,6 +4,8 @@ import io.hmit.common.service.CrudService;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity
;
import
java.util.List
;
/**
/**
* 订单及相关图片附件关联表
* 订单及相关图片附件关联表
*
*
...
@@ -12,4 +14,8 @@ import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity;
...
@@ -12,4 +14,8 @@ import io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity;
*/
*/
public
interface
PensionOrderDocumentService
extends
CrudService
<
PensionOrderDocumentEntity
,
PensionOrderDocumentDTO
>
{
public
interface
PensionOrderDocumentService
extends
CrudService
<
PensionOrderDocumentEntity
,
PensionOrderDocumentDTO
>
{
List
<
PensionOrderDocumentDTO
>
findByOrderIdAndRemark
(
Long
id
,
String
reamrk
);
PensionOrderDocumentDTO
findStaffVoiceId
(
Long
orderId
);
}
}
\ No newline at end of file
hmit-api/src/main/java/io/hmit/modules/serviceOrder/service/PensionOrderEvaluationService.java
View file @
447b86e6
...
@@ -12,4 +12,6 @@ import io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity;
...
@@ -12,4 +12,6 @@ import io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity;
*/
*/
public
interface
PensionOrderEvaluationService
extends
CrudService
<
PensionOrderEvaluationEntity
,
PensionOrderEvaluationDTO
>
{
public
interface
PensionOrderEvaluationService
extends
CrudService
<
PensionOrderEvaluationEntity
,
PensionOrderEvaluationDTO
>
{
PensionOrderEvaluationDTO
findByOrderId
(
Long
orderId
);
}
}
\ No newline at end of file
hmit-api/src/main/java/io/hmit/modules/serviceOrder/service/PensionOrderService.java
View file @
447b86e6
...
@@ -4,6 +4,7 @@ import io.hmit.common.page.PageData;
...
@@ -4,6 +4,7 @@ import io.hmit.common.page.PageData;
import
io.hmit.common.service.CrudService
;
import
io.hmit.common.service.CrudService
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDTO
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDTO
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO
;
import
io.hmit.modules.serviceOrder.dto.StaffFinishDTO
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderEntity
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -61,4 +62,6 @@ public interface PensionOrderService extends CrudService<PensionOrderEntity, Pen
...
@@ -61,4 +62,6 @@ public interface PensionOrderService extends CrudService<PensionOrderEntity, Pen
//老人、子女取消订单
//老人、子女取消订单
Boolean
elderFamilyCancel
(
Long
id
,
String
reason
);
Boolean
elderFamilyCancel
(
Long
id
,
String
reason
);
//服务人员完结订单
void
staffFinishedOrder
(
StaffFinishDTO
dto
);
}
}
hmit-api/src/main/java/io/hmit/modules/serviceOrder/service/impl/PensionOrderDocumentServiceImpl.java
View file @
447b86e6
...
@@ -7,8 +7,10 @@ import io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO;
...
@@ -7,8 +7,10 @@ import io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO;
import
io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity
;
import
io.hmit.modules.serviceOrder.service.PensionOrderDocumentService
;
import
io.hmit.modules.serviceOrder.service.PensionOrderDocumentService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
/**
/**
...
@@ -30,5 +32,16 @@ public class PensionOrderDocumentServiceImpl extends CrudServiceImpl<PensionOrde
...
@@ -30,5 +32,16 @@ public class PensionOrderDocumentServiceImpl extends CrudServiceImpl<PensionOrde
return
wrapper
;
return
wrapper
;
}
}
@Autowired
private
PensionOrderDocumentDao
dao
;
@Override
public
List
<
PensionOrderDocumentDTO
>
findByOrderIdAndRemark
(
Long
id
,
String
remark
)
{
return
dao
.
findByOrderIdAndRemark
(
id
,
remark
);
}
@Override
public
PensionOrderDocumentDTO
findStaffVoiceId
(
Long
orderId
)
{
return
dao
.
findStaffVoiceId
(
orderId
);
}
}
}
\ No newline at end of file
hmit-api/src/main/java/io/hmit/modules/serviceOrder/service/impl/PensionOrderEvaluationServiceImpl.java
View file @
447b86e6
...
@@ -7,6 +7,7 @@ import io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO;
...
@@ -7,6 +7,7 @@ import io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO;
import
io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderEvaluationEntity
;
import
io.hmit.modules.serviceOrder.service.PensionOrderEvaluationService
;
import
io.hmit.modules.serviceOrder.service.PensionOrderEvaluationService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -30,5 +31,11 @@ public class PensionOrderEvaluationServiceImpl extends CrudServiceImpl<PensionOr
...
@@ -30,5 +31,11 @@ public class PensionOrderEvaluationServiceImpl extends CrudServiceImpl<PensionOr
return
wrapper
;
return
wrapper
;
}
}
@Autowired
private
PensionOrderEvaluationDao
dao
;
@Override
public
PensionOrderEvaluationDTO
findByOrderId
(
Long
orderId
)
{
return
dao
.
findByOrderId
(
orderId
);
}
}
}
\ No newline at end of file
hmit-api/src/main/java/io/hmit/modules/serviceOrder/service/impl/PensionOrderServiceImpl.java
View file @
447b86e6
...
@@ -12,6 +12,7 @@ import io.hmit.modules.serviceOrder.dto.*;
...
@@ -12,6 +12,7 @@ import io.hmit.modules.serviceOrder.dto.*;
import
io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderDocumentEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderEntity
;
import
io.hmit.modules.serviceOrder.entity.PensionOrderEntity
;
import
io.hmit.modules.serviceOrder.service.*
;
import
io.hmit.modules.serviceOrder.service.*
;
import
io.hmit.service.PushMessage
;
import
io.hmit.service.UserService
;
import
io.hmit.service.UserService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -55,6 +56,9 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
...
@@ -55,6 +56,9 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
@Autowired
@Autowired
private
UserService
userService
;
private
UserService
userService
;
@Autowired
private
PushMessage
pushMessage
;
//查询全部订单
//查询全部订单
@Override
@Override
public
PageData
<
PensionOrderDTO
>
getAllOrderPage
(
Map
<
String
,
Object
>
params
,
Long
userId
)
{
public
PageData
<
PensionOrderDTO
>
getAllOrderPage
(
Map
<
String
,
Object
>
params
,
Long
userId
)
{
...
@@ -85,7 +89,8 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
...
@@ -85,7 +89,8 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
save
(
pensionOrderDTO
);
save
(
pensionOrderDTO
);
PensionOrderServiceDTO
orderServiceDTO
=
new
PensionOrderServiceDTO
().
assemblePensionOrderService
(
pensionOrderDTO
);
PensionOrderServiceDTO
orderServiceDTO
=
new
PensionOrderServiceDTO
().
assemblePensionOrderService
(
pensionOrderDTO
);
pensionOrderServiceService
.
save
(
orderServiceDTO
);
pensionOrderServiceService
.
save
(
orderServiceDTO
);
// pushMessage.sendWeChatMsg(pensionOrderDTO, userService.getUserByUserId(pensionOrderDTO.getCreator()).getOpenid());
// pushMessage.sendSMSMsg(pensionOrderDTO, userService.getUserByUserId(pensionOrderDTO.getCreator()).getOpenid());
}
}
@Override
@Override
...
@@ -176,7 +181,7 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
...
@@ -176,7 +181,7 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
}
}
}
else
if
(
status
==
1
){
//派单
}
else
if
(
status
==
1
){
//派单
Long
recipient_id
=
Long
.
parseLong
(
params
.
get
(
"recipient_id"
).
toString
());
Long
recipient_id
=
Long
.
parseLong
(
params
.
get
(
"recipient_id"
).
toString
());
if
(
pensionOrderEntity
.
getStatus
()
==
5
)
{
if
(
pensionOrderEntity
.
getStatus
()
==
5
||
pensionOrderEntity
.
getStatus
()
==
0
)
{
pensionOrderEntity
.
setStatus
(
1
);
pensionOrderEntity
.
setStatus
(
1
);
pensionOrderEntity
.
setStatusName
(
Constant
.
OrderStatus
.
ORDER
.
getMessage
());
pensionOrderEntity
.
setStatusName
(
Constant
.
OrderStatus
.
ORDER
.
getMessage
());
UserEntity
recipient
=
userService
.
getUserByUserId
(
recipient_id
);
UserEntity
recipient
=
userService
.
getUserByUserId
(
recipient_id
);
...
@@ -214,6 +219,22 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
...
@@ -214,6 +219,22 @@ public class PensionOrderServiceImpl extends CrudServiceImpl<PensionOrderDao, Pe
return
false
;
return
false
;
}
}
@Override
public
void
staffFinishedOrder
(
StaffFinishDTO
dto
)
{
if
(
null
!=
dto
.
getImages
())
{
saveFilesToDB
(
dto
.
getOrderId
(),
dto
.
getImages
(),
dto
.
getRoleId
());
}
if
(
null
!=
dto
.
getVoice
())
{
saveFilesToDB
(
dto
.
getOrderId
(),
dto
.
getVoice
(),
dto
.
getRoleId
());
}
PensionOrderEntity
pensionOrderEntity
=
pensionOrderDao
.
selectById
(
dto
.
getOrderId
());
pensionOrderEntity
.
setStatus
(
4
);
pensionOrderEntity
.
setStatusName
(
Constant
.
OrderStatus
.
WAIT_EVALUATE
.
getMessage
());
pensionOrderEntity
.
setContent
(
dto
.
getContent
());
pensionOrderEntity
.
setLocation
(
dto
.
getLocation
());
update
(
ConvertUtils
.
sourceToTarget
(
pensionOrderEntity
,
PensionOrderDTO
.
class
));
}
//对List进行手动分页
//对List进行手动分页
private
List
<
PensionOrderDTO
>
getSubList
(
Map
<
String
,
Object
>
params
,
List
<
PensionOrderDTO
>
list
){
private
List
<
PensionOrderDTO
>
getSubList
(
Map
<
String
,
Object
>
params
,
List
<
PensionOrderDTO
>
list
){
Integer
pageNum
=
Integer
.
parseInt
(
params
.
get
(
"page"
).
toString
());
Integer
pageNum
=
Integer
.
parseInt
(
params
.
get
(
"page"
).
toString
());
...
...
hmit-api/src/main/java/io/hmit/service/PushMessage.java
0 → 100644
View file @
447b86e6
package
io
.
hmit
.
service
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDTO
;
public
interface
PushMessage
{
void
sendWeChatMsg
(
PensionOrderDTO
pensionOrderDTO
,
String
openId
);
void
sendSMSMsg
(
PensionOrderDTO
pensionOrderDTO
,
String
receiver
);
}
hmit-api/src/main/java/io/hmit/service/SmsService.java
0 → 100644
View file @
447b86e6
package
io
.
hmit
.
service
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.codec.binary.Hex
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.http.HttpHeaders
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.client.methods.RequestBuilder
;
import
org.apache.http.client.utils.URLEncodedUtils
;
import
org.apache.http.conn.ssl.NoopHostnameVerifier
;
import
org.apache.http.entity.StringEntity
;
import
org.apache.http.impl.client.CloseableHttpClient
;
import
org.apache.http.impl.client.HttpClients
;
import
org.apache.http.message.BasicNameValuePair
;
import
org.apache.http.NameValuePair
;
import
org.apache.http.ssl.SSLContextBuilder
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.*
;
import
java.nio.charset.Charset
;
import
java.text.SimpleDateFormat
;
@Service
public
class
SmsService
{
// public static void main(String[] args) throws Exception {
// SmsService s = new SmsService();
// s.sendSms();
// }
//无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值
private
static
final
String
WSSE_HEADER_FORMAT
=
"UsernameToken Username=\"%s\",PasswordDigest=\"%s\",Nonce=\"%s\",Created=\"%s\""
;
//无需修改,用于格式化鉴权头域,给"Authorization"参数赋值
private
static
final
String
AUTH_HEADER_VALUE
=
"WSSE realm=\"SDP\",profile=\"UsernameToken\",type=\"Appkey\""
;
public
void
sendSms
(
Map
<
String
,
Object
>
map
)
throws
Exception
{
String
url
=
"https://rtcsms.cn-north-1.myhuaweicloud.com:10743/sms/batchSendSms/v1"
;
//APP接入地址+接口访问URI
String
appKey
=
"l5mVbx22mcBH6ZNJ1362T6eI1Xp5"
;
//APP_Key
String
appSecret
=
"6CTVWB8EYzOWvvyD9eiWzYo2dWiE"
;
//APP_Secret
String
sender
=
"8820052030944"
;
//国内短信签名通道号或国际/港澳台短信通道号
String
templateId
=
map
.
get
(
"tempId"
).
toString
();
//模板ID
String
signature
=
"浙江汇民网络技术"
;
//签名名称
String
receiver
=
map
.
get
(
"num"
).
toString
();
String
statusCallBack
=
""
;
System
.
out
.
println
(
map
.
get
(
"tempParams"
).
toString
());
String
templateParas
=
map
.
get
(
"tempParams"
).
toString
();
//请求Body,不携带签名名称时,signature请填null
String
body
=
buildRequestBody
(
sender
,
receiver
,
templateId
,
templateParas
,
statusCallBack
,
signature
);
if
(
null
==
body
||
body
.
isEmpty
())
{
System
.
out
.
println
(
"body is null."
);
return
;
}
//请求Headers中的X-WSSE参数值
String
wsseHeader
=
buildWsseHeader
(
appKey
,
appSecret
);
if
(
null
==
wsseHeader
||
wsseHeader
.
isEmpty
())
{
System
.
out
.
println
(
"wsse header is null."
);
return
;
}
//如果JDK版本低于1.8,可使用如下代码
//为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
//CloseableHttpClient client = HttpClients.custom()
// .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {
// @Override
// public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
// return true;
// }
// }).build()).setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE).build();
//如果JDK版本是1.8,可使用如下代码
//为防止因HTTPS证书认证失败造成API调用失败,需要先忽略证书信任问题
CloseableHttpClient
client
=
HttpClients
.
custom
()
.
setSSLContext
(
new
SSLContextBuilder
().
loadTrustMaterial
(
null
,
(
x509CertChain
,
authType
)
->
true
).
build
())
.
setSSLHostnameVerifier
(
NoopHostnameVerifier
.
INSTANCE
)
.
build
();
HttpResponse
response
=
client
.
execute
(
RequestBuilder
.
create
(
"POST"
)
//请求方法POST
.
setUri
(
url
)
.
addHeader
(
HttpHeaders
.
CONTENT_TYPE
,
"application/x-www-form-urlencoded"
)
.
addHeader
(
HttpHeaders
.
AUTHORIZATION
,
AUTH_HEADER_VALUE
)
.
addHeader
(
"X-WSSE"
,
wsseHeader
)
.
setEntity
(
new
StringEntity
(
body
)).
build
());
System
.
out
.
println
(
response
.
toString
());
//打印响应头域信息
System
.
out
.
println
(
EntityUtils
.
toString
(
response
.
getEntity
()));
//打印响应消息实体
}
public
String
buildRequestBody
(
String
sender
,
String
receiver
,
String
templateId
,
String
templateParas
,
String
statusCallbackUrl
,
String
signature
){
if
(
null
==
sender
||
null
==
receiver
||
null
==
templateId
||
sender
.
isEmpty
()
||
receiver
.
isEmpty
()
||
templateId
.
isEmpty
())
{
System
.
out
.
println
(
"buildRequestBody(): sender, receiver or templateId is null."
);
return
null
;
}
List
<
NameValuePair
>
keyValues
=
new
ArrayList
<
NameValuePair
>();
keyValues
.
add
(
new
BasicNameValuePair
(
"from"
,
sender
));
keyValues
.
add
(
new
BasicNameValuePair
(
"to"
,
receiver
));
keyValues
.
add
(
new
BasicNameValuePair
(
"templateId"
,
templateId
));
if
(
null
!=
templateParas
&&
!
templateParas
.
isEmpty
())
{
keyValues
.
add
(
new
BasicNameValuePair
(
"templateParas"
,
templateParas
));
}
if
(
null
!=
statusCallbackUrl
&&
!
statusCallbackUrl
.
isEmpty
())
{
keyValues
.
add
(
new
BasicNameValuePair
(
"statusCallback"
,
statusCallbackUrl
));
}
if
(
null
!=
signature
&&
!
signature
.
isEmpty
())
{
keyValues
.
add
(
new
BasicNameValuePair
(
"signature"
,
signature
));
}
return
URLEncodedUtils
.
format
(
keyValues
,
Charset
.
forName
(
"UTF-8"
));
}
public
String
buildWsseHeader
(
String
appKey
,
String
appSecret
)
{
if
(
null
==
appKey
||
null
==
appSecret
||
appKey
.
isEmpty
()
||
appSecret
.
isEmpty
())
{
System
.
out
.
println
(
"buildWsseHeader(): appKey or appSecret is null."
);
return
null
;
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd'T'HH:mm:ss'Z'"
);
String
time
=
sdf
.
format
(
new
Date
());
//Created
String
nonce
=
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
);
//Nonce
byte
[]
passwordDigest
=
DigestUtils
.
sha256
(
nonce
+
time
+
appSecret
);
String
hexDigest
=
Hex
.
encodeHexString
(
passwordDigest
);
//如果JDK版本是1.8,请加载原生Base64类,并使用如下代码
String
passwordDigestBase64Str
=
Base64
.
getEncoder
().
encodeToString
(
hexDigest
.
getBytes
());
//PasswordDigest
//如果JDK版本低于1.8,请加载三方库提供Base64类,并使用如下代码
//String passwordDigestBase64Str = Base64.encodeBase64String(hexDigest.getBytes(Charset.forName("utf-8"))); //PasswordDigest
//若passwordDigestBase64Str中包含换行符,请执行如下代码进行修正
//passwordDigestBase64Str = passwordDigestBase64Str.replaceAll("[\\s*\t\n\r]", "");
return
String
.
format
(
WSSE_HEADER_FORMAT
,
appKey
,
passwordDigestBase64Str
,
nonce
,
time
);
}
}
hmit-api/src/main/java/io/hmit/service/impl/PushMessageImpl.java
0 → 100644
View file @
447b86e6
package
io
.
hmit
.
service
.
impl
;
import
io.hmit.config.WeChatMpConfig
;
import
io.hmit.config.WechatAccountConfig
;
import
io.hmit.modules.serviceOrder.dto.PensionOrderDTO
;
import
io.hmit.service.PushMessage
;
import
io.hmit.service.SmsService
;
import
lombok.extern.slf4j.Slf4j
;
import
me.chanjar.weixin.common.exception.WxErrorException
;
import
me.chanjar.weixin.mp.api.WxMpService
;
import
me.chanjar.weixin.mp.bean.template.WxMpTemplateData
;
import
me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.text.SimpleDateFormat
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @Description :
* @Author : Shen Yuanfeng
* @Date: 2021/3/12 14:40
*/
@Slf4j
@Service
public
class
PushMessageImpl
implements
PushMessage
{
@Autowired
private
WxMpService
wxMpService
;
@Autowired
private
WechatAccountConfig
wechatAccountConfig
;
@Autowired
private
SmsService
smsService
;
@Override
public
void
sendWeChatMsg
(
PensionOrderDTO
pensionOrderDTO
,
String
openId
)
{
WxMpTemplateMessage
templateMessage
=
new
WxMpTemplateMessage
();
templateMessage
.
setTemplateId
(
wechatAccountConfig
.
getTemplateId
());
templateMessage
.
setToUser
(
openId
);
List
<
WxMpTemplateData
>
data
=
Arrays
.
asList
(
new
WxMpTemplateData
(
"first"
,
"订单预约成功!"
),
new
WxMpTemplateData
(
"keyword1"
,
pensionOrderDTO
.
getServiceName
()),
new
WxMpTemplateData
(
"keyword2"
,
pensionOrderDTO
.
getAppointmentTime
().
toString
()),
new
WxMpTemplateData
(
"keyword3"
,
pensionOrderDTO
.
getStatusName
())
);
templateMessage
.
setData
(
data
);
try
{
wxMpService
.
getTemplateMsgService
().
sendTemplateMsg
(
templateMessage
);
}
catch
(
WxErrorException
e
){
log
.
error
(
"【微信模板消息】发送失败,{}"
,
e
);
}
}
@Override
public
void
sendSMSMsg
(
PensionOrderDTO
pensionOrderDTO
,
String
receiver
)
{
try
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
sdfYMD
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
SimpleDateFormat
sdfHms
=
new
SimpleDateFormat
(
"HH:mm:ss"
);
String
ymd
=
sdfYMD
.
format
(
pensionOrderDTO
.
getAppointmentTime
());
String
hms
=
sdfHms
.
format
(
pensionOrderDTO
.
getAppointmentTime
());
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"tempId"
,
"9ba5e502b15d4fa2b52d287da00b7735"
);
params
.
put
(
"num"
,
"18758806780"
);
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"["
);
sb
.
append
(
"\""
+
"8"
+
"\","
);
sb
.
append
(
"\""
+
ymd
+
"\","
);
sb
.
append
(
"\""
+
hms
+
"\","
);
sb
.
append
(
"\""
+
pensionOrderDTO
.
getServiceName
()+
"\","
);
sb
.
append
(
"\""
+
pensionOrderDTO
.
getAppointmentPhone
()+
"\"]"
);
params
.
put
(
"tempParams"
,
sb
.
toString
());
smsService
.
sendSms
(
params
);
}
catch
(
Exception
ignored
){}
}
}
hmit-api/src/main/resources/application.yml
View file @
447b86e6
...
@@ -38,11 +38,11 @@ spring:
...
@@ -38,11 +38,11 @@ spring:
max-wait
:
-1ms
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait
:
-1ms
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle
:
10
# 连接池中的最大空闲连接
max-idle
:
10
# 连接池中的最大空闲连接
min-idle
:
5
# 连接池中的最小空闲连接
min-idle
:
5
# 连接池中的最小空闲连接
#
mvc:
mvc
:
#
static-path-pattern: /static/**
static-path-pattern
:
/static/**
#
resources:
resources
:
#
static-locations: file:${QR.download-path},classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/
static-locations
:
file:${QR.download-path},classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/
#
#静态资源对外暴露的访问路径
#静态资源对外暴露的访问路径
hmit
:
hmit
:
redis
:
redis
:
...
@@ -71,5 +71,10 @@ mybatis-plus:
...
@@ -71,5 +71,10 @@ mybatis-plus:
call-setters-on-nulls
:
true
call-setters-on-nulls
:
true
jdbc-type-for-null
:
'
null'
jdbc-type-for-null
:
'
null'
QR
:
QR
:
# download-path: /home/resourse/bsqzc/ D:/123/ /home/websoft/java_jar/bl_workorder/myfile/
# download-path: D:/123/ /home/websoft/java_jar/pension_service/myfile/
download-path
:
D:/123/
download-path
:
/home/websoft/java_jar/pension_service/myfile/
\ No newline at end of file
wechat
:
mpAppId
:
wxfa2386639794d998
mpAppSecret
:
8f624f83c9585baa9d1697e24fdffd81
templateId
:
GsGydVGl-vzOv5aA0LaIdA-FcMM88TEpe37U-lZ6HJ8
\ No newline at end of file
hmit-api/src/main/resources/mapper/serviceOrder/PensionOrderDao.xml
View file @
447b86e6
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date
po.creator, po.creator_name, po.creator_tel, po.create_date
FROM pension_order po
FROM pension_order po
WHERE po.id = #{orderId} AND po.status = #{status}
WHERE po.id = #{orderId} AND po.status = #{status}
...
@@ -45,7 +45,7 @@
...
@@ -45,7 +45,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date,
po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon
ps.icon
FROM pension_order po, pension_service ps
FROM pension_order po, pension_service ps
...
@@ -71,7 +71,7 @@
...
@@ -71,7 +71,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date,
po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon
ps.icon
FROM pension_order po, pension_service ps
FROM pension_order po, pension_service ps
...
@@ -88,7 +88,7 @@
...
@@ -88,7 +88,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date,
po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon
ps.icon
FROM pension_order po, pension_service ps
FROM pension_order po, pension_service ps
...
@@ -99,7 +99,7 @@
...
@@ -99,7 +99,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date,
po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon
ps.icon
FROM pension_order po, pension_service ps
FROM pension_order po, pension_service ps
...
@@ -110,7 +110,7 @@
...
@@ -110,7 +110,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date,
po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon
ps.icon
FROM pension_order po, pension_service ps
FROM pension_order po, pension_service ps
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date,
po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon
ps.icon
FROM pension_order po, pension_service ps, tb_user tu
FROM pension_order po, pension_service ps, tb_user tu
...
@@ -135,7 +135,7 @@
...
@@ -135,7 +135,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date,
po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon
ps.icon
FROM pension_order po, pension_service ps, tb_user tu
FROM pension_order po, pension_service ps, tb_user tu
...
@@ -147,7 +147,7 @@
...
@@ -147,7 +147,7 @@
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
SELECT po.id, po.order_num, po.status, po.status_name, po.address, po.service_id, po.service_name,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.appointment_person, po.appointment_phone, po.appointment_time, po.remark, po.location,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.order_recipient_id, po.order_recipient_name, po.order_recipient_time, po.order_recipient_phone,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
po.act_price, po.community_name, po.community_id, po.dept_id, po.cancel_reason,
content,
po.creator, po.creator_name, po.creator_tel, po.create_date,
po.creator, po.creator_name, po.creator_tel, po.create_date,
ps.icon
ps.icon
FROM pension_order po, pension_service ps
FROM pension_order po, pension_service ps
...
...
hmit-api/src/main/resources/mapper/serviceOrder/PensionOrderDocumentDao.xml
View file @
447b86e6
...
@@ -16,5 +16,14 @@
...
@@ -16,5 +16,14 @@
<result
property=
"updateDate"
column=
"update_date"
/>
<result
property=
"updateDate"
column=
"update_date"
/>
</resultMap>
</resultMap>
<select
id=
"findByOrderIdAndRemark"
resultType=
"io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO"
>
SELECT * FROM pension_order_document
WHERE order_id = #{orderId} AND remark = #{remark}
</select>
<select
id=
"findStaffVoiceId"
resultType=
"io.hmit.modules.serviceOrder.dto.PensionOrderDocumentDTO"
>
SELECT * FROM pension_order_document
WHERE order_id = #{orderId} AND remark = '2'
</select>
</mapper>
</mapper>
\ No newline at end of file
hmit-api/src/main/resources/mapper/serviceOrder/PensionOrderEvaluationDao.xml
View file @
447b86e6
...
@@ -14,5 +14,9 @@
...
@@ -14,5 +14,9 @@
<result
property=
"createDate"
column=
"create_date"
/>
<result
property=
"createDate"
column=
"create_date"
/>
</resultMap>
</resultMap>
<select
id=
"findByOrderId"
resultType=
"io.hmit.modules.serviceOrder.dto.PensionOrderEvaluationDTO"
>
SELECT * FROM pension_order_evaluation
WHERE order_id = #{orderId} limit 1
</select>
</mapper>
</mapper>
pom.xml
View file @
447b86e6
...
@@ -195,6 +195,11 @@
...
@@ -195,6 +195,11 @@
<artifactId>
lombok
</artifactId>
<artifactId>
lombok
</artifactId>
<version>
${lombok.version}
</version>
<version>
${lombok.version}
</version>
</dependency>
</dependency>
<dependency>
<groupId>
com.github.binarywang
</groupId>
<artifactId>
weixin-java-mp
</artifactId>
<version>
2.7.0
</version>
</dependency>
</dependencies>
</dependencies>
<!-- 阿里云maven仓库 -->
<!-- 阿里云maven仓库 -->
...
...
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