Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
O
oms
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
iuav
oms
Commits
52629640
提交
52629640
authored
9月 23, 2023
作者:
xiaowang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'develop'
上级
8895c0cd
71c0169a
显示空白字符变更
内嵌
并排
正在显示
59 个修改的文件
包含
2805 行增加
和
139 行删除
+2805
-139
kustomization.yaml
kustomization/overlays/dev/kustomization.yaml
+1
-1
OmsApplication.java
src/main/java/com/mmc/oms/OmsApplication.java
+2
-0
CodeUtil.java
src/main/java/com/mmc/oms/common/util/CodeUtil.java
+21
-0
OrderReportController.java
...va/com/mmc/oms/controller/data/OrderReportController.java
+36
-0
LeaseOrderController.java
...va/com/mmc/oms/controller/lease/LeaseOrderController.java
+58
-0
UavCartController.java
...in/java/com/mmc/oms/controller/uav/UavCartController.java
+2
-0
UavOrderController.java
...n/java/com/mmc/oms/controller/uav/UavOrderController.java
+10
-5
UserAddressDao.java
src/main/java/com/mmc/oms/dao/UserAddressDao.java
+1
-0
OrderReportDao.java
src/main/java/com/mmc/oms/dao/data/OrderReportDao.java
+12
-0
LeaseOrderDao.java
src/main/java/com/mmc/oms/dao/lease/LeaseOrderDao.java
+26
-0
UavOrderDao.java
src/main/java/com/mmc/oms/dao/uav/UavOrderDao.java
+12
-1
UavOrderExpressDao.java
src/main/java/com/mmc/oms/dao/uav/UavOrderExpressDao.java
+2
-0
UavPayWxDao.java
src/main/java/com/mmc/oms/dao/uav/UavPayWxDao.java
+24
-0
LeaseOrderDO.java
src/main/java/com/mmc/oms/entity/lease/LeaseOrderDO.java
+165
-0
LeaseOrderExpressDO.java
...in/java/com/mmc/oms/entity/lease/LeaseOrderExpressDO.java
+77
-0
LeaseRefundOrderDO.java
...ain/java/com/mmc/oms/entity/lease/LeaseRefundOrderDO.java
+55
-0
UavOrderRemarkDO.java
src/main/java/com/mmc/oms/entity/uav/UavOrderRemarkDO.java
+12
-0
UavPayWxDO.java
src/main/java/com/mmc/oms/entity/uav/UavPayWxDO.java
+31
-0
UavPayWxSubDO.java
src/main/java/com/mmc/oms/entity/uav/UavPayWxSubDO.java
+28
-0
LeaseOrderStatus.java
src/main/java/com/mmc/oms/enums/LeaseOrderStatus.java
+38
-0
LeaseTermInfo.java
src/main/java/com/mmc/oms/enums/LeaseTermInfo.java
+35
-0
ImsAppApi.java
src/main/java/com/mmc/oms/feign/ImsAppApi.java
+19
-0
PmsAppApi.java
src/main/java/com/mmc/oms/feign/PmsAppApi.java
+8
-1
UserAppApi.java
src/main/java/com/mmc/oms/feign/UserAppApi.java
+3
-0
FeignConfiguration.java
...ain/java/com/mmc/oms/feign/config/FeignConfiguration.java
+5
-0
ImsApiHystrix.java
src/main/java/com/mmc/oms/feign/hystrix/ImsApiHystrix.java
+20
-0
PmsAppApiHystrix.java
...main/java/com/mmc/oms/feign/hystrix/PmsAppApiHystrix.java
+8
-2
UserAppApiHystrix.java
...ain/java/com/mmc/oms/feign/hystrix/UserAppApiHystrix.java
+6
-0
AuthSignatureFilter.java
src/main/java/com/mmc/oms/filter/AuthSignatureFilter.java
+4
-1
OrderReportDTO.java
src/main/java/com/mmc/oms/model/dto/data/OrderReportDTO.java
+35
-0
ReleaseReportDTO.java
...ain/java/com/mmc/oms/model/dto/data/ReleaseReportDTO.java
+31
-0
LeaseOrderDTO.java
src/main/java/com/mmc/oms/model/dto/lease/LeaseOrderDTO.java
+95
-0
MultiUavOrderDTO.java
...main/java/com/mmc/oms/model/dto/uav/MultiUavOrderDTO.java
+25
-0
UavCartCompanyDTO.java
...ain/java/com/mmc/oms/model/dto/uav/UavCartCompanyDTO.java
+8
-0
UavCartDTO.java
src/main/java/com/mmc/oms/model/dto/uav/UavCartDTO.java
+4
-2
UavOrderRemarkDTO.java
...ain/java/com/mmc/oms/model/dto/uav/UavOrderRemarkDTO.java
+40
-0
UavCartQO.java
src/main/java/com/mmc/oms/model/qo/uav/UavCartQO.java
+0
-2
AddLeaseOrderVO.java
...main/java/com/mmc/oms/model/vo/lease/AddLeaseOrderVO.java
+60
-0
LeaseGoodsVO.java
src/main/java/com/mmc/oms/model/vo/lease/LeaseGoodsVO.java
+134
-0
LeaseOrderRefundVO.java
...n/java/com/mmc/oms/model/vo/lease/LeaseOrderRefundVO.java
+29
-0
LeasePriceStockVO.java
...in/java/com/mmc/oms/model/vo/lease/LeasePriceStockVO.java
+63
-0
AddUavOrderByCartQO.java
...in/java/com/mmc/oms/model/vo/uav/AddUavOrderByCartQO.java
+0
-6
OrderReportService.java
...ain/java/com/mmc/oms/service/data/OrderReportService.java
+13
-0
OrderReportServiceImpl.java
...com/mmc/oms/service/data/impl/OrderReportServiceImpl.java
+51
-0
DemandReleaseOrderServiceImpl.java
...ms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
+35
-8
LeaseOrderService.java
...ain/java/com/mmc/oms/service/lease/LeaseOrderService.java
+24
-0
LeaseOrderServiceImpl.java
...com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
+365
-0
ServiceOrderTaskServiceImpl.java
...mc/oms/service/mall/impl/ServiceOrderTaskServiceImpl.java
+3
-2
UavCartService.java
src/main/java/com/mmc/oms/service/uav/UavCartService.java
+1
-1
UavOrderService.java
src/main/java/com/mmc/oms/service/uav/UavOrderService.java
+7
-3
UavCartServiceImpl.java
...java/com/mmc/oms/service/uav/impl/UavCartServiceImpl.java
+18
-20
UavOrderServiceImpl.java
...ava/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
+191
-27
TDateUtil.java
src/main/java/com/mmc/oms/util/TDateUtil.java
+611
-0
application-dev.yml
src/main/resources/application-dev.yml
+2
-2
OrderReportDao.xml
src/main/resources/mapper/data/OrderReportDao.xml
+6
-0
LeaseOrderDao.xml
src/main/resources/mapper/lease/LeaseOrderDao.xml
+73
-0
UavOrderDao.xml
src/main/resources/mapper/uav/UavOrderDao.xml
+112
-55
UavOrderExpressDao.xml
src/main/resources/mapper/uav/UavOrderExpressDao.xml
+8
-0
UavPayWxDao.xml
src/main/resources/mapper/uav/UavPayWxDao.xml
+40
-0
没有找到文件。
kustomization/overlays/dev/kustomization.yaml
浏览文件 @
52629640
...
@@ -14,4 +14,4 @@ patches:
...
@@ -14,4 +14,4 @@ patches:
images
:
images
:
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
-
name
:
REGISTRY/NAMESPACE/IMAGE:TAG
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms
newName
:
mmc-registry.cn-shenzhen.cr.aliyuncs.com/sharefly-dev/oms
newTag
:
62d5ba1ec80b8f48768cc6453fedc8e3fb12f95c
newTag
:
704f07092d111117a1d78f6ded71276115f3ba04
src/main/java/com/mmc/oms/OmsApplication.java
浏览文件 @
52629640
...
@@ -3,8 +3,10 @@ package com.mmc.oms;
...
@@ -3,8 +3,10 @@ package com.mmc.oms;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
@SpringBootApplication
@SpringBootApplication
@EnableScheduling
@EnableFeignClients
(
basePackages
=
"com.mmc.oms.feign"
)
@EnableFeignClients
(
basePackages
=
"com.mmc.oms.feign"
)
public
class
OmsApplication
{
public
class
OmsApplication
{
...
...
src/main/java/com/mmc/oms/common/util/CodeUtil.java
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
common
.
util
;
package
com
.
mmc
.
oms
.
common
.
util
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Random
;
import
java.util.Random
;
import
java.util.concurrent.atomic.AtomicInteger
;
/**
/**
* @Author small
* @Author small
...
@@ -236,6 +239,14 @@ public class CodeUtil {
...
@@ -236,6 +239,14 @@ public class CodeUtil {
return
sb
.
toString
();
return
sb
.
toString
();
}
}
public
static
String
multiUavOrderPayCode
()
{
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"m"
);
sb
.
append
(
TDateUtil
.
getCurrentDateByType
(
"yyyyMMddHHmmss"
));
sb
.
append
(
CodeUtil
.
getRandomNum
(
4
));
return
sb
.
toString
();
}
/**
/**
* 活动编号
* 活动编号
*/
*/
...
@@ -243,4 +254,14 @@ public class CodeUtil {
...
@@ -243,4 +254,14 @@ public class CodeUtil {
return
"AC"
+
CodeUtil
.
getRandomNum
(
5
);
return
"AC"
+
CodeUtil
.
getRandomNum
(
5
);
}
}
private
static
final
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
private
static
final
AtomicInteger
counter
=
new
AtomicInteger
(
0
);
public
static
String
generateOrderId
()
{
Date
now
=
new
Date
();
String
dateString
=
sdf
.
format
(
now
);
int
count
=
counter
.
incrementAndGet
();
return
"ORD"
+
dateString
+
String
.
format
(
"%04d"
,
count
);
}
}
}
src/main/java/com/mmc/oms/controller/data/OrderReportController.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
controller
.
data
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.model.dto.data.OrderReportDTO
;
import
com.mmc.oms.service.data.OrderReportService
;
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.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @Author LW
* @date 2023/9/16 17:49
* 概要:
*/
@Api
(
tags
=
"云享飞加盟入驻及商品sku看板数据"
)
@RequestMapping
(
"/product/report"
)
@RestController
public
class
OrderReportController
{
@Autowired
private
OrderReportService
orderReportService
;
@ApiOperation
(
value
=
"获取用户报表数据"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
OrderReportDTO
.
class
)})
@GetMapping
(
"/getOrderReportData"
)
public
ResultBody
<
OrderReportDTO
>
getOrderReportData
()
{
return
orderReportService
.
getOrderReportData
();
}
}
src/main/java/com/mmc/oms/controller/lease/LeaseOrderController.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
controller
.
lease
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.controller.BaseController
;
import
com.mmc.oms.model.dto.lease.LeaseOrderDTO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.service.lease.LeaseOrderService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @author: lw
* @Date: 2023/9/21 16:29
*/
@Api
(
tags
=
{
"最新版--租赁订单接口"
})
@RestController
@RequestMapping
(
"/lease/order/"
)
public
class
LeaseOrderController
extends
BaseController
{
@Resource
private
LeaseOrderService
leaseOrderService
;
@ApiOperation
(
value
=
"提交订单"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LeaseOrderDTO
.
class
)})
@PostMapping
(
"addLeaseOrder"
)
public
ResultBody
<
LeaseOrderDTO
>
addLeaseOrder
(
@RequestBody
AddLeaseOrderVO
param
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
addLeaseOrder
(
param
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"订单详情"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LeaseOrderDTO
.
class
)})
@GetMapping
(
"detail"
)
public
ResultBody
<
LeaseOrderDTO
>
detail
(
@RequestParam
Integer
id
,
HttpServletRequest
request
)
throws
Exception
{
return
leaseOrderService
.
detail
(
id
,
this
.
getCurrentAccount
(
request
));
}
@ApiOperation
(
value
=
"买家申请退款(取消订单)"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
ResultBody
.
class
)})
@GetMapping
(
"close"
)
public
ResultBody
close
(
@RequestBody
LeaseOrderRefundVO
leaseOrderRefundVO
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
close
(
leaseOrderRefundVO
,
this
.
getCurrentAccount
(
request
).
getToken
());
}
@ApiOperation
(
value
=
"后台订单列表"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LeaseOrderDTO
.
class
)})
@PostMapping
(
"list"
)
public
ResultBody
<
LeaseOrderDTO
>
list
(
@RequestBody
UavOrderQO
uavOrderQO
,
HttpServletRequest
request
)
{
return
leaseOrderService
.
list
(
uavOrderQO
,
this
.
getCurrentAccount
(
request
));
}
}
src/main/java/com/mmc/oms/controller/uav/UavCartController.java
浏览文件 @
52629640
...
@@ -2,6 +2,7 @@ package com.mmc.oms.controller.uav;
...
@@ -2,6 +2,7 @@ package com.mmc.oms.controller.uav;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.controller.BaseController
;
import
com.mmc.oms.controller.BaseController
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.uav.UavCartCompanyDTO
;
import
com.mmc.oms.model.dto.uav.UavCartCompanyDTO
;
import
com.mmc.oms.model.dto.uav.UavCartDTO
;
import
com.mmc.oms.model.dto.uav.UavCartDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderDTO
;
...
@@ -13,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -13,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
...
src/main/java/com/mmc/oms/controller/uav/UavOrderController.java
浏览文件 @
52629640
...
@@ -3,9 +3,7 @@ package com.mmc.oms.controller.uav;
...
@@ -3,9 +3,7 @@ package com.mmc.oms.controller.uav;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.controller.BaseController
;
import
com.mmc.oms.controller.BaseController
;
import
com.mmc.oms.model.dto.ContractInfoDTO
;
import
com.mmc.oms.model.dto.ContractInfoDTO
;
import
com.mmc.oms.model.dto.uav.UavCartCompanyDTO
;
import
com.mmc.oms.model.dto.uav.*
;
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.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.uav.*
;
import
com.mmc.oms.model.vo.uav.*
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
com.mmc.oms.service.uav.UavOrderService
;
...
@@ -38,9 +36,9 @@ public class UavOrderController extends BaseController {
...
@@ -38,9 +36,9 @@ public class UavOrderController extends BaseController {
}
}
@ApiOperation
(
value
=
"提交订单-购物车"
)
@ApiOperation
(
value
=
"提交订单-购物车"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UavOrderDTO
.
class
)})
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
Multi
UavOrderDTO
.
class
)})
@PostMapping
(
"addOrderByCart"
)
@PostMapping
(
"addOrderByCart"
)
public
ResultBody
<
UavOrderDTO
>
addOrderByCart
(
@RequestBody
AddUavOrderByCartQO
orderByCartQO
,
public
ResultBody
<
Multi
UavOrderDTO
>
addOrderByCart
(
@RequestBody
AddUavOrderByCartQO
orderByCartQO
,
HttpServletRequest
request
)
{
HttpServletRequest
request
)
{
return
uavOrderService
.
addOrderByCart
(
orderByCartQO
,
this
.
getCurrentAccount
(
request
));
return
uavOrderService
.
addOrderByCart
(
orderByCartQO
,
this
.
getCurrentAccount
(
request
));
}
}
...
@@ -143,6 +141,13 @@ public class UavOrderController extends BaseController {
...
@@ -143,6 +141,13 @@ public class UavOrderController extends BaseController {
return
uavOrderService
.
removeUavOrder
(
id
);
return
uavOrderService
.
removeUavOrder
(
id
);
}
}
@ApiOperation
(
value
=
"商品评价"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
UavOrderRemarkDTO
.
class
)})
@GetMapping
(
"listGoodsRemark"
)
public
List
<
UavOrderRemarkDTO
>
listGoodsRemark
(
@RequestParam
Integer
remarkType
,
@RequestParam
Integer
goodsId
)
{
return
uavOrderService
.
listGoodsRemark
(
remarkType
,
goodsId
);
}
// 设置订单抽成比例
// 设置订单抽成比例
// 微信完成回调-修改订单状态
// 微信完成回调-修改订单状态
...
...
src/main/java/com/mmc/oms/dao/UserAddressDao.java
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
dao
;
package
com
.
mmc
.
oms
.
dao
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.entity.uav.UavOrderExpressDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
import
java.util.List
;
...
...
src/main/java/com/mmc/oms/dao/data/OrderReportDao.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
dao
.
data
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @Author LW
* @date 2023/9/19 10:06
* 概要:
*/
@Mapper
public
interface
OrderReportDao
{
}
src/main/java/com/mmc/oms/dao/lease/LeaseOrderDao.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
dao
.
lease
;
import
com.mmc.oms.entity.lease.LeaseOrderDO
;
import
com.mmc.oms.entity.lease.LeaseOrderExpressDO
;
import
com.mmc.oms.entity.lease.LeaseRefundOrderDO
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* @Author LW
* @date 2023/9/21 16:48
* 概要:
*/
@Mapper
public
interface
LeaseOrderDao
{
void
addOrder
(
LeaseOrderDO
leaseOrderDO
);
void
addAddress
(
LeaseOrderExpressDO
leaseOrderExpressDO
);
LeaseOrderDO
detail
(
Integer
id
);
LeaseOrderExpressDO
getLeaseOrderExpress
(
Integer
id
);
void
updateUavOrderStatus
(
Integer
id
,
Integer
code
);
void
addLeaseRefundOrder
(
LeaseRefundOrderDO
leaseRefundOrderDO
);
}
src/main/java/com/mmc/oms/dao/uav/UavOrderDao.java
浏览文件 @
52629640
...
@@ -4,6 +4,7 @@ import com.mmc.oms.entity.uav.*;
...
@@ -4,6 +4,7 @@ import com.mmc.oms.entity.uav.*;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -42,11 +43,21 @@ public interface UavOrderDao {
...
@@ -42,11 +43,21 @@ public interface UavOrderDao {
void
checkPay
(
UavOrderPayDO
uavOrderPayDO
);
void
checkPay
(
UavOrderPayDO
uavOrderPayDO
);
void
addRemarkOrder
(
UavOrderRemarkDO
uavOrderRemarkDO
);
void
addRemarkOrder
(
List
<
UavOrderRemarkDO
>
uavOrderRemarkDOS
);
UavOrderPayDO
getUavOrderPayById
(
Integer
id
);
UavOrderPayDO
getUavOrderPayById
(
Integer
id
);
void
updateUavOrderProportion
(
Integer
id
,
Integer
proportion
);
void
updateUavOrderProportion
(
Integer
id
,
Integer
proportion
);
void
closeShowUavOrder
(
Integer
id
);
void
closeShowUavOrder
(
Integer
id
);
void
batchAddOrder
(
List
<
UavOrderDO
>
orders
);
int
getOrderCount
();
BigDecimal
getSaleOrderGMV
();
List
<
UavOrderRemarkDO
>
listGoodsRemark
(
Integer
remarkType
,
Integer
goodsId
);
void
updateUavOrderRemarkStatus
(
Integer
id
);
}
}
src/main/java/com/mmc/oms/dao/uav/UavOrderExpressDao.java
浏览文件 @
52629640
...
@@ -18,4 +18,6 @@ public interface UavOrderExpressDao {
...
@@ -18,4 +18,6 @@ public interface UavOrderExpressDao {
int
updateUavOrderExpressDO
(
UavOrderExpressDO
uavOrderExpressDO
);
int
updateUavOrderExpressDO
(
UavOrderExpressDO
uavOrderExpressDO
);
List
<
UavOrderExpressDO
>
listNoReceive
();
List
<
UavOrderExpressDO
>
listNoReceive
();
void
batchAddOrderExpress
(
List
<
UavOrderExpressDO
>
expressDOS
);
}
}
src/main/java/com/mmc/oms/dao/uav/UavPayWxDao.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
dao
.
uav
;
import
com.mmc.oms.entity.uav.UavPayWxDO
;
import
com.mmc.oms.entity.uav.UavPayWxSubDO
;
import
org.apache.ibatis.annotations.Mapper
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/9/21 19:36
*/
@Mapper
public
interface
UavPayWxDao
{
UavPayWxDO
getUavPayWx
(
String
payNo
);
void
addUavPayWx
(
UavPayWxDO
uavPayWx
);
void
batchAddUavPayWxSub
(
List
<
UavPayWxSubDO
>
payWxSubDOS
);
List
<
UavPayWxSubDO
>
listUavPayWxSub
(
Integer
uavPayWxId
);
void
finishUavPayWx
(
String
orderNo
,
String
tradeState
);
}
src/main/java/com/mmc/oms/entity/lease/LeaseOrderDO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
entity
.
lease
;
import
com.mmc.oms.model.dto.lease.LeaseOrderDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* (LeaseOrderDO)实体类
*
* @author makejava
* @since 2023-09-21 16:59:10
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LeaseOrderDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
58305538180098964L
;
private
Integer
id
;
/**
* 订单编号
*/
private
String
orderNo
;
/**
* 订单状态
*/
private
Integer
statusCode
;
/**
* 下单用户id
*/
private
Integer
userAccountId
;
/**
* 租赁商品id
*/
private
Integer
leaseGoodsId
;
/**
* 商家企业名称
*/
private
String
companyName
;
/**
* 商家id
*/
private
Integer
thirdBackUserAccountId
;
/**
* 商品标题
*/
private
String
orderName
;
/**
* sku图片/商品图片
*/
private
String
skuImg
;
/**
* 订单总金额
*/
private
BigDecimal
orderTotalAmount
;
/**
* 抵扣佣金金额
*/
private
BigDecimal
salaryAmount
;
/**
* 抵扣云享金金额
*/
private
BigDecimal
shareAmount
;
/**
* 其他渠道应支付金额
*/
private
BigDecimal
otherAmount
;
/**
* 支付方式,wechatpay微信,alipay支付宝,offline线下
*/
private
String
payType
;
/**
* 用户收货地址id
*/
private
Integer
userAddressId
;
/**
* 买家备注信息
*/
private
String
userRemark
;
/**
* 商家备注信息
*/
private
String
sellerRemark
;
/**
* 支付时间
*/
private
Date
payTime
;
/**
* 确认收货时间(成交时间)
*/
private
Date
confirmReceiptTime
;
/**
* 修改版本
*/
private
Integer
version
;
/**
* 评价状态
*/
private
Integer
remarkStatus
;
/**
* 订单分成比例(平台收取)
*/
private
Integer
proportion
;
/**
* 用户删除(0用户不可看,1用户可看)
* (假删除,后台还能看到)
*/
private
Integer
showUserPort
;
/**
* 生成订单时间(下单时间)
*/
private
Date
createTime
;
/**
* 最近修改时间
*/
private
Date
updateTime
;
/**
* 单价 元/天
*/
private
BigDecimal
unitPrice
;
/**
* 购买的商品数量
*/
private
Integer
wareNum
;
/**
* 押金
*/
private
BigDecimal
deposit
;
/**
* 租约开始日
*/
private
Date
startDate
;
/**
* 租约结束日
*/
private
Date
endDate
;
/**
* 关闭原因
*/
private
String
shutReason
;
/**
* sku
*/
private
String
sku
;
/**
* 发货时间
*/
private
Date
sendWareTime
;
private
String
modeOfDeliveryInfo
;
public
LeaseOrderDTO
buildLeaseOrderDTO
()
{
return
LeaseOrderDTO
.
builder
().
id
(
id
).
orderNo
(
orderNo
).
statusCode
(
statusCode
).
userAccountId
(
userAccountId
)
.
thirdBackUserAccountId
(
thirdBackUserAccountId
).
companyName
(
companyName
).
orderTotalAmount
(
orderTotalAmount
)
.
salaryAmount
(
salaryAmount
).
shareAmount
(
shareAmount
).
otherAmount
(
otherAmount
).
payType
(
payType
).
payTime
(
payTime
)
.
startDate
(
startDate
).
endDate
(
endDate
).
userRemark
(
userRemark
).
sellerRemark
(
sellerRemark
).
createTime
(
createTime
)
.
confirmReceiptTime
(
confirmReceiptTime
).
remarkStatus
(
remarkStatus
).
modeOfDeliveryInfo
(
modeOfDeliveryInfo
).
sku
(
sku
).
skuImg
(
skuImg
).
build
();
}
}
src/main/java/com/mmc/oms/entity/lease/LeaseOrderExpressDO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
entity
.
lease
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.model.dto.uav.UavOrderExpressDTO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* (LeaseOrderExpressDO)实体类
*
* @author makejava
* @since 2023-09-22 15:02:22
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LeaseOrderExpressDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
24578000103219438L
;
private
Integer
id
;
private
Integer
leaseOrderId
;
private
String
sendExpNo
;
private
String
sendExpCode
;
/**
* 收货人姓名
*/
private
String
takeName
;
/**
* 收货人电话
*/
private
String
takePhone
;
/**
* 收货地区
*/
private
String
takeRegion
;
/**
* 收货详细地址
*/
private
String
takeAddress
;
/**
* 发货时间
*/
private
Date
sendTime
;
/**
* 是否已签收
*/
private
Integer
receive
;
/**
* 收货人签收时间
*/
private
Date
receiveTime
;
private
Date
updateTime
;
private
Date
createTime
;
public
LeaseOrderExpressDO
(
UserAddressDO
userAddressDO
)
{
this
.
takeName
=
userAddressDO
.
getTakeName
();
this
.
takePhone
=
userAddressDO
.
getTakePhone
();
this
.
takeRegion
=
userAddressDO
.
getTakeRegion
();
this
.
takeAddress
=
userAddressDO
.
getTakeAddress
();
}
public
UavOrderExpressDTO
buildUavOrderExpressDTO
()
{
return
UavOrderExpressDTO
.
builder
().
id
(
this
.
id
).
uavOrderId
(
this
.
leaseOrderId
).
sendExpNo
(
this
.
sendExpNo
).
sendExpCode
(
this
.
sendExpCode
).
takeName
(
this
.
takeName
)
.
takePhone
(
this
.
takePhone
).
takeAddress
(
this
.
takeAddress
).
takeRegion
(
this
.
takeRegion
).
receive
(
this
.
receive
).
receiveTime
(
this
.
receiveTime
)
.
sendTime
(
this
.
sendTime
).
build
();
}
}
src/main/java/com/mmc/oms/entity/lease/LeaseRefundOrderDO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
entity
.
lease
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* (LeaseRefundOrderDO)实体类
*
* @author makejava
* @since 2023-09-23 15:49:05
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
LeaseRefundOrderDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
78279245843440398L
;
private
Integer
id
;
private
Integer
leaseOrderId
;
/**
* 归还状态:0已归还 1无需归还
*/
private
Integer
status
;
/**
* 物流单号
*/
private
String
expressNum
;
/**
* 图片文件
*/
private
String
file
;
/**
* 原因
*/
private
String
reason
;
private
Date
createTime
;
private
Date
updateTime
;
public
LeaseRefundOrderDO
(
LeaseOrderRefundVO
leaseOrderRefundVO
)
{
this
.
leaseOrderId
=
leaseOrderRefundVO
.
getId
();
this
.
status
=
leaseOrderRefundVO
.
getStatus
();
this
.
expressNum
=
leaseOrderRefundVO
.
getExpressNum
();
this
.
file
=
leaseOrderRefundVO
.
getFile
();
this
.
reason
=
leaseOrderRefundVO
.
getReason
();
}
}
src/main/java/com/mmc/oms/entity/uav/UavOrderRemarkDO.java
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
entity
.
uav
;
package
com
.
mmc
.
oms
.
entity
.
uav
;
import
com.mmc.oms.model.dto.uav.UavOrderRemarkDTO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
com.mmc.oms.model.vo.uav.UavOrderRemarkVO
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
...
@@ -8,6 +9,7 @@ import lombok.Data;
...
@@ -8,6 +9,7 @@ import lombok.Data;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
/**
* @author: zj
* @author: zj
...
@@ -21,6 +23,8 @@ public class UavOrderRemarkDO implements Serializable {
...
@@ -21,6 +23,8 @@ public class UavOrderRemarkDO implements Serializable {
private
static
final
long
serialVersionUID
=
3316555339556069007L
;
private
static
final
long
serialVersionUID
=
3316555339556069007L
;
@ApiModelProperty
(
value
=
"评价id"
)
@ApiModelProperty
(
value
=
"评价id"
)
private
Integer
id
;
private
Integer
id
;
@ApiModelProperty
(
value
=
"评价类型,0商城,1租赁"
)
private
Integer
remarkType
;
@ApiModelProperty
(
value
=
"商品id"
)
@ApiModelProperty
(
value
=
"商品id"
)
private
Integer
mallGoodsId
;
private
Integer
mallGoodsId
;
@ApiModelProperty
(
value
=
"订单id"
)
@ApiModelProperty
(
value
=
"订单id"
)
...
@@ -31,6 +35,14 @@ public class UavOrderRemarkDO implements Serializable {
...
@@ -31,6 +35,14 @@ public class UavOrderRemarkDO implements Serializable {
private
String
uavImages
;
private
String
uavImages
;
@ApiModelProperty
(
value
=
"评论内容"
)
@ApiModelProperty
(
value
=
"评论内容"
)
private
String
content
;
private
String
content
;
@ApiModelProperty
(
value
=
"生成时间"
)
private
Date
createTime
;
public
UavOrderRemarkDTO
buildUavOrderRemarkDTO
()
{
return
UavOrderRemarkDTO
.
builder
().
id
(
this
.
id
).
remarkType
(
this
.
remarkType
).
mallGoodsId
(
this
.
mallGoodsId
)
.
uavOrderId
(
this
.
uavOrderId
).
remarkLevel
(
this
.
remarkLevel
).
content
(
this
.
content
).
uavImages
(
this
.
uavImages
)
.
createTime
(
this
.
createTime
).
build
();
}
public
UavOrderRemarkDO
(
UavOrderRemarkVO
uavOrderRemarkVO
){
public
UavOrderRemarkDO
(
UavOrderRemarkVO
uavOrderRemarkVO
){
this
.
id
=
uavOrderRemarkVO
.
getId
();
this
.
id
=
uavOrderRemarkVO
.
getId
();
...
...
src/main/java/com/mmc/oms/entity/uav/UavPayWxDO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
entity
.
uav
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
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/21 16:59
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"多订单支付总记录"
)
public
class
UavPayWxDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3003931182943391633L
;
private
Integer
id
;
private
String
payNo
;
private
BigDecimal
amount
;
private
String
tradeState
;
private
Date
createTime
;
private
List
<
UavPayWxSubDO
>
payWxSubDOS
;
}
src/main/java/com/mmc/oms/entity/uav/UavPayWxSubDO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
entity
.
uav
;
import
io.swagger.annotations.ApiModel
;
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/21 19:27
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
"订单微信支付记录"
)
public
class
UavPayWxSubDO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
1446318972494082705L
;
private
Integer
id
;
private
Integer
uavPayWxId
;
private
Integer
uavOrderId
;
private
String
orderNo
;
private
BigDecimal
amount
;
private
Date
createTime
;
}
src/main/java/com/mmc/oms/enums/LeaseOrderStatus.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
enums
;
/**
* @author: zj
* @Date: 2023/9/4 14:36
*/
public
enum
LeaseOrderStatus
{
PLACED_AN_ORDER
(
100
,
"已下单"
,
"待付款"
),
PAID
(
200
,
"已付款"
,
"等发货"
),
SHIPPED
(
300
,
"卖家已发货"
,
"待买家收货"
),
TO_BE_RETURNED
(
400
,
"待归还"
,
"待归还"
),
WAITING_MERCHANT_CONFIRM
(
500
,
"等待商家确认"
,
"等待商家确认"
),
COMPLETE_TRANSACTION
(
600
,
"交易完成"
,
"交易完成"
),
APPLY_REFUND
(
700
,
"申请退款"
,
"退款中"
),
CLOSE
(
999
,
"订单关闭"
,
"订单关闭"
);
public
Integer
getCode
()
{
return
code
;
}
public
String
getDoing
()
{
return
doing
;
}
public
String
getWaiting
()
{
return
waiting
;
}
LeaseOrderStatus
(
Integer
code
,
String
doing
,
String
waiting
)
{
this
.
code
=
code
;
this
.
doing
=
doing
;
this
.
waiting
=
waiting
;
}
private
Integer
code
;
private
String
doing
;
private
String
waiting
;
}
src/main/java/com/mmc/oms/enums/LeaseTermInfo.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
enums
;
/**
* @author: lw
* @Date: 2023/9/4 14:36
*/
public
enum
LeaseTermInfo
{
THREE_DAY
(
1
,
3
,
"三天"
),
SEVEN_DAY
(
2
,
7
,
"七天"
),
THIRTY_DAY
(
3
,
30
,
"三十天"
),
NINETY_DAY
(
4
,
90
,
"九十天"
),
ONE_HUNDRED_AND_EIGHTY_DAY
(
5
,
180
,
"一百八十天"
);
public
Integer
getId
()
{
return
id
;
}
public
Integer
getDays
()
{
return
days
;
}
public
String
getDescription
()
{
return
description
;
}
LeaseTermInfo
(
Integer
id
,
Integer
days
,
String
description
)
{
this
.
id
=
id
;
this
.
days
=
days
;
this
.
description
=
description
;
}
private
Integer
id
;
private
Integer
days
;
private
String
description
;
}
src/main/java/com/mmc/oms/feign/ImsAppApi.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
feign
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.feign.hystrix.ImsApiHystrix
;
import
com.mmc.oms.model.dto.data.ReleaseReportDTO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.GetMapping
;
/**
* @Author LW
* @date 2023/6/15 10:46 概要:
*/
@FeignClient
(
url
=
"${ims.url}"
,
name
=
"ims"
,
fallback
=
ImsApiHystrix
.
class
)
public
interface
ImsAppApi
{
@GetMapping
(
"/report/getReleaseReportData"
)
ResultBody
<
ReleaseReportDTO
>
getUserReportData
();
}
src/main/java/com/mmc/oms/feign/PmsAppApi.java
浏览文件 @
52629640
...
@@ -4,8 +4,12 @@ import com.mmc.oms.common.result.ResultBody;
...
@@ -4,8 +4,12 @@ import com.mmc.oms.common.result.ResultBody;
import
com.mmc.oms.feign.hystrix.PmsAppApiHystrix
;
import
com.mmc.oms.feign.hystrix.PmsAppApiHystrix
;
import
com.mmc.oms.model.dto.uav.UavCartDTO
;
import
com.mmc.oms.model.dto.uav.UavCartDTO
;
import
com.mmc.oms.model.qo.uav.PriceStockQO
;
import
com.mmc.oms.model.qo.uav.PriceStockQO
;
import
com.mmc.oms.model.vo.lease.LeaseGoodsVO
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
import
java.util.List
;
...
@@ -20,4 +24,7 @@ public interface PmsAppApi {
...
@@ -20,4 +24,7 @@ public interface PmsAppApi {
@PostMapping
(
"app/goods/listPriceStock"
)
@PostMapping
(
"app/goods/listPriceStock"
)
List
<
UavCartDTO
>
listPriceStock
(
@RequestBody
List
<
PriceStockQO
>
priceStockQOS
);
List
<
UavCartDTO
>
listPriceStock
(
@RequestBody
List
<
PriceStockQO
>
priceStockQOS
);
@GetMapping
(
"app/lease/leaseGoodsDetails"
)
ResultBody
<
LeaseGoodsVO
>
leaseGoodsDetails
(
@RequestParam
Integer
id
);
}
}
src/main/java/com/mmc/oms/feign/UserAppApi.java
浏览文件 @
52629640
...
@@ -38,6 +38,9 @@ public interface UserAppApi {
...
@@ -38,6 +38,9 @@ public interface UserAppApi {
@GetMapping
(
"company/getManagerIdByBackUserId"
)
@GetMapping
(
"company/getManagerIdByBackUserId"
)
public
ResultBody
getManagerIdByBackUserId
(
@RequestParam
Integer
backUserAccountId
,
@RequestHeader
String
token
);
public
ResultBody
getManagerIdByBackUserId
(
@RequestParam
Integer
backUserAccountId
,
@RequestHeader
String
token
);
@PostMapping
(
"user-account/feignListUserAccountByIds"
)
List
<
UserAccountSimpleDTO
>
feignListUserAccountByIds
(
@RequestBody
List
<
Integer
>
ids
,
@RequestHeader
(
"token"
)
String
token
);
/**
/**
* 获取小程序用户集合列表页面
* 获取小程序用户集合列表页面
*
*
...
...
src/main/java/com/mmc/oms/feign/config/FeignConfiguration.java
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
feign
.
config
;
package
com
.
mmc
.
oms
.
feign
.
config
;
import
com.mmc.oms.feign.hystrix.ImsApiHystrix
;
import
com.mmc.oms.feign.hystrix.PmsAppApiHystrix
;
import
com.mmc.oms.feign.hystrix.PmsAppApiHystrix
;
import
com.mmc.oms.feign.hystrix.UserAppApiHystrix
;
import
com.mmc.oms.feign.hystrix.UserAppApiHystrix
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
...
@@ -24,4 +25,8 @@ public class FeignConfiguration {
...
@@ -24,4 +25,8 @@ public class FeignConfiguration {
return
new
UserAppApiHystrix
();
return
new
UserAppApiHystrix
();
}
}
@Bean
(
name
=
"imsApiHystrix"
)
public
ImsApiHystrix
imsAppApi
()
{
return
new
ImsApiHystrix
();
}
}
}
src/main/java/com/mmc/oms/feign/hystrix/ImsApiHystrix.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
feign
.
hystrix
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.feign.ImsAppApi
;
import
com.mmc.oms.model.dto.data.ReleaseReportDTO
;
import
lombok.extern.slf4j.Slf4j
;
/**
* @Author LW
* @date 2023/6/15 10:47 概要:
*/
@Slf4j
public
class
ImsApiHystrix
implements
ImsAppApi
{
@Override
public
ResultBody
<
ReleaseReportDTO
>
getUserReportData
()
{
log
.
error
(
"熔断:ImsApiHystrix.getUserReportData"
);
return
null
;
}
}
src/main/java/com/mmc/oms/feign/hystrix/PmsAppApiHystrix.java
浏览文件 @
52629640
...
@@ -5,8 +5,8 @@ import com.mmc.oms.common.result.ResultBody;
...
@@ -5,8 +5,8 @@ import com.mmc.oms.common.result.ResultBody;
import
com.mmc.oms.feign.PmsAppApi
;
import
com.mmc.oms.feign.PmsAppApi
;
import
com.mmc.oms.model.dto.uav.UavCartDTO
;
import
com.mmc.oms.model.dto.uav.UavCartDTO
;
import
com.mmc.oms.model.qo.uav.PriceStockQO
;
import
com.mmc.oms.model.qo.uav.PriceStockQO
;
import
com.mmc.oms.model.vo.lease.LeaseGoodsVO
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
import
java.util.List
;
...
@@ -18,7 +18,7 @@ import java.util.List;
...
@@ -18,7 +18,7 @@ import java.util.List;
public
class
PmsAppApiHystrix
implements
PmsAppApi
{
public
class
PmsAppApiHystrix
implements
PmsAppApi
{
@Override
@Override
public
ResultBody
feignLeaseGoodsInfoByAddressId
(
Integer
id
)
{
public
ResultBody
feignLeaseGoodsInfoByAddressId
(
Integer
id
)
{
log
.
info
(
"熔断:PmsAppApiHystrix.feignLeaseGoodsInfoByAddressId==error==>param:{}"
,
id
);
log
.
info
(
"熔断:PmsAppApiHystrix.feignLeaseGoodsInfoByAddressId==error==>param:{}"
,
id
);
return
null
;
return
null
;
}
}
...
@@ -27,4 +27,10 @@ public class PmsAppApiHystrix implements PmsAppApi {
...
@@ -27,4 +27,10 @@ public class PmsAppApiHystrix implements PmsAppApi {
log
.
info
(
"熔断:PmsAppApiHystrix.listPriceStock==error==>param:{}"
,
JSONObject
.
toJSONString
(
priceStockQOS
));
log
.
info
(
"熔断:PmsAppApiHystrix.listPriceStock==error==>param:{}"
,
JSONObject
.
toJSONString
(
priceStockQOS
));
return
null
;
return
null
;
}
}
@Override
public
ResultBody
<
LeaseGoodsVO
>
leaseGoodsDetails
(
Integer
id
)
{
log
.
info
(
"熔断:PmsAppApiHystrix.leaseGoodsDetails==error==>param:{}"
,
id
);
return
null
;
}
}
}
src/main/java/com/mmc/oms/feign/hystrix/UserAppApiHystrix.java
浏览文件 @
52629640
...
@@ -52,6 +52,12 @@ public class UserAppApiHystrix implements UserAppApi {
...
@@ -52,6 +52,12 @@ public class UserAppApiHystrix implements UserAppApi {
}
}
@Override
@Override
public
List
<
UserAccountSimpleDTO
>
feignListUserAccountByIds
(
List
<
Integer
>
ids
,
String
token
)
{
log
.
error
(
"熔断:UserAppApiHystrix.feignListUserAccountByIds:{}"
,
ids
);
return
null
;
}
@Override
public
List
<
UserAccountSimpleDTO
>
feignListAppUserAccount
(
UserAccountQO
userAccountQO
,
String
token
)
{
public
List
<
UserAccountSimpleDTO
>
feignListAppUserAccount
(
UserAccountQO
userAccountQO
,
String
token
)
{
log
.
error
(
"熔断:UserAppApiHystrix.feignListAppUserAccount:{}"
,
userAccountQO
);
log
.
error
(
"熔断:UserAppApiHystrix.feignListAppUserAccount:{}"
,
userAccountQO
);
return
null
;
return
null
;
...
...
src/main/java/com/mmc/oms/filter/AuthSignatureFilter.java
浏览文件 @
52629640
...
@@ -39,7 +39,10 @@ public class AuthSignatureFilter implements AuthFilter {
...
@@ -39,7 +39,10 @@ public class AuthSignatureFilter implements AuthFilter {
/**
/**
* 无需登录白名单
* 无需登录白名单
*/
*/
private
static
final
String
[]
IGNORE_URLS
=
{
"/oms/swagger-resources"
,
"/oms/v2/api-docs"
,
"/oms/doc.html"
,
"/oms/mallorder/listStatus"
,
"/oms/actuator/health/readiness"
,
"/oms/uav-order/finishSign"
,
"/oms/uav-order/statusList"
};
private
static
final
String
[]
IGNORE_URLS
=
{
"/oms/swagger-resources"
,
"/oms/v2/api-docs"
,
"/oms/doc.html"
,
"/oms/mallorder/listStatus"
,
"/oms/actuator/health/readiness"
,
"/oms/uav-order/finishSign"
,
"/oms/uav-order/statusList"
,
"/oms/uav-order/listGoodsRemark"
};
/*无需加密狗无需登录白名单*/
/*无需加密狗无需登录白名单*/
private
static
final
String
[]
USE_KEY
=
{
"/oms/account/loginByUsbKey"
};
private
static
final
String
[]
USE_KEY
=
{
"/oms/account/loginByUsbKey"
};
...
...
src/main/java/com/mmc/oms/model/dto/data/OrderReportDTO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
dto
.
data
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/9/16 14:15
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
OrderReportDTO
{
@ApiModelProperty
(
value
=
"商城售卖订单总数"
)
private
Integer
saleOrderCount
;
@ApiModelProperty
(
value
=
"商品租赁订单总数"
)
private
Integer
leaseOrderCount
;
@ApiModelProperty
(
value
=
"服务订单订单总数"
)
private
Integer
serviceOrderCount
;
@ApiModelProperty
(
value
=
"商城售卖交易总额"
)
private
BigDecimal
saleGMV
;
@ApiModelProperty
(
value
=
"商品租赁交易总额"
)
private
BigDecimal
leaseGMV
;
@ApiModelProperty
(
value
=
"服务订单交易总额"
)
private
BigDecimal
serviceGMV
;
@ApiModelProperty
(
value
=
"交易总额"
)
private
BigDecimal
totalGMV
;
}
src/main/java/com/mmc/oms/model/dto/data/ReleaseReportDTO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
dto
.
data
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/9/16 14:15
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
ReleaseReportDTO
{
@ApiModelProperty
(
value
=
"信息发布总数"
)
private
Integer
releaseCount
;
@ApiModelProperty
(
value
=
"订单发布数量"
)
private
Integer
orderReleaseCount
;
@ApiModelProperty
(
value
=
"帖子发布数量"
)
private
Integer
postsReleaseCount
;
@ApiModelProperty
(
value
=
"话题发布数量"
)
private
Integer
topicReleaseCount
;
@ApiModelProperty
(
value
=
"订单金额"
)
private
BigDecimal
serviceOrderAmount
;
}
src/main/java/com/mmc/oms/model/dto/lease/LeaseOrderDTO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
dto
.
lease
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mmc.oms.model.dto.kdn.KdnExpDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderExpressDTO
;
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: lw
* @Date: 2023/9/4 14:50
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel
(
description
=
"最新版-订单"
)
public
class
LeaseOrderDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
7548192478556457453L
;
@ApiModelProperty
(
"id"
)
private
Integer
id
;
@ApiModelProperty
(
"订单编号"
)
private
String
orderNo
;
@ApiModelProperty
(
"订单状态"
)
private
Integer
statusCode
;
@ApiModelProperty
(
"买家id"
)
private
Integer
userAccountId
;
@ApiModelProperty
(
"买家手机号"
)
private
String
phoneNum
;
@ApiModelProperty
(
"买家姓名"
)
private
String
userName
;
@ApiModelProperty
(
"买家昵称"
)
private
String
nickname
;
@ApiModelProperty
(
"卖家id"
)
private
Integer
thirdBackUserAccountId
;
@ApiModelProperty
(
"卖家企业名称"
)
private
String
companyName
;
@ApiModelProperty
(
"订单实付总额"
)
private
BigDecimal
orderTotalAmount
;
@ApiModelProperty
(
"订单需付金额"
)
private
BigDecimal
needPayAmount
;
@ApiModelProperty
(
"抵扣佣金余额"
)
private
BigDecimal
salaryAmount
;
@ApiModelProperty
(
"抵扣云享金余额"
)
private
BigDecimal
shareAmount
;
@ApiModelProperty
(
"其他方式支付额度"
)
private
BigDecimal
otherAmount
;
@ApiModelProperty
(
"wechatpay微信,alipay支付宝,offline线下"
)
private
String
payType
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"租赁开始时间"
)
private
Date
startDate
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"租赁结束时间"
)
private
Date
endDate
;
@ApiModelProperty
(
"买家备注"
)
private
String
userRemark
;
@ApiModelProperty
(
"卖家备注"
)
private
String
sellerRemark
;
@ApiModelProperty
(
"下单时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
@ApiModelProperty
(
"支付时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
payTime
;
@ApiModelProperty
(
"确认收货时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
confirmReceiptTime
;
@ApiModelProperty
(
value
=
"修改版本"
,
hidden
=
true
)
private
Integer
version
;
@ApiModelProperty
(
"评价状态"
)
private
Integer
remarkStatus
;
@ApiModelProperty
(
"最近修改时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
updateTime
;
@ApiModelProperty
(
"用户收货地址信息"
)
private
UavOrderExpressDTO
uavOrderExpressDTO
;
@ApiModelProperty
(
"快递信息"
)
private
KdnExpDTO
kdnExpDTO
;
@ApiModelProperty
(
"订单规格列表"
)
private
String
sku
;
@ApiModelProperty
(
"sku图片"
)
private
String
skuImg
;
@ApiModelProperty
(
"运费"
)
private
String
modeOfDeliveryInfo
;
}
src/main/java/com/mmc/oms/model/dto/uav/MultiUavOrderDTO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
* @author: zj
* @Date: 2023/9/21 16:11
*/
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
MultiUavOrderDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
935420087357754202L
;
private
BigDecimal
allOtherAmount
;
private
String
payNo
;
private
List
<
UavOrderDTO
>
uavOrderDTOS
;
}
src/main/java/com/mmc/oms/model/dto/uav/UavCartCompanyDTO.java
浏览文件 @
52629640
...
@@ -22,8 +22,16 @@ public class UavCartCompanyDTO implements Serializable {
...
@@ -22,8 +22,16 @@ public class UavCartCompanyDTO implements Serializable {
private
static
final
long
serialVersionUID
=
-
6785504068213761405L
;
private
static
final
long
serialVersionUID
=
-
6785504068213761405L
;
@ApiModelProperty
(
value
=
"商家id"
)
@ApiModelProperty
(
value
=
"商家id"
)
private
Integer
thirdBackUserAccountId
;
private
Integer
thirdBackUserAccountId
;
@ApiModelProperty
(
value
=
"商家名称"
)
@ApiModelProperty
(
value
=
"商家名称"
)
private
String
companyName
;
private
String
companyName
;
@ApiModelProperty
(
"是否抵扣云享金,0否,1是"
)
private
Integer
deductShareAmount
;
@ApiModelProperty
(
"是否抵扣余额,0否,1是"
)
private
Integer
deductSalaryAmount
;
@ApiModelProperty
(
value
=
"购物车对应规格"
)
@ApiModelProperty
(
value
=
"购物车对应规格"
)
private
List
<
UavCartDTO
>
uavCartDOS
;
private
List
<
UavCartDTO
>
uavCartDOS
;
}
}
src/main/java/com/mmc/oms/model/dto/uav/UavCartDTO.java
浏览文件 @
52629640
...
@@ -24,9 +24,9 @@ public class UavCartDTO implements Serializable {
...
@@ -24,9 +24,9 @@ public class UavCartDTO implements Serializable {
private
Integer
id
;
private
Integer
id
;
@ApiModelProperty
(
value
=
"用户ID"
)
@ApiModelProperty
(
value
=
"用户ID"
)
private
Integer
userAccountId
;
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"商家id"
)
@ApiModelProperty
(
value
=
"商家id"
,
hidden
=
true
)
private
Integer
thirdBackUserAccountId
;
private
Integer
thirdBackUserAccountId
;
@ApiModelProperty
(
value
=
"商家名称"
)
@ApiModelProperty
(
value
=
"商家名称"
,
hidden
=
true
)
private
String
companyName
;
private
String
companyName
;
@ApiModelProperty
(
value
=
"商品id"
)
@ApiModelProperty
(
value
=
"商品id"
)
private
Integer
mallGoodsId
;
private
Integer
mallGoodsId
;
...
@@ -48,6 +48,8 @@ public class UavCartDTO implements Serializable {
...
@@ -48,6 +48,8 @@ public class UavCartDTO implements Serializable {
private
Date
createTime
;
private
Date
createTime
;
@ApiModelProperty
(
value
=
"是否展示价格,0 不显示 1显示"
)
@ApiModelProperty
(
value
=
"是否展示价格,0 不显示 1显示"
)
private
Integer
priceShow
;
private
Integer
priceShow
;
@ApiModelProperty
(
value
=
"是否删除"
)
private
Integer
deleted
;
@ApiModelProperty
(
value
=
"是否上架状态:0: 下架 1:上架"
)
@ApiModelProperty
(
value
=
"是否上架状态:0: 下架 1:上架"
)
private
Integer
shelfStatus
;
private
Integer
shelfStatus
;
}
}
src/main/java/com/mmc/oms/model/dto/uav/UavOrderRemarkDTO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
dto
.
uav
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
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/23 15:05
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
UavOrderRemarkDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2751635245494487278L
;
@ApiModelProperty
(
value
=
"评价id"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"评价类型,0商城,1租赁"
)
private
Integer
remarkType
;
@ApiModelProperty
(
value
=
"订单id"
)
private
Integer
uavOrderId
;
@ApiModelProperty
(
value
=
"商品id"
)
private
Integer
mallGoodsId
;
@ApiModelProperty
(
value
=
"评分"
)
private
Integer
remarkLevel
;
@ApiModelProperty
(
value
=
"图片地址,‘,’隔开"
)
private
String
uavImages
;
@ApiModelProperty
(
value
=
"评论内容"
)
private
String
content
;
@ApiModelProperty
(
value
=
"生成时间"
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
}
src/main/java/com/mmc/oms/model/qo/uav/UavCartQO.java
浏览文件 @
52629640
...
@@ -19,8 +19,6 @@ import java.io.Serializable;
...
@@ -19,8 +19,6 @@ import java.io.Serializable;
@AllArgsConstructor
@AllArgsConstructor
public
class
UavCartQO
implements
Serializable
{
public
class
UavCartQO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"订单类型,0正常订单,1意向订单"
,
required
=
true
)
private
Integer
orderType
;
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
@ApiModelProperty
(
value
=
"页码"
,
required
=
true
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
Page
.
class
)
@NotNull
(
message
=
"页码不能为空"
,
groups
=
Page
.
class
)
...
...
src/main/java/com/mmc/oms/model/vo/lease/AddLeaseOrderVO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
vo
.
lease
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
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: lw
* @Date: 2023/9/21 16:01
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public
class
AddLeaseOrderVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
2749055915508197141L
;
@ApiModelProperty
(
"商家id"
)
private
Integer
thirdBackUserAccountId
;
@ApiModelProperty
(
"卖家企业名称"
)
private
String
companyName
;
@ApiModelProperty
(
"租赁商品id"
)
private
Integer
leaseGoodsId
;
@ApiModelProperty
(
"收货地址id"
)
private
Integer
userAddressId
;
@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
(
value
=
"租期"
,
hidden
=
true
)
private
Integer
leaseTerm
;
@ApiModelProperty
(
"用户备注"
)
private
String
userRemark
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"租赁开始时间"
)
private
Date
startDate
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"租赁结束时间"
)
private
Date
endDate
;
@ApiModelProperty
(
"购买数量"
)
private
Integer
wareNum
;
@ApiModelProperty
(
value
=
"单价"
,
hidden
=
true
)
private
BigDecimal
unitPrice
;
@ApiModelProperty
(
value
=
"押金"
,
hidden
=
true
)
private
BigDecimal
deposit
;
@ApiModelProperty
(
"sku"
)
private
String
sku
;
@ApiModelProperty
(
"是否抵扣云享金,0否,1是"
)
private
Integer
deductShareAmount
;
@ApiModelProperty
(
"是否抵扣余额,0否,1是"
)
private
Integer
deductSalaryAmount
;
}
src/main/java/com/mmc/oms/model/vo/lease/LeaseGoodsVO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
vo
.
lease
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mmc.oms.common.publicinterface.Create
;
import
com.mmc.oms.common.publicinterface.Update
;
import
com.mmc.oms.model.vo.uav.GoodsResourcesVO
;
import
com.mmc.oms.model.vo.uav.SpecAttrVO
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Author LW
* @date 2023/7/24 17:44
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public
class
LeaseGoodsVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
3147170430919703826L
;
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
@NotNull
(
message
=
"id不能为空"
,
groups
=
{
Update
.
class
})
private
Integer
id
;
@ApiModelProperty
(
value
=
"商品标题"
,
example
=
"商品标题"
,
required
=
true
)
@NotEmpty
(
message
=
"商品标题不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
String
tradeName
;
@ApiModelProperty
(
value
=
"商品卖点"
,
example
=
"商品卖点"
)
private
String
sellingPoint
;
@ApiModelProperty
(
value
=
"商品成新"
,
example
=
"1"
,
required
=
true
)
private
Integer
level
;
@ApiModelProperty
(
value
=
"商品状态 :0下架 1上架"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"商品状态不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
shelfStatus
;
@ApiModelProperty
(
value
=
"商品类型id"
,
example
=
"1"
,
required
=
true
)
@NotNull
(
message
=
"商品类型id不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
productTypeId
;
@ApiModelProperty
(
value
=
"品牌id"
,
example
=
"2"
,
required
=
true
)
@NotNull
(
message
=
"品牌id不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
brandInfoId
;
@ApiModelProperty
(
value
=
"型号id"
,
example
=
"2"
,
required
=
true
)
@NotNull
(
message
=
"型号id不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
Integer
deviceModeId
;
@ApiModelProperty
(
value
=
"商品参数"
,
example
=
"示例:[{\"起飞重量\":\"595g\"}]"
)
private
String
productParam
;
@ApiModelProperty
(
value
=
"商品资源:图片or视频及其他"
)
@NotEmpty
(
message
=
"图片不能为空"
)
private
List
<
GoodsResourcesVO
>
resourcesList
;
@ApiModelProperty
(
value
=
"规格"
)
@NotEmpty
(
message
=
"规格不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
List
<
SpecAttrVO
>
specAttrList
;
@ApiModelProperty
(
value
=
"价格库存排列组合表信息"
)
private
List
<
LeasePriceStockVO
>
priceStock
;
@ApiModelProperty
(
value
=
"商品详情 富文本"
)
private
String
productDetails
;
@ApiModelProperty
(
value
=
"最短租期"
)
private
Integer
minLeaseTerm
;
@ApiModelProperty
(
value
=
"最长租期"
)
private
Integer
maxLeaseTerm
;
@ApiModelProperty
(
value
=
"发货地址"
)
private
Integer
shipAddress
;
@ApiModelProperty
(
value
=
"归还地址"
)
private
Integer
returnAddress
;
@ApiModelProperty
(
value
=
"寄出物流"
)
private
String
logisticsCompany
;
@ApiModelProperty
(
value
=
"配送方式"
)
private
Integer
modeOfDelivery
;
@ApiModelProperty
(
value
=
"展示最低价"
,
example
=
"1"
)
private
BigDecimal
showPrice
;
@ApiModelProperty
(
value
=
"创建时间 用作列表回显"
,
hidden
=
true
)
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"店铺id 小程序用"
,
hidden
=
true
)
private
Integer
userAccountId
;
@ApiModelProperty
(
value
=
"押金范围"
,
hidden
=
true
)
private
String
cashPledgeRange
;
@ApiModelProperty
(
value
=
"租金范围"
,
hidden
=
true
)
private
String
rentalRange
;
@ApiModelProperty
(
value
=
"库存"
,
hidden
=
true
)
private
Integer
stock
;
@ApiModelProperty
(
value
=
"市code编码"
)
private
String
districtCode
;
@ApiModelProperty
(
value
=
"类型名称"
,
hidden
=
true
)
private
String
productTypeName
;
@ApiModelProperty
(
value
=
"品牌名称"
,
hidden
=
true
)
private
String
brandName
;
@ApiModelProperty
(
value
=
"型号名称"
,
hidden
=
true
)
private
String
deviceModeName
;
@ApiModelProperty
(
value
=
"配送方式信息"
,
hidden
=
true
)
private
String
modeOfDeliveryInfo
;
@ApiModelProperty
(
value
=
"企业名称"
,
hidden
=
true
)
private
String
companyName
;
}
src/main/java/com/mmc/oms/model/vo/lease/LeaseOrderRefundVO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
vo
.
lease
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* @Author LW
* @date 2023/9/23 15:36
* 概要:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LeaseOrderRefundVO
implements
Serializable
{
@ApiModelProperty
(
"订单id"
)
private
Integer
id
;
@ApiModelProperty
(
"归还状态 0已归还 1无需归还"
)
private
Integer
status
;
@ApiModelProperty
(
"物流单号"
)
private
String
expressNum
;
@ApiModelProperty
(
"图片文件"
)
private
String
file
;
@ApiModelProperty
(
"原因"
)
private
String
reason
;
}
src/main/java/com/mmc/oms/model/vo/lease/LeasePriceStockVO.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
model
.
vo
.
lease
;
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.Max
;
import
javax.validation.constraints.NotEmpty
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/8/8 10:48
* 概要:
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public
class
LeasePriceStockVO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1011141620995647903L
;
@ApiModelProperty
(
value
=
"id"
,
example
=
"1"
)
private
Integer
id
;
@ApiModelProperty
(
value
=
"商品规格"
,
example
=
"示例:{\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"} 或 [\"颜色\":\"蓝色\",\"尺寸\":\"1寸\",\"大小\":\"小\"] 或 你怎么方便怎么来"
)
@NotEmpty
(
message
=
"商品规格不能为空"
,
groups
=
{
Update
.
class
,
Create
.
class
})
private
String
productSpec
;
@ApiModelProperty
(
value
=
"押金"
,
example
=
"1"
)
private
BigDecimal
cashPledge
;
@ApiModelProperty
(
value
=
"3天租金"
,
example
=
"1"
)
private
BigDecimal
threeDaysRental
;
@ApiModelProperty
(
value
=
"7天租金"
,
example
=
"1"
)
private
BigDecimal
sevenDaysRental
;
@ApiModelProperty
(
value
=
"30天租金"
,
example
=
"1"
)
private
BigDecimal
thirtyDaysRental
;
@ApiModelProperty
(
value
=
"90天租金"
,
example
=
"1"
)
private
BigDecimal
ninetyDaysRental
;
@ApiModelProperty
(
value
=
"180天租金"
,
example
=
"1"
)
private
BigDecimal
maxDaysRental
;
@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
=
"10"
)
@Max
(
message
=
"最大不能超过9999"
,
groups
=
{
Update
.
class
,
Create
.
class
},
value
=
9999
)
private
Integer
stock
;
@ApiModelProperty
(
value
=
"是否缺货 0:否 1:是"
)
private
Integer
stockOut
;
}
src/main/java/com/mmc/oms/model/vo/uav/AddUavOrderByCartQO.java
浏览文件 @
52629640
...
@@ -27,12 +27,6 @@ public class AddUavOrderByCartQO implements Serializable {
...
@@ -27,12 +27,6 @@ public class AddUavOrderByCartQO implements Serializable {
@ApiModelProperty
(
"用户备注"
)
@ApiModelProperty
(
"用户备注"
)
private
String
userRemark
;
private
String
userRemark
;
@ApiModelProperty
(
"是否抵扣云享金,0否,1是"
)
private
Integer
deductShareAmount
;
@ApiModelProperty
(
"是否抵扣余额,0否,1是"
)
private
Integer
deductSalaryAmount
;
@ApiModelProperty
(
"每家商户对应的规格"
)
@ApiModelProperty
(
"每家商户对应的规格"
)
private
List
<
UavCartCompanyDTO
>
cartCompanyDTOS
;
private
List
<
UavCartCompanyDTO
>
cartCompanyDTOS
;
}
}
src/main/java/com/mmc/oms/service/data/OrderReportService.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
service
.
data
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.model.dto.data.OrderReportDTO
;
/**
* @Author LW
* @date 2023/9/19 10:05
* 概要:
*/
public
interface
OrderReportService
{
ResultBody
<
OrderReportDTO
>
getOrderReportData
();
}
src/main/java/com/mmc/oms/service/data/impl/OrderReportServiceImpl.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
service
.
data
.
impl
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.dao.uav.UavOrderDao
;
import
com.mmc.oms.feign.ImsAppApi
;
import
com.mmc.oms.model.dto.data.OrderReportDTO
;
import
com.mmc.oms.model.dto.data.ReleaseReportDTO
;
import
com.mmc.oms.service.data.OrderReportService
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
/**
* @Author LW
* @date 2023/9/19 10:05
* 概要:
*/
@Service
public
class
OrderReportServiceImpl
implements
OrderReportService
{
@Resource
private
UavOrderDao
uavOrderDao
;
@Resource
private
ImsAppApi
imsAppApi
;
@Override
public
ResultBody
<
OrderReportDTO
>
getOrderReportData
()
{
OrderReportDTO
orderReportDTO
=
new
OrderReportDTO
();
// 获取商城订单数量
int
saleOrderCount
=
uavOrderDao
.
getOrderCount
();
orderReportDTO
.
setSaleOrderCount
(
saleOrderCount
);
// 获取租赁订单数量// todo 暂时默认0
int
leaseOrderCount
=
0
;
orderReportDTO
.
setLeaseOrderCount
(
leaseOrderCount
);
// 获取服务订单总数
ResultBody
<
ReleaseReportDTO
>
userReportData
=
imsAppApi
.
getUserReportData
();
int
serviceOrderCount
=
userReportData
.
getResult
().
getOrderReleaseCount
();
orderReportDTO
.
setServiceOrderCount
(
serviceOrderCount
);
// 获取商城订单GMV
BigDecimal
saleGMV
=
uavOrderDao
.
getSaleOrderGMV
();
orderReportDTO
.
setSaleGMV
(
saleGMV
);
// 获取租赁订单GMV // todo 暂时默认0
BigDecimal
leaseGMV
=
BigDecimal
.
ZERO
;
orderReportDTO
.
setLeaseGMV
(
leaseGMV
);
BigDecimal
serviceGMV
=
userReportData
.
getResult
().
getServiceOrderAmount
();
orderReportDTO
.
setServiceGMV
(
serviceGMV
);
// 获取总GMV
orderReportDTO
.
setTotalGMV
(
saleGMV
.
add
(
leaseGMV
).
add
(
serviceGMV
));
return
ResultBody
.
success
(
orderReportDTO
);
}
}
src/main/java/com/mmc/oms/service/demand/Impl/DemandReleaseOrderServiceImpl.java
浏览文件 @
52629640
...
@@ -11,12 +11,14 @@ import com.mmc.oms.dao.demand.DemandReleaseOrderDao;
...
@@ -11,12 +11,14 @@ import com.mmc.oms.dao.demand.DemandReleaseOrderDao;
import
com.mmc.oms.dao.demand.PublishServiceOrderDao
;
import
com.mmc.oms.dao.demand.PublishServiceOrderDao
;
import
com.mmc.oms.dao.topup.TopUpOrderDao
;
import
com.mmc.oms.dao.topup.TopUpOrderDao
;
import
com.mmc.oms.dao.uav.UavOrderDao
;
import
com.mmc.oms.dao.uav.UavOrderDao
;
import
com.mmc.oms.dao.uav.UavPayWxDao
;
import
com.mmc.oms.entity.demand.DemandReleaseOrderDO
;
import
com.mmc.oms.entity.demand.DemandReleaseOrderDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDTO
;
import
com.mmc.oms.entity.demand.GetOrderNumberDTO
;
import
com.mmc.oms.entity.demand.ServiceRequirementsDO
;
import
com.mmc.oms.entity.demand.ServiceRequirementsDO
;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.entity.topup.TopUpOrderDO
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
import
com.mmc.oms.entity.uav.UavOrderDO
;
import
com.mmc.oms.entity.uav.UavPayWxDO
;
import
com.mmc.oms.enums.UavOrderStatus
;
import
com.mmc.oms.enums.UavOrderStatus
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
...
@@ -81,6 +83,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
...
@@ -81,6 +83,9 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
private
TopUpOrderDao
topUpOrderDao
;
private
TopUpOrderDao
topUpOrderDao
;
@Autowired
@Autowired
private
UavPayWxDao
uavPayWxDao
;
@Autowired
private
UserAppApi
userAppApi
;
private
UserAppApi
userAppApi
;
@Override
@Override
...
@@ -109,17 +114,25 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
...
@@ -109,17 +114,25 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
}
}
}
}
public
ResultBody
payUavOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
)
{
private
ResultBody
multiUavOrderPay
(
OrderRequestParamsVO
orderRequestParamsVO
,
String
token
)
{
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detailByNo
(
commonPaymentVO
.
getOrderNumber
());
UavPayWxDO
uavPayWxDO
=
uavPayWxDao
.
getUavPayWx
(
orderRequestParamsVO
.
getOrderNo
());
if
(
uavOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
compareTo
(
BigDecimal
.
valueOf
(
commonPaymentVO
.
getAmount
()))
!=
0
){
if
(
uavPayWxDO
.
getAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
compareTo
(
BigDecimal
.
valueOf
(
orderRequestParamsVO
.
getAmount
()))
!=
0
){
return
ResultBody
.
error
(
"发起支付金额不正确"
);
}
orderRequestParamsVO
.
setDescription
(
"商城多订单"
+
orderRequestParamsVO
.
getOrderNo
());
ResultBody
resultBody
=
releaseOrder
(
orderRequestParamsVO
,
token
);
if
(!
"200"
.
equals
(
resultBody
.
getCode
()))
{
throw
new
RuntimeException
(
"调用微信支付方法失败!"
);
}
return
resultBody
;
}
private
ResultBody
singleUavOrderPay
(
OrderRequestParamsVO
orderRequestParamsVO
,
String
token
)
{
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detailByNo
(
orderRequestParamsVO
.
getOrderNo
());
if
(
uavOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
compareTo
(
BigDecimal
.
valueOf
(
orderRequestParamsVO
.
getAmount
()))
!=
0
){
return
ResultBody
.
error
(
"发起支付金额不正确"
);
return
ResultBody
.
error
(
"发起支付金额不正确"
);
}
}
OrderRequestParamsVO
orderRequestParamsVO
=
new
OrderRequestParamsVO
();
orderRequestParamsVO
.
setOrderNo
(
commonPaymentVO
.
getOrderNumber
());
orderRequestParamsVO
.
setAmount
(
commonPaymentVO
.
getAmount
());
orderRequestParamsVO
.
setAttach
(
"PAY_UAV_ORDER"
);
orderRequestParamsVO
.
setDescription
(
"商城订单"
+
uavOrderDO
.
getOrderNo
());
orderRequestParamsVO
.
setDescription
(
"商城订单"
+
uavOrderDO
.
getOrderNo
());
orderRequestParamsVO
.
setOrderPort
(
commonPaymentVO
.
getOrderPort
());
ResultBody
resultBody
=
releaseOrder
(
orderRequestParamsVO
,
token
);
ResultBody
resultBody
=
releaseOrder
(
orderRequestParamsVO
,
token
);
if
(!
"200"
.
equals
(
resultBody
.
getCode
()))
{
if
(!
"200"
.
equals
(
resultBody
.
getCode
()))
{
throw
new
RuntimeException
(
"调用微信支付方法失败!"
);
throw
new
RuntimeException
(
"调用微信支付方法失败!"
);
...
@@ -127,6 +140,20 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
...
@@ -127,6 +140,20 @@ public class DemandReleaseOrderServiceImpl implements DemandReleaseOrderService
return
resultBody
;
return
resultBody
;
}
}
public
ResultBody
payUavOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
)
{
OrderRequestParamsVO
orderRequestParamsVO
=
new
OrderRequestParamsVO
();
orderRequestParamsVO
.
setOrderNo
(
commonPaymentVO
.
getOrderNumber
());
orderRequestParamsVO
.
setAmount
(
commonPaymentVO
.
getAmount
());
orderRequestParamsVO
.
setAttach
(
"PAY_UAV_ORDER"
);
orderRequestParamsVO
.
setOrderPort
(
commonPaymentVO
.
getOrderPort
());
// 购物车下单涉及多订单
if
(
commonPaymentVO
.
getOrderNumber
().
startsWith
(
"m"
))
{
return
multiUavOrderPay
(
orderRequestParamsVO
,
token
);
}
else
{
return
singleUavOrderPay
(
orderRequestParamsVO
,
token
);
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
ResultBody
topUpOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
,
Integer
userAccountId
)
{
public
ResultBody
topUpOrder
(
CommonPaymentVO
commonPaymentVO
,
String
token
,
Integer
userAccountId
)
{
// 生成充值订单编号 规则T加时间戳加用户id加随机数4位
// 生成充值订单编号 规则T加时间戳加用户id加随机数4位
...
...
src/main/java/com/mmc/oms/service/lease/LeaseOrderService.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
service
.
lease
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.model.dto.lease.LeaseOrderDTO
;
import
com.mmc.oms.model.dto.user.BaseAccountDTO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
/**
* @Author LW
* @date 2023/9/21 16:38
* 概要:
*/
public
interface
LeaseOrderService
{
ResultBody
<
LeaseOrderDTO
>
addLeaseOrder
(
AddLeaseOrderVO
param
,
BaseAccountDTO
currentAccount
);
ResultBody
detail
(
Integer
id
,
BaseAccountDTO
currentAccount
)
throws
Exception
;
ResultBody
close
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
String
token
);
ResultBody
<
LeaseOrderDTO
>
list
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
);
}
src/main/java/com/mmc/oms/service/lease/impl/LeaseOrderServiceImpl.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
service
.
lease
.
impl
;
import
com.mmc.oms.common.ResultEnum
;
import
com.mmc.oms.common.json.JsonUtil
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.util.CodeUtil
;
import
com.mmc.oms.common.util.KdnExpressUtil
;
import
com.mmc.oms.dao.UserAddressDao
;
import
com.mmc.oms.dao.lease.LeaseOrderDao
;
import
com.mmc.oms.entity.lease.LeaseOrderDO
;
import
com.mmc.oms.entity.lease.LeaseOrderExpressDO
;
import
com.mmc.oms.entity.lease.LeaseRefundOrderDO
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.enums.LeaseOrderStatus
;
import
com.mmc.oms.enums.LeaseTermInfo
;
import
com.mmc.oms.feign.PaymentAppApi
;
import
com.mmc.oms.feign.PmsAppApi
;
import
com.mmc.oms.feign.UserAppApi
;
import
com.mmc.oms.model.dto.kdn.KdnExpDTO
;
import
com.mmc.oms.model.dto.lease.LeaseOrderDTO
;
import
com.mmc.oms.model.dto.order.ExpStationsDTO
;
import
com.mmc.oms.model.dto.uav.PayWalletDTO
;
import
com.mmc.oms.model.dto.user.BaseAccountDTO
;
import
com.mmc.oms.model.dto.user.UserAccountSimpleDTO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.ApplyRefundVO
;
import
com.mmc.oms.model.vo.lease.AddLeaseOrderVO
;
import
com.mmc.oms.model.vo.lease.LeaseGoodsVO
;
import
com.mmc.oms.model.vo.lease.LeaseOrderRefundVO
;
import
com.mmc.oms.model.vo.lease.LeasePriceStockVO
;
import
com.mmc.oms.model.vo.uav.GoodsResourcesVO
;
import
com.mmc.oms.model.vo.uav.PayUavWalletVO
;
import
com.mmc.oms.service.lease.LeaseOrderService
;
import
com.mmc.oms.service.uav.UavOrderService
;
import
com.mmc.oms.util.TDateUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.Date
;
/**
* @Author LW
* @date 2023/9/21 16:46
* 概要:
*/
@Service
@Slf4j
public
class
LeaseOrderServiceImpl
implements
LeaseOrderService
{
@Resource
private
PmsAppApi
pmsAppApi
;
@Resource
private
UavOrderService
uavOrderService
;
@Resource
private
LeaseOrderDao
leaseOrderDao
;
@Resource
private
UserAddressDao
userAddressDao
;
@Resource
private
UserAppApi
userAppApi
;
@Resource
private
PaymentAppApi
paymentAppApi
;
@Override
@Transactional
public
ResultBody
addLeaseOrder
(
AddLeaseOrderVO
param
,
BaseAccountDTO
currentAccount
)
{
log
.
info
(
"user:{},addOrder param:{}"
,
currentAccount
.
getUserAccountId
(),
param
);
if
(
StringUtils
.
isEmpty
(
param
.
getSku
()))
{
return
ResultBody
.
error
(
"至少选择一个规格!"
);
}
if
(
param
.
getWareNum
()
<=
0
)
{
return
ResultBody
.
error
(
"购买数量不得少于1"
);
}
LeaseGoodsVO
leaseGoodsVO
;
LeasePriceStockVO
priceStock
=
null
;
try
{
leaseGoodsVO
=
pmsAppApi
.
leaseGoodsDetails
(
param
.
getLeaseGoodsId
()).
getResult
();
// 检验商品是否在卖
if
(
leaseGoodsVO
==
null
||
!
leaseGoodsVO
.
getShelfStatus
().
equals
(
1
))
{
return
ResultBody
.
error
(
"商品已下架"
);
}
// 判断租赁时间是否超出当前商品的最长租期或小于最短租期
int
distanceDays
=
TDateUtil
.
distanceDays
(
param
.
getStartDate
(),
param
.
getEndDate
());
param
.
setLeaseTerm
(
distanceDays
);
// 获取租赁商品的最低租期
Integer
minLeaseTerm
=
getLeaseTerm
(
leaseGoodsVO
.
getMinLeaseTerm
());
// 获取租赁商品的最大租期
Integer
maxLeaseTerm
=
getLeaseTerm
(
leaseGoodsVO
.
getMaxLeaseTerm
());
if
(
distanceDays
<
minLeaseTerm
||
distanceDays
>
maxLeaseTerm
)
{
return
ResultBody
.
error
(
"商品信息发生变更,刷新后重试!"
);
}
// 判断该租期在那个价格区间
Integer
priceSection
=
getPriceSection
(
distanceDays
);
// 找到对应的规格
boolean
flag
=
false
;
for
(
LeasePriceStockVO
priceStockVO
:
leaseGoodsVO
.
getPriceStock
())
{
if
(
param
.
getSku
().
equals
(
priceStockVO
.
getProductSpec
()))
{
priceStock
=
priceStockVO
;
// 获取最新的规格单价
param
.
setUnitPrice
(
getUnitPrice
(
priceSection
,
priceStockVO
));
param
.
setDeposit
(
priceStockVO
.
getCashPledge
());
flag
=
true
;
break
;
}
}
if
(!
flag
)
{
return
ResultBody
.
error
(
"选择规格不存在"
);
}
}
catch
(
Exception
e
)
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
ResultBody
.
error
(
e
.
getMessage
());
}
String
orderNo
=
CodeUtil
.
generateOrderId
();
// 计算订单总金额
BigDecimal
orderTotalAmount
=
param
.
getUnitPrice
().
multiply
(
BigDecimal
.
valueOf
(
param
.
getLeaseTerm
()))
.
multiply
(
BigDecimal
.
valueOf
(
param
.
getWareNum
())).
add
(
param
.
getDeposit
().
multiply
(
BigDecimal
.
valueOf
(
param
.
getWareNum
())));
BigDecimal
otherAmount
=
BigDecimal
.
ZERO
;
otherAmount
=
otherAmount
.
add
(
orderTotalAmount
);
// 判断云享金或余额是否够抵扣
// 校验云享金、钱包余额是否足够抵扣
BigDecimal
shareAmount
=
BigDecimal
.
ZERO
;
BigDecimal
salaryAmount
=
BigDecimal
.
ZERO
;
Integer
statusCode
=
null
;
// 获取用户钱包信息
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getCurrentUserPayWalletInfo
(
currentAccount
.
getToken
());
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
)
{
return
payResInfo
;
}
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
if
(
param
.
getDeductShareAmount
().
equals
(
1
))
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getCashAmt
())
>=
0
)
{
// 抵扣云享金小于等于订单总额时,直接使用云享金
shareAmount
=
payWalletDTO
.
getCashAmt
();
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
shareAmount
=
otherAmount
;
}
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
// 支付完成
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
LeaseOrderStatus
.
PAID
.
getCode
();
}
else
{
if
(
param
.
getDeductSalaryAmount
().
equals
(
1
))
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>=
0
)
{
// 抵扣余额小于等于订单总额时,直接使用余额
salaryAmount
=
payWalletDTO
.
getSalaryAmt
();
}
else
{
// 余额超过订单金额时,订单总额使用余额支付
salaryAmount
=
otherAmount
;
}
}
otherAmount
=
otherAmount
.
subtract
(
salaryAmount
);
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
LeaseOrderStatus
.
PAID
.
getCode
();
}
}
// 抵扣余额
uavOrderService
.
deductWallet
(
shareAmount
,
salaryAmount
,
currentAccount
);
// 获取商品主图
String
url
=
null
;
for
(
GoodsResourcesVO
goodsResourcesVO
:
leaseGoodsVO
.
getResourcesList
())
{
if
(
goodsResourcesVO
.
getType
().
equals
(
0
))
{
url
=
goodsResourcesVO
.
getUrl
();
break
;
}
}
// 添加总订单表
LeaseOrderDO
leaseOrderDO
=
new
LeaseOrderDO
();
leaseOrderDO
.
setOrderNo
(
orderNo
);
leaseOrderDO
.
setOrderTotalAmount
(
orderTotalAmount
);
leaseOrderDO
.
setStatusCode
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
?
LeaseOrderStatus
.
PLACED_AN_ORDER
.
getCode
()
:
statusCode
);
leaseOrderDO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
leaseOrderDO
.
setLeaseGoodsId
(
param
.
getLeaseGoodsId
());
leaseOrderDO
.
setCompanyName
(
param
.
getCompanyName
());
leaseOrderDO
.
setThirdBackUserAccountId
(
param
.
getThirdBackUserAccountId
());
leaseOrderDO
.
setOrderName
(
leaseGoodsVO
.
getTradeName
());
leaseOrderDO
.
setModeOfDeliveryInfo
(
leaseGoodsVO
.
getModeOfDeliveryInfo
());
if
(
priceStock
.
getSkuImage
()
!=
null
)
{
leaseOrderDO
.
setSkuImg
(
priceStock
.
getSkuImage
());
}
else
{
leaseOrderDO
.
setSkuImg
(
url
);
}
leaseOrderDO
.
setSalaryAmount
(
salaryAmount
);
leaseOrderDO
.
setSku
(
param
.
getSku
());
leaseOrderDO
.
setShareAmount
(
shareAmount
);
leaseOrderDO
.
setOtherAmount
(
otherAmount
);
leaseOrderDO
.
setUserAddressId
(
param
.
getUserAddressId
());
leaseOrderDO
.
setUserRemark
(
param
.
getUserRemark
());
leaseOrderDO
.
setUnitPrice
(
param
.
getUnitPrice
());
leaseOrderDO
.
setWareNum
(
param
.
getWareNum
());
leaseOrderDO
.
setDeposit
(
param
.
getDeposit
());
leaseOrderDO
.
setStartDate
(
param
.
getStartDate
());
if
(
null
!=
statusCode
&&
statusCode
.
equals
(
LeaseOrderStatus
.
PAID
.
getCode
()))
{
leaseOrderDO
.
setPayTime
(
new
Date
());
}
leaseOrderDO
.
setEndDate
(
param
.
getEndDate
());
leaseOrderDao
.
addOrder
(
leaseOrderDO
);
// 添加收货地址
UserAddressDO
userAddressDO
=
userAddressDao
.
selectById
(
param
.
getUserAddressId
());
LeaseOrderExpressDO
leaseOrderExpressDO
=
new
LeaseOrderExpressDO
(
userAddressDO
);
leaseOrderExpressDO
.
setLeaseOrderId
(
leaseOrderDO
.
getId
());
leaseOrderDao
.
addAddress
(
leaseOrderExpressDO
);
LeaseOrderDTO
leaseOrderDTO
=
leaseOrderDO
.
buildLeaseOrderDTO
();
leaseOrderDTO
.
setModeOfDeliveryInfo
(
leaseGoodsVO
.
getModeOfDeliveryInfo
());
return
ResultBody
.
success
(
leaseOrderDTO
);
}
private
Integer
getLeaseTerm
(
Integer
leaseTermId
)
{
if
(
leaseTermId
.
equals
(
LeaseTermInfo
.
THREE_DAY
.
getId
()))
{
return
LeaseTermInfo
.
THREE_DAY
.
getDays
();
}
else
if
(
leaseTermId
.
equals
(
LeaseTermInfo
.
SEVEN_DAY
.
getId
()))
{
return
LeaseTermInfo
.
SEVEN_DAY
.
getDays
();
}
else
if
(
leaseTermId
.
equals
(
LeaseTermInfo
.
THIRTY_DAY
.
getId
()))
{
return
LeaseTermInfo
.
THIRTY_DAY
.
getDays
();
}
else
if
(
leaseTermId
.
equals
(
LeaseTermInfo
.
NINETY_DAY
.
getId
()))
{
return
LeaseTermInfo
.
NINETY_DAY
.
getDays
();
}
else
{
return
LeaseTermInfo
.
ONE_HUNDRED_AND_EIGHTY_DAY
.
getDays
();
}
}
private
BigDecimal
getUnitPrice
(
Integer
priceSection
,
LeasePriceStockVO
priceStockVO
)
{
if
(
priceSection
.
equals
(
LeaseTermInfo
.
THREE_DAY
.
getDays
()))
{
return
priceStockVO
.
getThreeDaysRental
();
}
else
if
(
priceSection
.
equals
(
LeaseTermInfo
.
SEVEN_DAY
.
getDays
()))
{
return
priceStockVO
.
getSevenDaysRental
();
}
else
if
(
priceSection
.
equals
(
LeaseTermInfo
.
THIRTY_DAY
.
getDays
()))
{
return
priceStockVO
.
getThirtyDaysRental
();
}
else
if
(
priceSection
.
equals
(
LeaseTermInfo
.
NINETY_DAY
.
getDays
()))
{
return
priceStockVO
.
getNinetyDaysRental
();
}
else
{
return
priceStockVO
.
getMaxDaysRental
();
}
}
private
Integer
getPriceSection
(
int
distanceDays
)
{
if
(
distanceDays
>=
LeaseTermInfo
.
THREE_DAY
.
getDays
()
&&
distanceDays
<
LeaseTermInfo
.
SEVEN_DAY
.
getDays
())
{
return
LeaseTermInfo
.
THREE_DAY
.
getDays
();
}
else
if
(
distanceDays
>=
LeaseTermInfo
.
SEVEN_DAY
.
getDays
()
&&
distanceDays
<
LeaseTermInfo
.
THIRTY_DAY
.
getDays
())
{
return
LeaseTermInfo
.
SEVEN_DAY
.
getDays
();
}
else
if
(
distanceDays
>=
LeaseTermInfo
.
THIRTY_DAY
.
getDays
()
&&
distanceDays
<
LeaseTermInfo
.
NINETY_DAY
.
getDays
())
{
return
LeaseTermInfo
.
THIRTY_DAY
.
getDays
();
}
else
if
(
distanceDays
>=
LeaseTermInfo
.
NINETY_DAY
.
getDays
()
&&
distanceDays
<
LeaseTermInfo
.
ONE_HUNDRED_AND_EIGHTY_DAY
.
getDays
())
{
return
LeaseTermInfo
.
NINETY_DAY
.
getDays
();
}
else
{
return
LeaseTermInfo
.
ONE_HUNDRED_AND_EIGHTY_DAY
.
getDays
();
}
}
@Override
public
ResultBody
detail
(
Integer
id
,
BaseAccountDTO
currentAccount
)
throws
Exception
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
id
);
if
(
leaseOrderDO
==
null
)
{
return
ResultBody
.
error
(
"订单信息不存在!"
);
}
LeaseOrderDTO
leaseOrderDTO
=
leaseOrderDO
.
buildLeaseOrderDTO
();
if
(
leaseOrderDO
.
getStatusCode
().
equals
(
LeaseOrderStatus
.
PLACED_AN_ORDER
.
getCode
()))
{
leaseOrderDTO
.
setNeedPayAmount
(
leaseOrderDO
.
getOtherAmount
());
}
// 收货信息、付款信息、规格信息、快递信息、签署信息
LeaseOrderExpressDO
leaseOrderExpressDO
=
leaseOrderDao
.
getLeaseOrderExpress
(
id
);
if
(
leaseOrderExpressDO
!=
null
)
{
leaseOrderDTO
.
setUavOrderExpressDTO
(
leaseOrderExpressDO
.
buildUavOrderExpressDTO
());
// 快递信息
KdnExpDTO
kdnExpDTO
=
this
.
getOrderExpInfo
(
leaseOrderExpressDO
);
leaseOrderDTO
.
setKdnExpDTO
(
kdnExpDTO
);
}
// 设置个人信息
UserAccountSimpleDTO
userAccountSimpleDTO
=
userAppApi
.
feignGetUserSimpleInfo
(
leaseOrderDO
.
getUserAccountId
(),
currentAccount
.
getToken
());
if
(
userAccountSimpleDTO
!=
null
)
{
leaseOrderDTO
.
setUserName
(
userAccountSimpleDTO
.
getUserName
());
leaseOrderDTO
.
setNickname
(
userAccountSimpleDTO
.
getNickName
());
leaseOrderDTO
.
setPhoneNum
(
userAccountSimpleDTO
.
getPhoneNum
());
}
return
ResultBody
.
success
(
leaseOrderDTO
);
}
private
KdnExpDTO
getOrderExpInfo
(
LeaseOrderExpressDO
exp
)
throws
Exception
{
String
json
=
""
;
if
(
"SF"
.
equals
(
exp
.
getSendExpCode
()))
{
json
=
KdnExpressUtil
.
SF
(
exp
.
getTakePhone
(),
exp
.
getSendExpNo
());
}
else
if
(
"JD"
.
equals
(
exp
.
getSendExpCode
()))
{
json
=
KdnExpressUtil
.
JD
(
""
,
exp
.
getSendExpNo
());
}
else
{
json
=
KdnExpressUtil
.
others
(
exp
.
getSendExpCode
(),
exp
.
getSendExpNo
());
}
KdnExpDTO
kdn
=
JsonUtil
.
parseJsonToObj
(
json
,
KdnExpDTO
.
class
);
kdn
.
setLogisticCode
(
exp
.
getSendExpNo
());
if
(!
org
.
springframework
.
util
.
CollectionUtils
.
isEmpty
(
kdn
.
getTraces
()))
{
Collections
.
sort
(
kdn
.
getTraces
(),
Comparator
.
comparing
(
ExpStationsDTO:
:
getAcceptTime
).
reversed
());
// 升序
}
return
kdn
;
}
@Override
public
ResultBody
close
(
LeaseOrderRefundVO
leaseOrderRefundVO
,
String
token
)
{
LeaseOrderDO
leaseOrderDO
=
leaseOrderDao
.
detail
(
leaseOrderRefundVO
.
getId
());
if
(
leaseOrderDO
==
null
)
{
return
ResultBody
.
error
(
"订单信息不存在!"
);
}
// 判断订单状态
if
(
leaseOrderDO
.
getStatusCode
().
compareTo
(
LeaseOrderStatus
.
PAID
.
getCode
())
>
0
)
{
if
(
leaseOrderDO
.
getStatusCode
().
compareTo
(
LeaseOrderStatus
.
TO_BE_RETURNED
.
getCode
())
==
0
)
{
return
ResultBody
.
error
(
"当前状态不可申请退款"
);
}
// 判断商品是否需要归还
if
(
leaseOrderRefundVO
.
getStatus
().
equals
(
0
)
&&
leaseOrderRefundVO
.
getExpressNum
()
==
null
)
{
return
ResultBody
.
error
(
"请填充物流编号"
);
}
// 插入退款订单信息
LeaseRefundOrderDO
leaseRefundOrderDO
=
new
LeaseRefundOrderDO
(
leaseOrderRefundVO
);
leaseOrderDao
.
addLeaseRefundOrder
(
leaseRefundOrderDO
);
// 修改订单状态
leaseOrderDao
.
updateUavOrderStatus
(
leaseOrderRefundVO
.
getStatus
(),
LeaseOrderStatus
.
APPLY_REFUND
.
getCode
());
return
ResultBody
.
success
();
}
else
{
// 退云享金、佣金
if
(
leaseOrderDO
.
getShareAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
leaseOrderDO
.
getSalaryAmount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
payUavWalletVO
.
setCashAmount
(
leaseOrderDO
.
getShareAmount
());
payUavWalletVO
.
setSalaryAmount
(
leaseOrderDO
.
getSalaryAmount
());
payUavWalletVO
.
setOrderStatus
(
1400
);
payUavWalletVO
.
setUserAccountId
(
leaseOrderDO
.
getUserAccountId
());
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
token
);
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
return
resultBody
;
}
}
// 微信退款
if
(
"wechatpay"
.
equals
(
leaseOrderDO
.
getPayType
()))
{
ApplyRefundVO
applyRefundVO
=
new
ApplyRefundVO
();
applyRefundVO
.
setOutTradeNo
(
leaseOrderDO
.
getOrderNo
());
applyRefundVO
.
setReason
(
"关闭租赁订单"
);
applyRefundVO
.
setRefund
(
leaseOrderDO
.
getOtherAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
longValue
());
ResultBody
applyRefund
=
paymentAppApi
.
applyRefund
(
applyRefundVO
,
token
);
log
.
info
(
"applyRefund res:{}"
,
applyRefund
);
if
(!
applyRefund
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
TransactionAspectSupport
.
currentTransactionStatus
().
setRollbackOnly
();
return
ResultBody
.
error
(
"关闭订单失败!"
);
}
}
// 修改订单状态
this
.
updateLeaseOrderStatus
(
leaseOrderRefundVO
.
getId
(),
LeaseOrderStatus
.
CLOSE
);
return
ResultBody
.
success
();
}
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateLeaseOrderStatus
(
Integer
id
,
LeaseOrderStatus
leaseOrderStatus
)
{
leaseOrderDao
.
updateUavOrderStatus
(
id
,
leaseOrderStatus
.
getCode
());
}
@Override
public
ResultBody
<
LeaseOrderDTO
>
list
(
UavOrderQO
uavOrderQO
,
BaseAccountDTO
currentAccount
)
{
return
null
;
}
}
src/main/java/com/mmc/oms/service/mall/impl/ServiceOrderTaskServiceImpl.java
浏览文件 @
52629640
...
@@ -55,7 +55,8 @@ public class ServiceOrderTaskServiceImpl
...
@@ -55,7 +55,8 @@ public class ServiceOrderTaskServiceImpl
@Autowired
private
PmsClient
pmsClient
;
@Autowired
private
PmsClient
pmsClient
;
@Autowired
private
UserClient
userClient
;
@Autowired
private
UserAppApi
userAppApi
;
@Autowired
private
HttpUtil
httpUtil
;
@Autowired
private
HttpUtil
httpUtil
;
...
@@ -162,7 +163,7 @@ public class ServiceOrderTaskServiceImpl
...
@@ -162,7 +163,7 @@ public class ServiceOrderTaskServiceImpl
}
}
private
Map
<
Integer
,
UserAccountSimpleDTO
>
getUserDTOMap
(
HttpServletRequest
request
,
List
<
Integer
>
userIds
)
{
private
Map
<
Integer
,
UserAccountSimpleDTO
>
getUserDTOMap
(
HttpServletRequest
request
,
List
<
Integer
>
userIds
)
{
List
<
UserAccountSimpleDTO
>
userList
=
user
Client
.
feignListUserAccountByIds
(
userIds
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
List
<
UserAccountSimpleDTO
>
userList
=
user
AppApi
.
feignListUserAccountByIds
(
userIds
,
request
.
getHeader
(
TokenConstant
.
TOKEN
));
Map
<
Integer
,
UserAccountSimpleDTO
>
userMap
=
new
HashMap
<>();
Map
<
Integer
,
UserAccountSimpleDTO
>
userMap
=
new
HashMap
<>();
if
(
CollectionUtils
.
isNotEmpty
(
userList
)){
if
(
CollectionUtils
.
isNotEmpty
(
userList
)){
userMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
UserAccountSimpleDTO:
:
getId
,
d
->
d
,
(
k1
,
k2
)
->
k1
));
userMap
=
userList
.
stream
().
collect
(
Collectors
.
toMap
(
UserAccountSimpleDTO:
:
getId
,
d
->
d
,
(
k1
,
k2
)
->
k1
));
...
...
src/main/java/com/mmc/oms/service/uav/UavCartService.java
浏览文件 @
52629640
...
@@ -21,5 +21,5 @@ public interface UavCartService {
...
@@ -21,5 +21,5 @@ public interface UavCartService {
ResultBody
list
(
UavCartQO
uavCartQO
,
BaseAccountDTO
currentAccount
);
ResultBody
list
(
UavCartQO
uavCartQO
,
BaseAccountDTO
currentAccount
);
void
buildUavCartCompany
(
Integer
orderType
,
List
<
UavCartCompanyDTO
>
uavCartCompanyDTOS
);
void
buildUavCartCompany
(
List
<
UavCartCompanyDTO
>
uavCartCompanyDTOS
);
}
}
src/main/java/com/mmc/oms/service/uav/UavOrderService.java
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
service
.
uav
;
package
com
.
mmc
.
oms
.
service
.
uav
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.model.dto.ContractInfoDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderRemarkDTO
;
import
com.mmc.oms.model.dto.uav.UavCartCompanyDTO
;
import
com.mmc.oms.model.dto.uav.UavOrderDTO
;
import
com.mmc.oms.model.dto.user.BaseAccountDTO
;
import
com.mmc.oms.model.dto.user.BaseAccountDTO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.qo.uav.UavOrderQO
;
import
com.mmc.oms.model.vo.uav.*
;
import
com.mmc.oms.model.vo.uav.*
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
com.mmc.oms.model.vo.wallet.TopUpOrderVO
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -54,4 +53,9 @@ public interface UavOrderService {
...
@@ -54,4 +53,9 @@ public interface UavOrderService {
ResultBody
removeUavOrder
(
Integer
id
);
ResultBody
removeUavOrder
(
Integer
id
);
ResultBody
addOrderByCart
(
AddUavOrderByCartQO
orderByCartQO
,
BaseAccountDTO
currentAccount
);
ResultBody
addOrderByCart
(
AddUavOrderByCartQO
orderByCartQO
,
BaseAccountDTO
currentAccount
);
ResultBody
deductWallet
(
BigDecimal
allShareAmount
,
BigDecimal
allSalaryAmount
,
BaseAccountDTO
currentAccount
);
List
<
UavOrderRemarkDTO
>
listGoodsRemark
(
Integer
remarkType
,
Integer
goodsId
);
}
}
src/main/java/com/mmc/oms/service/uav/impl/UavCartServiceImpl.java
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
service
.
uav
.
impl
;
package
com
.
mmc
.
oms
.
service
.
uav
.
impl
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.oms.common.ResultEnum
;
import
com.mmc.oms.common.ResultEnum
;
import
com.mmc.oms.common.result.PageResult
;
import
com.mmc.oms.common.result.PageResult
;
import
com.mmc.oms.common.result.ResultBody
;
import
com.mmc.oms.common.result.ResultBody
;
...
@@ -15,6 +16,7 @@ import com.mmc.oms.model.qo.uav.PriceStockQO;
...
@@ -15,6 +16,7 @@ import com.mmc.oms.model.qo.uav.PriceStockQO;
import
com.mmc.oms.model.qo.uav.UavCartQO
;
import
com.mmc.oms.model.qo.uav.UavCartQO
;
import
com.mmc.oms.model.vo.uav.UavCartVO
;
import
com.mmc.oms.model.vo.uav.UavCartVO
;
import
com.mmc.oms.service.uav.UavCartService
;
import
com.mmc.oms.service.uav.UavCartService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -28,6 +30,7 @@ import java.util.stream.Collectors;
...
@@ -28,6 +30,7 @@ import java.util.stream.Collectors;
* @Date: 2023/9/16 14:40
* @Date: 2023/9/16 14:40
*/
*/
@Service
@Service
@Slf4j
public
class
UavCartServiceImpl
implements
UavCartService
{
public
class
UavCartServiceImpl
implements
UavCartService
{
@Autowired
@Autowired
private
UavCartDao
uavCartDao
;
private
UavCartDao
uavCartDao
;
...
@@ -71,18 +74,19 @@ public class UavCartServiceImpl implements UavCartService {
...
@@ -71,18 +74,19 @@ public class UavCartServiceImpl implements UavCartService {
if
(
list
.
size
()
==
0
)
{
if
(
list
.
size
()
==
0
)
{
return
ResultBody
.
success
(
PageResult
.
buildPage
(
uavCartQO
.
getPageNo
(),
uavCartQO
.
getPageSize
(),
list
.
size
()));
return
ResultBody
.
success
(
PageResult
.
buildPage
(
uavCartQO
.
getPageNo
(),
uavCartQO
.
getPageSize
(),
list
.
size
()));
}
}
Integer
pageNo
=
uavCartQO
.
getPage
No
();
Integer
pageNo
=
uavCartQO
.
getPage
Size
();
uavCartQO
.
buildCurrentPage
();
uavCartQO
.
buildCurrentPage
();
List
<
UavCartCompanyDO
>
uavCartCompanyDOS
=
uavCartDao
.
list
(
pageNo
,
uavCartQO
.
getPageSize
(),
currentAccount
.
getUserAccountId
());
List
<
UavCartCompanyDO
>
uavCartCompanyDOS
=
uavCartDao
.
list
(
uavCartQO
.
getPageNo
()
,
uavCartQO
.
getPageSize
(),
currentAccount
.
getUserAccountId
());
List
<
UavCartCompanyDTO
>
uavCartCompanyDTOS
=
uavCartCompanyDOS
.
stream
().
map
(
UavCartCompanyDO:
:
buildUavCartCompanyDTO
).
collect
(
Collectors
.
toList
());
List
<
UavCartCompanyDTO
>
uavCartCompanyDTOS
=
uavCartCompanyDOS
.
stream
().
map
(
UavCartCompanyDO:
:
buildUavCartCompanyDTO
).
collect
(
Collectors
.
toList
());
// 同步商品信息,价格及是否展示
// 同步商品信息,价格及是否展示
// 根据规格查询商品信息
// 根据规格查询商品信息
buildUavCartCompany
(
uavCartQO
.
getOrderType
(),
uavCartCompanyDTOS
);
buildUavCartCompany
(
uavCartCompanyDTOS
);
uavCartCompanyDTOS
.
removeIf
(
i
->
CollectionUtils
.
isEmpty
(
i
.
getUavCartDOS
()));
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
uavCartQO
.
getPageSize
(),
list
.
size
(),
uavCartCompanyDTOS
));
return
ResultBody
.
success
(
PageResult
.
buildPage
(
pageNo
,
uavCartQO
.
getPageSize
(),
list
.
size
(),
uavCartCompanyDTOS
));
}
}
@Override
@Override
public
void
buildUavCartCompany
(
Integer
orderType
,
List
<
UavCartCompanyDTO
>
uavCartCompanyDTOS
){
public
void
buildUavCartCompany
(
List
<
UavCartCompanyDTO
>
uavCartCompanyDTOS
){
List
<
PriceStockQO
>
priceStockQOS
=
new
ArrayList
<>();
List
<
PriceStockQO
>
priceStockQOS
=
new
ArrayList
<>();
for
(
UavCartCompanyDTO
uavCartCompanyDTO
:
uavCartCompanyDTOS
)
{
for
(
UavCartCompanyDTO
uavCartCompanyDTO
:
uavCartCompanyDTOS
)
{
for
(
UavCartDTO
uavCartDO
:
uavCartCompanyDTO
.
getUavCartDOS
())
{
for
(
UavCartDTO
uavCartDO
:
uavCartCompanyDTO
.
getUavCartDOS
())
{
...
@@ -92,35 +96,29 @@ public class UavCartServiceImpl implements UavCartService {
...
@@ -92,35 +96,29 @@ public class UavCartServiceImpl implements UavCartService {
}
}
// 最新规格信息
// 最新规格信息
List
<
UavCartDTO
>
uavCartDTOS
=
pmsAppApi
.
listPriceStock
(
priceStockQOS
);
List
<
UavCartDTO
>
uavCartDTOS
=
pmsAppApi
.
listPriceStock
(
priceStockQOS
);
if
(
CollectionUtils
.
isEmpty
(
uavCartDTOS
))
{
return
;
}
// 更新最新的规格信息
// 更新最新的规格信息
for
(
UavCartCompanyDTO
uavCartCompanyDTO
:
uavCartCompanyDTOS
)
{
for
(
UavCartCompanyDTO
uavCartCompanyDTO
:
uavCartCompanyDTOS
)
{
uavCartCompanyDTO
.
setCompanyName
(
uavCartCompanyDTO
.
getUavCartDOS
().
get
(
0
).
getCompanyName
());
uavCartCompanyDTO
.
setCompanyName
(
uavCartCompanyDTO
.
getUavCartDOS
().
get
(
0
).
getCompanyName
());
for
(
UavCartDTO
uavCartDTO
:
uavCartCompanyDTO
.
getUavCartDOS
())
{
for
(
UavCartDTO
uavCartDTO
:
uavCartCompanyDTO
.
getUavCartDOS
())
{
// 从最新规格中逐个更新
// 标识是否找到
Boolean
flag
=
false
;
// 从最新规格中逐个更新,没有则置为失效
for
(
UavCartDTO
newestUavCartDTO
:
uavCartDTOS
)
{
for
(
UavCartDTO
newestUavCartDTO
:
uavCartDTOS
)
{
if
(
uavCartDTO
.
getMallGoodsId
().
equals
(
newestUavCartDTO
.
getMallGoodsId
())
if
(
uavCartDTO
.
getMallGoodsId
().
equals
(
newestUavCartDTO
.
getMallGoodsId
())
&&
uavCartDTO
.
getProductSpec
().
equals
(
newestUavCartDTO
.
getProductSpec
()))
{
&&
uavCartDTO
.
getProductSpec
().
equals
(
newestUavCartDTO
.
getProductSpec
()))
{
// 不符合的移除
flag
=
true
;
if
(
UavOrderType
.
PAY
.
getCode
().
equals
(
orderType
))
{
if
(
newestUavCartDTO
.
getPriceShow
().
equals
(
0
))
{
uavCartCompanyDTO
.
getUavCartDOS
().
remove
(
uavCartDTO
);
}
}
else
{
if
(
newestUavCartDTO
.
getPriceShow
().
equals
(
1
))
{
uavCartCompanyDTO
.
getUavCartDOS
().
remove
(
uavCartDTO
);
}
}
uavCartDTO
.
setPriceShow
(
newestUavCartDTO
.
getPriceShow
());
uavCartDTO
.
setPriceShow
(
newestUavCartDTO
.
getPriceShow
());
uavCartDTO
.
setSalePrice
(
newestUavCartDTO
.
getSalePrice
());
uavCartDTO
.
setSalePrice
(
newestUavCartDTO
.
getSalePrice
());
uavCartDTO
.
setShelfStatus
(
newestUavCartDTO
.
getShelfStatus
());
uavCartDTO
.
setDeleted
(
newestUavCartDTO
.
getDeleted
());
break
;
break
;
}
}
}
}
// 找不到或被删除则置为失效
if
(!
flag
||
uavCartDTO
.
getDeleted
().
equals
(
1
))
{
uavCartDTO
.
setShelfStatus
(
0
);
uavCartDTO
.
setDeleted
(
1
);
}
}
if
(
CollectionUtils
.
isEmpty
(
uavCartCompanyDTO
.
getUavCartDOS
()))
{
uavCartCompanyDTOS
.
remove
(
uavCartCompanyDTO
);
}
}
}
}
}
}
...
...
src/main/java/com/mmc/oms/service/uav/impl/UavOrderServiceImpl.java
浏览文件 @
52629640
...
@@ -14,6 +14,7 @@ import com.mmc.oms.dao.UserAddressDao;
...
@@ -14,6 +14,7 @@ import com.mmc.oms.dao.UserAddressDao;
import
com.mmc.oms.dao.uav.UavOrderDao
;
import
com.mmc.oms.dao.uav.UavOrderDao
;
import
com.mmc.oms.dao.uav.UavOrderExpressDao
;
import
com.mmc.oms.dao.uav.UavOrderExpressDao
;
import
com.mmc.oms.dao.uav.UavPODao
;
import
com.mmc.oms.dao.uav.UavPODao
;
import
com.mmc.oms.dao.uav.UavPayWxDao
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.entity.mall.UserAddressDO
;
import
com.mmc.oms.entity.uav.*
;
import
com.mmc.oms.entity.uav.*
;
import
com.mmc.oms.enums.UavOrderStatus
;
import
com.mmc.oms.enums.UavOrderStatus
;
...
@@ -68,6 +69,9 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -68,6 +69,9 @@ public class UavOrderServiceImpl implements UavOrderService {
private
UavPODao
uavPODao
;
private
UavPODao
uavPODao
;
@Autowired
@Autowired
private
UavPayWxDao
uavPayWxDao
;
@Autowired
private
DemandReleaseOrderService
demandReleaseOrderService
;
private
DemandReleaseOrderService
demandReleaseOrderService
;
@Autowired
@Autowired
...
@@ -163,17 +167,8 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -163,17 +167,8 @@ public class UavOrderServiceImpl implements UavOrderService {
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
}
}
}
}
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
// 抵扣余额
payUavWalletVO
.
setCashAmount
(
shareAmount
);
this
.
deductWallet
(
shareAmount
,
salaryAmount
,
currentAccount
);
payUavWalletVO
.
setSalaryAmount
(
salaryAmount
);
payUavWalletVO
.
setOrderStatus
(
100
);
payUavWalletVO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
if
(
shareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
salaryAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())){
return
resultBody
;
}
}
}
}
// 添加总订单表
// 添加总订单表
UavOrderDO
uavOrderDO
=
new
UavOrderDO
();
UavOrderDO
uavOrderDO
=
new
UavOrderDO
();
...
@@ -463,9 +458,18 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -463,9 +458,18 @@ public class UavOrderServiceImpl implements UavOrderService {
}
}
// 修改订单状态
// 修改订单状态
this
.
updateUavOrderStatus
(
uavOrderRemarkVO
.
getUavOrderId
(),
UavOrderStatus
.
WAITING_REMARK
);
this
.
updateUavOrderStatus
(
uavOrderRemarkVO
.
getUavOrderId
(),
UavOrderStatus
.
WAITING_REMARK
);
uavOrderDao
.
updateUavOrderRemarkStatus
(
uavOrderDO
.
getId
());
List
<
UavOrderSkuDO
>
uavOrderSkuDOS
=
uavOrderDao
.
listUavOrderSkuDO
(
uavOrderDO
.
getId
());
List
<
Integer
>
mallGoodsIds
=
uavOrderSkuDOS
.
stream
().
map
(
i
->
i
.
getMallGoodsId
()).
distinct
().
collect
(
Collectors
.
toList
());
List
<
UavOrderRemarkDO
>
uavOrderRemarkDOS
=
new
ArrayList
<
UavOrderRemarkDO
>();
for
(
Integer
mallGoodsId
:
mallGoodsIds
)
{
// 填入评价内容
// 填入评价内容
UavOrderRemarkDO
uavOrderRemarkDO
=
new
UavOrderRemarkDO
(
uavOrderRemarkVO
);
UavOrderRemarkDO
uavOrderRemarkDO
=
new
UavOrderRemarkDO
(
uavOrderRemarkVO
);
uavOrderDao
.
addRemarkOrder
(
uavOrderRemarkDO
);
uavOrderRemarkDO
.
setRemarkType
(
0
);
uavOrderRemarkDO
.
setMallGoodsId
(
mallGoodsId
);
uavOrderRemarkDOS
.
add
(
uavOrderRemarkDO
);
}
uavOrderDao
.
addRemarkOrder
(
uavOrderRemarkDOS
);
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
}
...
@@ -539,6 +543,15 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -539,6 +543,15 @@ public class UavOrderServiceImpl implements UavOrderService {
@Transactional
@Transactional
@Override
@Override
public
void
payUavOrder
(
TopUpOrderVO
topUpOrderVO
)
{
public
void
payUavOrder
(
TopUpOrderVO
topUpOrderVO
)
{
if
(
topUpOrderVO
.
getOrderNo
().
startsWith
(
"m"
)){
payMultiUavOrder
(
topUpOrderVO
);
}
else
{
paySingleUavOrder
(
topUpOrderVO
);
}
}
@Transactional
public
void
paySingleUavOrder
(
TopUpOrderVO
topUpOrderVO
)
{
// 添加支付凭证、记录支付方式
// 添加支付凭证、记录支付方式
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detailByNo
(
topUpOrderVO
.
getOrderNo
());
UavOrderDO
uavOrderDO
=
uavOrderDao
.
detailByNo
(
topUpOrderVO
.
getOrderNo
());
if
(
uavOrderDO
==
null
)
{
if
(
uavOrderDO
==
null
)
{
...
@@ -561,6 +574,24 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -561,6 +574,24 @@ public class UavOrderServiceImpl implements UavOrderService {
}
}
@Transactional
@Transactional
public
void
payMultiUavOrder
(
TopUpOrderVO
topUpOrderVO
)
{
UavPayWxDO
uavPayWx
=
uavPayWxDao
.
getUavPayWx
(
topUpOrderVO
.
getOrderNo
());
if
(
uavPayWx
!=
null
)
{
List
<
UavPayWxSubDO
>
payWxSubDOS
=
uavPayWxDao
.
listUavPayWxSub
(
uavPayWx
.
getId
());
for
(
UavPayWxSubDO
wxSubDO
:
payWxSubDOS
)
{
TopUpOrderVO
upOrderVO
=
new
TopUpOrderVO
();
upOrderVO
.
setOpenid
(
topUpOrderVO
.
getOpenid
());
upOrderVO
.
setOrderNo
(
wxSubDO
.
getOrderNo
());
upOrderVO
.
setAmount
(
wxSubDO
.
getAmount
().
multiply
(
BigDecimal
.
valueOf
(
100
)).
intValue
());
upOrderVO
.
setTradeState
(
topUpOrderVO
.
getTradeState
());
upOrderVO
.
setTradeStateDesc
(
topUpOrderVO
.
getTradeStateDesc
());
this
.
paySingleUavOrder
(
upOrderVO
);
}
}
uavPayWxDao
.
finishUavPayWx
(
topUpOrderVO
.
getOrderNo
(),
topUpOrderVO
.
getTradeState
());
}
@Transactional
@Override
@Override
public
ResultBody
confirmOrder
(
UavOrderVO
uavOrderVO
,
BaseAccountDTO
currentAccount
)
{
public
ResultBody
confirmOrder
(
UavOrderVO
uavOrderVO
,
BaseAccountDTO
currentAccount
)
{
// 修改订单状态
// 修改订单状态
...
@@ -663,30 +694,91 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -663,30 +694,91 @@ public class UavOrderServiceImpl implements UavOrderService {
@Transactional
@Transactional
@Override
@Override
public
ResultBody
addOrderByCart
(
AddUavOrderByCartQO
orderByCartQO
,
BaseAccountDTO
currentAccount
)
{
public
ResultBody
addOrderByCart
(
AddUavOrderByCartQO
orderByCartQO
,
BaseAccountDTO
currentAccount
)
{
uavCartService
.
buildUavCartCompany
(
orderByCartQO
.
getOrderType
(),
orderByCartQO
.
getCartCompanyDTOS
());
uavCartService
.
buildUavCartCompany
(
orderByCartQO
.
getCartCompanyDTOS
());
// 可以多商家多商品,为每个商家生成一个订单
List
<
UavOrderDO
>
orders
=
new
ArrayList
<
UavOrderDO
>();
BigDecimal
allAmount
=
BigDecimal
.
ZERO
;
// 意向订单只能下一个商家的
// 意向订单只能下一个商家的
if
(
orderByCartQO
.
getOrderType
().
equals
(
UavOrderType
.
SIGN
.
getCode
())
&&
orderByCartQO
.
getCartCompanyDTOS
().
size
()
>
1
)
{
if
(
orderByCartQO
.
getOrderType
().
equals
(
UavOrderType
.
SIGN
.
getCode
())
&&
orderByCartQO
.
getCartCompanyDTOS
().
size
()
>
1
)
{
return
ResultBody
.
error
(
"意向订单仅限下单个商家的商品"
);
return
ResultBody
.
error
(
"意向订单仅限下单个商家的商品"
);
}
}
// 云享金、余额扣除相关
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getCurrentUserPayWalletInfo
(
currentAccount
.
getToken
());
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
)
{
return
payResInfo
;
}
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
// 购物车id
List
<
Integer
>
cartIds
=
new
ArrayList
<>();
// 可以多商家多商品,为每个商家生成一个订单
List
<
UavOrderDO
>
orders
=
new
ArrayList
<
UavOrderDO
>();
BigDecimal
allOtherAmount
=
BigDecimal
.
ZERO
;
BigDecimal
allShareAmount
=
BigDecimal
.
ZERO
;
BigDecimal
allSalaryAmount
=
BigDecimal
.
ZERO
;
// 生成订单信息
// 生成订单信息
for
(
UavCartCompanyDTO
companyDTO
:
orderByCartQO
.
getCartCompanyDTOS
())
{
for
(
UavCartCompanyDTO
companyDTO
:
orderByCartQO
.
getCartCompanyDTOS
())
{
BigDecimal
singleO
rderAmount
=
BigDecimal
.
ZERO
;
BigDecimal
o
rderAmount
=
BigDecimal
.
ZERO
;
UavOrderDO
uavOrderDO
=
new
UavOrderDO
();
UavOrderDO
uavOrderDO
=
new
UavOrderDO
();
// 校验云享金、钱包余额是否足够抵扣
BigDecimal
shareAmount
=
BigDecimal
.
ZERO
;
BigDecimal
salaryAmount
=
BigDecimal
.
ZERO
;
BigDecimal
otherAmount
=
BigDecimal
.
ZERO
;
Integer
statusCode
=
null
;
List
<
UavOrderSkuDO
>
skuDOS
=
new
ArrayList
<
UavOrderSkuDO
>();
List
<
UavOrderSkuDO
>
skuDOS
=
new
ArrayList
<
UavOrderSkuDO
>();
String
orderNo
=
CodeUtil
.
uavOrderCode
();
String
orderNo
=
CodeUtil
.
uavOrderCode
();
if
(
CollectionUtils
.
isNotEmpty
(
companyDTO
.
getUavCartDOS
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
companyDTO
.
getUavCartDOS
()))
{
for
(
UavCartDTO
uavCartDTO
:
companyDTO
.
getUavCartDOS
())
{
for
(
UavCartDTO
uavCartDTO
:
companyDTO
.
getUavCartDOS
())
{
// 记录购物车id
cartIds
.
add
(
uavCartDTO
.
getId
());
// 购物车记录转换成对应规格
UavOrderSkuDO
uavOrderSkuDO
=
new
UavOrderSkuDO
(
uavCartDTO
);
UavOrderSkuDO
uavOrderSkuDO
=
new
UavOrderSkuDO
(
uavCartDTO
);
skuDOS
.
add
(
uavOrderSkuDO
);
skuDOS
.
add
(
uavOrderSkuDO
);
singleOrderAmount
=
singleOrderAmount
.
add
(
uavCartDTO
.
getSalePrice
().
multiply
(
BigDecimal
.
valueOf
(
uavCartDTO
.
getOrderNum
())));
orderAmount
=
orderAmount
.
add
(
uavCartDTO
.
getSalePrice
().
multiply
(
BigDecimal
.
valueOf
(
uavCartDTO
.
getOrderNum
())));
if
(
uavCartDTO
.
getShelfStatus
().
equals
(
0
))
{
return
ResultBody
.
error
(
uavCartDTO
.
getTradeName
()
+
" 已下架,请重新选择"
);
}
}
}
}
}
else
{
return
ResultBody
.
error
(
"所选规格无效"
);
}
otherAmount
=
otherAmount
.
add
(
orderAmount
);
// 正常订单可以抵扣云享金和余额、意向订单不能扣
if
(
orderByCartQO
.
getOrderType
().
equals
(
UavOrderType
.
PAY
.
getCode
())){
// 抵扣云享金
if
(
companyDTO
.
getDeductShareAmount
().
equals
(
1
)
&&
payWalletDTO
.
getCashAmt
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
payWalletDTO
.
getCashAmt
().
compareTo
(
otherAmount
)
>
0
)
{
shareAmount
=
shareAmount
.
add
(
otherAmount
);
}
else
{
shareAmount
=
shareAmount
.
add
(
payWalletDTO
.
getCashAmt
());
}
otherAmount
=
otherAmount
.
subtract
(
shareAmount
);
allShareAmount
=
allShareAmount
.
add
(
shareAmount
);
payWalletDTO
.
setCashAmt
(
payWalletDTO
.
getCashAmt
().
subtract
(
shareAmount
));
}
// 抵扣余额
if
(
companyDTO
.
getDeductSalaryAmount
().
equals
(
1
)
&&
payWalletDTO
.
getSalaryAmt
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
&&
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(
otherAmount
.
compareTo
(
payWalletDTO
.
getSalaryAmt
())
>
0
)
{
salaryAmount
=
salaryAmount
.
add
(
payWalletDTO
.
getSalaryAmt
());
}
else
{
salaryAmount
=
salaryAmount
.
add
(
otherAmount
);
}
otherAmount
=
otherAmount
.
subtract
(
salaryAmount
);
allSalaryAmount
=
allSalaryAmount
.
add
(
salaryAmount
);
payWalletDTO
.
setSalaryAmt
(
payWalletDTO
.
getSalaryAmt
().
subtract
(
salaryAmount
));
}
if
(
otherAmount
.
compareTo
(
BigDecimal
.
ZERO
)
==
0
)
{
statusCode
=
UavOrderStatus
.
WAITING_DELIVER_GOODS
.
getCode
();
}
else
{
statusCode
=
UavOrderStatus
.
PAYING
.
getCode
();
}
}
else
{
statusCode
=
UavOrderStatus
.
CONFIRM
.
getCode
();
}
// 设置订单状态
// 设置订单状态
// uavOrderDO.setStatusCode();
uavOrderDO
.
setStatusCode
(
statusCode
);
uavOrderDO
.
setOrderTotalAmount
(
singleOrderAmount
);
uavOrderDO
.
setOrderTotalAmount
(
orderAmount
);
uavOrderDO
.
setOtherAmount
(
otherAmount
);
uavOrderDO
.
setSalaryAmount
(
salaryAmount
);
uavOrderDO
.
setShareAmount
(
shareAmount
);
uavOrderDO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
uavOrderDO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
uavOrderDO
.
setUserAddressId
(
orderByCartQO
.
getUserAddressId
());
uavOrderDO
.
setUserAddressId
(
orderByCartQO
.
getUserAddressId
());
uavOrderDO
.
setThirdBackUserAccountId
(
companyDTO
.
getThirdBackUserAccountId
());
uavOrderDO
.
setThirdBackUserAccountId
(
companyDTO
.
getThirdBackUserAccountId
());
...
@@ -696,15 +788,87 @@ public class UavOrderServiceImpl implements UavOrderService {
...
@@ -696,15 +788,87 @@ public class UavOrderServiceImpl implements UavOrderService {
uavOrderDO
.
setOrderNo
(
orderNo
);
uavOrderDO
.
setOrderNo
(
orderNo
);
uavOrderDO
.
setSkuDOS
(
skuDOS
);
uavOrderDO
.
setSkuDOS
(
skuDOS
);
orders
.
add
(
uavOrderDO
);
orders
.
add
(
uavOrderDO
);
allAmount
=
allAmount
.
add
(
singleOrderAmount
);
allOtherAmount
=
allOtherAmount
.
add
(
otherAmount
);
}
}
// 云享金、余额扣除相关
// 抵扣余额
ResultBody
<
PayWalletDTO
>
payResInfo
=
userAppApi
.
getCurrentUserPayWalletInfo
(
currentAccount
.
getToken
());
if
(
allShareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
allSalaryAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
if
(!
payResInfo
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
())
||
payResInfo
.
getResult
()
==
null
){
this
.
deductWallet
(
allShareAmount
,
allSalaryAmount
,
currentAccount
);
return
payResInfo
;
}
// 添加订单信息
uavOrderDao
.
batchAddOrder
(
orders
);
// 全部规格信息
List
<
UavOrderSkuDO
>
allSkuDOS
=
new
ArrayList
<
UavOrderSkuDO
>();
for
(
UavOrderDO
order
:
orders
)
{
for
(
UavOrderSkuDO
skuDO
:
order
.
getSkuDOS
())
{
skuDO
.
setUavOrderId
(
order
.
getId
());
allSkuDOS
.
add
(
skuDO
);
}
}
// 批量添加规格
uavOrderDao
.
addOrderSku
(
allSkuDOS
);
// 多个添加收货地址
List
<
UavOrderExpressDO
>
expressDOS
=
new
ArrayList
<
UavOrderExpressDO
>();
UserAddressDO
userAddressDO
=
userAddressDao
.
selectById
(
orderByCartQO
.
getUserAddressId
());
for
(
UavOrderDO
order
:
orders
)
{
UavOrderExpressDO
uavOrderExpressDO
=
new
UavOrderExpressDO
(
userAddressDO
);
uavOrderExpressDO
.
setUavOrderId
(
order
.
getId
());
expressDOS
.
add
(
uavOrderExpressDO
);
}
// 批量添加收货地址
uavOrderExpressDao
.
batchAddOrderExpress
(
expressDOS
);
// 批量标识购物车
uavCartService
.
batchRemove
(
cartIds
);
List
<
UavOrderDTO
>
collect
=
orders
.
stream
().
map
(
UavOrderDO:
:
buildUavOrderDTO
).
collect
(
Collectors
.
toList
());
long
unFinishPay
=
collect
.
stream
().
filter
(
i
->
i
.
getStatusCode
().
equals
(
UavOrderStatus
.
PAYING
.
getCode
())).
count
();
MultiUavOrderDTO
multiUavOrderDTO
=
new
MultiUavOrderDTO
();
multiUavOrderDTO
.
setAllOtherAmount
(
allOtherAmount
);
multiUavOrderDTO
.
setUavOrderDTOS
(
collect
);
// 待订单个数大于1
if
(
unFinishPay
>
0
)
{
String
payNo
=
CodeUtil
.
multiUavOrderPayCode
();
multiUavOrderDTO
.
setPayNo
(
payNo
);
UavPayWxDO
uavPayWx
=
new
UavPayWxDO
();
uavPayWx
.
setPayNo
(
payNo
);
uavPayWx
.
setAmount
(
allOtherAmount
);
uavPayWx
.
setTradeState
(
"WAIT"
);
List
<
UavPayWxSubDO
>
payWxSubDOS
=
new
ArrayList
<>();
uavPayWxDao
.
addUavPayWx
(
uavPayWx
);
collect
.
stream
().
forEach
(
i
->
{
if
(
i
.
getStatusCode
().
equals
(
UavOrderStatus
.
PAYING
.
getCode
()))
{
UavPayWxSubDO
uavPayWxSubDO
=
new
UavPayWxSubDO
();
uavPayWxSubDO
.
setUavPayWxId
(
uavPayWx
.
getId
());
uavPayWxSubDO
.
setUavOrderId
(
i
.
getId
());
uavPayWxSubDO
.
setOrderNo
(
i
.
getOrderNo
());
uavPayWxSubDO
.
setAmount
(
i
.
getOtherAmount
());
payWxSubDOS
.
add
(
uavPayWxSubDO
);
}
});
uavPayWxDao
.
batchAddUavPayWxSub
(
payWxSubDOS
);
}
return
ResultBody
.
success
(
multiUavOrderDTO
);
}
}
PayWalletDTO
payWalletDTO
=
payResInfo
.
getResult
();
@Override
public
ResultBody
deductWallet
(
BigDecimal
allShareAmount
,
BigDecimal
allSalaryAmount
,
BaseAccountDTO
currentAccount
)
{
PayUavWalletVO
payUavWalletVO
=
new
PayUavWalletVO
();
payUavWalletVO
.
setCashAmount
(
allShareAmount
);
payUavWalletVO
.
setSalaryAmount
(
allSalaryAmount
);
payUavWalletVO
.
setOrderStatus
(
100
);
payUavWalletVO
.
setUserAccountId
(
currentAccount
.
getUserAccountId
());
if
(
allShareAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
||
allSalaryAmount
.
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
ResultBody
resultBody
=
userAppApi
.
feignPayUavWallet
(
payUavWalletVO
,
currentAccount
.
getToken
());
if
(!
resultBody
.
getCode
().
equals
(
ResultEnum
.
SUCCESS
.
getResultCode
()))
{
ResultBody
.
error
(
"余额抵扣失败!"
);
}
}
return
ResultBody
.
success
();
return
ResultBody
.
success
();
}
}
@Override
public
List
<
UavOrderRemarkDTO
>
listGoodsRemark
(
Integer
remarkType
,
Integer
goodsId
)
{
List
<
UavOrderRemarkDO
>
remarkDOS
=
uavOrderDao
.
listGoodsRemark
(
remarkType
,
goodsId
);
return
CollectionUtils
.
isNotEmpty
(
remarkDOS
)
?
remarkDOS
.
stream
()
.
map
(
UavOrderRemarkDO:
:
buildUavOrderRemarkDTO
).
collect
(
Collectors
.
toList
())
:
null
;
}
}
}
src/main/java/com/mmc/oms/util/TDateUtil.java
0 → 100644
浏览文件 @
52629640
package
com
.
mmc
.
oms
.
util
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
* @author 作者 geDuo
* @version 创建时间:2021年7月17日 下午5:28:19
* @explain 日期时间工具类
*/
public
class
TDateUtil
{
public
static
final
String
ONE_WEEK
=
"oneweek"
;
public
static
final
String
ONE_MONTH
=
"onemonth"
;
public
static
final
String
THREE_MONTH
=
"threemonth"
;
public
static
final
String
SIX_MONTH
=
"sixmonth"
;
public
static
final
String
ONE_YEAR
=
"oneyear"
;
public
static
String
getCurrentDate
()
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy/MM/dd HH:mm"
);
// 设置日期格式
String
date
=
df
.
format
(
new
Date
());
// new Date()为获取当前系统时间
return
date
;
}
public
static
String
getCurrentDateByType
(
String
format
)
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
format
);
// 设置日期格式
String
date
=
df
.
format
(
new
Date
());
// new Date()为获取当前系统时间
return
date
;
}
public
static
String
getCurrentDateMidd
()
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
// 设置日期格式
String
date
=
df
.
format
(
new
Date
());
// new Date()为获取当前系统时间
return
date
;
}
public
static
Date
getDate
(
String
str
,
String
format
)
{
Date
date
=
null
;
try
{
SimpleDateFormat
df
=
new
SimpleDateFormat
(
format
);
// 设置日期格式
// String dates=df.format(new Date());// new Date()为获取当前系统时间
date
=
df
.
parse
(
str
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
/**
* date类型转字符串
*/
public
static
String
getDateStr
(
Date
date
,
String
type
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
type
);
String
s
=
format
.
format
(
date
);
return
s
;
}
/**
* 根据日期获得随机数
*/
public
static
Integer
getDateRandom
(
Date
date
,
String
format
,
int
count
)
{
String
code
=
""
;
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
code
=
code
+
(
int
)
(
Math
.
random
()
*
9
);
}
code
=
TDateUtil
.
getDateStr
(
date
,
format
)
+
code
;
return
Integer
.
parseInt
(
code
);
}
/**
* 10位数的秒转日期字符
*
* @param mss
* @return
*/
public
static
Date
dateFromSecond
(
long
sceondTime
)
{
return
new
Date
(
sceondTime
*
1000
);
}
/**
* 10位数的秒转日期字符
*
* @param mss
* @return
*/
public
static
String
dateFromSecondStr
(
long
sceondTime
)
{
return
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
).
format
(
new
Date
(
sceondTime
*
1000
));
}
/**
* 秒转时分秒
*
* @param secondTime
* @return
*/
public
static
String
hmsFromSecond
(
Integer
secondTime
)
{
Integer
hour
=
secondTime
/
60
/
60
;
Integer
minutes
=
secondTime
/
60
%
60
;
Integer
remainingSeconds
=
secondTime
%
60
;
return
(
hour
+
"h"
+
minutes
+
"min"
+
remainingSeconds
+
"s"
);
}
public
static
String
hmsFromSecondFormat
(
long
secondTime
)
{
long
day
=
secondTime
/
60
/
60
/
24
;
long
hour
=
secondTime
/
60
/
60
%
24
;
long
minutes
=
secondTime
/
60
%
60
;
long
remainingSeconds
=
secondTime
%
60
;
if
(
day
>
0
)
{
return
(
day
+
"天"
+
hour
+
"小时"
+
minutes
+
"分"
+
remainingSeconds
+
"秒"
);
}
return
(
hour
+
"小时"
+
minutes
+
"分"
+
remainingSeconds
+
"秒"
);
}
/**
* 两个日期的相差秒数
*
* @param maxDate
* @param minDate
* @return
*/
public
static
long
calLastedTime
(
Date
maxDate
,
Date
minDate
)
{
long
a
=
maxDate
.
getTime
();
long
b
=
minDate
.
getTime
();
long
c
=
(
a
-
b
)
/
1000
;
return
c
;
}
/**
* 获取某个月的月底最后一天的时间
*/
public
static
Date
getMonthLatestDay
(
Date
date
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
// 获取当前月最后一天
Calendar
ca
=
Calendar
.
getInstance
();
ca
.
setTime
(
date
);
ca
.
set
(
Calendar
.
DAY_OF_MONTH
,
ca
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
));
String
last
=
format
.
format
(
ca
.
getTime
());
Date
dates
=
getDate
(
last
,
"yyyy-MM-dd"
);
return
dates
;
}
/**
* 某个时间 加N天
*/
public
static
Date
nextNumDay
(
Date
d
,
int
num
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
date
=
null
;
try
{
Date
now
=
d
;
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
now
);
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
num
);
String
last
=
format
.
format
(
calendar
.
getTime
());
date
=
getDate
(
last
,
"yyyy-MM-dd"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
/**
* 某天个时间加 N 小时
*
* @param now
* @param num
* @return
*/
public
static
Date
addHourTime
(
Date
now
,
int
num
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
date
=
null
;
try
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
now
);
calendar
.
add
(
Calendar
.
HOUR
,
num
);
String
last
=
format
.
format
(
calendar
.
getTime
());
date
=
getDate
(
last
,
"yyyy-MM-dd HH:mm:ss"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
/**
* 某个时间加n个月加n天(负数为减)
*/
@SuppressWarnings
(
"static-access"
)
public
static
Date
getMonthNDayN
(
Date
date
,
int
month
,
int
day
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
news
=
null
;
try
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
add
(
Calendar
.
MONTH
,
month
);
calendar
.
add
(
calendar
.
DATE
,
day
);
String
last
=
format
.
format
(
calendar
.
getTime
());
news
=
getDate
(
last
,
"yyyy-MM-dd"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
news
;
}
/**
* 时间戳-计算小时
*/
public
static
long
getDistanceTime
(
long
time1
,
long
time2
)
{
long
diff
=
0
;
long
day
=
0
;
long
hour
=
0
;
if
(
time1
<
time2
)
{
diff
=
time2
-
time1
;
}
else
{
diff
=
time1
-
time2
;
}
day
=
diff
/
(
24
*
60
*
60
*
1000
);
hour
=
(
diff
/
(
60
*
60
*
1000
)
-
day
*
24
);
return
hour
;
}
/**
* 两个时间之间相差距离多少天
*
* @param one 时间参数 1:
* @param two 时间参数 2:
* @return 相差天数
*/
public
static
int
distanceDays
(
Date
one
,
Date
two
)
{
int
days
=
0
;
long
time1
=
one
.
getTime
();
long
time2
=
two
.
getTime
();
long
diff
;
if
(
time1
<
time2
)
{
diff
=
time2
-
time1
;
}
else
{
diff
=
time1
-
time2
;
}
days
=
new
Long
(
diff
/
(
1000
*
60
*
60
*
24
)).
intValue
();
return
days
;
}
public
static
Date
nextNumDateTime
(
Date
d
,
int
num
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Date
date
=
null
;
try
{
Date
now
=
d
;
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
now
);
calendar
.
add
(
Calendar
.
DAY_OF_MONTH
,
num
);
String
last
=
format
.
format
(
calendar
.
getTime
());
date
=
getDate
(
last
,
"yyyy-MM-dd HH:mm:ss"
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
public
static
String
createYearWeek
(
String
startStr
,
String
endStr
)
{
if
(
startStr
==
null
||
""
.
equals
(
startStr
)
||
endStr
==
null
||
""
.
equals
(
endStr
))
{
return
"起止日期不能为空"
;
}
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Date
start
=
null
;
Date
end
=
null
;
Date
startDate
;
Date
endDate
;
int
dayOfWeek
;
boolean
goOn
=
true
;
int
no
=
0
;
try
{
start
=
sdf
.
parse
(
startStr
);
end
=
sdf
.
parse
(
endStr
);
}
catch
(
ParseException
e
)
{
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
try
{
start
=
simpleDateFormat
.
parse
(
startStr
);
end
=
simpleDateFormat
.
parse
(
endStr
);
}
catch
(
ParseException
pe
)
{
pe
.
printStackTrace
();
}
}
if
(
start
.
compareTo
(
end
)
>
-
1
)
{
return
"结束日期必须大于开始日期"
;
}
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
start
);
dayOfWeek
=
calendar
.
get
(
Calendar
.
DAY_OF_WEEK
);
List
<
Map
<
String
,
String
>>
weekList
=
new
ArrayList
<>();
if
(
dayOfWeek
>
1
&&
dayOfWeek
<
7
)
{
do
{
startDate
=
start
;
calendar
.
add
(
Calendar
.
DATE
,
(
8
-
dayOfWeek
));
endDate
=
calendar
.
getTime
();
no
+=
1
;
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"startOfWeek"
,
sdf
.
format
(
startDate
));
map
.
put
(
"weekNo"
,
no
+
""
);
if
(
endDate
.
compareTo
(
end
)
<
0
)
{
map
.
put
(
"endOfWeek"
,
sdf
.
format
(
endDate
));
weekList
.
add
(
map
);
calendar
.
add
(
Calendar
.
DATE
,
1
);
start
=
calendar
.
getTime
();
dayOfWeek
=
2
;
}
else
{
map
.
put
(
"endOfWeek"
,
sdf
.
format
(
end
));
weekList
.
add
(
map
);
goOn
=
false
;
}
}
while
(
goOn
);
}
else
{
no
+=
1
;
startDate
=
start
;
if
(
dayOfWeek
==
1
)
{
endDate
=
start
;
}
else
{
calendar
.
add
(
Calendar
.
DATE
,
1
);
endDate
=
calendar
.
getTime
();
}
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"startOfWeek"
,
sdf
.
format
(
startDate
));
map
.
put
(
"endOfWeek"
,
sdf
.
format
(
endDate
));
map
.
put
(
"weekNo"
,
no
+
""
);
weekList
.
add
(
map
);
calendar
.
add
(
Calendar
.
DATE
,
1
);
start
=
calendar
.
getTime
();
do
{
startDate
=
start
;
calendar
.
add
(
Calendar
.
DATE
,
6
);
endDate
=
calendar
.
getTime
();
no
+=
1
;
map
=
new
HashMap
<>();
map
.
put
(
"startOfWeek"
,
sdf
.
format
(
startDate
));
map
.
put
(
"weekNo"
,
no
+
""
);
if
(
endDate
.
compareTo
(
end
)
<
0
)
{
map
.
put
(
"endOfWeek"
,
sdf
.
format
(
endDate
));
weekList
.
add
(
map
);
calendar
.
add
(
Calendar
.
DATE
,
1
);
start
=
calendar
.
getTime
();
}
else
{
map
.
put
(
"endOfWeek"
,
sdf
.
format
(
end
));
weekList
.
add
(
map
);
goOn
=
false
;
}
}
while
(
goOn
);
}
return
weekList
.
toString
();
}
/**
* 获取起止日期
*
* @param sdf 需要显示的日期格式
* @param date 需要参照的日期
* @param n 最近n周
* @param option 0 开始日期;1 结束日期
* @param k 0 包含本周 1 不包含本周
* @return
*/
public
static
String
getFromToDate
(
SimpleDateFormat
sdf
,
Date
date
,
int
n
,
int
option
,
int
k
)
{
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
int
dayOfWeek
=
calendar
.
get
(
Calendar
.
DAY_OF_WEEK
)
-
1
;
int
offset
=
0
==
option
?
1
-
dayOfWeek
:
7
-
dayOfWeek
;
int
amount
=
0
==
option
?
offset
-
(
n
-
1
+
k
)
*
7
:
offset
-
k
*
7
;
calendar
.
add
(
Calendar
.
DATE
,
amount
);
return
sdf
.
format
(
calendar
.
getTime
());
}
/**
* 根据当前日期获得最近n周的日期区间(包含本周)
*
* @param n
* @param sdf
* @return
*/
public
static
String
getNWeekTimeInterval
(
int
n
,
String
format
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
format
);
// 设置日期格式
String
beginDate
=
getFromToDate
(
sdf
,
new
Date
(),
n
,
0
,
0
);
String
endDate
=
getFromToDate
(
sdf
,
new
Date
(),
n
,
1
,
0
);
return
beginDate
+
","
+
endDate
;
}
/**
* 根据当前日期获得最近n周的日期区间(不包含本周)
*
* @param n
* @param sdf
* @return
*/
public
static
String
getNWeekTimeIntervalTwo
(
int
n
,
String
format
)
{
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
format
);
// 设置日期格式
String
beginDate
=
getFromToDate
(
sdf
,
new
Date
(),
n
,
0
,
1
);
String
endDate
=
getFromToDate
(
sdf
,
new
Date
(),
n
,
1
,
1
);
return
beginDate
+
","
+
endDate
;
}
/**
* 根据当前日期获得本周的日期区间(本周周一和周日日期)
*
* @param sdf
* @return
*/
public
static
String
getThisWeekTimeInterval
(
String
format
)
{
return
getNWeekTimeInterval
(
1
,
format
);
}
/**
* 根据当前日期获得上周的日期区间(上周周一和周日日期)
*
* @param sdf
* @return
*/
public
static
String
getLastWeekTimeInterval
(
String
format
)
{
return
getNWeekTimeIntervalTwo
(
1
,
format
);
}
/**
* 获取某个日期最近一个的星期日
*
* @return
*/
public
static
Date
getLatestWeekend
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
int
w
=
cal
.
get
(
Calendar
.
DAY_OF_WEEK
)
-
1
;
Date
endDate
=
TDateUtil
.
nextNumDay
(
date
,
w
*
-
1
);
return
endDate
;
}
/**
* 获取N周的星期一的日期(正加负减)
*
* @param date
* @return
*/
public
static
Date
getMinMonday
(
Date
date
,
int
weekNum
)
{
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
int
w
=
cal
.
get
(
Calendar
.
DAY_OF_WEEK
)
-
1
;
Date
endDate
=
TDateUtil
.
nextNumDay
(
date
,
w
*
-
1
);
Date
startDate
=
TDateUtil
.
nextNumDay
(
endDate
,
(
weekNum
*
7
)
+
1
);
return
startDate
;
}
/**
* 获取某个月加几个月后一号的日期
*/
@SuppressWarnings
(
"static-access"
)
public
static
Date
getAddMonThDay
(
Date
date
,
int
i
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
date
);
calendar
.
add
(
calendar
.
MONTH
,
i
);
calendar
.
set
(
Calendar
.
DAY_OF_MONTH
,
1
);
String
last
=
format
.
format
(
calendar
.
getTime
());
date
=
getDate
(
last
,
"yyyy-MM-dd"
);
return
date
;
}
/**
* 某个月最后一天
*/
public
static
Date
getAnyMonthLastDay
(
Date
date
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
// 获取当前月最后一天
Calendar
ca
=
Calendar
.
getInstance
();
ca
.
setTime
(
date
);
ca
.
set
(
Calendar
.
DAY_OF_MONTH
,
ca
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
));
String
last
=
format
.
format
(
ca
.
getTime
());
date
=
getDate
(
last
,
"yyyy-MM-dd"
);
return
date
;
}
public
static
Date
getDate
(
Date
date
,
String
type
)
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
type
);
String
s
=
format
.
format
(
date
);
return
getDate
(
s
,
type
);
}
/**
* 获取去年今天的日期
*/
public
static
Date
getLastYearTodayDate
()
{
Calendar
instance
=
Calendar
.
getInstance
();
instance
.
add
(
Calendar
.
YEAR
,
-
1
);
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
);
String
s
=
format
.
format
(
instance
.
getTime
());
return
getDate
(
s
,
"yyyy-MM-dd"
);
}
/**
* 获取昨天的日期
*
* @param type
* @return
*/
public
static
String
getYesterdayDateByType
(
String
type
)
{
Calendar
instance
=
Calendar
.
getInstance
();
instance
.
add
(
Calendar
.
DAY_OF_MONTH
,
-
1
);
Date
time
=
instance
.
getTime
();
SimpleDateFormat
format
=
new
SimpleDateFormat
(
type
);
return
format
.
format
(
time
);
}
/**
* 判断两个时间是不是在同一个月
*/
public
static
boolean
isSameMonth
(
Date
date1
,
Date
date2
)
{
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
date1
);
int
month1
=
c
.
get
(
Calendar
.
MONTH
);
c
.
setTime
(
date2
);
int
month2
=
c
.
get
(
Calendar
.
MONTH
);
if
(
month1
==
month2
)
{
return
true
;
}
return
false
;
}
/**
* 间隔天数
*
* @param startTime
* @param endTime
* @return
*/
public
static
int
isolateDayNum
(
String
startTime
,
String
endTime
)
{
Date
startDate
=
getDate
(
startTime
,
"yyyy-MM-dd"
);
Date
endDate
=
getDate
(
endTime
,
"yyyy-MM-dd"
);
long
differentMillis
=
endDate
.
getTime
()
-
startDate
.
getTime
();
long
dayNum
=
differentMillis
/
(
1000
*
60
*
60
*
24
);
return
(
int
)
dayNum
;
}
/**
* 获取某月最后一天的时间
*
* @param yearMonth
* @return
*/
public
static
String
getLastDateTimeOfMonth
(
String
yearMonth
)
{
SimpleDateFormat
format0
=
new
SimpleDateFormat
(
"yyyy-MM"
);
SimpleDateFormat
format1
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
Calendar
instance
=
Calendar
.
getInstance
();
try
{
Date
parse
=
format0
.
parse
(
yearMonth
);
instance
.
setTime
(
parse
);
instance
.
set
(
Calendar
.
DAY_OF_MONTH
,
instance
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
));
instance
.
set
(
Calendar
.
HOUR_OF_DAY
,
23
);
instance
.
set
(
Calendar
.
MINUTE
,
59
);
instance
.
set
(
Calendar
.
SECOND
,
59
);
String
format
=
format1
.
format
(
instance
.
getTime
());
return
format
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
null
;
}
public
static
Date
getStrToDate
(
String
str
)
{
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy年MM月dd日"
);
Date
date
=
null
;
try
{
if
(
str
==
null
)
{
date
=
null
;
}
else
{
date
=
dateFormat
.
parse
(
str
);
}
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
return
date
;
}
public
static
int
getStageByDate
(
Date
date
)
{
Calendar
instance
=
Calendar
.
getInstance
();
instance
.
setTime
(
date
);
//当前时间
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"HH:mm:ss"
);
String
format
=
dateFormat
.
format
(
date
);
try
{
Date
currentTime
=
dateFormat
.
parse
(
format
);
Date
parse1
=
dateFormat
.
parse
(
"05:00:00"
);
Date
parse2
=
dateFormat
.
parse
(
"11:00:00"
);
Date
parse3
=
dateFormat
.
parse
(
"17:00:00"
);
Date
parse4
=
dateFormat
.
parse
(
"00:00:00"
);
//A:05:00-11:00 | B:11:00-17:00 | C:00:00-05:00,17:00-00:00
if
(
currentTime
.
after
(
parse4
)
&&
currentTime
.
before
(
parse1
))
{
return
3
;
}
else
if
(
currentTime
.
after
(
parse1
)
&&
currentTime
.
before
(
parse2
))
{
return
1
;
}
else
if
(
currentTime
.
after
(
parse2
)
&&
currentTime
.
before
(
parse3
))
{
return
2
;
}
else
if
(
currentTime
.
after
(
parse3
)
&&
currentTime
.
after
(
parse4
))
{
return
4
;
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
0
;
}
public
static
String
getCurrentYear
()
{
Calendar
date
=
Calendar
.
getInstance
();
String
year
=
String
.
valueOf
(
date
.
get
(
Calendar
.
YEAR
));
return
year
;
}
}
src/main/resources/application-dev.yml
浏览文件 @
52629640
...
@@ -70,5 +70,5 @@ pms:
...
@@ -70,5 +70,5 @@ pms:
ims
:
ims
:
url
:
https://test.iuav.shop/release/
url
:
https://test.iuav.shop/release/
scheduling
:
enabled
:
true
src/main/resources/mapper/data/OrderReportDao.xml
0 → 100644
浏览文件 @
52629640
<?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.data.OrderReportDao"
>
</mapper>
\ No newline at end of file
src/main/resources/mapper/lease/LeaseOrderDao.xml
0 → 100644
浏览文件 @
52629640
<?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.lease.LeaseOrderDao"
>
<insert
id=
"addOrder"
keyProperty=
"id"
useGeneratedKeys=
"true"
parameterType=
"com.mmc.oms.entity.lease.LeaseOrderDO"
>
insert into lease_order (order_no,
status_code,
user_account_id,
lease_goods_id,
company_name,
third_back_user_account_id,
order_name,
sku_img,
order_total_amount,
salary_amount,
share_amount,
other_amount,
user_address_id,
pay_time,
user_remark,
unit_price,
ware_num,
deposit,
start_date,
end_date)
values (#{orderNo}, #{statusCode}, #{userAccountId}, #{leaseGoodsId}, #{companyName}, #{thirdBackUserAccountId},
#{orderName}, #{skuImg}, #{orderTotalAmount}, #{salaryAmount}, #{shareAmount}, #{otherAmount},
#{userAddressId},
#{payTime}, #{userRemark}, #{unitPrice}, #{wareNum}, #{deposit}, #{startDate}, #{endDate});
</insert>
<insert
id=
"addAddress"
>
insert into lease_order_express(lease_order_id, send_exp_no, send_exp_code, take_name, take_phone, take_region,
take_address, create_time)
values (#{leaseOrderId}, #{sendExpNo}, #{sendExpCode}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress},
NOW())
</insert>
<insert
id=
"addLeaseRefundOrder"
>
insert into lease_order_id,status,express_num,file,reason
values (#{leaseOrderId}, #{status}, #{expressNum}, #{file}, #{reason})
</insert>
<update
id=
"updateUavOrderStatus"
>
update lease_order
set status_code = #{code}
where id = #{id}
</update>
<sql
id=
"lease_order_column"
>
id
,order_no,status_code,user_account_id,lease_goods_id,company_name,third_back_user_account_id,
order_name,sku_img,sku,order_total_amount,salary_amount,share_amount,other_amount,pay_type,
user_address_id,user_remark,seller_remark,pay_time,confirm_receipt_time,version,remark_status,mode_of_delivery_Info,
proportion,show_user_port,create_time,update_time,unit_price,ware_num,deposit,start_date,end_date,shut_reason,send_ware_time
</sql>
<select
id=
"detail"
resultType=
"com.mmc.oms.entity.lease.LeaseOrderDO"
>
select
<include
refid=
"lease_order_column"
/>
from lease_order where id = #{id}
</select>
<sql
id=
"lease_order_express_column"
>
id
, lease_order_id, send_exp_no, send_exp_code, take_name, take_phone, take_region, take_address, send_time,
is_receive as receive, receive_time, update_time, create_time
</sql>
<select
id=
"getLeaseOrderExpress"
resultType=
"com.mmc.oms.entity.lease.LeaseOrderExpressDO"
>
select
<include
refid=
"lease_order_express_column"
/>
from lease_order_express
where lease_order_id = #{id}
</select>
</mapper>
\ No newline at end of file
src/main/resources/mapper/uav/UavOrderDao.xml
浏览文件 @
52629640
...
@@ -4,28 +4,28 @@
...
@@ -4,28 +4,28 @@
<resultMap
type=
"com.mmc.oms.entity.uav.UavOrderDO"
<resultMap
type=
"com.mmc.oms.entity.uav.UavOrderDO"
id=
"uavOrderResultMap"
>
id=
"uavOrderResultMap"
>
<id
property=
"id"
column=
"id"
/>
<id
property=
"id"
column=
"id"
/>
<result
property=
"orderNo"
column=
"order_no"
/>
<result
property=
"orderNo"
column=
"order_no"
/>
<result
property=
"statusCode"
column=
"status_code"
/>
<result
property=
"statusCode"
column=
"status_code"
/>
<result
property=
"userAccountId"
column=
"user_account_id"
/>
<result
property=
"userAccountId"
column=
"user_account_id"
/>
<result
property=
"thirdBackUserAccountId"
column=
"third_back_user_account_id"
/>
<result
property=
"thirdBackUserAccountId"
column=
"third_back_user_account_id"
/>
<result
property=
"companyName"
column=
"company_name"
/>
<result
property=
"companyName"
column=
"company_name"
/>
<result
property=
"orderTotalAmount"
column=
"order_total_amount"
/>
<result
property=
"orderTotalAmount"
column=
"order_total_amount"
/>
<result
property=
"salaryAmount"
column=
"salary_amount"
/>
<result
property=
"salaryAmount"
column=
"salary_amount"
/>
<result
property=
"shareAmount"
column=
"share_amount"
/>
<result
property=
"shareAmount"
column=
"share_amount"
/>
<result
property=
"otherAmount"
column=
"other_amount"
/>
<result
property=
"otherAmount"
column=
"other_amount"
/>
<result
property=
"payType"
column=
"pay_type"
/>
<result
property=
"payType"
column=
"pay_type"
/>
<result
property=
"orderType"
column=
"order_type"
/>
<result
property=
"orderType"
column=
"order_type"
/>
<result
property=
"deliveryTime"
column=
"delivery_time"
/>
<result
property=
"deliveryTime"
column=
"delivery_time"
/>
<result
property=
"userAddressId"
column=
"user_address_id"
/>
<result
property=
"userAddressId"
column=
"user_address_id"
/>
<result
property=
"userRemark"
column=
"user_remark"
/>
<result
property=
"userRemark"
column=
"user_remark"
/>
<result
property=
"sellerRemark"
column=
"seller_remark"
/>
<result
property=
"sellerRemark"
column=
"seller_remark"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"payTime"
column=
"pay_time"
/>
<result
property=
"payTime"
column=
"pay_time"
/>
<result
property=
"confirmReceiptTime"
column=
"confirm_receipt_time"
/>
<result
property=
"confirmReceiptTime"
column=
"confirm_receipt_time"
/>
<result
property=
"version"
column=
"version"
/>
<result
property=
"version"
column=
"version"
/>
<result
property=
"remarkStatus"
column=
"remark_status"
/>
<result
property=
"remarkStatus"
column=
"remark_status"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<collection
property=
"skuDOS"
ofType=
"com.mmc.oms.entity.uav.UavOrderSkuDO"
<collection
property=
"skuDOS"
ofType=
"com.mmc.oms.entity.uav.UavOrderSkuDO"
select=
"listUavOrderSkuDO"
select=
"listUavOrderSkuDO"
column=
"{uavOrderId=id}"
>
column=
"{uavOrderId=id}"
>
...
@@ -37,37 +37,43 @@
...
@@ -37,37 +37,43 @@
</resultMap>
</resultMap>
<sql
id=
"uav_order_column"
>
<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,
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,
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
pay_time, confirm_receipt_time, version, remark_status, update_time
</sql>
</sql>
<sql
id=
"uav_order_pay_column"
>
<sql
id=
"uav_order_pay_column"
>
id, uav_order_id, pay_type, pay_img_list, check_status, pay_remark, refuse_reason, create_time, check_time
id
, uav_order_id, pay_type, pay_img_list, check_status, pay_remark, refuse_reason, create_time, check_time
</sql>
</sql>
<insert
id=
"addOrder"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<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,
insert into uav_order(order_no, status_code, user_account_id, third_back_user_account_id, company_name,
salary_amount, share_amount, other_amount, pay_type, order_type, user_address_id, user_remark, seller_remark, create_time
order_total_amount,
)
salary_amount, share_amount, other_amount, pay_type, order_type, user_address_id,
values( #{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName}, #{orderTotalAmount},
user_remark, seller_remark, create_time)
#{salaryAmount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId}, #{userRemark}, #{sellerRemark},
values (#{orderNo}, #{statusCode}, #{userAccountId}, #{thirdBackUserAccountId}, #{companyName},
NOW()
#{orderTotalAmount},
);
#{salaryAmount}, #{shareAmount}, #{otherAmount}, #{payType}, #{orderType}, #{userAddressId},
#{userRemark}, #{sellerRemark},
NOW());
</insert>
</insert>
<insert
id=
"addOrderSku"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
<insert
id=
"addOrderSku"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into uav_order_sku(
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)
uav_order_id, mall_goods_id, trade_name, price_stock_id, product_spec, order_num, unit_price, sku_image, sku_no,
create_time)
values
values
<foreach
item=
"item"
collection=
"list"
separator=
","
>
<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())
(#{item.uavOrderId}, #{item.mallGoodsId}, #{item.tradeName}, #{item.priceStockId}, #{item.productSpec},
#{item.orderNum}, #{item.unitPrice}, #{item.skuImage}, #{item.skuNo}, NOW())
</foreach>
</foreach>
</insert>
</insert>
<insert
id=
"addOrderPay"
parameterType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"addOrderPay"
parameterType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
useGeneratedKeys=
"true"
insert into uav_order_pay(
keyProperty=
"id"
>
uav_order_id,
insert into uav_order_pay(
uav_order_id,
order_no,
order_no,
pay_type,
pay_type,
pay_amount,
pay_amount,
...
@@ -76,26 +82,47 @@
...
@@ -76,26 +82,47 @@
pay_remark,
pay_remark,
refuse_reason,
refuse_reason,
create_time,
create_time,
check_time
check_time)
)
values (#{uavOrderId}, #{orderNo}, #{payType}, #{payAmount}, #{payImgList}, #{checkStatus}, #{payRemark},
values(#{uavOrderId}, #{orderNo}, #{payType}, #{payAmount}, #{payImgList}, #{checkStatus}, #{payRemark}, #{refuseReason}, NOW(), #{checkTime})
#{refuseReason}, NOW(), #{checkTime})
</insert>
<insert
id=
"addRemarkOrder"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into uav_order_remark (remark_type, mall_goods_id, uav_order_id, remark_level, uav_images, content, create_time)
values
<foreach
item=
"item"
collection=
"list"
separator=
","
>
(#{item.remarkType}, #{item.mallGoodsId}, #{item.uavOrderId}, #{item.remarkLevel}, #{item.uavImages}, #{item.content}, NOW())
</foreach>
</insert>
</insert>
<insert
id=
"addRemarkOrder"
parameterType=
"com.mmc.oms.entity.uav.UavOrderRemarkDO"
>
<insert
id=
"batchAddOrder"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into uav_order_remark (mall_goods_id, uav_order_id, remark_level, uav_images, content, create_time)
insert into uav_order(order_no, status_code, user_account_id, third_back_user_account_id, company_name, order_total_amount,
values (#{mallGoodsId}, #{uavOrderId}, #{remarkLevel}, #{uavImages}, #{content}, NOW())
salary_amount, share_amount, other_amount, pay_type, order_type, user_address_id, user_remark, seller_remark, create_time
)
values
<foreach
item=
"item"
collection=
"list"
separator=
","
>
(#{item.orderNo}, #{item.statusCode}, #{item.userAccountId}, #{item.thirdBackUserAccountId}, #{item.companyName}, #{item.orderTotalAmount},
#{item.salaryAmount}, #{item.shareAmount}, #{item.otherAmount}, #{item.payType}, #{item.orderType}, #{item.userAddressId}, #{item.userRemark}, #{item.sellerRemark}, NOW())
</foreach>
</insert>
</insert>
<update
id=
"sellerRemark"
>
<update
id=
"sellerRemark"
>
update uav_order set seller_remark = #{content} where id = #{id}
update uav_order
set seller_remark = #{content}
where id = #{id}
</update>
</update>
<update
id=
"updateUavOrderStatus"
>
<update
id=
"updateUavOrderStatus"
>
update uav_order set status_code = #{nextCode} where id = #{id}
update uav_order
set status_code = #{nextCode}
where id = #{id}
</update>
</update>
<update
id=
"updateUavOrderPayInfo"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
<update
id=
"updateUavOrderPayInfo"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
update uav_order set pay_time = #{payTime}, pay_type = #{payType} where id = #{id}
update uav_order
set pay_time = #{payTime},
pay_type = #{payType}
where id = #{id}
</update>
</update>
<update
id=
"updateUavOrder"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
<update
id=
"updateUavOrder"
parameterType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
...
@@ -143,15 +170,27 @@
...
@@ -143,15 +170,27 @@
</update>
</update>
<update
id=
"updateUavOrderProportion"
>
<update
id=
"updateUavOrderProportion"
>
update uav_order set proportion = #{proportion} where id = #{id}
update uav_order
set proportion = #{proportion}
where id = #{id}
</update>
</update>
<update
id=
"closeShowUavOrder"
>
<update
id=
"closeShowUavOrder"
>
update uav_order set show_user_port = 0 where id = #{id}
update uav_order
set show_user_port = 0
where id = #{id}
</update>
<update
id=
"updateUavOrderRemarkStatus"
>
update uav_order
set remark_status = 1
where id = #{id}
</update>
</update>
<select
id=
"detail"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
<select
id=
"detail"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
select
<include
refid=
"uav_order_column"
/>
from uav_order where id = #{id}
select
<include
refid=
"uav_order_column"
/>
from uav_order where id = #{id}
</select>
</select>
<select
id=
"listUavOrderPay"
resultType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
>
<select
id=
"listUavOrderPay"
resultType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
>
...
@@ -162,8 +201,7 @@
...
@@ -162,8 +201,7 @@
</select>
</select>
<select
id=
"listUavOrderSkuDO"
resultType=
"com.mmc.oms.entity.uav.UavOrderSkuDO"
>
<select
id=
"listUavOrderSkuDO"
resultType=
"com.mmc.oms.entity.uav.UavOrderSkuDO"
>
select
select id,
id,
uav_order_id,
uav_order_id,
mall_goods_id,
mall_goods_id,
trade_name,
trade_name,
...
@@ -179,8 +217,7 @@
...
@@ -179,8 +217,7 @@
</select>
</select>
<select
id=
"statusList"
resultType=
"com.mmc.oms.entity.uav.UavOrderStatusDO"
>
<select
id=
"statusList"
resultType=
"com.mmc.oms.entity.uav.UavOrderStatusDO"
>
select
select id,
id,
status,
status,
code,
code,
next_code
next_code
...
@@ -220,7 +257,8 @@
...
@@ -220,7 +257,8 @@
</select>
</select>
<select
id=
"list"
resultMap=
"uavOrderResultMap"
parameterType=
"com.mmc.oms.model.qo.uav.UavOrderQO"
>
<select
id=
"list"
resultMap=
"uavOrderResultMap"
parameterType=
"com.mmc.oms.model.qo.uav.UavOrderQO"
>
SELECT
<include
refid=
"uav_order_column"
/>
SELECT
<include
refid=
"uav_order_column"
/>
FROM
FROM
uav_order uo
uav_order uo
where 1 = 1
where 1 = 1
...
@@ -256,13 +294,32 @@
...
@@ -256,13 +294,32 @@
</select>
</select>
<select
id=
"detailByNo"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
<select
id=
"detailByNo"
resultType=
"com.mmc.oms.entity.uav.UavOrderDO"
>
select
<include
refid=
"uav_order_column"
/>
from uav_order where order_no = #{orderNo}
select
<include
refid=
"uav_order_column"
/>
from uav_order where order_no = #{orderNo}
</select>
</select>
<select
id=
"getUavOrderPayById"
resultType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
>
<select
id=
"getUavOrderPayById"
resultType=
"com.mmc.oms.entity.uav.UavOrderPayDO"
>
select
<include
refid=
"uav_order_pay_column"
/>
select
<include
refid=
"uav_order_pay_column"
/>
from uav_order_pay
from uav_order_pay
where id = #{id} and pay_type = 2
where id = #{id} and pay_type = 2
</select>
</select>
<select
id=
"getOrderCount"
resultType=
"java.lang.Integer"
>
select count(*)
from uav_order
where status_code
<![CDATA[<>]]>
900
</select>
<select
id=
"getSaleOrderGMV"
resultType=
"java.math.BigDecimal"
>
SELECT sum(order_total_amount) AS GMV
FROM uav_order
WHERE status_code
<![CDATA[<>]]>
900
</select>
<select
id=
"listGoodsRemark"
resultType=
"com.mmc.oms.entity.uav.UavOrderRemarkDO"
>
select id, remark_type, mall_goods_id, uav_order_id, remark_level, uav_images, content, create_time
from uav_order_remark
where mall_goods_id = #{goodsId} and remark_type = #{remarkType}
order by id desc
</select>
</mapper>
</mapper>
src/main/resources/mapper/uav/UavOrderExpressDao.xml
浏览文件 @
52629640
...
@@ -13,6 +13,14 @@
...
@@ -13,6 +13,14 @@
values (#{uavOrderId}, #{sendExpNo}, #{sendExpCode}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress}, NOW())
values (#{uavOrderId}, #{sendExpNo}, #{sendExpCode}, #{takeName}, #{takePhone}, #{takeRegion}, #{takeAddress}, NOW())
</insert>
</insert>
<insert
id=
"batchAddOrderExpress"
>
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
<foreach
item=
"item"
collection=
"list"
separator=
","
>
(#{item.uavOrderId}, #{item.sendExpNo}, #{item.sendExpCode}, #{item.takeName}, #{item.takePhone}, #{item.takeRegion}, #{item.takeAddress}, NOW())
</foreach>
</insert>
<update
id=
"updateUavOrderExpressDO"
parameterType=
"com.mmc.oms.entity.uav.UavOrderExpressDO"
>
<update
id=
"updateUavOrderExpressDO"
parameterType=
"com.mmc.oms.entity.uav.UavOrderExpressDO"
>
update uav_order_express
update uav_order_express
<set>
<set>
...
...
src/main/resources/mapper/uav/UavPayWxDao.xml
0 → 100644
浏览文件 @
52629640
<?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.UavPayWxDao"
>
<sql
id=
"UAV_PAY_WX_COLUMN"
>
id, pay_no, amount, trade_state, create_time
</sql>
<sql
id=
"UAV_PAY_WX_SUB_COLUMN"
>
id, uav_pay_wx_id, uav_order_id, order_no, amount, create_time
</sql>
<insert
id=
"addUavPayWx"
parameterType=
"com.mmc.oms.entity.uav.UavPayWxDO"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into uav_pay_wx (pay_no, amount, trade_state, create_time)
values (#{payNo}, #{amount}, #{tradeState}, NOW())
</insert>
<insert
id=
"batchAddUavPayWxSub"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into uav_pay_wx_sub( uav_pay_wx_id, uav_order_id, order_no, amount, create_time)
values
<foreach
item=
"item"
collection=
"list"
separator=
","
>
(#{item.uavPayWxId}, #{item.uavOrderId}, #{item.orderNo}, #{item.amount}, NOW())
</foreach>
</insert>
<update
id=
"finishUavPayWx"
>
update uav_pay_wx set trade_state = #{tradeState} where pay_no = #{payNo}
</update>
<select
id=
"getUavPayWx"
resultType=
"com.mmc.oms.entity.uav.UavPayWxDO"
>
select
<include
refid=
"UAV_PAY_WX_COLUMN"
/>
from uav_pay_wx where pay_no = #{payNo}
</select>
<select
id=
"listUavPayWxSub"
resultType=
"com.mmc.oms.entity.uav.UavPayWxSubDO"
>
select
<include
refid=
"UAV_PAY_WX_SUB_COLUMN"
/>
from uav_pay_wx_sub where uav_pay_wx_id = #{uavPayWxId}
</select>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论