Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Q
qk_backend
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
quanku
qk_backend
Commits
7b0a912f
Commit
7b0a912f
authored
Feb 02, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
支付接口
parent
b8eb0102
Changes
34
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
679 additions
and
58 deletions
+679
-58
ch-admin-api/src/main/java/com/wwdz/ch/admin/entity/vo/ItemVo.java
...api/src/main/java/com/wwdz/ch/admin/entity/vo/ItemVo.java
+1
-1
ch-core/src/main/java/com/wwdz/ch/core/api/wxpay/WxPayServiceApi.java
...main/java/com/wwdz/ch/core/api/wxpay/WxPayServiceApi.java
+8
-4
ch-core/src/main/java/com/wwdz/ch/core/consts/DistributionEnum.java
...c/main/java/com/wwdz/ch/core/consts/DistributionEnum.java
+1
-0
ch-core/src/main/java/com/wwdz/ch/core/consts/ResultCode.java
...ore/src/main/java/com/wwdz/ch/core/consts/ResultCode.java
+3
-1
ch-core/src/main/java/com/wwdz/ch/core/qcode/QCodeService.java
...re/src/main/java/com/wwdz/ch/core/qcode/QCodeService.java
+1
-1
ch-core/src/main/java/com/wwdz/ch/core/type/Result.java
ch-core/src/main/java/com/wwdz/ch/core/type/Result.java
+5
-1
ch-core/src/main/java/com/wwdz/ch/core/util/PriceUtil.java
ch-core/src/main/java/com/wwdz/ch/core/util/PriceUtil.java
+2
-2
ch-core/src/main/java/com/wwdz/ch/core/util/TimeUtil.java
ch-core/src/main/java/com/wwdz/ch/core/util/TimeUtil.java
+18
-0
ch-dao/src/main/java/com/wwdz/ch/db/bean/DistributionOrderNum.java
...c/main/java/com/wwdz/ch/db/bean/DistributionOrderNum.java
+17
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
...com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
+17
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributorProfitDao.java
...com/wwdz/ch/db/dao/distribution/DistributorProfitDao.java
+32
-0
ch-dao/src/main/java/com/wwdz/ch/db/domain/distribution/DistributorProfit.java
...com/wwdz/ch/db/domain/distribution/DistributorProfit.java
+0
-1
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/DistributionOrderRequestDto.java
...dto/request/distribution/DistributionOrderRequestDto.java
+9
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
...wdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
+12
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributorProfitDaoImpl.java
...wdz/ch/db/impl/distribution/DistributorProfitDaoImpl.java
+34
-2
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/SupplierItemDaoImpl.java
...com/wwdz/ch/db/impl/distribution/SupplierItemDaoImpl.java
+4
-0
ch-dao/src/main/java/com/wwdz/ch/db/mapper/distribution/DistributionOrderMapper.java
...dz/ch/db/mapper/distribution/DistributionOrderMapper.java
+16
-0
ch-dao/src/main/java/com/wwdz/ch/db/mapper/distribution/DistributorProfitMapper.java
...dz/ch/db/mapper/distribution/DistributorProfitMapper.java
+23
-0
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/distribution/DistributionOrderMapper.xml
...wdz/ch/db/mapper/distribution/DistributionOrderMapper.xml
+8
-0
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/distribution/DistributorProfitMapper.xml
...wdz/ch/db/mapper/distribution/DistributorProfitMapper.xml
+12
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
...main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
+31
-8
ch-wx-api/src/main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
.../main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
+1
-1
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/request/SelfPageRequestDto.java
...ava/com/wwdz/ch/wx/entity/request/SelfPageRequestDto.java
+10
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/SelfPageInfoVo.java
...com/wwdz/ch/wx/entity/vo/distribution/SelfPageInfoVo.java
+42
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/SwitchServiceImpl.java
.../src/main/java/com/wwdz/ch/wx/impl/SwitchServiceImpl.java
+2
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
...pi/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
+31
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
...ch/wx/impl/distribution/DistributionOrderServiceImpl.java
+119
-32
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SelfPageServiceImpl.java
...com/wwdz/ch/wx/impl/distribution/SelfPageServiceImpl.java
+79
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/DistributionOrderService.java
.../ch/wx/service/distribution/DistributionOrderService.java
+7
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/SelfPageService.java
.../com/wwdz/ch/wx/service/distribution/SelfPageService.java
+23
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxGoodsController.java
...i/src/main/java/com/wwdz/ch/wx/web/WxGoodsController.java
+2
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/DistributionOrderController.java
...z/ch/wx/web/distribution/DistributionOrderController.java
+14
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SelfPageController.java
...a/com/wwdz/ch/wx/web/distribution/SelfPageController.java
+59
-0
ch-wx-api/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
...pi/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
+36
-0
No files found.
ch-admin-api/src/main/java/com/wwdz/ch/admin/entity/vo/ItemVo.java
View file @
7b0a912f
...
...
@@ -190,7 +190,7 @@ public class ItemVo implements Entity {
itemVo
.
setIsDeleted
(
item
.
getIsDeleted
());
itemVo
.
setState
(
item
.
getState
());
if
(!
ObjectUtils
.
isEmpty
(
item
.
getPrice
()))
{
itemVo
.
setPrice
(
Double
.
parseDouble
(
PriceUtil
.
convertPrice
(
item
.
getPrice
())));
itemVo
.
setPrice
(
Double
.
parseDouble
(
PriceUtil
.
convertPrice
FenToYuan
(
item
.
getPrice
())));
}
String
topImage
=
item
.
getTopImage
();
if
(
org
.
springframework
.
util
.
StringUtils
.
isEmpty
(
topImage
))
{
...
...
ch-core/src/main/java/com/wwdz/ch/core/api/wxpay/WxPayServiceApi.java
View file @
7b0a912f
...
...
@@ -9,6 +9,7 @@ import com.wechat.pay.java.core.exception.ServiceException;
import
com.wechat.pay.java.service.payments.jsapi.JsapiServiceExtension
;
import
com.wechat.pay.java.service.payments.jsapi.model.*
;
import
com.wechat.pay.java.service.payments.model.Transaction
;
import
com.wwdz.ch.core.consts.ResultCode
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.xxdxxs.utils.JsonUtils
;
...
...
@@ -114,7 +115,7 @@ public class WxPayServiceApi {
* @param dto
* @return
*/
public
Result
<
Object
>
queryOrderBytOutTradeNo
(
DistributionOrderRequestDto
dto
)
{
public
Result
<
Transaction
>
queryOrderBytOutTradeNo
(
DistributionOrderRequestDto
dto
)
{
QueryOrderByOutTradeNoRequest
queryRequest
=
new
QueryOrderByOutTradeNoRequest
();
queryRequest
.
setMchid
(
wxPayParamConfig
.
getMerchantId
());
queryRequest
.
setOutTradeNo
(
dto
.
getDistributionOrderId
());
...
...
@@ -125,12 +126,15 @@ public class WxPayServiceApi {
.
signType
(
"RSA"
)
// 不填默认为RSA
.
build
();
Transaction
result
=
service
.
queryOrderByOutTradeNo
(
queryRequest
);
logger
.
info
(
"分销单号:{},查询支付结果返回:{}"
,
dto
.
getDistributionOrderId
(),
result
);
if
(
Transaction
.
TradeStateEnum
.
SUCCESS
!=
result
.
getTradeState
())
{
logger
.
info
(
"内部订单号【{}】,微信支付订单号【{}】支付未成功"
,
result
.
getOutTradeNo
(),
result
.
getTransactionId
());
logger
.
info
(
"内部订单号【{}】, 微信支付订单号【{}】支付未成功"
,
result
.
getOutTradeNo
(),
result
.
getTransactionId
());
return
Result
.
failed
(
ResultCode
.
PAY_FAILED
);
}
return
Result
.
success
();
logger
.
info
(
"内部订单号【{}】, 微信支付订单号【{}】支付成功"
,
result
.
getOutTradeNo
(),
result
.
getTransactionId
());
return
Result
.
success
(
result
);
}
catch
(
ServiceException
e
)
{
logger
.
error
(
"订单查询失败,返回码:{}
,
返回信息:{}"
,
e
.
getErrorCode
(),
e
.
getErrorMessage
());
logger
.
error
(
"订单查询失败,返回码:{}
,
返回信息:{}"
,
e
.
getErrorCode
(),
e
.
getErrorMessage
());
return
Result
.
failed
();
}
}
...
...
ch-core/src/main/java/com/wwdz/ch/core/consts/DistributionEnum.java
View file @
7b0a912f
...
...
@@ -9,6 +9,7 @@ public class DistributionEnum {
PRE_PAY
(
1
,
"待付款"
),
PRE_SEND
(
10
,
"待发货"
),
PRE_SIGNED
(
20
,
"待收货"
),
AFTER_SALE
(
30
,
"售后中"
),
FINISH
(
100
,
"已完成"
),
CANCEL
(
101
,
"已取消"
),
...
...
ch-core/src/main/java/com/wwdz/ch/core/consts/ResultCode.java
View file @
7b0a912f
...
...
@@ -60,7 +60,9 @@ public enum ResultCode {
USER_STOP_AI_ANSWER
(
30000
,
"该问题被用户要求停止回答,回复不会被发送"
),
NOT_CONFIRM_PRICE_FOR_SEND
(
30005
,
"请先确认是否满意货品的初步估价"
),
;
PAY_FAILED
(
30010
,
"支付失败"
),
;
int
code
;
String
message
;
...
...
ch-core/src/main/java/com/wwdz/ch/core/qcode/QCodeService.java
View file @
7b0a912f
...
...
@@ -127,7 +127,7 @@ public class QCodeService {
Color
priceColor
=
new
Color
(
240
,
20
,
20
);
drawTextInImg
(
baseImage
,
"现价 "
,
65
,
787
,
colorComm
,
24
);
drawTextInImg
(
baseImage
,
"¥ "
,
120
,
787
,
priceColor
,
24
);
drawTextInImg
(
baseImage
,
PriceUtil
.
convertPrice
(
rawPrice
),
145
,
787
,
priceColor
,
34
);
drawTextInImg
(
baseImage
,
PriceUtil
.
convertPrice
FenToYuan
(
rawPrice
),
145
,
787
,
priceColor
,
34
);
// 写上商城名称
...
...
ch-core/src/main/java/com/wwdz/ch/core/type/Result.java
View file @
7b0a912f
...
...
@@ -28,6 +28,10 @@ public class Result<T> implements Entity {
this
.
errmsg
=
msg
;
}
public
Result
(
Integer
errno
,
Boolean
successful
)
{
this
.
errno
=
errno
;
this
.
success
=
successful
;
}
public
Result
(
Boolean
successful
,
T
body
)
{
this
.
success
=
successful
;
...
...
@@ -67,7 +71,7 @@ public class Result<T> implements Entity {
}
public
static
<
T
>
Result
<
T
>
failed
()
{
return
new
Result
<>(
false
);
return
new
Result
<>(
ResultCode
.
FAILED
.
getCode
(),
false
);
}
public
static
<
T
>
Result
<
T
>
failed
(
Integer
code
,
String
msg
)
{
...
...
ch-core/src/main/java/com/wwdz/ch/core/util/PriceUtil.java
View file @
7b0a912f
...
...
@@ -5,7 +5,7 @@ import java.text.DecimalFormat;
public
class
PriceUtil
{
public
static
String
convertPrice
(
Long
rawPrice
)
{
public
static
String
convertPrice
FenToYuan
(
Long
rawPrice
)
{
BigDecimal
price
=
new
BigDecimal
((
rawPrice
.
doubleValue
()
/
100
));
price
=
price
.
setScale
(
2
,
BigDecimal
.
ROUND_HALF_UP
);
return
price
.
toString
();
...
...
@@ -38,7 +38,7 @@ public class PriceUtil {
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
convertPrice
(
3980L
));
System
.
out
.
println
(
convertPrice
FenToYuan
(
3980L
));
System
.
out
.
println
(
UUID
.
fastUUID
().
toString
(
true
));
}
}
ch-core/src/main/java/com/wwdz/ch/core/util/TimeUtil.java
View file @
7b0a912f
package
com.wwdz.ch.core.util
;
import
com.xxdxxs.utils.DateUtils
;
import
java.time.Instant
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Date
;
public
final
class
TimeUtil
{
...
...
@@ -17,4 +21,18 @@ public final class TimeUtil {
ZoneId
zone
=
ZoneId
.
systemDefault
();
return
LocalDateTime
.
ofInstant
(
instant
,
zone
);
}
public
static
String
wxTimeConvert
(
String
time
)
{
LocalDateTime
date
=
LocalDateTime
.
parse
(
time
,
DateTimeFormatter
.
ISO_OFFSET_DATE_TIME
);
String
dateStr
=
date
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
return
dateStr
;
}
public
static
Date
wxTimeConvertToDate
(
String
time
)
{
LocalDateTime
date
=
LocalDateTime
.
parse
(
time
,
DateTimeFormatter
.
ISO_OFFSET_DATE_TIME
);
String
dateStr
=
date
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
return
DateUtils
.
parseString
(
dateStr
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/bean/DistributionOrderNum.java
0 → 100644
View file @
7b0a912f
package
com.wwdz.ch.db.bean
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
/**
* 各状态的订单数量
*/
@Data
public
class
DistributionOrderNum
implements
Entity
{
private
Integer
state
;
private
String
stateName
;
private
Integer
num
;
}
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
View file @
7b0a912f
package
com.wwdz.ch.db.dao.distribution
;
import
com.wwdz.ch.db.bean.DistributionOrderNum
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
DistributionOrderDao
{
...
...
@@ -74,4 +77,18 @@ public interface DistributionOrderDao {
* 更改分销订单状态
*/
boolean
updateState
(
String
distributionOrderId
,
int
state
);
/**
* 统计分销商各状态的订单数量
* @param distributorId
* @return
*/
List
<
DistributionOrderNum
>
countGroupByStateForDistributor
(
long
distributorId
);
/**
* 统计用户各状态的订单数量
* @param userId
* @return
*/
List
<
DistributionOrderNum
>
countGroupByStateForUser
(
long
userId
);
}
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributorProfitDao.java
View file @
7b0a912f
...
...
@@ -20,4 +20,36 @@ public interface DistributorProfitDao {
* @return
*/
int
update
(
DistributorProfit
distributorProfit
);
/**
* 利润记录设置为无效
* @param distributionOrderId
* @return
*/
int
updateValid
(
String
distributionOrderId
);
/**
* 统计分销商卖出的商品数量
*
* @param distributorId
* @return
*/
Long
countSellItemNum
(
long
distributorId
);
/**
* 统计分销商售出金额
*
* @param distributorId
* @return
*/
Long
countSellAmount
(
long
distributorId
);
/**
* 统计分销商获得利润
*
* @param distributorId
* @return
*/
Long
countProfit
(
long
distributorId
);
}
ch-dao/src/main/java/com/wwdz/ch/db/domain/distribution/DistributorProfit.java
View file @
7b0a912f
package
com.wwdz.ch.db.domain.distribution
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
...
...
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/DistributionOrderRequestDto.java
View file @
7b0a912f
...
...
@@ -5,6 +5,7 @@ import com.xxdxxs.entity.Entity;
import
lombok.Data
;
import
java.util.Date
;
import
java.util.List
;
/**
* 分销订单请求参数类
...
...
@@ -12,6 +13,12 @@ import java.util.Date;
@Data
public
class
DistributionOrderRequestDto
extends
BaseRequestDto
implements
Entity
{
/**
* 商品名称/分销单号
* 正则判断根据哪个字段查询
*/
private
String
searchParam
;
/**
* 分销分享记录id
*/
...
...
@@ -22,6 +29,8 @@ public class DistributionOrderRequestDto extends BaseRequestDto implements Entit
*/
private
Long
itemId
;
private
List
<
Long
>
itemIdList
;
/**
* 商品名称
* 模糊查询
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
View file @
7b0a912f
package
com.wwdz.ch.db.impl.distribution
;
import
com.github.pagehelper.PageHelper
;
import
com.wwdz.ch.db.bean.DistributionOrderNum
;
import
com.wwdz.ch.db.dao.distribution.DistributionOrderDao
;
import
com.wwdz.ch.db.domain.ConsignSaleExample
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
...
...
@@ -63,6 +64,7 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
DistributionOrderExample
example
=
new
DistributionOrderExample
();
DistributionOrderExample
.
Criteria
criteria
=
example
.
createCriteria
();
JdbcHelper
.
ifPresent
(
dto
.
getDistributionOrderId
(),
criteria:
:
andDistributionOrderIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getItemIdList
(),
criteria:
:
andItemIdIn
);
JdbcHelper
.
ifPresent
(
dto
.
getShopId
(),
criteria:
:
andShopIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getBuyerId
(),
criteria:
:
andBuyerIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getSellerId
(),
criteria:
:
andSellerIdEqualTo
);
...
...
@@ -102,4 +104,14 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
distributionOrder
.
setUpdateTime
(
new
Date
());
return
distributionOrderMapper
.
updateByExampleSelective
(
distributionOrder
,
example
)
>
0
;
}
@Override
public
List
<
DistributionOrderNum
>
countGroupByStateForDistributor
(
long
distributorId
)
{
return
distributionOrderMapper
.
countGroupByStateForDistributor
(
distributorId
);
}
@Override
public
List
<
DistributionOrderNum
>
countGroupByStateForUser
(
long
userId
)
{
return
distributionOrderMapper
.
countGroupByStateForUser
(
userId
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributorProfitDaoImpl.java
View file @
7b0a912f
...
...
@@ -2,6 +2,7 @@ package com.wwdz.ch.db.impl.distribution;
import
com.wwdz.ch.db.dao.distribution.DistributorProfitDao
;
import
com.wwdz.ch.db.domain.distribution.DistributorProfit
;
import
com.wwdz.ch.db.domain.distribution.DistributorProfitExample
;
import
com.wwdz.ch.db.mapper.distribution.DistributorProfitMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
...
...
@@ -14,11 +15,42 @@ public class DistributorProfitDaoImpl implements DistributorProfitDao {
@Override
public
int
insert
(
DistributorProfit
distributorProfit
)
{
return
0
;
return
distributorProfitMapper
.
insert
(
distributorProfit
)
;
}
@Override
public
int
update
(
DistributorProfit
distributorProfit
)
{
return
0
;
DistributorProfitExample
example
=
new
DistributorProfitExample
();
DistributorProfitExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andDistributionOrderIdEqualTo
(
distributorProfit
.
getDistributionOrderId
());
return
distributorProfitMapper
.
updateByExample
(
distributorProfit
,
example
);
}
@Override
public
int
updateValid
(
String
distributionOrderId
)
{
DistributorProfitExample
example
=
new
DistributorProfitExample
();
DistributorProfitExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andDistributionOrderIdEqualTo
(
distributionOrderId
);
DistributorProfit
distributorProfit
=
new
DistributorProfit
();
distributorProfit
.
setIsValid
(
false
);
return
distributorProfitMapper
.
updateByExample
(
distributorProfit
,
example
);
}
@Override
public
Long
countSellItemNum
(
long
distributorId
)
{
Long
num
=
distributorProfitMapper
.
countSellItemNum
(
distributorId
);
return
num
==
null
?
0
:
num
;
}
@Override
public
Long
countSellAmount
(
long
distributorId
)
{
Long
num
=
distributorProfitMapper
.
countSellAmount
(
distributorId
);
return
num
==
null
?
0
:
num
;
}
@Override
public
Long
countProfit
(
long
distributorId
)
{
Long
num
=
distributorProfitMapper
.
countProfit
(
distributorId
);
return
num
==
null
?
0
:
num
;
}
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/SupplierItemDaoImpl.java
View file @
7b0a912f
...
...
@@ -7,6 +7,7 @@ import com.wwdz.ch.db.domain.distribution.SupplierItemExample;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.wwdz.ch.db.mapper.distribution.SupplierItemMapper
;
import
com.xxdxxs.db.component.JdbcHelper
;
import
com.xxdxxs.utils.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
...
...
@@ -22,6 +23,9 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
SupplierItemExample
supplierItemExample
=
new
SupplierItemExample
();
SupplierItemExample
.
Criteria
criteria
=
supplierItemExample
.
createCriteria
();
JdbcHelper
.
ifPresent
(
dto
.
getId
(),
criteria:
:
andIdEqualTo
);
if
(
StringUtils
.
hasLength
(
dto
.
getName
()))
{
criteria
.
andNameLike
(
"%"
+
dto
.
getName
()
+
"%"
);
}
JdbcHelper
.
ifPresent
(
dto
.
getIsOnSale
(),
criteria:
:
andIsOnSaleEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getIsDeleted
(),
criteria:
:
andIsDeletedEqualTo
);
PageHelper
.
startPage
(
dto
.
getPage
(),
dto
.
getLimit
());
...
...
ch-dao/src/main/java/com/wwdz/ch/db/mapper/distribution/DistributionOrderMapper.java
View file @
7b0a912f
package
com.wwdz.ch.db.mapper.distribution
;
import
com.wwdz.ch.db.bean.DistributionOrderNum
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrderExample
;
import
java.util.List
;
...
...
@@ -66,4 +67,19 @@ public interface DistributionOrderMapper {
int
updateByPrimaryKeySelective
(
DistributionOrder
record
);
int
updateByPrimaryKey
(
DistributionOrder
record
);
/**
* 统计分销商各状态的订单数量
* @param distributorId
* @return
*/
List
<
DistributionOrderNum
>
countGroupByStateForDistributor
(
@Param
(
"sellerId"
)
Long
distributorId
);
/**
* 统计用户各状态的订单数量
* @param userId
* @return
*/
List
<
DistributionOrderNum
>
countGroupByStateForUser
(
@Param
(
"buyerId"
)
Long
userId
);
}
\ No newline at end of file
ch-dao/src/main/java/com/wwdz/ch/db/mapper/distribution/DistributorProfitMapper.java
View file @
7b0a912f
...
...
@@ -66,4 +66,27 @@ public interface DistributorProfitMapper {
int
updateByPrimaryKeySelective
(
DistributorProfit
record
);
int
updateByPrimaryKey
(
DistributorProfit
record
);
/**
* 统计分销商卖出的商品数量
* @param distributorId
* @return
*/
Long
countSellItemNum
(
@Param
(
"distributorId"
)
Long
distributorId
);
/**
* 统计分销商售出金额
* @param distributorId
* @return
*/
Long
countSellAmount
(
@Param
(
"distributorId"
)
Long
distributorId
);
/**
* 统计分销商获得利润
* @param distributorId
* @return
*/
Long
countProfit
(
@Param
(
"distributorId"
)
Long
distributorId
);
}
\ No newline at end of file
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/distribution/DistributionOrderMapper.xml
View file @
7b0a912f
...
...
@@ -613,4 +613,12 @@
limit 1
</select>
<select
id=
"countGroupByStateForDistributor"
parameterType=
"java.lang.Long"
resultType=
"com.wwdz.ch.db.bean.DistributionOrderNum"
>
select state, count(distribution_order_id) as num from distribution_order where seller_id = #{sellerId} group by state
</select>
<select
id=
"countGroupByStateForUser"
parameterType=
"java.lang.Long"
resultType=
"com.wwdz.ch.db.bean.DistributionOrderNum"
>
select state, count(distribution_order_id) as num from distribution_order where buyer_id = #{buyerId} group by state
</select>
</mapper>
\ No newline at end of file
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/distribution/DistributorProfitMapper.xml
View file @
7b0a912f
...
...
@@ -401,4 +401,16 @@
</if>
limit 1
</select>
<select
id=
"countSellItemNum"
parameterType=
"java.lang.Long"
resultType=
"java.lang.Long"
>
select sum(item_num) from distributor_profit where distributor_id = #{distributorId} and is_valid = 1
</select>
<select
id=
"countSellAmount"
parameterType=
"java.lang.Long"
resultType=
"java.lang.Long"
>
select sum(amount) from distributor_profit where distributor_id = #{distributorId} and is_valid = 1
</select>
<select
id=
"countProfit"
parameterType=
"java.lang.Long"
resultType=
"java.lang.Long"
>
select sum(profit) from distributor_profit where distributor_id = #{distributorId} and is_valid = 1
</select>
</mapper>
\ No newline at end of file
ch-wx-api/src/main/java/com/wwdz/ch/wx/api/WxPayCallbackController.java
View file @
7b0a912f
...
...
@@ -4,8 +4,14 @@ import com.wechat.pay.java.core.RSAAutoCertificateConfig;
import
com.wechat.pay.java.core.notification.NotificationParser
;
import
com.wechat.pay.java.core.notification.RequestParam
;
import
com.wechat.pay.java.service.payments.model.Transaction
;
import
com.wwdz.ch.core.api.wxpay.WxPayServiceApi
;
import
com.wwdz.ch.core.consts.DistributionEnum
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.RedisUtils
;
import
com.wwdz.ch.core.util.TimeUtil
;
import
com.wwdz.ch.db.dao.distribution.DistributionOrderDao
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.xxdxxs.utils.JsonUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -39,6 +45,9 @@ public class WxPayCallbackController {
@Autowired
DistributionOrderDao
distributionOrderDao
;
@Autowired
WxPayServiceApi
wxPayServiceApi
;
@RequestMapping
(
value
=
"/getPayNotify"
)
public
synchronized
String
payNotify
(
HttpServletRequest
request
)
throws
IOException
{
logger
.
info
(
"------------------ 收到微信支付回调通知 ------------------"
);
...
...
@@ -74,8 +83,7 @@ public class WxPayCallbackController {
transaction
=
parser
.
parse
(
requestParam
,
Transaction
.
class
);
logger
.
info
(
"验签成功!-支付回调结果:{}"
,
transaction
.
toString
());
if
(
Transaction
.
TradeStateEnum
.
SUCCESS
!=
transaction
.
getTradeState
())
{
logger
.
info
(
"内部订单号【{}】,微信支付订单号【{}】支付未成功"
,
transaction
.
getOutTradeNo
(),
transaction
.
getTransactionId
());
return
JsonUtils
.
from
(
returnMap
);
logger
.
info
(
"支付回调结果 >>> 内部订单号【{}】,微信支付订单号【{}】支付未成功"
,
transaction
.
getOutTradeNo
(),
transaction
.
getTransactionId
());
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"验签失败 : {}"
,
e
);
...
...
@@ -91,12 +99,27 @@ public class WxPayCallbackController {
}
redisUtils
.
set
(
distributionOrderId
,
distributionOrderId
);
//调用微信查询订单接口查询订单当前状态
//查询订单在系统中的当前状态
/*****/
//修改订单信息
/*****/
DistributionOrderRequestDto
distributionOrderRequestDto
=
new
DistributionOrderRequestDto
();
distributionOrderRequestDto
.
setDistributionOrderId
(
distributionOrderId
);
Result
<
Transaction
>
queryResult
=
wxPayServiceApi
.
queryOrderBytOutTradeNo
(
distributionOrderRequestDto
);
//支付成功,修改订单状态
if
(
queryResult
.
getSuccess
())
{
//查询系统中订单现在的状态,避免重复更新
DistributionOrder
distributionOrder
=
distributionOrderDao
.
findById
(
distributionOrderId
);
if
(
distributionOrder
.
getState
()
==
DistributionEnum
.
DistributionOrderStateEnum
.
PRE_PAY
.
getCode
())
{
//微信支付交易id
String
transactionId
=
transaction
.
getTransactionId
();
//支付成功时间
String
payTime
=
transaction
.
getSuccessTime
();
//支付成功,更新订单状态为待发货
DistributionOrder
distributionOrderDto
=
new
DistributionOrder
();
distributionOrderDto
.
setDistributionOrderId
(
distributionOrderId
);
distributionOrderDto
.
setTransactionId
(
transactionId
);
distributionOrderDto
.
setPayTime
(
TimeUtil
.
wxTimeConvertToDate
(
payTime
));
distributionOrderDto
.
setState
(
DistributionEnum
.
DistributionOrderStateEnum
.
PRE_SEND
.
getCode
());
distributionOrderDao
.
update
(
distributionOrder
);
}
}
returnMap
.
put
(
"code"
,
"SUCCESS"
);
returnMap
.
put
(
"message"
,
"成功"
);
return
JsonUtils
.
from
(
returnMap
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/config/WebMvcConfiguration.java
View file @
7b0a912f
...
...
@@ -42,7 +42,7 @@ public class WebMvcConfiguration implements WebMvcConfigurer {
"/officialAccountCallback/**"
,
"/wxPayCallback/**"
,
"/imCallback/**"
,
"/wx/category/**"
,
"/wx/consignSale/**"
,
"/wx/item/**"
,
"/wx/returnOrder/**"
,
"/wx/supplierItem/**"
,
"/wx/shareRecord/**"
,
"/wx/distributionOrder/**"
"/wx/returnOrder/**"
,
"/wx/supplierItem/**"
,
"/wx/shareRecord/**"
,
"/wx/distributionOrder/**"
,
"/wx/selfPage/**"
/* "/wx/officialAccount/**",
"/wx/item/**",
"/wx/aiAssistant/**",
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/request/SelfPageRequestDto.java
0 → 100644
View file @
7b0a912f
package
com.wwdz.ch.wx.entity.request
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
@Data
public
class
SelfPageRequestDto
implements
Entity
{
private
Long
userId
;
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/SelfPageInfoVo.java
0 → 100644
View file @
7b0a912f
package
com.wwdz.ch.wx.entity.vo.distribution
;
import
com.wwdz.ch.core.consts.DistributionEnum
;
import
com.wwdz.ch.db.bean.DistributionOrderNum
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
/**
* 个人主页信息
*/
@Data
public
class
SelfPageInfoVo
implements
Entity
{
/**
* 累计卖出商品件数
*/
private
Integer
totalSellItemNum
;
/**
* 售出金额
*/
private
String
totalSellAmount
;
/**
* 获得利润
*/
private
String
totalProfit
;
private
Long
userId
;
private
String
userName
;
/**
* 各状态订单数量
*/
private
List
<
DistributionOrderNum
>
orderNum
;
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/SwitchServiceImpl.java
View file @
7b0a912f
...
...
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
*/
@Service
public
class
SwitchServiceImpl
implements
SwitchService
{
@Autowired
private
SwitchDao
switchDao
;
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/UserServiceImpl.java
View file @
7b0a912f
...
...
@@ -44,6 +44,9 @@ import com.wwdz.ch.wx.util.WxResponseCode;
import
com.wwdz.mall.common.vo.response.CloudServerResponse
;
import
com.wwdz.mall.contentcenter.api.CommunityAttributeReadService
;
import
com.wwdz.mall.contentcenter.domain.result.attribute.CommunityUserAttributeDO
;
import
com.wwdz.shop.api.DTO.ShopDTO
;
import
com.wwdz.shop.api.query.ShopQueryOption
;
import
com.wwdz.shop.api.service.ShopReadService
;
import
com.wwdz.user.api.service.user.UserReadService
;
import
com.wwdz.user.api.service.user.UserWriteService
;
import
com.xxdxxs.utils.JsonUtils
;
...
...
@@ -56,6 +59,8 @@ import org.springframework.context.ApplicationContext;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.util.ObjectUtils
;
import
javax.servlet.http.HttpServletRequest
;
import
java.text.MessageFormat
;
import
java.text.SimpleDateFormat
;
...
...
@@ -136,6 +141,9 @@ public class UserServiceImpl implements UserService {
@Autowired
ReturnOrderDao
returnOrderDao
;
@Reference
ShopReadService
shopReadService
;
@Override
public
Result
finishLogin
(
UserRequestDto
dto
)
{
...
...
@@ -179,6 +187,29 @@ public class UserServiceImpl implements UserService {
//保存新登录的用户信息
userDao
.
insertByMapper
(
user
);
result
.
put
(
"phone"
,
phone
);
//判断登录用户是否是分销商
if
(
dto
.
getUserId
()
==
42192256L
||
dto
.
getUserId
()
==
60684039L
||
dto
.
getUserId
()
==
61074146L
)
{
result
.
put
(
"isShop"
,
true
);
result
.
put
(
"shopId"
,
3387401L
);
}
else
{
try
{
CloudServerResponse
<
ShopDTO
>
cloudServerResponse
=
shopReadService
.
getShopByUserId
(
dto
.
getUserId
(),
new
ShopQueryOption
());
if
(
cloudServerResponse
.
isSuccess
())
{
ShopDTO
shopDTO
=
cloudServerResponse
.
getResult
();
if
(
shopDTO
!=
null
&&
!
ObjectUtils
.
isEmpty
(
shopDTO
.
getShopId
()))
{
result
.
put
(
"isShop"
,
true
);
result
.
put
(
"shopId"
,
shopDTO
.
getShopId
());
}
else
{
result
.
put
(
"isShop"
,
false
);
}
}
else
{
result
.
put
(
"isShop"
,
false
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"根据用户id查询店铺信息失败error:{}"
,
e
);
result
.
put
(
"isShop"
,
false
);
}
}
// 缓存用户信息
String
userKey
=
MessageFormat
.
format
(
CacheCodeConstants
.
USER_INFO_KEY
,
user
.
getId
());
redisUtil
.
set
(
userKey
,
user
,
2
*
60
*
60
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
View file @
7b0a912f
This diff is collapsed.
Click to expand it.
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SelfPageServiceImpl.java
0 → 100644
View file @
7b0a912f
package
com.wwdz.ch.wx.impl.distribution
;
import
com.wwdz.ch.core.consts.DistributionEnum
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.CacheUtil
;
import
com.wwdz.ch.core.util.PriceUtil
;
import
com.wwdz.ch.db.bean.DistributionOrderNum
;
import
com.wwdz.ch.db.dao.distribution.DistributionOrderDao
;
import
com.wwdz.ch.db.dao.distribution.DistributorProfitDao
;
import
com.wwdz.ch.wx.entity.request.SelfPageRequestDto
;
import
com.wwdz.ch.wx.entity.vo.distribution.SelfPageInfoVo
;
import
com.wwdz.ch.wx.service.distribution.SelfPageService
;
import
com.wwdz.user.api.service.user.UserReadService
;
import
org.apache.dubbo.config.annotation.Reference
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
SelfPageServiceImpl
implements
SelfPageService
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SelfPageServiceImpl
.
class
);
@Autowired
DistributorProfitDao
distributorProfitDao
;
@Autowired
DistributionOrderDao
distributionOrderDao
;
@Autowired
CacheUtil
cacheUtil
;
@Override
public
Result
getDistributorPageInfo
(
SelfPageRequestDto
dto
)
{
try
{
long
sellItemNum
=
distributorProfitDao
.
countSellItemNum
(
dto
.
getUserId
());
long
sellAmount
=
distributorProfitDao
.
countSellAmount
(
dto
.
getUserId
());
long
totalProfit
=
distributorProfitDao
.
countProfit
(
dto
.
getUserId
());
SelfPageInfoVo
selfPageInfoVo
=
new
SelfPageInfoVo
();
selfPageInfoVo
.
setUserId
(
dto
.
getUserId
());
selfPageInfoVo
.
setUserName
(
cacheUtil
.
getAppletUserNameById
(
dto
.
getUserId
()));
selfPageInfoVo
.
setTotalSellItemNum
((
int
)
sellItemNum
);
selfPageInfoVo
.
setTotalSellAmount
(
PriceUtil
.
convertPriceFenToYuan
(
sellAmount
));
selfPageInfoVo
.
setTotalProfit
(
PriceUtil
.
convertPriceFenToYuan
(
totalProfit
));
List
<
DistributionOrderNum
>
distributionOrderNumList
=
distributionOrderDao
.
countGroupByStateForDistributor
(
dto
.
getUserId
());
distributionOrderNumList
.
forEach
(
distributionOrderNum
->
{
distributionOrderNum
.
setStateName
(
DistributionEnum
.
DistributionOrderStateEnum
.
getNameByCode
(
distributionOrderNum
.
getState
()));
});
selfPageInfoVo
.
setOrderNum
(
distributionOrderNumList
);
return
Result
.
success
(
selfPageInfoVo
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询分销商个人主页失败 error : {}"
,
e
);
}
return
Result
.
failed
();
}
@Override
public
Result
getUserPageInfo
(
SelfPageRequestDto
dto
)
{
try
{
SelfPageInfoVo
selfPageInfoVo
=
new
SelfPageInfoVo
();
selfPageInfoVo
.
setUserId
(
dto
.
getUserId
());
selfPageInfoVo
.
setUserName
(
cacheUtil
.
getAppletUserNameById
(
dto
.
getUserId
()));
List
<
DistributionOrderNum
>
distributionOrderNumList
=
distributionOrderDao
.
countGroupByStateForUser
(
dto
.
getUserId
());
distributionOrderNumList
.
forEach
(
distributionOrderNum
->
{
distributionOrderNum
.
setStateName
(
DistributionEnum
.
DistributionOrderStateEnum
.
getNameByCode
(
distributionOrderNum
.
getState
()));
});
selfPageInfoVo
.
setOrderNum
(
distributionOrderNumList
);
return
Result
.
success
(
selfPageInfoVo
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询用户个人主页失败 error : {}"
,
e
);
}
return
Result
.
failed
();
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/DistributionOrderService.java
View file @
7b0a912f
...
...
@@ -14,17 +14,22 @@ public interface DistributionOrderService {
/**
*
完成支付后修改订单状态
*
检查订单是否支付成功
* @param dto
* @return
*/
Result
finishPay
(
DistributionOrderRequestDto
dto
);
Result
checkPayState
(
DistributionOrderRequestDto
dto
);
/**
* 用户取消订单
*/
Result
cancel
(
DistributionOrderRequestDto
dto
);
/**
* 用户确认收货
*/
Result
confirmSigned
(
DistributionOrderRequestDto
dto
);
/**
* 订单发货
* @param dto
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/SelfPageService.java
0 → 100644
View file @
7b0a912f
package
com.wwdz.ch.wx.service.distribution
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.wx.entity.request.SelfPageRequestDto
;
public
interface
SelfPageService
{
/**
* 查询分销商个人主页信息
* @param dto
* @return
*/
Result
getDistributorPageInfo
(
SelfPageRequestDto
dto
);
/**
* 查询用户个人主页信息
* @param dto
* @return
*/
Result
getUserPageInfo
(
SelfPageRequestDto
dto
);
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/WxGoodsController.java
View file @
7b0a912f
...
...
@@ -155,7 +155,7 @@ public class WxGoodsController {
iv
.
setImages
(
Arrays
.
asList
(
item
.
getImages
().
split
(
";"
)));
iv
.
setDetail
(
item
.
getDetail
());
if
(
null
!=
item
.
getPrice
()
&&
0
!=
item
.
getPrice
())
{
iv
.
setPrice
(
PriceUtil
.
convertPrice
(
item
.
getPrice
()));
iv
.
setPrice
(
PriceUtil
.
convertPrice
FenToYuan
(
item
.
getPrice
()));
}
}
...
...
@@ -277,7 +277,7 @@ public class WxGoodsController {
}
iv
.
setTopImage
(
item
.
getImages
().
split
(
";"
)[
0
]);
if
(
null
!=
item
.
getPrice
()
&&
0
!=
item
.
getPrice
())
{
iv
.
setPrice
(
PriceUtil
.
convertPrice
(
item
.
getPrice
()));
iv
.
setPrice
(
PriceUtil
.
convertPrice
FenToYuan
(
item
.
getPrice
()));
}
itemList
.
add
(
iv
);
}
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/DistributionOrderController.java
View file @
7b0a912f
...
...
@@ -61,6 +61,20 @@ public class DistributionOrderController {
}
@ApiOperation
(
value
=
"前端支付后查询实际支付状态"
)
@PostMapping
(
"/checkPayState"
)
public
Result
checkPayState
(
@RequestBody
DistributionOrderRequestDto
dto
)
{
logger
.
info
(
"前端支付后查询实际支付状态:{}"
,
JSON
.
toJSONString
(
dto
));
Validator
validator
=
new
Validator
(
FormHandler
.
ofEntity
(
dto
));
validator
.
set
(
"distributionOrderId"
,
"分销单号"
).
must
().
string
()
.
end
();
if
(!
validator
.
isValid
())
{
return
Result
.
failed
(
validator
.
getErrorInfo
());
}
return
distributionOrderService
.
checkPayState
(
dto
);
}
@ApiOperation
(
value
=
"用户取消订单"
)
@PostMapping
(
"/cancel"
)
public
Result
cancel
(
@RequestBody
DistributionOrderRequestDto
dto
)
{
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SelfPageController.java
0 → 100644
View file @
7b0a912f
package
com.wwdz.ch.wx.web.distribution
;
import
com.alibaba.fastjson.JSON
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.wx.entity.request.SelfPageRequestDto
;
import
com.wwdz.ch.wx.service.distribution.SelfPageService
;
import
com.xxdxxs.service.FormHandler
;
import
com.xxdxxs.validation.Validator
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* 个人主页
*/
@RestController
@RequestMapping
(
"/wx/selfPage"
)
public
class
SelfPageController
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
SelfPageController
.
class
);
@Autowired
SelfPageService
selfPageService
;
@ApiOperation
(
value
=
"查询分销商个人主页信息"
)
@PostMapping
(
"/getDistributorPageInfo"
)
public
Result
getDistributorPageInfo
(
@RequestBody
SelfPageRequestDto
dto
)
{
logger
.
info
(
"查询分销商个人主页信息,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
Validator
validator
=
new
Validator
(
FormHandler
.
ofEntity
(
dto
));
validator
.
set
(
"userId"
,
"用户id"
).
must
().
number
()
.
end
();
if
(!
validator
.
isValid
())
{
return
Result
.
failed
(
validator
.
getErrorInfo
());
}
return
selfPageService
.
getDistributorPageInfo
(
dto
);
}
@ApiOperation
(
value
=
"查询普通用户个人主页信息"
)
@PostMapping
(
"/getUserPageInfo"
)
public
Result
getUserPageInfo
(
@RequestBody
SelfPageRequestDto
dto
)
{
logger
.
info
(
"查询普通用户个人主页信息,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
Validator
validator
=
new
Validator
(
FormHandler
.
ofEntity
(
dto
));
validator
.
set
(
"userId"
,
"用户id"
).
must
().
number
()
.
end
();
if
(!
validator
.
isValid
())
{
return
Result
.
failed
(
validator
.
getErrorInfo
());
}
return
selfPageService
.
getUserPageInfo
(
dto
);
}
}
ch-wx-api/src/test/java/com/wwdz/ch/wx/api/WxPayServiceTest.java
0 → 100644
View file @
7b0a912f
package
com.wwdz.ch.wx.api
;
import
com.github.binarywang.wxpay.service.WxPayService
;
import
com.wwdz.ch.core.api.OfficialAccountApi
;
import
com.wwdz.ch.core.api.wxpay.WxPayServiceApi
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringJUnit4ClassRunner
;
@SpringBootTest
@RunWith
(
SpringJUnit4ClassRunner
.
class
)
public
class
WxPayServiceTest
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
WxPayServiceTest
.
class
);
@Autowired
WxPayServiceApi
wxPayServiceApi
;
@Test
public
void
queryOrderBytOutTradeNo
()
{
String
orderId
=
"DA2401311023019918454"
;
DistributionOrderRequestDto
dto
=
new
DistributionOrderRequestDto
();
dto
.
setDistributionOrderId
(
orderId
);
Result
result
=
wxPayServiceApi
.
queryOrderBytOutTradeNo
(
dto
);
logger
.
info
(
"查询支付状态:{}"
,
result
);
}
}
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