Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gxpt_ht
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pseer
gxpt_ht
Commits
874548cc
Commit
874548cc
authored
Feb 27, 2024
by
吕明尚
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
抖音优惠卷对接完成
parent
468fd578
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
213 additions
and
26 deletions
+213
-26
SOrderController.java
...in/java/share/web/controller/system/SOrderController.java
+7
-10
TableDataInfo.java
...n/src/main/java/share/common/core/page/TableDataInfo.java
+80
-3
CouponRetryTask.java
...artz/src/main/java/share/quartz/task/CouponRetryTask.java
+46
-1
ISOrderService.java
...em/src/main/java/share/system/service/ISOrderService.java
+6
-4
SOrderServiceImpl.java
...ain/java/share/system/service/impl/SOrderServiceImpl.java
+53
-0
TiktokServiceImpl.java
...ain/java/share/system/service/impl/TiktokServiceImpl.java
+21
-8
No files found.
share-admin/src/main/java/share/web/controller/system/SOrderController.java
View file @
874548cc
package
share
.
web
.
controller
.
system
;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
share.common.annotation.Log
;
import
share.common.core.controller.BaseController
;
import
share.common.core.domain.AjaxResult
;
import
share.common.core.page.TableDataInfo
;
import
share.common.enums.BusinessType
;
import
share.common.utils.poi.ExcelUtil
;
import
share.system.domain.SOrder
;
import
share.system.domain.vo.SOrderDto
;
import
share.system.request.OrderRefundRequest
;
import
share.system.service.ISOrderService
;
import
share.common.utils.poi.ExcelUtil
;
import
share.common.core.page.TableDataInfo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
* 订单Controller
...
...
@@ -40,9 +39,7 @@ public class SOrderController extends BaseController
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
SOrder
sOrder
)
{
startPage
();
List
<
SOrder
>
list
=
sOrderService
.
selectSOrderList
(
sOrder
);
return
getDataTable
(
list
);
return
sOrderService
.
pageList
(
sOrder
);
}
/**
...
...
share-common/src/main/java/share/common/core/page/TableDataInfo.java
View file @
874548cc
package
share
.
common
.
core
.
page
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.util.List
;
/**
...
...
@@ -25,6 +26,35 @@ public class TableDataInfo implements Serializable
private
String
msg
;
/**
* 总金额
*/
private
BigDecimal
totalAmount
;
/**
* 实付金额
*/
private
BigDecimal
amount
;
/**
* 已使用总金额
*/
private
BigDecimal
usedAmount
;
/**
* 已使用实付金额
*/
private
BigDecimal
usedPayAmount
;
/**
* 以退款总金额
*/
private
BigDecimal
refundAmount
;
/**
* 以退款实付金额
*/
private
BigDecimal
refundPayAmount
;
/**
* 表格数据对象
*/
public
TableDataInfo
()
...
...
@@ -33,7 +63,7 @@ public class TableDataInfo implements Serializable
/**
* 分页
*
*
* @param list 列表数据
* @param total 总记录数
*/
...
...
@@ -78,8 +108,55 @@ public class TableDataInfo implements Serializable
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
BigDecimal
getTotalAmount
()
{
return
totalAmount
;
}
public
void
setTotalAmount
(
BigDecimal
totalAmount
)
{
this
.
totalAmount
=
totalAmount
;
}
public
BigDecimal
getAmount
()
{
return
amount
;
}
public
void
setAmount
(
BigDecimal
amount
)
{
this
.
amount
=
amount
;
}
public
BigDecimal
getUsedAmount
()
{
return
usedAmount
;
}
public
void
setUsedAmount
(
BigDecimal
usedAmount
)
{
this
.
usedAmount
=
usedAmount
;
}
public
BigDecimal
getUsedPayAmount
()
{
return
usedPayAmount
;
}
public
void
setUsedPayAmount
(
BigDecimal
usedPayAmount
)
{
this
.
usedPayAmount
=
usedPayAmount
;
}
public
BigDecimal
getRefundAmount
()
{
return
refundAmount
;
}
public
void
setRefundAmount
(
BigDecimal
refundAmount
)
{
this
.
refundAmount
=
refundAmount
;
}
public
BigDecimal
getRefundPayAmount
()
{
return
refundPayAmount
;
}
public
void
setRefundPayAmount
(
BigDecimal
refundPayAmount
)
{
this
.
refundPayAmount
=
refundPayAmount
;
}
}
share-quartz/src/main/java/share/quartz/task/CouponRetryTask.java
View file @
874548cc
...
...
@@ -10,15 +10,27 @@ import share.common.enums.UserStatusEnum;
import
share.common.enums.YesNoEnum
;
import
share.system.domain.SConsumerCoupon
;
import
share.system.service.ISConsumerCouponService
;
import
share.system.service.ISOrderService
;
import
share.system.service.ISStoreService
;
import
share.system.service.QPService
;
import
share.system.service.impl.QPServiceImpl
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
@Component
(
"couponRetryTask"
)
public
class
CouponRetryTask
{
@Autowired
private
ISConsumerCouponService
sConsumerCouponService
;
@Autowired
private
ISStoreService
storeService
;
@Autowired
private
QPService
qpService
;
@Autowired
private
ISOrderService
orderService
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
QPServiceImpl
.
class
);
public
void
AuToRetryCoupon
()
{
...
...
@@ -37,4 +49,37 @@ public class CouponRetryTask {
sConsumerCouponService
.
updateBatchById
(
expiredSConsumerCounpons
);
}
}
// //自动生成优惠卷购买金额
// public void AutoGenerateCoupon() {
// LambdaQueryWrapper<SConsumerCoupon> consumerCouponWrapper = new LambdaQueryWrapper<>();
// List<SStore> list = storeService.list();
// //去除没open_shop_uuid的store
// list = list.stream().filter(item -> item.getOpenShopUuid() != null).collect(Collectors.toList());
// LambdaQueryWrapper<SOrder> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
// //优惠卷id不等于空
// orderLambdaQueryWrapper.isNotNull(SOrder::getCouponId);
// List<SOrder> orderList = orderService.list(orderLambdaQueryWrapper);
// //查询团购劵,未删除的优惠卷
// consumerCouponWrapper.eq(SConsumerCoupon::getIsDelete, YesNoEnum.no.getIndex());
// consumerCouponWrapper.eq(SConsumerCoupon::getCouponType, CouponTypeEnum.CASH.getCode());
// List<SConsumerCoupon> sConsumerCoupons = sConsumerCouponService.list(consumerCouponWrapper);
// if (!CollectionUtils.isEmpty(sConsumerCoupons)) {
// List<SStore> finalList = list;
// sConsumerCoupons.stream().forEach(item -> {
// TuangouReceiptGetConsumedReponseEntity getconsumed = qpService.getconsumed(item.getCouponCode(),
// finalList.stream().filter(store -> store.getId().equals(item.getStoreId())).findFirst().get().getOpenShopUuid());
// item.setCouponPayPrice(BigDecimal.valueOf(getconsumed.getDeal_price()));
// });
// orderList.stream().forEach(item -> {
// sConsumerCoupons.stream().forEach(coupon -> {
// if (item.getCouponId().equals(coupon.getId())) {
// coupon.setCouponPayPrice(item.getPayPrice());
// }
// });
// });
// orderService.updateBatchById(orderList);
// sConsumerCouponService.updateBatchById(sConsumerCoupons);
// }
// }
}
share-system/src/main/java/share/system/service/ISOrderService.java
View file @
874548cc
package
share
.
system
.
service
;
import
java.util.Date
;
import
java.util.List
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
share.common.core.page.TableDataInfo
;
import
share.system.domain.SConsumerCoupon
;
import
share.system.domain.SOrder
;
import
share.system.domain.vo.OrderVo
;
import
share.system.domain.vo.SOrderDto
;
import
share.system.domain.vo.SOrderVo
;
import
share.system.request.CreateOrderRequest
;
...
...
@@ -15,6 +12,9 @@ import share.system.request.OrderRefundRequest;
import
share.system.response.ComputedOrderPriceResponse
;
import
share.system.response.OrderPayResultResponse
;
import
java.util.Date
;
import
java.util.List
;
/**
* 订单Service接口
*
...
...
@@ -190,4 +190,6 @@ public interface ISOrderService extends IService<SOrder>
int
modifyOrder
(
SOrderDto
sOrderDto
);
TableDataInfo
pageList
(
SOrder
sOrder
);
}
share-system/src/main/java/share/system/service/impl/SOrderServiceImpl.java
View file @
874548cc
...
...
@@ -20,6 +20,9 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
share.common.constant.Constants
;
import
share.common.core.page.PageDomain
;
import
share.common.core.page.TableDataInfo
;
import
share.common.core.page.TableSupport
;
import
share.common.core.redis.RedisUtil
;
import
share.common.enums.*
;
import
share.common.exception.base.BaseException
;
...
...
@@ -285,6 +288,56 @@ public class SOrderServiceImpl extends ServiceImpl<SOrderMapper, SOrder> impleme
return
baseMapper
.
updateSOrder
(
sOrder
);
}
@Override
public
TableDataInfo
pageList
(
SOrder
sOrder
)
{
List
<
SOrder
>
sOrders
=
selectSOrderList
(
sOrder
);
BigDecimal
totalAmount
=
new
BigDecimal
(
"0.00"
);
BigDecimal
amount
=
new
BigDecimal
(
"0.00"
);
//已使用总金额
BigDecimal
usedAmount
=
new
BigDecimal
(
"0.00"
);
//已使用实付金额
BigDecimal
usedPayAmount
=
new
BigDecimal
(
"0.00"
);
//以退款总金额
BigDecimal
refundAmount
=
new
BigDecimal
(
"0.00"
);
//以退款实付金额
BigDecimal
refundPayAmount
=
new
BigDecimal
(
"0.00"
);
if
(
CollectionUtils
.
isNotEmpty
(
sOrders
))
{
for
(
SOrder
item
:
sOrders
)
{
totalAmount
=
totalAmount
.
add
(
item
.
getTotalPrice
());
amount
=
amount
.
add
(
item
.
getPayPrice
());
if
(
item
.
getPayStatus
().
equals
(
YesNoEnum
.
yes
.
getIndex
())
&&
item
.
getStatus
().
equals
(
OrderStatusEnum
.
USED
.
getCode
()))
{
usedAmount
=
usedAmount
.
add
(
item
.
getTotalPrice
());
usedPayAmount
=
usedPayAmount
.
add
(
item
.
getPayPrice
());
}
if
(
item
.
getRefundStatus
().
equals
(
RefundStatusEnum
.
REFUNDED
.
getCode
()))
{
refundAmount
=
refundAmount
.
add
(
item
.
getTotalPrice
());
refundPayAmount
=
refundPayAmount
.
add
(
item
.
getPayPrice
());
}
}
}
sOrders
.
sort
(
Comparator
.
comparing
(
SOrder:
:
getCreateTime
).
reversed
());
PageDomain
pageDomain
=
TableSupport
.
buildPageRequest
();
Integer
pageNum
=
pageDomain
.
getPageNum
();
Integer
pageSize
=
pageDomain
.
getPageSize
();
int
start
=
(
pageNum
-
1
)
*
pageSize
;
int
end
=
Math
.
min
(
start
+
pageSize
,
sOrders
.
size
());
List
<
SOrder
>
pagedList
=
sOrders
.
subList
(
start
,
end
);
TableDataInfo
tableDataInfo
=
new
TableDataInfo
();
tableDataInfo
.
setRows
(
pagedList
);
tableDataInfo
.
setTotal
(
sOrders
.
size
());
tableDataInfo
.
setCode
(
200
);
tableDataInfo
.
setMsg
(
"查询成功"
);
tableDataInfo
.
setTotalAmount
(
totalAmount
);
tableDataInfo
.
setAmount
(
amount
);
tableDataInfo
.
setUsedAmount
(
usedAmount
);
tableDataInfo
.
setUsedPayAmount
(
usedPayAmount
);
tableDataInfo
.
setRefundAmount
(
refundAmount
);
tableDataInfo
.
setRefundPayAmount
(
refundPayAmount
);
return
tableDataInfo
;
}
/**
* 新增订单
*
...
...
share-system/src/main/java/share/system/service/impl/TiktokServiceImpl.java
View file @
874548cc
...
...
@@ -31,7 +31,9 @@ import share.system.service.ISCouponService;
import
share.system.service.ISStoreService
;
import
share.system.service.TiktokService
;
import
java.io.UnsupportedEncodingException
;
import
java.math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.regex.Matcher
;
...
...
@@ -75,16 +77,20 @@ public class TiktokServiceImpl implements TiktokService {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
TiktokServiceImpl
.
class
);
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
throws
UnsupportedEncodingException
{
// String result = HttpRequest.get(TiktokUrlEnum.CERTIFICATE_PREPARE.getUrl())
// .contentType("application/json")
// .header("access-token", "clt.
535c504322d5cda164387eddbd878ddcGuefIe0UR368DkctG9ZzVehCOTMi
")
// .form("code", "102003486992130").form("poiId",
"7315287081226340378").execute().body();
// .header("access-token", "clt.
be5f5d52c4a0249bbf7b32b3433a3a5bk1ShUolg1t2kNB02qFYfWUlTVfmT
")
// .form("code", "102003486992130").form("poiId","7315287081226340378").execute().body();
// JSONObject entries = new JSONObject(result);
// JSONObject data = entries.getJSONObject("data");
// System.out.println(data);
Integer
expireTime
=
1737388799
;
System
.
out
.
println
(
new
Date
(
expireTime
*
1000L
));
// System.out.println(entries);
String
encode
=
URLEncoder
.
encode
(
"CgYIASAHKAESLgosTJy3Dvc9g8NcWfdi5dDijfzEj39lpPPZbGBaxIwYRw8Uf7kwvhb4DpBg75kaAA=="
,
"UTF-8"
);
String
result
=
HttpRequest
.
get
(
TiktokUrlEnum
.
CERTIFICATE_GET
.
getUrl
())
.
contentType
(
"application/json"
)
.
header
(
"access-token"
,
"clt.be5f5d52c4a0249bbf7b32b3433a3a5bk1ShUolg1t2kNB02qFYfWUlTVfmT"
)
.
form
(
"encrypted_code"
,
encode
).
execute
().
body
();
JSONObject
entries
=
new
JSONObject
(
result
);
System
.
out
.
println
(
entries
);
}
@Override
public
void
clientToken
()
{
...
...
@@ -206,14 +212,21 @@ public class TiktokServiceImpl implements TiktokService {
@Override
public
JSONObject
certificateGet
(
String
encryptedCode
)
{
String
accessToken
=
obtain
();
String
encode
;
try
{
encode
=
URLEncoder
.
encode
(
encryptedCode
,
"UTF-8"
);
}
catch
(
UnsupportedEncodingException
e
)
{
throw
new
RuntimeException
(
e
);
}
// String url = "https://open.douyin.com/goodlife/v1/fulfilment/certificate/get/";
String
result
=
HttpRequest
.
get
(
TiktokUrlEnum
.
CERTIFICATE_GET
.
getUrl
())
.
contentType
(
"application/json"
)
.
header
(
"access-token"
,
accessToken
)
.
form
(
"encrypted_code"
,
enc
ryptedC
ode
).
execute
().
body
();
.
form
(
"encrypted_code"
,
encode
).
execute
().
body
();
JSONObject
entries
=
new
JSONObject
(
result
);
JSONObject
data
=
entries
.
getJSONObject
(
"data"
);
if
(!
data
.
getStr
(
"error_code"
).
equals
(
ErrorCodeEnum
.
SUCCESS
.
getCode
()))
{
logger
.
error
(
"抖音获取核销信息失败:{}"
,
data
.
getStr
(
"description"
));
throw
new
BaseException
(
data
.
getStr
(
"description"
));
}
return
data
;
...
...
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