Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
oms-ci-test
Commits
90d4209e
提交
90d4209e
authored
9月 08, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
fe945ce1
310b015d
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
51 个修改的文件
包含
2172 行增加
和
28 行删除
+2172
-28
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+1
-1
PmsClient.java
src/main/java/com/mmc/oms/client/PmsClient.java
+21
-0
UavOrderProportion.java
.../java/com/mmc/oms/common/constant/UavOrderProportion.java
+11
-0
NotRepeatSubmitConfig.java
...c/oms/controller/demand/commit/NotRepeatSubmitConfig.java
+62
-16
UavOrderController.java
...n/java/com/mmc/oms/controller/uav/UavOrderController.java
+129
-0
UavOrderDao.java
src/main/java/com/mmc/oms/dao/uav/UavOrderDao.java
+43
-0
UavOrderExpressDao.java
src/main/java/com/mmc/oms/dao/uav/UavOrderExpressDao.java
+17
-0
OrderLevelEnum.java
src/main/java/com/mmc/oms/entity/demand/OrderLevelEnum.java
+71
-0
ServiceRequirementsDO.java
...java/com/mmc/oms/entity/demand/ServiceRequirementsDO.java
+134
-0
UavOrderDO.java
src/main/java/com/mmc/oms/entity/uav/UavOrderDO.java
+84
-0
UavOrderExpressDO.java
src/main/java/com/mmc/oms/entity/uav/UavOrderExpressDO.java
+60
-0
UavOrderPayDO.java
src/main/java/com/mmc/oms/entity/uav/UavOrderPayDO.java
+41
-0
UavOrderSkuDO.java
src/main/java/com/mmc/oms/entity/uav/UavOrderSkuDO.java
+53
-0
UavOrderStatusDO.java
src/main/java/com/mmc/oms/entity/uav/UavOrderStatusDO.java
+28
-0
UavOrderStatus.java
src/main/java/com/mmc/oms/enums/UavOrderStatus.java
+40
-0
PaymentAppApi.java
src/main/java/com/mmc/oms/feign/PaymentAppApi.java
+19
-0
UserAppApi.java
src/main/java/com/mmc/oms/feign/UserAppApi.java
+12
-2
PaymentAppApiHystrix.java
.../java/com/mmc/oms/feign/hystrix/PaymentAppApiHystrix.java
+21
-0
UserAppApiHystrix.java
...ain/java/com/mmc/oms/feign/hystrix/UserAppApiHystrix.java
+21
-0
PayWalletDTO.java
src/main/java/com/mmc/oms/model/dto/uav/PayWalletDTO.java
+83
-0
UavOrderDTO.java
src/main/java/com/mmc/oms/model/dto/uav/UavOrderDTO.java
+80
-0
UavOrderExpressDTO.java
...in/java/com/mmc/oms/model/dto/uav/UavOrderExpressDTO.java
+45
-0
UavOrderPayDTO.java
src/main/java/com/mmc/oms/model/dto/uav/UavOrderPayDTO.java
+43
-0
UavOrderSkuDTO.java
src/main/java/com/mmc/oms/model/dto/uav/UavOrderSkuDTO.java
+47
-0
UavOrderStatusDTO.java
...ain/java/com/mmc/oms/model/dto/uav/UavOrderStatusDTO.java
+26
-0
BaseAccountDTO.java
src/main/java/com/mmc/oms/model/dto/user/BaseAccountDTO.java
+8
-3
RoleInfoDTO.java
src/main/java/com/mmc/oms/model/dto/user/RoleInfoDTO.java
+1
-1
UavOrderQO.java
src/main/java/com/mmc/oms/model/qo/uav/UavOrderQO.java
+57
-0
ApplyRefundVO.java
src/main/java/com/mmc/oms/model/vo/ApplyRefundVO.java
+26
-0
CompanyInfoVO.java
src/main/java/com/mmc/oms/model/vo/CompanyInfoVO.java
+81
-0
CommonPaymentVO.java
...ain/java/com/mmc/oms/model/vo/demand/CommonPaymentVO.java
+2
-0
AddUavOrderVO.java
src/main/java/com/mmc/oms/model/vo/uav/AddUavOrderVO.java
+49
-0
GoodsResourcesVO.java
src/main/java/com/mmc/oms/model/vo/uav/GoodsResourcesVO.java
+25
-0
MallGoodsVO.java
src/main/java/com/mmc/oms/model/vo/uav/MallGoodsVO.java
+81
-0
PayUavWalletVO.java
src/main/java/com/mmc/oms/model/vo/uav/PayUavWalletVO.java
+37
-0
PriceStockVO.java
src/main/java/com/mmc/oms/model/vo/uav/PriceStockVO.java
+45
-0
SpecAttrVO.java
src/main/java/com/mmc/oms/model/vo/uav/SpecAttrVO.java
+27
-0
UavOrderExpressVO.java
...main/java/com/mmc/oms/model/vo/uav/UavOrderExpressVO.java
+37
-0
UavOrderPayVO.java
src/main/java/com/mmc/oms/model/vo/uav/UavOrderPayVO.java
+33
-0
UavOrderRemarkVO.java
src/main/java/com/mmc/oms/model/vo/uav/UavOrderRemarkVO.java
+29
-0
UavOrderSkuVO.java
src/main/java/com/mmc/oms/model/vo/uav/UavOrderSkuVO.java
+40
-0
RabbitmqConstant.java
src/main/java/com/mmc/oms/mq/constant/RabbitmqConstant.java
+2
-2
MqConsumer.java
src/main/java/com/mmc/oms/mq/listener/MqConsumer.java
+13
-0
DemandReleaseOrderServiceImpl.java
...ms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
+68
-2
UavOrderService.java
src/main/java/com/mmc/oms/service/uav/UavOrderService.java
+46
-0
UavOrderServiceImpl.java
...ava/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
+0
-0
application-dev.yml
src/main/resources/application-dev.yml
+3
-0
application-local.yml
src/main/resources/application-local.yml
+4
-1
application-prod.yml
src/main/resources/application-prod.yml
+2
-0
UavOrderDao.xml
src/main/resources/mapper/uav/UavOrderDao.xml
+193
-0
UavOrderExpressDao.xml
src/main/resources/mapper/uav/UavOrderExpressDao.xml
+71
-0
没有找到文件。
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
90d4209e
...
...
@@ -14,4 +14,4 @@ patches:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms
newTag
:
03375f956fab10f958d6dd0772f3d0b275fca3f8
newTag
:
8118519f46d175f9aa351561f564c6ffc5243432
src/main/java/com/mmc/oms/client/PmsClient.java
浏览文件 @
90d4209e
...
...
@@ -2,12 +2,15 @@ package com.mmc.oms.client;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.mmc.oms.common.ResultEnum
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.model.dto.mall.*
;
import
com.mmc.oms.model.dto.service.ServiceDTO
;
import
com.mmc.oms.model.qo.mall.MallOrderGoodsInfoQO
;
import
com.mmc.oms.model.qo.mall.ProductSpecPriceQO
;
import
com.mmc.oms.model.vo.uav.MallGoodsVO
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiParam
;
import
io.swagger.annotations.ApiResponse
;
...
...
@@ -126,4 +129,22 @@ public class PmsClient {
List
<
ServiceDTO
>
serviceDTOS
=
JSONArray
.
parseArray
(
responseEntity
.
getBody
(),
ServiceDTO
.
class
);
return
serviceDTOS
;
}
public
MallGoodsVO
mallGoodsDetails
(
Integer
id
)
throws
JsonProcessingException
{
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
HttpEntity
<
String
>
entity
=
new
HttpEntity
<>(
null
,
headers
);
ResponseEntity
<
String
>
responseEntity
=
restTemplate
.
exchange
(
pmsAppUri
+
"/app/goods/appMallGoodsDetails"
+
"?id="
+
id
,
HttpMethod
.
GET
,
entity
,
String
.
class
);
if
(
StringUtils
.
isBlank
(
responseEntity
.
getBody
()))
{
return
null
;
}
ResultBody
resultBody
=
JSONObject
.
parseObject
(
responseEntity
.
getBody
(),
ResultBody
.
class
);
if
(
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
// create ObjectMapper instance
ObjectMapper
objectMapper
=
new
ObjectMapper
();
MallGoodsVO
mallGoodsVO
=
objectMapper
.
readValue
(
resultBody
.
getResult
().
toString
(),
MallGoodsVO
.
class
);
return
mallGoodsVO
;
}
return
null
;
}
}
src/main/java/com/mmc/oms/common/constant/UavOrderProportion.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
common
.
constant
;
import
java.math.BigDecimal
;
/**
* @author: zj
* @Date: 2023/9/8 14:17
*/
public
interface
UavOrderProportion
{
public
static
final
BigDecimal
PROPORTION
=
BigDecimal
.
valueOf
(
5
);
}
src/main/java/com/mmc/oms/controller/demand/commit/NotRepeatSubmitConfig.java
浏览文件 @
90d4209e
...
...
@@ -6,6 +6,7 @@ import com.mmc.oms.controller.BaseController;
import
com.mmc.oms.dao.demand.DemandReleaseOrderDao
;
import
com.mmc.oms.entity.demand.GetOrderNumberDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDTO
;
import
com.mmc.oms.entity.demand.ServiceRequirementsDO
;
import
com.mmc.oms.model.vo.demand.CommonPaymentVO
;
import
com.mmc.oms.model.vo.demand.UserPayInfoVO
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -57,6 +58,10 @@ public class NotRepeatSubmitConfig extends BaseController {
@Value
(
"${payment.url}"
)
private
String
paymentApp
;
@Value
(
"${ims.url}"
)
private
String
imsApp
;
@Pointcut
(
"@within(notRepeatSubmit)||@annotation(notRepeatSubmit)"
)
public
void
pointcut
(
NotRepeatSubmit
notRepeatSubmit
)
{
...
...
@@ -74,18 +79,6 @@ public class NotRepeatSubmitConfig extends BaseController {
HttpServletRequest
request
=
attributes
.
getRequest
();
Integer
userAccountId
=
this
.
getCurrentAccount
(
request
).
getUserAccountId
();
String
accountUriLockKey
=
userAccountId
+
"-"
+
request
.
getServletPath
();
// 设置锁定资源名称,accountUriLock改为userid+uri作为标识,作为测试写死
// String accountUriLockKey = "accountUriLock";
RLock
accountUriLock
=
redissonClient
.
getLock
(
accountUriLockKey
);
boolean
tryLock
;
MethodSignature
signature
=
(
MethodSignature
)
proceedingJoinPoint
.
getSignature
();
Method
method
=
signature
.
getMethod
();
String
name
=
method
.
getDeclaringClass
().
getName
();
String
[]
parameterNames
=
signature
.
getParameterNames
();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Object
[]
values
=
proceedingJoinPoint
.
getArgs
();
String
[]
names
=
((
CodeSignature
)
proceedingJoinPoint
.
getSignature
()).
getParameterNames
();
...
...
@@ -94,24 +87,59 @@ public class NotRepeatSubmitConfig extends BaseController {
}
log
.
info
(
map
+
""
);
CommonPaymentVO
commonPaymentsVO
=
(
CommonPaymentVO
)
map
.
get
(
"commonPaymentVO"
);
String
json1
=
stringRedisTemplate
.
opsForValue
().
get
(
commonPaymentsVO
.
getOrderNumber
());
String
accountUriLockKey
=
null
;
Integer
requirementsInfoId
=
null
;
if
(
json1
!=
null
){
GetOrderNumberDTO
getOrderNumberDTO1
=
JSONObject
.
parseObject
(
json1
,
GetOrderNumberDTO
.
class
);
requirementsInfoId
=
getOrderNumberDTO1
.
getRequirementsInfoId
();
ServiceRequirementsDO
rep
=
repertory
(
requirementsInfoId
,
request
);
Integer
repertory2
=
rep
.
getRepertory
();
if
(
repertory2
!=
null
&&
repertory2
<=
0
){
return
ResultBody
.
error
(
"需求已被人抢走"
);
}
if
(
requirementsInfoId
!=
null
&&
repertory2
!=
0
){
accountUriLockKey
=
requirementsInfoId
+
repertory2
+
"-"
+
request
.
getServletPath
();
}
}
if
(
requirementsInfoId
!=
null
){
accountUriLockKey
=
requirementsInfoId
+
"-"
+
request
.
getServletPath
();
}
else
{
accountUriLockKey
=
userAccountId
+
"-"
+
request
.
getServletPath
();
}
// 设置锁定资源名称,accountUriLock改为userid+uri作为标识,作为测试写死
// String accountUriLockKey = "accountUriLock";
RLock
accountUriLock
=
redissonClient
.
getLock
(
accountUriLockKey
);
boolean
tryLock
;
MethodSignature
signature
=
(
MethodSignature
)
proceedingJoinPoint
.
getSignature
();
Method
method
=
signature
.
getMethod
();
String
name
=
method
.
getDeclaringClass
().
getName
();
String
[]
parameterNames
=
signature
.
getParameterNames
();
//尝试获取分布式锁
//-1为永久 leaseTime 最多等待几秒 上锁以后leaseTime秒自动解锁
tryLock
=
accountUriLock
.
tryLock
(-
1
,
leaseTime
,
TimeUnit
.
MILLISECONDS
);
log
.
info
(
"tryLock:"
+
tryLock
);
if
(
tryLock
)
{
try
{
String
orderNumber
=
commonPaymentsVO
.
getOrderNumber
();
if
(
requirementsInfoId
!=
null
){
ServiceRequirementsDO
repertory
=
repertory
(
requirementsInfoId
,
request
);
Integer
repertory1
=
repertory
.
getRepertory
();
if
(
repertory1
!=
null
&&
repertory1
<=
0
){
return
ResultBody
.
error
(
"需求已被人抢走"
);
}
}
String
orderNumber
=
commonPaymentsVO
.
getOrderNumber
();
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
orderNumber
);
GetOrderNumberDTO
getOrderNumberDTO
=
JSONObject
.
parseObject
(
json
,
GetOrderNumberDTO
.
class
);
if
(
getOrderNumberDTO
!=
null
){
if
(
json
!=
null
){
GetOrderNumberDTO
getOrderNumberDTO
=
JSONObject
.
parseObject
(
json
,
GetOrderNumberDTO
.
class
);
GetOrderNumberDO
getOrderNumberDO
=
new
GetOrderNumberDO
(
getOrderNumberDTO
);
if
(
getOrderNumberDTO
.
getRequirementsInfoId
()!=
null
){
String
orderNumber1
=
releaseOrderDao
.
getOrderNumber
(
getOrderNumberDO
.
getRequirementsInfoId
());
if
(
orderNumber1
!=
null
){
UserPayInfoVO
userPayInfoVO
=
queryUserPayInfo
(
orderNumber1
,
request
);
if
(!
userPayInfoVO
.
getTradeState
().
equals
(
"SUCCESS"
)){
releaseOrderDao
.
getDelete
(
getOrderNumberDO
.
getRequirementsInfoId
());
releaseOrderDao
.
getDelete
(
getOrderNumberDO
.
getRequirementsInfoId
());
}
}
int
i
=
releaseOrderDao
.
selectOrderNumberDO
(
getOrderNumberDO
.
getRequirementsInfoId
());
...
...
@@ -156,5 +184,23 @@ public class NotRepeatSubmitConfig extends BaseController {
return
body
;
}
/**
* 通过订单编号查看是否支付成功
*
* @param requirementsInfoId
* @return
*/
public
ServiceRequirementsDO
repertory
(
Integer
requirementsInfoId
,
HttpServletRequest
request
)
{
String
token
=
request
.
getHeader
(
"token"
);
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
headers
.
add
(
"token"
,
token
);
HttpEntity
<
String
>
entity
=
new
HttpEntity
<>(
JSONObject
.
toJSONString
(
requirementsInfoId
),
headers
);
ResponseEntity
<
ServiceRequirementsDO
>
exchange
=
restTemplate
.
exchange
(
imsApp
+
"requirements/repertory?requirementsInfoId="
+
requirementsInfoId
,
HttpMethod
.
GET
,
entity
,
ServiceRequirementsDO
.
class
);
ServiceRequirementsDO
body
=
exchange
.
getBody
();
return
body
;
}
}
src/main/java/com/mmc/oms/controller/uav/UavOrderController.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
controller
.
uav
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.controller.BaseController
;
import
com.mmc.oms.model.dto.uav.UavOrderDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderStatusDTO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.uav.AddUavOrderVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderPayVO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author: zj
* @Date: 2023/9/4 13:29
*/
@Api
(
tags
=
{
"最新版-订单接口"
})
@RestController
@RequestMapping
(
"/uav-order/"
)
public
class
UavOrderController
extends
BaseController
{
@Autowired
private
UavOrderService
uavOrderService
;
@ApiOperation
(
value
=
"提交订单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UavOrderDTO
.
class
)})
@PostMapping
(
"addOrder"
)
public
ResultBody
<
UavOrderDTO
>
addOrder
(
@RequestBody
AddUavOrderVO
param
,
HttpServletRequest
request
)
{
return
uavOrderService
.
addOrder
(
param
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"订单详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UavOrderDTO
.
class
)})
@GetMapping
(
"detail"
)
public
ResultBody
<
UavOrderDTO
>
detail
(
@RequestParam
Integer
id
)
throws
Exception
{
return
uavOrderService
.
detail
(
id
);
}
@ApiOperation
(
value
=
"关闭"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"close"
)
public
ResultBody
close
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
{
return
uavOrderService
.
close
(
id
,
this
.
getCurrentAccount
(
request
).
getToken
());
}
@ApiOperation
(
value
=
"后台订单列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UavOrderDTO
.
class
)})
@PostMapping
(
"list"
)
public
ResultBody
<
UavOrderDTO
>
list
(
@RequestBody
UavOrderQO
uavOrderQO
,
HttpServletRequest
request
)
{
return
uavOrderService
.
list
(
uavOrderQO
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"个人订单列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UavOrderDTO
.
class
)})
@PostMapping
(
"listByUid"
)
public
ResultBody
<
UavOrderDTO
>
listByUid
(
@RequestBody
UavOrderQO
uavOrderQO
,
HttpServletRequest
request
)
{
return
uavOrderService
.
listByUid
(
uavOrderQO
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"支付"
,
hidden
=
true
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"pay"
)
public
ResultBody
pay
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
{
return
uavOrderService
.
pay
(
id
,
this
.
getCurrentAccount
(
request
),
request
);
}
@ApiOperation
(
value
=
"上传付款凭证"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"upLoadPay"
)
public
ResultBody
upLoadPay
(
@RequestBody
UavOrderPayVO
uavOrderPayVO
)
{
return
uavOrderService
.
upLoadPay
(
uavOrderPayVO
);
}
@ApiOperation
(
value
=
"审核付款凭证"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"checkPay"
)
public
ResultBody
checkPay
(
@RequestBody
UavOrderPayVO
uavOrderPayVO
)
{
return
uavOrderService
.
checkPay
(
uavOrderPayVO
);
}
@ApiOperation
(
value
=
"发货"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"send"
)
public
ResultBody
send
(
@RequestBody
UavOrderExpressVO
param
)
{
return
uavOrderService
.
send
(
param
);
}
@ApiOperation
(
value
=
"收货"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"receive"
)
public
ResultBody
receive
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
{
return
uavOrderService
.
receive
(
id
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"评价订单"
,
hidden
=
true
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@PostMapping
(
"remarkOrder"
)
public
ResultBody
remarkOrder
(
@RequestBody
UavOrderRemarkVO
uavOrderRemarkVO
)
{
return
uavOrderService
.
remarkOrder
(
uavOrderRemarkVO
);
}
@ApiOperation
(
value
=
"卖家备注"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"sellerRemark"
)
public
ResultBody
sellerRemark
(
@RequestParam
Integer
id
,
@RequestParam
String
content
)
{
return
uavOrderService
.
sellerRemark
(
id
,
content
);
}
@ApiOperation
(
value
=
"订单状态列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UavOrderStatusDTO
.
class
)})
@GetMapping
(
"statusList"
)
public
ResultBody
statusList
()
{
return
uavOrderService
.
statusList
();
}
// 检测超时未收货的订单
// 设置订单抽成比例
// 微信完成回调-修改订单状态
}
src/main/java/com/mmc/oms/dao/uav/UavOrderDao.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
dao
.
uav
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
import
com.mmc.oms.entity.uav.UavOrderPayDO
;
import
com.mmc.oms.entity.uav.UavOrderSkuDO
;
import
com.mmc.oms.entity.uav.UavOrderStatusDO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/9/4 15:29
*/
@Mapper
public
interface
UavOrderDao
{
void
addOrder
(
UavOrderDO
uavOrderDO
);
void
addOrderSku
(
List
<
UavOrderSkuDO
>
skuDOS
);
UavOrderDO
detail
(
Integer
id
);
UavOrderDO
detailByNo
(
String
orderNo
);
List
<
UavOrderPayDO
>
listUavOrderPay
(
Integer
uavOrderId
);
List
<
UavOrderSkuDO
>
listUavOrderSkuDO
(
Integer
uavOrderId
);
void
sellerRemark
(
Integer
id
,
String
content
);
void
updateUavOrderStatus
(
Integer
id
,
Integer
nextCode
);
List
<
UavOrderStatusDO
>
statusList
();
int
countList
(
UavOrderQO
uavOrderQO
);
List
<
UavOrderDO
>
list
(
UavOrderQO
uavOrderQO
);
void
addOrderPay
(
UavOrderPayDO
uavOrderPayDO
);
void
updateUavOrderPayInfo
(
UavOrderDO
uavOrderDO
);
}
src/main/java/com/mmc/oms/dao/uav/UavOrderExpressDao.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
dao
.
uav
;
import
com.mmc.oms.entity.uav.UavOrderExpressDO
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @author: zj
* @Date: 2023/9/5 16:19
*/
@Mapper
public
interface
UavOrderExpressDao
{
void
addAddress
(
UavOrderExpressDO
uavOrderExpressDO
);
UavOrderExpressDO
getUavOrderExpressDO
(
Integer
uavOrderId
);
int
updateUavOrderExpressDO
(
UavOrderExpressDO
uavOrderExpressDO
);
}
src/main/java/com/mmc/oms/entity/demand/OrderLevelEnum.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
entity
.
demand
;
import
java.math.BigDecimal
;
/**
* @Author small
* @Date 2023/9/7 15:54
* @Version 1.0
*/
public
enum
OrderLevelEnum
{
//普通订单
REGULAR_ORDER
(
"REGULAR_ORDER"
,
new
BigDecimal
(
0
)),
//紧急订单
RUSH_ORDER
(
"RUSH_ORDER"
,
new
BigDecimal
(
100
)),
//置顶订单
TOP_ORDER
(
"TOP_ORDER"
,
new
BigDecimal
(
300
));
private
String
key
;
private
BigDecimal
value
;
private
OrderLevelEnum
(
String
key
,
BigDecimal
value
)
{
this
.
key
=
key
;
this
.
value
=
value
;
}
public
String
getKey
()
{
return
key
;
}
public
void
setKey
(
String
key
)
{
this
.
key
=
key
;
}
public
BigDecimal
getValue
()
{
return
value
;
}
public
void
setValue
(
BigDecimal
value
)
{
this
.
value
=
value
;
}
public
static
OrderLevelEnum
match
(
String
key
)
{
OrderLevelEnum
result
=
null
;
for
(
OrderLevelEnum
s
:
values
())
{
if
(
s
.
getKey
()
==
key
)
{
result
=
s
;
break
;
}
}
return
result
;
}
public
static
OrderLevelEnum
catchMessage
(
BigDecimal
value
)
{
OrderLevelEnum
result
=
null
;
for
(
OrderLevelEnum
s
:
values
())
{
if
(
s
.
getValue
().
equals
(
value
))
{
result
=
s
;
break
;
}
}
return
result
;
}
}
src/main/java/com/mmc/oms/entity/demand/ServiceRequirementsDO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
entity
.
demand
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mmc.oms.common.publicinterface.Insert
;
import
com.mmc.oms.common.publicinterface.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @Author small
* @Date 2023/9/7 15:50
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ServiceRequirementsDO
{
private
static
final
long
serialVersionUID
=
-
447951390213113317L
;
@ApiModelProperty
(
value
=
"id"
)
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"id"
)
@NotBlank
(
message
=
"服务类型id不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Integer
serviceId
;
@ApiModelProperty
(
value
=
"飞行日期——任务开始时间"
,
example
=
"2023-07-25"
,
required
=
true
)
@NotNull
(
message
=
"任务开始时间不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
taskStartTime
;
@ApiModelProperty
(
value
=
"飞行日期——任务结束时间"
,
example
=
"2023-07-26"
,
required
=
true
)
@NotNull
(
message
=
"任务开始时间不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
private
Date
taskEndTime
;
@ApiModelProperty
(
value
=
"飞行位置——任务地址"
,
example
=
"广东省深圳市"
,
required
=
true
)
@NotBlank
(
message
=
"任务地址不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
String
taskAddress
;
@ApiModelProperty
(
value
=
"飞行位置——任务经度"
,
example
=
"23.344324"
,
required
=
true
)
@NotNull
(
message
=
"任务经度不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Double
longitude
;
@ApiModelProperty
(
value
=
"飞行位置——任务纬度"
,
example
=
"44.344324"
,
required
=
true
)
@NotNull
(
message
=
"任务纬度不能为空"
,
groups
=
{
Insert
.
class
,
Update
.
class
})
private
Double
latitude
;
@ApiModelProperty
(
value
=
"需求描述"
,
example
=
"描述一下"
,
required
=
true
)
@NotNull
(
message
=
"需求描述不能为空"
,
groups
=
{
Insert
.
class
})
@Length
(
max
=
300
,
message
=
"字符过长"
)
private
String
requireDescription
;
@ApiModelProperty
(
value
=
"订单金额"
,
example
=
"订单金额"
,
required
=
true
)
@NotNull
(
message
=
"订单金额"
,
groups
=
{
Insert
.
class
})
private
BigDecimal
orderAmount
;
@ApiModelProperty
(
value
=
"飞手保险"
,
example
=
"飞手保险"
,
required
=
true
)
@NotNull
(
message
=
"飞手保险"
,
groups
=
{
Insert
.
class
})
private
String
insurance
;
@ApiModelProperty
(
value
=
"订单级别"
,
example
=
"订单级别"
,
required
=
true
)
@NotNull
(
message
=
"订单级别"
,
groups
=
{
Insert
.
class
})
private
OrderLevelEnum
orderLevelEnum
;
@ApiModelProperty
(
value
=
"后台获取token里面的用户id"
,
hidden
=
true
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"发布者姓名"
,
example
=
"张三"
)
private
String
publishName
;
@ApiModelProperty
(
value
=
"发布者电话"
,
example
=
"1892994543"
,
required
=
true
)
@NotNull
(
message
=
"发布者电话不能为空"
,
groups
=
{
Insert
.
class
})
private
String
publishPhone
;
@ApiModelProperty
(
value
=
"发布者订单编号"
)
private
String
publisherNumber
;
@ApiModelProperty
(
value
=
"0普通 100急单 300置顶"
)
private
BigDecimal
orderLevelAmount
;
@ApiModelProperty
(
value
=
"订单级别 REGULAR_ORDER,RUSH_ORDER,TOP_ORDER"
)
private
String
orderLevel
;
@ApiModelProperty
(
value
=
"总金额"
,
example
=
"100"
,
required
=
true
)
@NotNull
(
message
=
"总金额"
,
groups
=
{
Insert
.
class
})
private
BigDecimal
totalAmount
;
@ApiModelProperty
(
value
=
"云享金"
,
example
=
"10"
)
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金"
,
example
=
"10"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"微信金额"
,
example
=
"10"
)
private
BigDecimal
weChat
;
@ApiModelProperty
(
value
=
"微信支付订单编号"
,
example
=
"R202308191657303116170"
)
private
String
wechatPayOrderNumber
;
private
Integer
repertory
;
@ApiModelProperty
(
value
=
"支付方式,云享金:1,佣金:2,微信支付:3"
,
example
=
"1,2,3"
)
private
String
paymentType
;
@ApiModelProperty
(
value
=
"地区编码"
)
private
String
adcode
;
@ApiModelProperty
(
value
=
"置顶/加急 佣金支付多少"
,
example
=
"100"
)
private
BigDecimal
levelSalaryAmount
;
@ApiModelProperty
(
value
=
"置顶/加急 微信支付多少"
,
example
=
"100"
)
private
BigDecimal
levelWeChatAmount
;
@ApiModelProperty
(
value
=
"置顶/加急 云享金支付多少"
,
example
=
"100"
)
private
BigDecimal
levelCashAmount
;
@ApiModelProperty
(
value
=
"openid"
)
private
String
openid
;
@ApiModelProperty
(
value
=
"服务名称"
)
private
String
serviceName
;
}
src/main/java/com/mmc/oms/entity/uav/UavOrderDO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
entity
.
uav
;
import
com.mmc.oms.model.dto.uav.UavOrderDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author: zj
* @Date: 2023/9/4 13:33
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"最新版-订单"
)
public
class
UavOrderDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2696589294661774288L
;
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
@ApiModelProperty
(
"订单状态"
)
private
Integer
statusCode
;
@ApiModelProperty
(
"买家id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
"卖家id"
)
private
Integer
thirdBackUserAccountId
;
@ApiModelProperty
(
"卖家企业名称"
)
private
String
companyName
;
@ApiModelProperty
(
"订单实付总额"
)
private
BigDecimal
orderTotalAmount
;
@ApiModelProperty
(
"抵扣佣金余额"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
"抵扣云享金余额"
)
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
"其他方式支付额度"
)
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
"wechatpay微信,alipay支付宝,offline线下"
)
private
String
payType
;
@ApiModelProperty
(
"订单类型,0正常订单、1意向订单"
)
private
Integer
orderType
;
@ApiModelProperty
(
"订单交期"
)
private
Date
deliveryTime
;
@ApiModelProperty
(
"收货地址id"
)
private
Integer
userAddressId
;
@ApiModelProperty
(
"买家备注"
)
private
String
userRemark
;
@ApiModelProperty
(
"卖家备注"
)
private
String
sellerRemark
;
@ApiModelProperty
(
"下单时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"支付时间"
)
private
Date
payTime
;
@ApiModelProperty
(
"确认收货时间"
)
private
Date
confirmReceiptTime
;
@ApiModelProperty
(
"修改版本"
)
private
Integer
version
;
@ApiModelProperty
(
"评价状态"
)
private
Integer
remarkStatus
;
@ApiModelProperty
(
"最近修改时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
"规格列表"
)
private
List
<
UavOrderSkuDO
>
skuDOS
;
public
UavOrderDTO
buildUavOrderDTO
(){
return
UavOrderDTO
.
builder
().
id
(
this
.
id
).
version
(
this
.
version
).
orderNo
(
this
.
orderNo
).
statusCode
(
this
.
statusCode
).
userAccountId
(
this
.
userAccountId
)
.
thirdBackUserAccountId
(
this
.
thirdBackUserAccountId
).
companyName
(
this
.
companyName
).
orderTotalAmount
(
this
.
orderTotalAmount
).
salaryAmount
(
this
.
salaryAmount
)
.
shareAmount
(
this
.
shareAmount
).
otherAmount
(
this
.
otherAmount
).
payType
(
this
.
payType
).
orderType
(
this
.
orderType
).
deliveryTime
(
this
.
deliveryTime
).
userAddressId
(
this
.
userAddressId
)
.
userRemark
(
this
.
userRemark
).
sellerRemark
(
this
.
sellerRemark
).
createTime
(
this
.
createTime
).
payTime
(
this
.
payTime
).
confirmReceiptTime
(
this
.
confirmReceiptTime
)
.
remarkStatus
(
this
.
remarkStatus
).
updateTime
(
this
.
updateTime
).
skuDTOList
(
CollectionUtils
.
isEmpty
(
skuDOS
)
?
null
:
this
.
skuDOS
.
stream
().
map
(
UavOrderSkuDO:
:
buildUavOrderSkuDTO
).
collect
(
Collectors
.
toList
()))
.
build
();
}
}
src/main/java/com/mmc/oms/entity/uav/UavOrderExpressDO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
entity
.
uav
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.model.dto.uav.UavOrderExpressDTO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/9/4 13:53
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"最新版-订单收货地址信息"
)
public
class
UavOrderExpressDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8046463151711449213L
;
private
Integer
id
;
private
Integer
uavOrderId
;
private
String
sendExpNo
;
private
String
sendExpCode
;
private
String
takeName
;
private
String
takePhone
;
private
String
takeRegion
;
private
String
takeAddress
;
private
Date
receiveTime
;
private
Integer
receive
;
private
Date
updateTime
;
private
Date
createTime
;
public
UavOrderExpressDO
(
UserAddressDO
userAddressDO
)
{
this
.
takeName
=
userAddressDO
.
getTakeName
();
this
.
takePhone
=
userAddressDO
.
getTakePhone
();
this
.
takeRegion
=
userAddressDO
.
getTakeRegion
();
this
.
takeAddress
=
userAddressDO
.
getTakeAddress
();
}
public
UavOrderExpressDO
(
UavOrderExpressVO
param
)
{
this
.
id
=
param
.
getId
();
this
.
uavOrderId
=
param
.
getUavOrderId
();
this
.
sendExpNo
=
param
.
getSendExpNo
();
this
.
sendExpCode
=
param
.
getSendExpCode
();
this
.
takeName
=
param
.
getTakeName
();
this
.
takePhone
=
param
.
getTakePhone
();
this
.
takeRegion
=
param
.
getTakeRegion
();
this
.
takeAddress
=
param
.
getTakeAddress
();
}
public
UavOrderExpressDTO
buildUavOrderExpressDTO
(){
return
UavOrderExpressDTO
.
builder
().
id
(
this
.
id
).
uavOrderId
(
this
.
uavOrderId
).
sendExpNo
(
this
.
sendExpNo
).
sendExpCode
(
this
.
sendExpCode
).
takeName
(
this
.
takeName
)
.
takePhone
(
this
.
takePhone
).
takeAddress
(
this
.
takeAddress
).
takeRegion
(
this
.
takeRegion
).
receive
(
this
.
receive
).
receiveTime
(
this
.
receiveTime
)
.
build
();
}
}
src/main/java/com/mmc/oms/entity/uav/UavOrderPayDO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
entity
.
uav
;
import
com.mmc.oms.model.dto.uav.UavOrderPayDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/9/4 13:56
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"最新版-订单支付信息"
)
public
class
UavOrderPayDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7440333696084228732L
;
private
Integer
id
;
private
Integer
uavOrderId
;
private
String
payImgList
;
private
Integer
checkStatus
;
private
Integer
payType
;
private
String
payRemark
;
private
String
refuseReason
;
private
Date
createTime
;
private
Date
checkTime
;
private
BigDecimal
payAmount
;
public
UavOrderPayDTO
buildUavOrderPayDTO
(){
return
UavOrderPayDTO
.
builder
().
id
(
this
.
id
).
uavOrderId
(
this
.
uavOrderId
).
payImgList
(
this
.
payImgList
).
checkStatus
(
this
.
checkStatus
)
.
payRemark
(
this
.
payRemark
).
refuseReason
(
this
.
refuseReason
).
createTime
(
this
.
createTime
).
payType
(
this
.
payType
)
.
payAmount
(
this
.
payAmount
).
build
();
}
}
src/main/java/com/mmc/oms/entity/uav/UavOrderSkuDO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
entity
.
uav
;
import
com.mmc.oms.model.dto.uav.UavOrderSkuDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/9/4 14:00
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"最新版-订单sku"
)
public
class
UavOrderSkuDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8711946446973624100L
;
@ApiModelProperty
(
"订单规格id"
)
private
Integer
id
;
@ApiModelProperty
(
"订单id"
)
private
Integer
uavOrderId
;
@ApiModelProperty
(
"商品id"
)
private
Integer
mallGoodsId
;
@ApiModelProperty
(
"商品名称"
)
private
String
tradeName
;
@ApiModelProperty
(
"商品规格id"
)
private
Integer
priceStockId
;
@ApiModelProperty
(
"商品规格"
)
private
String
productSpec
;
@ApiModelProperty
(
"购买数量"
)
private
Integer
orderNum
;
@ApiModelProperty
(
"单价"
)
private
BigDecimal
unitPrice
;
@ApiModelProperty
(
"商品规格图片"
)
private
String
skuImage
;
@ApiModelProperty
(
"商品规格编号"
)
private
String
skuNo
;
@ApiModelProperty
(
"下单时间"
)
private
Date
createTime
;
public
UavOrderSkuDTO
buildUavOrderSkuDTO
(){
return
UavOrderSkuDTO
.
builder
().
id
(
this
.
id
).
uavOrderId
(
this
.
uavOrderId
).
mallGoodsId
(
this
.
mallGoodsId
).
tradeName
(
this
.
tradeName
)
.
priceStockId
(
this
.
priceStockId
).
productSpec
(
this
.
productSpec
).
orderNum
(
this
.
orderNum
).
unitPrice
(
this
.
unitPrice
).
skuImage
(
this
.
skuImage
)
.
skuNo
(
this
.
skuNo
).
createTime
(
this
.
createTime
).
build
();
}
}
src/main/java/com/mmc/oms/entity/uav/UavOrderStatusDO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
entity
.
uav
;
import
com.mmc.oms.model.dto.uav.UavOrderStatusDTO
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/9/4 14:13
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"最新版-订单状态"
)
public
class
UavOrderStatusDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7424753482301667469L
;
private
Integer
id
;
private
String
status
;
private
Integer
code
;
private
Integer
nextCode
;
public
UavOrderStatusDTO
buildUavOrderStatusDTO
(){
return
UavOrderStatusDTO
.
builder
().
id
(
this
.
id
).
status
(
this
.
status
).
code
(
this
.
code
).
nextCode
(
this
.
nextCode
).
build
();
}
}
src/main/java/com/mmc/oms/enums/UavOrderStatus.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
enums
;
/**
* @author: zj
* @Date: 2023/9/4 14:36
*/
public
enum
UavOrderStatus
{
CONTACT
(
100
,
200
,
"待意向沟通"
),
CONFIRM
(
200
,
300
,
"待确认订单"
),
SIGN
(
300
,
400
,
"待签署合同"
),
PAYING
(
400
,
500
,
"待付款"
),
WAITING_DELIVER_GOODS
(
500
,
600
,
"待发货"
),
WAITING_RECEIVE_GOODS
(
600
,
700
,
"待收货"
),
WAITING_REMARK
(
700
,
800
,
"待评价"
),
FINISH
(
800
,
800
,
"已完成"
),
CLOSE
(
900
,
900
,
"已关闭"
)
;
public
Integer
getCode
()
{
return
code
;
}
public
Integer
getNextCode
()
{
return
nextCode
;
}
public
String
getName
()
{
return
name
;
}
UavOrderStatus
(
Integer
code
,
Integer
nextCode
,
String
name
)
{
this
.
code
=
code
;
this
.
nextCode
=
nextCode
;
this
.
name
=
name
;
}
private
Integer
code
;
private
Integer
nextCode
;
private
String
name
;
}
src/main/java/com/mmc/oms/feign/PaymentAppApi.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
feign
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.feign.hystrix.PaymentAppApiHystrix
;
import
com.mmc.oms.model.vo.ApplyRefundVO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
/**
* @author: zj
* @Date: 2023/9/8 11:08
*/
@FeignClient
(
url
=
"${payment.url}"
,
name
=
"payment-svc"
,
fallback
=
PaymentAppApiHystrix
.
class
)
public
interface
PaymentAppApi
{
@PostMapping
(
"wechat/applyRefund"
)
public
ResultBody
applyRefund
(
@RequestBody
ApplyRefundVO
applyRefundVO
);
}
src/main/java/com/mmc/oms/feign/UserAppApi.java
浏览文件 @
90d4209e
...
...
@@ -2,10 +2,11 @@ package com.mmc.oms.feign;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.feign.hystrix.UserAppApiHystrix
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.vo.uav.PayUavWalletVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author: zj
...
...
@@ -16,4 +17,13 @@ public interface UserAppApi {
@PostMapping
(
"pay/feignTopUpCash"
)
public
ResultBody
feignTopUpCash
(
@RequestBody
TopUpOrderVO
topUpOrderVO
);
@GetMapping
(
"pay/getCurrentUserPayWalletInfo"
)
public
ResultBody
<
PayWalletDTO
>
getCurrentUserPayWalletInfo
(
@RequestHeader
String
token
);
@PostMapping
(
"pay/feignPayUavWallet"
)
public
ResultBody
feignPayUavWallet
(
@RequestBody
PayUavWalletVO
payUavWalletVO
,
@RequestHeader
String
token
);
@GetMapping
(
"company/getManagerIdByBackUserId"
)
public
ResultBody
getManagerIdByBackUserId
(
@RequestParam
Integer
backUserAccountId
,
@RequestHeader
String
token
);
}
src/main/java/com/mmc/oms/feign/hystrix/PaymentAppApiHystrix.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
feign
.
hystrix
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.feign.PaymentAppApi
;
import
com.mmc.oms.model.vo.ApplyRefundVO
;
import
lombok.extern.slf4j.Slf4j
;
/**
* @author: zj
* @Date: 2023/9/8 11:08
*/
@Slf4j
public
class
PaymentAppApiHystrix
implements
PaymentAppApi
{
@Override
public
ResultBody
applyRefund
(
ApplyRefundVO
applyRefundVO
)
{
log
.
error
(
"PaymentAppApiHystrix applyRefund ---- param:{}"
,
JSONObject
.
toJSONString
(
applyRefundVO
));
return
ResultBody
.
error
(
"调用微信退款失败"
);
}
}
\ No newline at end of file
src/main/java/com/mmc/oms/feign/hystrix/UserAppApiHystrix.java
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
feign
.
hystrix
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.vo.uav.PayUavWalletVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -17,4 +20,22 @@ public class UserAppApiHystrix implements UserAppApi {
log
.
error
(
"熔断:UserAppApiHystrix.feignTopUpCash==error==>param:{}"
,
topUpOrderVO
);
return
ResultBody
.
error
(
"-1"
,
"远程调用失败"
);
}
@Override
public
ResultBody
<
PayWalletDTO
>
getCurrentUserPayWalletInfo
(
String
token
)
{
log
.
error
(
"熔断:UserAppApiHystrix.getCurrentUserPayWalletInfo==error"
);
return
ResultBody
.
error
(
"-1"
,
"远程调用失败"
);
}
@Override
public
ResultBody
feignPayUavWallet
(
PayUavWalletVO
payUavWalletVO
,
String
token
)
{
log
.
error
(
"熔断:UserAppApiHystrix.feignPayUavWallet==error==>param:{}"
,
JSONObject
.
toJSONString
(
payUavWalletVO
));
return
ResultBody
.
error
(
"-1"
,
"远程调用失败"
);
}
@Override
public
ResultBody
getManagerIdByBackUserId
(
Integer
backUserAccountId
,
String
token
)
{
log
.
error
(
"熔断:UserAppApiHystrix.getManagerIdByBackUserId==error==>param:{}"
,
JSONObject
.
toJSONString
(
backUserAccountId
));
return
ResultBody
.
error
(
"-1"
,
"远程调用失败"
);
}
}
src/main/java/com/mmc/oms/model/dto/uav/PayWalletDTO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author 作者 lw
* @version 创建时间:2023.08.18 下午13:31:12
* @explain 类说明
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
PayWalletDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
75097833899496576L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户ID"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"用户姓名"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"云享金余额"
)
private
BigDecimal
cashAmt
;
@ApiModelProperty
(
value
=
"云享金总金额"
)
private
BigDecimal
totalCash
;
@ApiModelProperty
(
value
=
"已冻结云享金"
)
private
BigDecimal
cashFreeze
;
@ApiModelProperty
(
value
=
"佣金余额"
)
private
BigDecimal
salaryAmt
;
@ApiModelProperty
(
value
=
"已冻结佣金"
)
private
BigDecimal
salaryFreeze
;
@ApiModelProperty
(
value
=
"佣金总额度"
)
private
BigDecimal
totalSalary
;
@ApiModelProperty
(
value
=
"已提现的金额"
)
private
BigDecimal
rebateWdl
;
@ApiModelProperty
(
value
=
"提现冻结金额"
)
private
BigDecimal
wdlFreeze
;
@ApiModelProperty
(
value
=
"冻结总额"
)
private
BigDecimal
totalFreeze
;
@ApiModelProperty
(
value
=
"总金额"
)
private
BigDecimal
totalAmount
;
public
void
mathTotal
()
{
// 总冻结余额
this
.
totalFreeze
=
BigDecimal
.
ZERO
;
if
(
this
.
cashFreeze
!=
null
)
{
this
.
totalFreeze
=
this
.
totalFreeze
.
add
(
this
.
cashFreeze
);
}
if
(
this
.
salaryFreeze
!=
null
)
{
this
.
totalFreeze
=
this
.
totalFreeze
.
add
(
this
.
salaryFreeze
);
}
// 总云享金余额
this
.
totalCash
=
BigDecimal
.
ZERO
;
if
(
this
.
cashAmt
!=
null
)
{
this
.
totalCash
=
this
.
totalCash
.
add
(
this
.
cashAmt
);
}
if
(
this
.
cashFreeze
!=
null
)
{
this
.
totalCash
=
this
.
totalCash
.
add
(
this
.
cashFreeze
);
}
// 总佣金余额
this
.
totalSalary
=
BigDecimal
.
ZERO
;
if
(
this
.
salaryAmt
!=
null
)
{
this
.
totalSalary
=
this
.
totalSalary
.
add
(
this
.
salaryAmt
);
}
if
(
this
.
salaryFreeze
!=
null
)
{
this
.
totalSalary
=
this
.
totalSalary
.
add
(
this
.
salaryFreeze
);
}
// 总金额
this
.
totalAmount
=
BigDecimal
.
ZERO
;
this
.
totalAmount
=
this
.
totalAmount
.
add
(
this
.
totalCash
);
this
.
totalAmount
=
this
.
totalAmount
.
add
(
this
.
totalSalary
);
}
}
src/main/java/com/mmc/oms/model/dto/uav/UavOrderDTO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
com.mmc.oms.model.dto.kdn.KdnExpDTO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/9/4 14:50
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"最新版-订单"
)
public
class
UavOrderDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7548192478886457453L
;
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
@ApiModelProperty
(
"订单状态"
)
private
Integer
statusCode
;
@ApiModelProperty
(
"买家id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
"卖家id"
)
private
Integer
thirdBackUserAccountId
;
@ApiModelProperty
(
"卖家企业名称"
)
private
String
companyName
;
@ApiModelProperty
(
"订单实付总额"
)
private
BigDecimal
orderTotalAmount
;
@ApiModelProperty
(
"抵扣佣金余额"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
"抵扣云享金余额"
)
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
"其他方式支付额度"
)
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
"wechatpay微信,alipay支付宝,offline线下"
)
private
String
payType
;
@ApiModelProperty
(
"订单类型,0正常订单、1意向订单"
)
private
Integer
orderType
;
@ApiModelProperty
(
"订单交期"
)
private
Date
deliveryTime
;
@ApiModelProperty
(
"收货地址id"
)
private
Integer
userAddressId
;
@ApiModelProperty
(
"买家备注"
)
private
String
userRemark
;
@ApiModelProperty
(
"卖家备注"
)
private
String
sellerRemark
;
@ApiModelProperty
(
"下单时间"
)
private
Date
createTime
;
@ApiModelProperty
(
"支付时间"
)
private
Date
payTime
;
@ApiModelProperty
(
"确认收货时间"
)
private
Date
confirmReceiptTime
;
@ApiModelProperty
(
"修改版本"
)
private
Integer
version
;
@ApiModelProperty
(
"评价状态"
)
private
Integer
remarkStatus
;
@ApiModelProperty
(
"最近修改时间"
)
private
Date
updateTime
;
@ApiModelProperty
(
"用户收货地址信息"
)
private
UavOrderExpressDTO
uavOrderExpressDTO
;
@ApiModelProperty
(
"快递信息"
)
private
KdnExpDTO
kdnExpDTO
;
@ApiModelProperty
(
"用户支付凭证"
)
private
List
<
UavOrderPayDTO
>
payDTOList
;
@ApiModelProperty
(
"订单规格列表"
)
private
List
<
UavOrderSkuDTO
>
skuDTOList
;
}
src/main/java/com/mmc/oms/model/dto/uav/UavOrderExpressDTO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/9/4 14:52
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"收货地址"
)
public
class
UavOrderExpressDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6025905100022602806L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
uavOrderId
;
@ApiModelProperty
(
value
=
"快递编号"
)
private
String
sendExpNo
;
@ApiModelProperty
(
value
=
"快递编码"
)
private
String
sendExpCode
;
@ApiModelProperty
(
value
=
"取货人"
)
private
String
takeName
;
@ApiModelProperty
(
value
=
"取货人号码"
)
private
String
takePhone
;
@ApiModelProperty
(
value
=
"地区信息"
)
private
String
takeRegion
;
@ApiModelProperty
(
value
=
"发货-收货详细地址"
)
private
String
takeAddress
;
@ApiModelProperty
(
value
=
"取件时间"
)
private
Date
receiveTime
;
@ApiModelProperty
(
value
=
"是否已取件,0未取,1已取"
)
private
Integer
receive
;
}
src/main/java/com/mmc/oms/model/dto/uav/UavOrderPayDTO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/9/4 14:55
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"用户支付信息"
)
public
class
UavOrderPayDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7429924736182755541L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
uavOrderId
;
@ApiModelProperty
(
value
=
"支付凭证"
)
private
String
payImgList
;
@ApiModelProperty
(
value
=
"审核状态,0待审批,1通过,2未通过"
)
private
Integer
checkStatus
;
@ApiModelProperty
(
value
=
"备注信息"
)
private
String
payRemark
;
@ApiModelProperty
(
value
=
"未通过原因"
)
private
String
refuseReason
;
@ApiModelProperty
(
value
=
"提交时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"0微信支付,1支付宝,2线下支付凭证"
)
private
Integer
payType
;
@ApiModelProperty
(
value
=
"支付金额"
)
private
BigDecimal
payAmount
;
}
src/main/java/com/mmc/oms/model/dto/uav/UavOrderSkuDTO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* @author: zj
* @Date: 2023/9/4 14:59
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"订单sku信息"
)
public
class
UavOrderSkuDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7021228030949249793L
;
@ApiModelProperty
(
"订单规格id"
)
private
Integer
id
;
@ApiModelProperty
(
"订单id"
)
private
Integer
uavOrderId
;
@ApiModelProperty
(
"商品id"
)
private
Integer
mallGoodsId
;
@ApiModelProperty
(
"商品名称"
)
private
String
tradeName
;
@ApiModelProperty
(
"商品规格id"
)
private
Integer
priceStockId
;
@ApiModelProperty
(
"商品规格"
)
private
String
productSpec
;
@ApiModelProperty
(
"购买数量"
)
private
Integer
orderNum
;
@ApiModelProperty
(
"单价"
)
private
BigDecimal
unitPrice
;
@ApiModelProperty
(
"商品规格图片"
)
private
String
skuImage
;
@ApiModelProperty
(
"商品规格编号"
)
private
String
skuNo
;
@ApiModelProperty
(
"下单时间"
)
private
Date
createTime
;
}
src/main/java/com/mmc/oms/model/dto/uav/UavOrderStatusDTO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/9/4 15:02
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"订单状态"
)
public
class
UavOrderStatusDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3676195254250571926L
;
private
Integer
id
;
private
String
status
;
private
Integer
code
;
private
Integer
nextCode
;
}
src/main/java/com/mmc/oms/model/dto/user/BaseAccountDTO.java
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
dto
.
user
;
import
com.mmc.oms.model.vo.CompanyInfoVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
...
...
@@ -17,13 +18,12 @@ import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
//@ApiModel(value = "com.mmc.csf.model.dto.BaseAccountDTO", description = "登录信息DTO")
public
class
BaseAccountDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
2979712090903806216L
;
@ApiModelProperty
(
value
=
"token"
)
private
String
token
;
@ApiModelProperty
(
value
=
"账号id"
)
@ApiModelProperty
(
value
=
"
当前
账号id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"账号"
)
private
String
accountNo
;
...
...
@@ -37,6 +37,11 @@ public class BaseAccountDTO implements Serializable {
private
String
nickName
;
@ApiModelProperty
(
value
=
"0是后台管理 100客户端 小程序"
)
private
Integer
portType
;
@ApiModelProperty
(
value
=
"后台账号单位信息"
)
private
CompanyInfoVO
companyInfoVO
;
@ApiModelProperty
(
value
=
"角色信息"
)
private
RoleInfoDTO
roleInfo
;
@ApiModelProperty
(
value
=
"小程序登录id"
)
private
Integer
appUserAccountId
;
}
src/main/java/com/mmc/oms/model/dto/user/RoleInfoDTO.java
浏览文件 @
90d4209e
...
...
@@ -27,7 +27,7 @@ public class RoleInfoDTO implements Serializable {
@ApiModelProperty
(
value
=
"角色名称"
)
private
String
roleName
;
@ApiModelProperty
(
value
=
"是否为管理角色:0否 1是"
)
private
Integer
admin
;
// 是否为管理角色
private
Integer
superAdmin
;
@ApiModelProperty
(
value
=
"是否为运营角色:0否 1是"
)
private
Integer
operate
;
@ApiModelProperty
(
value
=
"是否为系统角色:0否 1是"
)
...
...
src/main/java/com/mmc/oms/model/qo/uav/UavOrderQO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
qo
.
uav
;
import
com.mmc.oms.common.publicinterface.Page
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/9/6 15:03
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
UavOrderQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"关键字-订单编号"
,
required
=
false
)
private
String
keyword
;
@ApiModelProperty
(
value
=
"用户uid"
,
required
=
false
)
private
String
uid
;
@ApiModelProperty
(
value
=
"订单状态码"
)
private
Integer
statusCode
;
@ApiModelProperty
(
value
=
"用户id"
,
hidden
=
true
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"商家id"
,
hidden
=
true
)
private
Integer
thirdBackUserAccountId
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
String
startTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
String
endTime
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
Page
.
class
)
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageNo
;
@ApiModelProperty
(
value
=
"每页显示数"
,
required
=
true
)
@NotNull
(
message
=
"每页显示数不能为空"
,
groups
=
Page
.
class
)
@Min
(
value
=
1
,
groups
=
Page
.
class
)
private
Integer
pageSize
;
public
void
buildCurrentPage
()
{
this
.
pageNo
=
(
pageNo
-
1
)
*
pageSize
;
}
}
src/main/java/com/mmc/oms/model/vo/ApplyRefundVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author LW
* @date 2023/7/22 14:51
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ApplyRefundVO
{
@ApiModelProperty
(
value
=
"商户订单号"
,
required
=
true
)
private
String
outTradeNo
;
@ApiModelProperty
(
value
=
"退款原因"
)
private
String
reason
;
@ApiModelProperty
(
value
=
"退款金额"
,
required
=
true
)
private
Long
refund
;
// @ApiModelProperty(value = "商品信息(可填可不填)")
// private List<GoodsDetail> goodsDetail;
}
src/main/java/com/mmc/oms/model/vo/CompanyInfoVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
;
import
com.mmc.oms.common.publicinterface.Insert
;
import
com.mmc.oms.common.publicinterface.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/7/3 16:04
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
CompanyInfoVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3247519744829926132L
;
@ApiModelProperty
(
value
=
"id"
)
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"单位类型,0科比特,1加盟公司"
,
example
=
"0"
)
@NotNull
(
message
=
"单位类型不能为空"
,
groups
=
{
Insert
.
class
})
private
Integer
companyType
;
@ApiModelProperty
(
value
=
"单位名称"
,
example
=
"科比特"
)
@NotNull
(
message
=
"单位名称不能为空"
,
groups
=
{
Insert
.
class
})
private
String
companyName
;
@ApiModelProperty
(
value
=
"单位全称"
,
example
=
"浙江科比特创新科技有限公司"
)
private
String
fullName
;
@ApiModelProperty
(
value
=
"省份名称"
,
example
=
"广东省"
,
hidden
=
true
)
@NotNull
(
message
=
"省份名称不能为空"
)
private
String
province
;
@ApiModelProperty
(
value
=
"城市名称"
,
example
=
"深圳市"
,
hidden
=
true
)
@NotNull
(
message
=
"城市名称不能为空"
)
private
String
city
;
@ApiModelProperty
(
value
=
"县区名称"
,
example
=
"南山区"
,
hidden
=
true
)
@NotNull
(
message
=
"县区名称不能为空"
)
private
String
district
;
@ApiModelProperty
(
value
=
"详细地址"
,
example
=
"西丽街道万科云城国际创新谷6栋"
)
@NotNull
(
message
=
"详细地址不能为空"
,
groups
=
{
Insert
.
class
})
private
String
address
;
@ApiModelProperty
(
value
=
"联系人"
,
example
=
"lx"
)
private
String
companyUserName
;
@ApiModelProperty
(
value
=
"联系电话"
,
example
=
"13925255742"
)
private
String
phoneNum
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"小程序用户id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"后台用户id"
)
private
Integer
backUserAccountId
;
@ApiModelProperty
(
value
=
"纬度"
)
private
Double
lat
;
@ApiModelProperty
(
value
=
"经度"
)
private
Double
lon
;
@ApiModelProperty
(
value
=
"社会信用代码"
)
private
String
creditCode
;
@ApiModelProperty
(
value
=
"营业执照"
)
private
String
licenseImg
;
@ApiModelProperty
(
value
=
"品牌名称"
,
example
=
"科比特"
)
private
String
brandName
;
@ApiModelProperty
(
value
=
"品牌logo"
,
example
=
"http://"
)
private
String
brandLogo
;
@ApiModelProperty
(
value
=
"管理员标识"
)
private
Integer
leader
;
@ApiModelProperty
(
value
=
"服务资质信息"
,
example
=
"5星店铺"
)
private
String
content
;
@ApiModelProperty
(
value
=
"评分"
,
example
=
"*****"
)
private
Integer
score
;
@ApiModelProperty
(
value
=
"背景图"
,
example
=
"http://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/3505c402-cbf9-41a5-9d6f-bdb350625bea.jpg"
)
private
String
backImg
;
@ApiModelProperty
(
value
=
"当前距离"
)
private
Double
distance
;
}
src/main/java/com/mmc/oms/model/vo/demand/CommonPaymentVO.java
浏览文件 @
90d4209e
...
...
@@ -21,6 +21,8 @@ public class CommonPaymentVO {
@ApiModelProperty
(
value
=
"订单编号"
,
example
=
"R202307251459553408130"
)
private
String
orderNumber
;
@ApiModelProperty
(
value
=
"商品描述"
)
private
String
description
;
@ApiModelProperty
(
value
=
"订单来源 0:产品商城 1:租赁订单 2:培训订单 3发布需求 4服务需求发布 5充值 ...其他后续加"
)
private
Integer
orderPort
;
...
...
src/main/java/com/mmc/oms/model/vo/uav/AddUavOrderVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/9/4 16:01
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
AddUavOrderVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2749055915508197141L
;
@ApiModelProperty
(
"商家id"
)
private
Integer
thirdBackUserAccountId
;
@ApiModelProperty
(
"卖家企业名称"
)
private
String
companyName
;
@ApiModelProperty
(
"商品id"
)
private
Integer
mallGoodsId
;
@ApiModelProperty
(
"收货地址"
)
private
Integer
userAddressId
;
@ApiModelProperty
(
"订单类型,0正常直接支付订单,1意向沟通订单"
)
private
Integer
orderType
;
@ApiModelProperty
(
value
=
"订单实付总额"
,
hidden
=
true
)
private
BigDecimal
orderTotalAmount
;
@ApiModelProperty
(
value
=
"抵扣钱包余额"
,
hidden
=
true
)
private
BigDecimal
walletAmount
;
@ApiModelProperty
(
value
=
"抵扣云享金余额"
,
hidden
=
true
)
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
value
=
"其他方式支付额度"
,
hidden
=
true
)
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
"用户备注"
)
private
String
userRemark
;
@ApiModelProperty
(
"规格列表"
)
private
List
<
UavOrderSkuVO
>
skuVOS
;
@ApiModelProperty
(
"是否抵扣云享金,0否,1是"
)
private
Integer
deductShareAmount
;
@ApiModelProperty
(
"是否抵扣余额,0否,1是"
)
private
Integer
deductSalaryAmount
;
}
src/main/java/com/mmc/oms/model/vo/uav/GoodsResourcesVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @Author LW
* @date 2023/7/24 17:57
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
GoodsResourcesVO
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"url"
)
private
String
url
;
@ApiModelProperty
(
value
=
"类型:0主图 1副图 2视频"
)
private
Integer
type
;
}
src/main/java/com/mmc/oms/model/vo/uav/MallGoodsVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
com.alibaba.fastjson2.annotation.JSONField
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mmc.oms.common.publicinterface.Create
;
import
com.mmc.oms.common.publicinterface.Update
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/7/24 17:44
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
MallGoodsVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3608022295150526085L
;
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"商品名称"
,
example
=
"这是商品名称"
,
required
=
true
)
@NotBlank
(
message
=
"商品名称不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
String
tradeName
;
@ApiModelProperty
(
value
=
"商品描述"
,
example
=
"商品描述"
,
required
=
true
)
@NotBlank
(
message
=
"商品描述不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
String
description
;
@ApiModelProperty
(
value
=
"商品资源:图片or视频及其他"
)
@NotEmpty
(
message
=
"图片不能为空"
)
private
List
<
GoodsResourcesVO
>
resourcesList
;
@ApiModelProperty
(
value
=
"一级分类id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"一级分类id不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
categoryPrimaryId
;
@ApiModelProperty
(
value
=
"二级分类id"
,
example
=
"2"
,
required
=
true
)
@NotNull
(
message
=
"二级分类id不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
categorySubId
;
@ApiModelProperty
(
value
=
"商品状态"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"商品状态不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
shelfStatus
;
@ApiModelProperty
(
value
=
"商品标签"
)
private
String
goodsLabel
;
@ApiModelProperty
(
value
=
"标签是否显示 0否 1是"
)
private
Integer
labelShow
;
@ApiModelProperty
(
value
=
"规格"
)
@NotEmpty
(
message
=
"规格不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
List
<
SpecAttrVO
>
specAttrList
;
@ApiModelProperty
(
value
=
"价格库存排列组合表信息"
)
private
List
<
PriceStockVO
>
priceStock
;
@ApiModelProperty
(
value
=
"商品详情 富文本"
)
private
String
goodsDetails
;
@ApiModelProperty
(
value
=
"创建时间 用作列表回显"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"店铺id 小程序用"
)
private
Integer
userAccountId
;
}
src/main/java/com/mmc/oms/model/vo/uav/PayUavWalletVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/9/7 16:07
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
PayUavWalletVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1683979749411588941L
;
@ApiModelProperty
(
value
=
"用户ID"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"云享金"
)
private
BigDecimal
cashAmount
;
@ApiModelProperty
(
value
=
"佣金"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
value
=
"订单状态 100:订单支付 1400:商城订单退款"
)
private
Integer
orderStatus
;
@ApiModelProperty
(
value
=
"订单备注"
)
private
String
remark
;
}
src/main/java/com/mmc/oms/model/vo/uav/PriceStockVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/8/8 10:48
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
PriceStockVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1011141620995647903L
;
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"商品规格"
,
example
=
"示例:{\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"} 或 [\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"] 或 你怎么方便怎么来"
)
private
String
productSpec
;
@ApiModelProperty
(
value
=
"销售价格"
,
example
=
"1"
)
private
BigDecimal
salePrice
;
@ApiModelProperty
(
value
=
"sku图片"
,
example
=
"https://pad-video-x.oss-cn-shenzhen.aliyuncs.com/file/35bbd044-7cd7-4c85-ba27-69776e03dbb2.jpg"
)
private
String
skuImage
;
@ApiModelProperty
(
value
=
"渠道价格"
,
example
=
"1"
)
private
BigDecimal
channelPrice
;
@ApiModelProperty
(
value
=
"库存"
,
example
=
"10"
)
private
Integer
stock
;
@ApiModelProperty
(
value
=
"sku编号"
,
example
=
"mmc-da-s-b"
)
private
String
skuNo
;
}
src/main/java/com/mmc/oms/model/vo/uav/SpecAttrVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/7/24 20:16
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
SpecAttrVO
{
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"规格名称"
,
example
=
"规格名称"
,
required
=
true
)
private
String
specName
;
@ApiModelProperty
(
value
=
"规格值信息"
,
required
=
true
)
private
List
<
SpecAttrVO
>
specValuesList
;
}
src/main/java/com/mmc/oms/model/vo/uav/UavOrderExpressVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/9/6 14:46
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
UavOrderExpressVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
255177942680112246L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
uavOrderId
;
@ApiModelProperty
(
value
=
"快递编号"
)
private
String
sendExpNo
;
@ApiModelProperty
(
value
=
"快递编码"
)
private
String
sendExpCode
;
@ApiModelProperty
(
value
=
"取货人"
)
private
String
takeName
;
@ApiModelProperty
(
value
=
"取货人号码"
)
private
String
takePhone
;
@ApiModelProperty
(
value
=
"地区信息"
)
private
String
takeRegion
;
@ApiModelProperty
(
value
=
"发货-收货详细地址"
)
private
String
takeAddress
;
}
src/main/java/com/mmc/oms/model/vo/uav/UavOrderPayVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/9/6 19:25
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"最新版-订单支付信息"
)
public
class
UavOrderPayVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7418105078457625073L
;
@ApiModelProperty
(
value
=
"id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
uavOrderId
;
@ApiModelProperty
(
value
=
"支付凭证"
)
private
String
payImgList
;
@ApiModelProperty
(
value
=
"审核状态,0待审批,1通过,2未通过"
)
private
Integer
checkStatus
;
@ApiModelProperty
(
value
=
"备注信息"
)
private
String
payRemark
;
@ApiModelProperty
(
value
=
"未通过原因"
)
private
String
refuseReason
;
}
src/main/java/com/mmc/oms/model/vo/uav/UavOrderRemarkVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @author: zj
* @Date: 2023/9/6 14:56
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
UavOrderRemarkVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5505722703435250409L
;
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
uavOrderId
;
@ApiModelProperty
(
value
=
"评分"
)
private
Integer
level
;
@ApiModelProperty
(
value
=
"图片地址,‘,’隔开"
)
private
String
uavImages
;
@ApiModelProperty
(
value
=
"评论内容"
)
private
String
content
;
}
src/main/java/com/mmc/oms/model/vo/uav/UavOrderSkuVO.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
model
.
vo
.
uav
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author: zj
* @Date: 2023/9/4 16:31
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
UavOrderSkuVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6034392498890957390L
;
@ApiModelProperty
(
"商品规格id"
)
@NotNull
(
message
=
"商品规格id必传"
)
private
Integer
priceStockId
;
@ApiModelProperty
(
"商品规格"
)
@NotNull
(
message
=
"商品规格必传"
)
private
String
productSpec
;
@ApiModelProperty
(
"购买数量"
)
@NotNull
(
message
=
"购买数量图片必传"
)
private
Integer
orderNum
;
@ApiModelProperty
(
value
=
"单价"
,
hidden
=
true
)
private
BigDecimal
unitPrice
;
@ApiModelProperty
(
"商品规格图片"
)
@NotNull
(
message
=
"商品规格图片必传"
)
private
String
skuImage
;
@ApiModelProperty
(
"商品规格编号"
)
private
String
skuNo
;
@ApiModelProperty
(
"客户提交订单的单价"
)
@NotNull
(
message
=
"价格必传"
)
private
BigDecimal
salePrice
;
}
src/main/java/com/mmc/oms/mq/constant/RabbitmqConstant.java
浏览文件 @
90d4209e
...
...
@@ -5,9 +5,9 @@ package com.mmc.oms.mq.constant;
* @Date: 2023/8/23 11:26
*/
public
class
RabbitmqConstant
{
public
final
static
String
USER_TOP_UP_DIRECT_EXCHANGE
=
"USER_TOP_UP_DIRECT_EXCHANGE"
;
public
final
static
String
USER_TOP_UP_DIRECT_QUEUE
=
"USER_TOP_UP_DIRECT_QUEUE"
;
public
final
static
String
USER_TOP_UP_ROUTING_KEY
=
"USER_TOP_UP_ROUTING_KEY"
;
public
final
static
String
PAY_UAV_ORDER_SUCCESS_QUEUE
=
"PAY_UAV_ORDER_SUCCESS_QUEUE"
;
}
src/main/java/com/mmc/oms/mq/listener/MqConsumer.java
浏览文件 @
90d4209e
...
...
@@ -5,6 +5,7 @@ import com.mmc.oms.dao.topup.TopUpOrderDao;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.oms.mq.constant.RabbitmqConstant
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
com.rabbitmq.client.Channel
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.core.Message
;
...
...
@@ -24,6 +25,9 @@ public class MqConsumer {
@Resource
TopUpOrderDao
topUpOrderDao
;
@Resource
private
UavOrderService
uavOrderService
;
@RabbitListener
(
queues
=
RabbitmqConstant
.
USER_TOP_UP_DIRECT_QUEUE
)
public
void
subscribeDirectQueue
(
@Payload
String
topUpOrder
,
Channel
channel
,
Message
message
)
{
TopUpOrderVO
topUpOrderVO
=
JSONObject
.
parseObject
(
topUpOrder
,
TopUpOrderVO
.
class
);
...
...
@@ -36,4 +40,13 @@ public class MqConsumer {
topUpOrderDao
.
updateTopUpOrderInfo
(
topUpOrderDO
);
log
.
info
(
"<==========用户充值订单消费结束==========>"
);
}
@RabbitListener
(
queues
=
RabbitmqConstant
.
PAY_UAV_ORDER_SUCCESS_QUEUE
)
public
void
subscribePayUavOrderDirectQueue
(
@Payload
String
topUpOrder
,
Channel
channel
,
Message
message
)
{
TopUpOrderVO
topUpOrderVO
=
JSONObject
.
parseObject
(
topUpOrder
,
TopUpOrderVO
.
class
);
log
.
info
(
"<==========商城支付消费开始:信息是---->{}==========>"
,
topUpOrderVO
);
// 根据支付消息修改订单状态
uavOrderService
.
payUavOrder
(
topUpOrderVO
);
log
.
info
(
"<==========用户充值订单消费结束==========>"
);
}
}
src/main/java/com/mmc/oms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
浏览文件 @
90d4209e
...
...
@@ -10,10 +10,16 @@ import com.mmc.oms.controller.demand.util.EmojiUtils;
import
com.mmc.oms.dao.demand.DemandReleaseOrderDao
;
import
com.mmc.oms.dao.demand.PublishServiceOrderDao
;
import
com.mmc.oms.dao.topup.TopUpOrderDao
;
import
com.mmc.oms.dao.uav.UavOrderDao
;
import
com.mmc.oms.entity.demand.DemandReleaseOrderDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDTO
;
import
com.mmc.oms.entity.demand.ServiceRequirementsDO
;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
import
com.mmc.oms.enums.UavOrderStatus
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.vo.demand.CommonPaymentVO
;
import
com.mmc.oms.model.vo.demand.DemandReleaseOrderVO
;
import
com.mmc.oms.model.vo.demand.OrderRequestParamsVO
;
...
...
@@ -32,9 +38,11 @@ import org.springframework.web.client.RestTemplate;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.math.BigInteger
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
/**
* @Author small
...
...
@@ -53,17 +61,26 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
private
DemandReleaseOrderDao
releaseOrderDao
;
@Autowired
private
UavOrderDao
uavOrderDao
;
@Autowired
private
RestTemplate
restTemplate
;
@Value
(
"${payment.url}"
)
private
String
paymentUrl
;
@Value
(
"${ims.url}"
)
private
String
imsApp
;
@Autowired
private
StringRedisTemplate
stringRedisTemplate
;
@Resource
private
TopUpOrderDao
topUpOrderDao
;
@Autowired
private
UserAppApi
userAppApi
;
@Override
public
ResultBody
publish
(
DemandReleaseOrderVO
demandReleaseOrderVO
,
HttpServletRequest
request
)
{
DemandReleaseOrderDO
requirementsInfoDO
=
new
DemandReleaseOrderDO
(
demandReleaseOrderVO
);
...
...
@@ -76,11 +93,13 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
public
ResultBody
orderPayment
(
CommonPaymentVO
commonPaymentVO
,
HttpServletRequest
request
,
Integer
userAccountId
)
{
String
token
=
request
.
getHeader
(
"token"
);
switch
(
commonPaymentVO
.
getOrderPort
().
toString
())
{
case
"0"
:
return
payUavOrder
(
commonPaymentVO
,
token
);
case
"3"
:
return
orderPost
(
commonPaymentVO
,
token
);
case
"4"
:
//发布服务需求支付
return
publishServicePay
(
commonPaymentVO
,
token
,
userAccountId
);
return
publishServicePay
(
commonPaymentVO
,
token
,
userAccountId
,
request
);
case
"5"
:
return
topUpOrder
(
commonPaymentVO
,
token
,
userAccountId
);
default
:
...
...
@@ -88,6 +107,24 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
}
}
public
ResultBody
payUavOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
)
{
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detailByNo
(
commonPaymentVO
.
getOrderNumber
());
if
(!
uavOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
equals
(
commonPaymentVO
.
getAmount
())){
return
ResultBody
.
error
(
"发起支付金额不正确"
);
}
OrderRequestParamsVO
orderRequestParamsVO
=
new
OrderRequestParamsVO
();
orderRequestParamsVO
.
setOrderNo
(
commonPaymentVO
.
getOrderNumber
());
orderRequestParamsVO
.
setAmount
(
commonPaymentVO
.
getAmount
());
orderRequestParamsVO
.
setAttach
(
"PAY_UAV_ORDER"
);
orderRequestParamsVO
.
setDescription
(
commonPaymentVO
.
getDescription
());
orderRequestParamsVO
.
setOrderPort
(
commonPaymentVO
.
getOrderPort
());
ResultBody
resultBody
=
releaseOrder
(
orderRequestParamsVO
,
token
);
if
(!
"200"
.
equals
(
resultBody
.
getCode
()))
{
throw
new
RuntimeException
(
"调用微信支付方法失败!"
);
}
return
resultBody
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
topUpOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
,
Integer
userAccountId
)
{
// 生成充值订单编号 规则T加时间戳加用户id加随机数4位
...
...
@@ -124,9 +161,14 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
* @param userAccountId
* @return
*/
private
ResultBody
publishServicePay
(
CommonPaymentVO
commonPaymentVO
,
String
token
,
Integer
userAccountId
)
{
private
ResultBody
publishServicePay
(
CommonPaymentVO
commonPaymentVO
,
String
token
,
Integer
userAccountId
,
HttpServletRequest
request
)
{
if
(
"4"
.
equals
(
commonPaymentVO
.
getOrderPort
().
toString
())){
try
{
TimeUnit
.
SECONDS
.
sleep
(
1
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
String
orderNumber
=
commonPaymentVO
.
getOrderNumber
();
String
json
=
stringRedisTemplate
.
opsForValue
().
get
(
orderNumber
);
GetOrderNumberDTO
getOrderNumberDTO
=
JSONObject
.
parseObject
(
json
,
GetOrderNumberDTO
.
class
);
...
...
@@ -136,6 +178,11 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
if
(
i
!=
0
){
return
ResultBody
.
error
(
"当前需求已有人支付"
);
}
ServiceRequirementsDO
repertory
=
repertory
(
getOrderNumberDO
.
getRequirementsInfoId
(),
request
);
Integer
repertory1
=
repertory
.
getRepertory
();
if
(
repertory1
!=
null
&&
repertory1
<=
0
){
return
ResultBody
.
error
(
"需求已被人抢走"
);
}
}
releaseOrderDao
.
insertService
(
getOrderNumberDO
);
BigDecimal
paramMoney
=
getOrderNumberDO
.
getWeChatPay
();
...
...
@@ -224,4 +271,23 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
}
return
ResultBody
.
success
(
map
);
}
/**
* 查看是否支付成功
*
* @param requirementsInfoId
* @return
*/
public
ServiceRequirementsDO
repertory
(
Integer
requirementsInfoId
,
HttpServletRequest
request
)
{
String
token
=
request
.
getHeader
(
"token"
);
HttpHeaders
headers
=
new
HttpHeaders
();
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
headers
.
add
(
"token"
,
token
);
HttpEntity
<
String
>
entity
=
new
HttpEntity
<>(
JSONObject
.
toJSONString
(
requirementsInfoId
),
headers
);
ResponseEntity
<
ServiceRequirementsDO
>
exchange
=
restTemplate
.
exchange
(
imsApp
+
"requirements/repertory?requirementsInfoId="
+
requirementsInfoId
,
HttpMethod
.
GET
,
entity
,
ServiceRequirementsDO
.
class
);
ServiceRequirementsDO
body
=
exchange
.
getBody
();
return
body
;
}
}
src/main/java/com/mmc/oms/service/uav/UavOrderService.java
0 → 100644
浏览文件 @
90d4209e
package
com
.
mmc
.
oms
.
service
.
uav
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.model.dto.user.BaseAccountDTO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.uav.AddUavOrderVO
;
import
com.mmc.oms.model.vo.uav.UavOrderExpressVO
;
import
com.mmc.oms.model.vo.uav.UavOrderPayVO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author: zj
* @Date: 2023/9/4 15:31
*/
public
interface
UavOrderService
{
ResultBody
addOrder
(
AddUavOrderVO
param
,
BaseAccountDTO
currentAccount
);
ResultBody
detail
(
Integer
id
)
throws
Exception
;
ResultBody
close
(
Integer
id
,
String
token
);
ResultBody
list
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
);
ResultBody
listByUid
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
);
ResultBody
pay
(
Integer
id
,
BaseAccountDTO
currentAccount
,
HttpServletRequest
request
);
ResultBody
send
(
UavOrderExpressVO
param
);
ResultBody
receive
(
Integer
id
,
BaseAccountDTO
currentAccount
);
ResultBody
remarkOrder
(
UavOrderRemarkVO
uavOrderRemarkVO
);
ResultBody
sellerRemark
(
Integer
id
,
String
content
);
ResultBody
statusList
();
ResultBody
upLoadPay
(
UavOrderPayVO
uavOrderPayVO
);
ResultBody
checkPay
(
UavOrderPayVO
uavOrderPayVO
);
void
payUavOrder
(
TopUpOrderVO
topUpOrderVO
);
}
src/main/java/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
0 → 100644
浏览文件 @
90d4209e
差异被折叠。
点击展开。
src/main/resources/application-dev.yml
浏览文件 @
90d4209e
...
...
@@ -67,5 +67,8 @@ payment:
pms
:
url
:
https://test.iuav.shop/pms/
ims
:
url
:
https://test.iuav.shop/release/
src/main/resources/application-local.yml
浏览文件 @
90d4209e
...
...
@@ -7,8 +7,9 @@ spring:
password
:
IUAV_DEV@2023&MYSQL
redis
:
database
:
1
host
:
127.0.0.1
host
:
r-wz9ke310fs684hacn1pd.redis.rds.aliyuncs.com
port
:
6379
password
:
MMC@2022&REDIS
jedis
:
pool
:
max-active
:
2
...
...
@@ -57,5 +58,7 @@ payment:
pms
:
url
:
http://localhost:8099/pms/
ims
:
url
:
http://localhost:10001/release/
src/main/resources/application-prod.yml
浏览文件 @
90d4209e
...
...
@@ -66,3 +66,5 @@ payment:
pms
:
url
:
https://www.iuav.shop/pms/
ims
:
url
:
https://www.iuav.shop/release/
src/main/resources/mapper/uav/UavOrderDao.xml
0 → 100644
浏览文件 @
90d4209e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.oms.dao.uav.UavOrderDao"
>
<resultMap
type=
"com.mmc.oms.entity.uav.UavOrderDO"
id=
"uavOrderResultMap"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"orderNo"
column=
"order_no"
/>
<result
property=
"statusCode"
column=
"status_code"
/>
<result
property=
"userAccountId"
column=
"user_account_id"
/>
<result
property=
"thirdBackUserAccountId"
column=
"third_back_user_account_id"
/>
<result
property=
"companyName"
column=
"company_name"
/>
<result
property=
"orderTotalAmount"
column=
"order_total_amount"
/>
<result
property=
"salaryAmount"
column=
"salary_amount"
/>
<result
property=
"shareAmount"
column=
"share_amount"
/>
<result
property=
"otherAmount"
column=
"other_amount"
/>
<result
property=
"payType"
column=
"pay_type"
/>
<result
property=
"orderType"
column=
"order_type"
/>
<result
property=
"deliveryTime"
column=
"delivery_time"
/>
<result
property=
"userAddressId"
column=
"user_address_id"
/>
<result
property=
"userRemark"
column=
"user_remark"
/>
<result
property=
"sellerRemark"
column=
"seller_remark"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"payTime"
column=
"pay_time"
/>
<result
property=
"confirmReceiptTime"
column=
"confirm_receipt_time"
/>
<result
property=
"version"
column=
"version"
/>
<result
property=
"remarkStatus"
column=
"remark_status"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<collection
property=
"skuDOS"
ofType=
"com.mmc.oms.entity.uav.UavOrderSkuDO"
select=
"listUavOrderSkuDO"
column=
"{uavOrderId=id}"
>
</collection>
</resultMap>
<sql
id=
"uav_order_column"
>
id, order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount, salary_amount,
share_amount, other_amount, pay_type, order_type, delivery_time, user_address_id, user_remark, seller_remark, create_time,
pay_time, confirm_receipt_time, version, remark_status, update_time
</sql>
<insert
id=
"addOrder"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into uav_order(order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount,
salary_amount, share_amount, other_amount, pay_type, order_type, user_address_id, user_remark, seller_remark, create_time
)
values( #{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName}, #{orderTotalAmount},
#{salaryAmount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId}, #{userRemark}, #{sellerRemark},
NOW()
);
</insert>
<insert
id=
"addOrderSku"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into uav_order_sku(
uav_order_id, mall_goods_id, trade_name, price_stock_id, product_spec, order_num, unit_price, sku_image, sku_no, create_time)
values
<foreach
item=
"item"
collection=
"list"
separator=
","
>
(#{item.uavOrderId}, #{item.mallGoodsId}, #{item.tradeName}, #{item.priceStockId}, #{item.productSpec}, #{item.orderNum}, #{item.unitPrice}, #{item.skuImage}, #{item.skuNo}, NOW())
</foreach>
</insert>
<insert
id=
"addOrderPay"
parameterType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into uav_order_pay(
uav_order_id,
order_no,
pay_type,
pay_amount,
pay_img_list,
check_status,
pay_remark,
refuse_reason,
create_time,
check_time
)
values(#{uavOrderId}, #{orderNo}, #{payType}, #{payAmount}, #{payImgList}, #{checkStatus}, #{payRemark}, #{refuseReason}, NOW(), #{checkTime})
</insert>
<update
id=
"sellerRemark"
>
update uav_order set seller_remark = #{content} where id = #{id}
</update>
<update
id=
"updateUavOrderStatus"
>
update uav_order set status_code = #{nextCode} where id = #{id}
</update>
<update
id=
"updateUavOrderPayInfo"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
update uav_order set pay_time = #{payTime}, pay_type = #{payType} where id = #{id}
</update>
<select
id=
"detail"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
select
<include
refid=
"uav_order_column"
/>
from uav_order where id = #{id}
</select>
<select
id=
"listUavOrderPay"
resultType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
>
select
id,
uav_order_id,
pay_type,
pay_img_list,
check_status,
pay_remark,
refuse_reason,
create_time,
check_time
from uav_order_pay
where uav_order_id = #{uavOrderId}
</select>
<select
id=
"listUavOrderSkuDO"
resultType=
"com.mmc.oms.entity.uav.UavOrderSkuDO"
>
select
id,
uav_order_id,
mall_goods_id,
trade_name,
price_stock_id,
product_spec,
order_num,
unit_price,
sku_image,
sku_no,
create_time
from uav_order_sku
where uav_order_id = #{uavOrderId}
</select>
<select
id=
"statusList"
resultType=
"com.mmc.oms.entity.uav.UavOrderStatusDO"
>
select
id,
status,
code,
next_code
from uav_order_status
</select>
<select
id=
"countList"
resultType=
"java.lang.Integer"
parameterType=
"com.mmc.oms.model.qo.uav.UavOrderQO"
>
select count(*) from uav_order
where 1 = 1
<if
test=
"keyword != null"
>
and order_no = #{orderNo}
</if>
<if
test=
"uid != null"
>
and user_account_id = #{uid}
</if>
<if
test=
"userAccountId != null"
>
and user_account_id = #{userAccountId}
</if>
<if
test=
"statusCode != null"
>
and status_code = #{statusCode}
</if>
<if
test=
"thirdBackUserAccountId != null"
>
and third_back_user_account_id = #{thirdBackUserAccountId}
</if>
<if
test=
"startTime != null"
>
and create_time >= #{startTime}
</if>
<if
test=
"endTime != null"
>
and #{endTime} >= create_time
</if>
</select>
<select
id=
"list"
resultMap=
"uavOrderResultMap"
parameterType=
"com.mmc.oms.model.qo.uav.UavOrderQO"
>
SELECT
<include
refid=
"uav_order_column"
/>
FROM
uav_order uo
where 1 = 1
<if
test=
"keyword != null"
>
and uo.order_no = #{orderNo}
</if>
<if
test=
"uid != null"
>
and uo.user_account_id = #{uid}
</if>
<if
test=
"userAccountId != null"
>
and uo.user_account_id = #{userAccountId}
</if>
<if
test=
"statusCode != null"
>
and uo.status_code = #{statusCode}
</if>
<if
test=
"thirdBackUserAccountId != null"
>
and uo.third_back_user_account_id = #{thirdBackUserAccountId}
</if>
<if
test=
"startTime != null"
>
and uo.create_time >= #{startTime}
</if>
<if
test=
"endTime != null"
>
and #{endTime} >= uo.create_time
</if>
order by uo.id desc
limit #{pageNo}, #{pageSize}
</select>
<select
id=
"detailByNo"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
select
<include
refid=
"uav_order_column"
/>
from uav_order where order_no = #{orderNo}
</select>
</mapper>
src/main/resources/mapper/uav/UavOrderExpressDao.xml
0 → 100644
浏览文件 @
90d4209e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mmc.oms.dao.uav.UavOrderExpressDao"
>
<insert
id=
"addAddress"
keyProperty=
"id"
useGeneratedKeys=
"true"
parameterType=
"com.mmc.oms.entity.uav.UavOrderExpressDO"
>
insert into uav_order_express(uav_order_id, send_exp_no, send_exp_code, take_name, take_phone, take_region, take_address, create_time)
values (#{uavOrderId}, #{sendExpNo}, #{sendExpCode}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress}, NOW())
</insert>
<update
id=
"updateUavOrderExpressDO"
parameterType=
"com.mmc.oms.entity.uav.UavOrderExpressDO"
>
update uav_order_express
<set>
<if
test=
"sendExpNo != null"
>
send_exp_no = #{sendExpNo},
</if>
<if
test=
"sendExpCode != null"
>
send_exp_code = #{sendExpCode},
</if>
<if
test=
"takeName != null"
>
take_name = #{takeName},
</if>
<if
test=
"takePhone != null"
>
take_phone = #{takePhone},
</if>
<if
test=
"takeRegion != null"
>
take_region = #{takeRegion},
</if>
<if
test=
"takeAddress != null"
>
take_address = #{takeAddress},
</if>
<if
test=
"sendTime != null"
>
send_time = #{sendTime},
</if>
<if
test=
"takeAddress != null"
>
take_address = #{takeAddress},
</if>
<if
test=
"receive != null"
>
is_receive = #{receive},
</if>
<if
test=
"receiveTime != null"
>
receive_time = #{receiveTime},
</if>
<if
test=
"takeAddress != null"
>
take_address = #{takeAddress},
</if>
</set>
where
id = #{id}
</update>
<select
id=
"getUavOrderExpressDO"
resultType=
"com.mmc.oms.entity.uav.UavOrderExpressDO"
>
select
id,
uav_order_id,
send_exp_no,
send_exp_code,
take_name,
take_phone,
take_region,
take_address,
send_time,
is_receive,
receive_time,
update_time,
create_time
from uav_order_express
where uav_order_id = #{uavOrderId}
</select>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论