Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
peizhen-java
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PeiZhen-Java
peizhen-java
Commits
4575f592
Commit
4575f592
authored
Sep 19, 2023
by
邹磊浩
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
d402ac09
8eed1048
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
52 additions
and
53 deletions
+52
-53
pz-system/src/main/java/com/pz/system/service/impl/TotalOrderServiceImpl.java
+45
-45
pz-system/src/main/resources/mapper/merchant/EmployeesMapper.xml
+7
-8
No files found.
pz-system/src/main/java/com/pz/system/service/impl/TotalOrderServiceImpl.java
View file @
4575f592
package
com
.
pz
.
system
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.TypeReference
;
import
cn.hutool.json.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult
;
...
...
@@ -15,57 +15,49 @@ import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
import
com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest
;
import
com.github.binarywang.wxpay.exception.WxPayException
;
import
com.pz.common.config.KbProperties
;
import
com.pz.common.core.domain.PageQuery
;
import
com.pz.common.core.domain.model.LoginUser
;
import
com.pz.common.core.page.TableDataInfo
;
import
com.pz.common.core.domain.PageQuery
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.pz.common.enums.CommonOrderStatus
;
import
com.pz.common.enums.DBMYOrderStatus
;
import
com.pz.common.enums.ShopOrderStatus
;
import
com.pz.common.enums.TotalOrderStatus
;
import
com.pz.common.exception.ServiceException
;
import
com.pz.common.helper.LoginHelper
;
import
com.pz.common.utils.HttpUtils
;
import
com.pz.common.utils.JsonUtils
;
import
com.pz.merchant.domain.Company
;
import
com.pz.merchant.domain.Employees
;
import
com.pz.merchant.domain.EmployeesDivide
;
import
com.pz.merchant.domain.vo.EmployeesVo
;
import
com.pz.common.utils.JsonUtils
;
import
com.pz.merchant.domain.vo.SonOrderVo
;
import
com.pz.merchant.mapper.CompanyMapper
;
import
com.pz.merchant.mapper.EmployeesDivideMapper
;
import
com.pz.merchant.mapper.EmployeesMapper
;
import
com.pz.merchant.service.ISonOrderService
;
import
com.pz.merchant.service.impl.SonOrderServiceBuilder
;
import
com.pz.common.helper.LoginHelper
;
import
com.pz.system.datastructure.OrderDelayQueue
;
import
com.pz.system.datastructure.TotalOrderDelayOperator
;
import
com.pz.system.domain.*
;
import
com.pz.system.domain.bo.CreateOrderBo
;
import
com.pz.system.domain.bo.TotalOrderBo
;
import
com.pz.system.domain.vo.AccompanyDemandVo
;
import
com.pz.system.domain.vo.StoreGoodsVo
;
import
com.pz.system.domain.vo.TotalOrderVo
;
import
com.pz.system.domain.vo.UserAddressVo
;
import
com.pz.system.mapper.*
;
import
com.pz.system.service.IPayService
;
import
com.pz.system.service.ITotalOrderService
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.http.HttpResponse
;
import
org.apache.http.util.EntityUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.pz.system.domain.bo.TotalOrderBo
;
import
com.pz.system.domain.vo.TotalOrderVo
;
import
com.pz.system.service.ITotalOrderService
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.security.MessageDigest
;
import
java.security.NoSuchAlgorithmException
;
import
java.time.Duration
;
import
java.time.LocalDateTime
;
import
java.util.Map
;
import
java.util.HashMap
;
import
java.util.Date
;
import
java.math.BigDecimal
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatterBuilder
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -132,6 +124,14 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
private
final
CompanyMapper
companyMapper
;
// 时间格式化
private
static
final
DateTimeFormatter
FORMATTER
=
new
DateTimeFormatterBuilder
()
.
parseCaseInsensitive
()
.
append
(
DateTimeFormatter
.
ISO_LOCAL_DATE
)
.
appendLiteral
(
' '
)
.
append
(
DateTimeFormatter
.
ISO_LOCAL_TIME
)
.
toFormatter
(
Locale
.
getDefault
(
Locale
.
Category
.
FORMAT
));
@Override
public
TotalOrderVo
queryById
(
Long
id
)
{
return
baseMapper
.
selectVoById
(
id
);
...
...
@@ -508,11 +508,11 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
StoreOrder
storeOrder
=
BeanUtil
.
toBean
(
bo
,
StoreOrder
.
class
);
StoreGoods
storeGoods1
=
storeGoodsMapper
.
selectById
(
storeOrder
.
getGoodsId
());
if
(
storeGoods1
.
getInventory
()
==
0
)
{
if
(
storeGoods1
.
getInventory
()
==
0
)
{
throw
new
ServiceException
(
"商品库存不足!"
);
}
//扣除库存
//
扣除库存
storeGoods1
.
setId
(
storeOrder
.
getId
());
storeGoods1
.
setInventory
(
storeGoods1
.
getInventory
()
-
storeOrder
.
getNum
());
storeGoods1
.
setSaleNum
(
storeGoods1
.
getSaleNum
()
+
1
);
...
...
@@ -581,8 +581,8 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
return
this
.
refundOrder
(
totalOrderBo
);
}
//商城订单已支付未结单取消退款
if
(
totalOrder
.
getBusinessId
()
==
0
&&
totalOrder
.
getStatus
()
==
1
&&
sonOrderSimpleDataByTotalId
.
getOrderStatus
()
==
0
)
{
//
商城订单已支付未结单取消退款
if
(
totalOrder
.
getBusinessId
()
==
0
&&
totalOrder
.
getStatus
()
==
1
&&
sonOrderSimpleDataByTotalId
.
getOrderStatus
()
==
0
)
{
totalOrderBo
.
setIsRefund
(
0
);
return
this
.
refundOrder
(
totalOrderBo
);
}
...
...
@@ -591,7 +591,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
if
((
sonOrderSimpleDataByTotalId
.
getOrderStatus
()
==
0
&&
totalOrder
.
getStatus
()
==
0
)
||
(
sonOrderSimpleDataByTotalId
.
getOrderStatus
()
==
1
&&
totalOrder
.
getStatus
()
==
0
))
{
// yypzOrderMapper.selectOne(new LambdaQueryWrapper<YypzOrder>().eq(YypzOrder::getOrderId,totalOrder));
totalOrder
.
setStatus
(
TotalOrderStatus
.
CANCEL
.
getCode
());
if
(
totalOrder
.
getBusinessId
()
==
0
)
{
if
(
totalOrder
.
getBusinessId
()
==
0
)
{
StoreOrder
storeOrder
=
storeOrderMapper
.
selectById
(
sonOrderSimpleDataByTotalId
.
getSonOrderId
());
StoreGoods
storeGoods
=
storeGoodsMapper
.
selectById
(
storeOrder
.
getGoodsId
());
storeGoods
.
setSaleNum
(
storeGoods
.
getSaleNum
()
-
1
);
...
...
@@ -613,15 +613,15 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
TotalOrder
totalOrder1
=
baseMapper
.
selectById
(
totalOrder
.
getId
());
//除了商城订单和诊前挂号不需要给陪诊员和商户分成
if
(
totalOrder1
.
getBusinessId
()
!=
0
&&
totalOrder1
.
getBusinessId
()
!=
6
)
{
//
除了商城订单和诊前挂号不需要给陪诊员和商户分成
if
(
totalOrder1
.
getBusinessId
()
!=
0
&&
totalOrder1
.
getBusinessId
()
!=
6
)
{
Services
services
=
servicesMapper
.
selectById
(
totalOrder1
.
getServiceId
());
//添加订单分成记录
//
添加订单分成记录
EmployeesDivide
employeesDivide
=
new
EmployeesDivide
();
employeesDivide
.
setOrderId
(
totalOrder1
.
getId
().
intValue
());
employeesDivide
.
setOrderPrice
(
totalOrder1
.
getPayMoney
()
+
""
);
employeesDivide
.
setOrderPrice
(
totalOrder1
.
getPayMoney
()
+
""
);
if
(
services
.
getFenmo
()
!=
0
)
{
if
(
services
.
getFenmo
()
!=
0
)
{
double
money
=
0
;
Employees
employees
=
employeesMapper
.
selectById
(
totalOrder1
.
getEmId
());
/**
...
...
@@ -635,22 +635,22 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
employeesDivide
.
setEmId
(
employees
.
getId
());
money
=
v
;
if
(
employees
.
getCompanyId
()
!=
0
)
{
if
(
employees
.
getCompanyId
()
!=
0
)
{
Company
company
=
companyMapper
.
selectById
(
employees
.
getCompanyId
());
company
.
setTotalRevenue
((
Double
.
parseDouble
(
company
.
getTotalRevenue
())
+
money
)
+
""
);
company
.
setBalance
((
Double
.
parseDouble
(
company
.
getBalance
())
+
money
)
+
""
);
company
.
setBalance
((
Double
.
parseDouble
(
company
.
getBalance
())
+
money
)
+
""
);
employeesDivide
.
setCompanyId
(
employees
.
getCompanyId
());
companyMapper
.
updateById
(
company
);
employeesDivide
.
setDividePrice
(
money
+
""
);
}
else
{
employeesDivide
.
setDividePrice
(
money
+
""
);
}
else
{
employees
.
setTotalRevenue
((
Double
.
parseDouble
(
employees
.
getTotalRevenue
())
+
money
)
+
""
);
employees
.
setBalance
((
Double
.
parseDouble
(
employees
.
getBalance
())
+
money
)
+
""
);
employees
.
setBalance
((
Double
.
parseDouble
(
employees
.
getBalance
())
+
money
)
+
""
);
employeesMapper
.
updateById
(
employees
);
employeesDivide
.
setDividePrice
(
money
+
""
);
employeesDivide
.
setDividePrice
(
money
+
""
);
}
employeesDivideMapper
.
insert
(
employeesDivide
);
...
...
@@ -731,7 +731,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
//除了商城订单和诊前挂号不需要给陪诊员和商户分成
if
(
totalOrder
.
getBusinessId
()
!=
0
&&
totalOrder
.
getBusinessId
()
!=
6
&&
totalOrder
.
getStatus
()
==
2
)
{
Services
services
=
servicesMapper
.
selectById
(
totalOrder
.
getServiceId
());
if
(
services
.
getFenmo
()
!=
0
)
{
if
(
services
.
getFenmo
()
!=
0
)
{
double
money
=
0
;
Employees
employees
=
employeesMapper
.
selectById
(
totalOrder
.
getEmId
());
/**
...
...
@@ -744,19 +744,19 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
money
=
v
;
if
(
employees
.
getCompanyId
()
!=
0
)
{
if
(
employees
.
getCompanyId
()
!=
0
)
{
Company
company
=
companyMapper
.
selectById
(
employees
.
getCompanyId
());
company
.
setTotalRevenue
((
Double
.
parseDouble
(
company
.
getTotalRevenue
())
-
money
)
+
""
);
company
.
setBalance
((
Double
.
parseDouble
(
company
.
getBalance
())
-
money
)
+
""
);
company
.
setBalance
((
Double
.
parseDouble
(
company
.
getBalance
())
-
money
)
+
""
);
companyMapper
.
updateById
(
company
);
}
else
{
}
else
{
employees
.
setTotalRevenue
(
employees
.
getTotalRevenue
());
employees
.
setTotalRevenue
((
Double
.
parseDouble
(
employees
.
getTotalRevenue
())
-
money
)
+
""
);
employees
.
setBalance
((
Double
.
parseDouble
(
employees
.
getBalance
())
-
money
)
+
""
);
employees
.
setBalance
((
Double
.
parseDouble
(
employees
.
getBalance
())
-
money
)
+
""
);
employeesMapper
.
updateById
(
employees
);
}
...
...
@@ -800,9 +800,9 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
if
(
IsRefund
==
0
)
{
// 陪诊员订单未完成用户主动退款直接退到账户
// 主订单必须为付款并且子订单为已接单
if
(
totalOrder
.
getStatus
()
!=
1
&&
sonOrderSimpleDataByTotalId
.
getOrderStatus
()
!=
1
)
{
if
(
totalOrder
.
getStatus
()
==
1
&&
sonOrderSimpleDataByTotalId
.
getOrderStatus
()
==
0
)
{
if
(
totalOrder
.
getStatus
()
==
1
&&
sonOrderSimpleDataByTotalId
.
getOrderStatus
()
==
0
)
{
money
=
totalOrder
.
getPayMoney
();
}
else
{
}
else
{
throw
new
ServiceException
(
"退款出错!"
);
}
}
...
...
@@ -834,7 +834,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
String
serveTime
=
orderService
.
getFinishTime
(
totalOrder
.
getBusinessId
());
if
(
StringUtils
.
isNotEmpty
(
serveTime
))
{
money
=
getMoney
(
serveTime
,
totalOrder
.
getPayMoney
());
// 计算退款金额
}
else
{
}
else
{
money
=
totalOrder
.
getPayMoney
();
}
}
...
...
@@ -861,7 +861,7 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
// 修改主订单退款理由
totalOrder
.
setRefundAmount
(
totalOrder
.
getPayMoney
());
totalOrder
.
setRefundReason
(
bo
.
getRefundReason
());
//添加退款审核记录
//
添加退款审核记录
UserRefund
userRefund
=
new
UserRefund
();
userRefund
.
setRefundNo
(
getOrderSn
());
userRefund
.
setOrderId
(
totalOrder
.
getId
().
intValue
());
...
...
@@ -1154,13 +1154,13 @@ public class TotalOrderServiceImpl implements ITotalOrderService {
}
public
long
getHour
(
String
date
)
{
LocalDateTime
startTime
=
LocalDateTime
.
parse
(
date
);
LocalDateTime
startTime
=
LocalDateTime
.
parse
(
date
,
FORMATTER
);
// 获取当前时间
LocalDateTime
now
=
LocalDateTime
.
now
();
// 计算当前时间和订单开始时间之间的时间差
Duration
duration
=
Duration
.
between
(
now
,
startTime
);
Duration
duration
=
Duration
.
between
(
startTime
,
now
);
return
duration
.
toHours
();
}
...
...
pz-system/src/main/resources/mapper/merchant/EmployeesMapper.xml
View file @
4575f592
...
...
@@ -83,20 +83,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
e.id,
e.`name`
<!--<if test="bo.favorableRate = 0">
HAVING
satisfaction_rate >= #{bo.favorableRate};
HAVING satisfaction_rate >= #{bo.favorableRate};
</if>-->
<if
test=
"bo.favorableRate == 1"
>
HAVING
satisfaction_rate
>
= 90 and satisfaction_rate
<
= 100
</if>
<if
test=
"bo.favorableRate == 2"
>
HAVING
satisfaction_rate
>
= 80 and satisfaction_rate
<
= 9
0
satisfaction_rate
between 90 and 10
0
</if>
<if
test=
"bo.favorableRate == 3"
>
HAVING
satisfaction_rate
<
= 80
satisfaction_rate between 80 and 90
</if>
<if
test=
"bo.favorableRate == 4"
>
HAVING
<![CDATA[ satisfaction_rate <= 80 ]]>
</if>
ORDER BY satisfaction_rate desc
</select>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment