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
f3da4b6c
Commit
f3da4b6c
authored
Mar 11, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
问题修复2
parent
db5a65e2
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
101 additions
and
17 deletions
+101
-17
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/AuctionOfferNoticeMsg.java
...ain/java/com/wwdz/ch/wx/entity/AuctionOfferNoticeMsg.java
+5
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/AuctionRecordServiceImpl.java
...wdz/ch/wx/impl/distribution/AuctionRecordServiceImpl.java
+24
-9
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
...ch/wx/impl/distribution/DistributionOrderServiceImpl.java
+22
-6
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SendMsgServiceImpl.java
.../com/wwdz/ch/wx/impl/distribution/SendMsgServiceImpl.java
+37
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
...wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
+13
-0
No files found.
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/AuctionOfferNoticeMsg.java
View file @
f3da4b6c
...
...
@@ -41,6 +41,11 @@ public class AuctionOfferNoticeMsg implements Entity {
*/
private
Date
auctionEndTime
;
/**
* 支付截止时间
*/
private
Date
payEndTime
;
/**
* 拍卖当前价
*/
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/AuctionRecordServiceImpl.java
View file @
f3da4b6c
...
...
@@ -234,16 +234,21 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
auctionRecordVo
.
setState
(
DistributionEnum
.
AuctionStateEnum
.
END
.
getCode
());
auctionRecordVo
.
setStateName
(
DistributionEnum
.
AuctionStateEnum
.
END
.
getDes
());
//如果是该用户竞拍成功,还没生成订单则用户状态为立即支付
if
(
lastedRecord
.
getUserId
().
longValue
()
==
dto
.
getUserId
().
longValue
())
{
//竞拍结束后未生成订单
if
(
distributionOrder
==
null
||
distributionOrder
.
getPayTime
()
==
null
)
{
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
PRE_PAY
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
PRE_PAY
.
getDes
());
}
else
{
//竞拍结束页生成了订单并支付过了就显示竞拍结束
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getDes
());
if
(
lastedRecord
!=
null
)
{
if
(
lastedRecord
.
getUserId
().
longValue
()
==
dto
.
getUserId
().
longValue
())
{
//竞拍结束后未生成订单
if
(
distributionOrder
==
null
||
distributionOrder
.
getPayTime
()
==
null
)
{
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
PRE_PAY
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
PRE_PAY
.
getDes
());
}
else
{
//竞拍结束页生成了订单并支付过了就显示竞拍结束
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getDes
());
}
}
}
else
{
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getDes
());
}
}
else
{
auctionRecordVo
.
setState
(
DistributionEnum
.
AuctionStateEnum
.
IN_AUCTION
.
getCode
());
...
...
@@ -314,6 +319,16 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
if
(
distributionOrder
==
null
||
distributionOrder
.
getPayTime
()
==
null
)
{
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
PRE_PAY
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
PRE_PAY
.
getDes
());
//检查是否超时未支付
if
(
distributionOrder
!=
null
)
{
Date
createOrderTime
=
distributionOrder
.
getCreateTime
();
Instant
createInstant
=
createOrderTime
.
toInstant
().
plus
(
Duration
.
ofHours
(
24
));
Date
time
=
Date
.
from
(
createInstant
);
if
(
now
.
after
(
time
))
{
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getDes
());
}
}
}
else
{
//竞拍结束页生成了订单并支付过了就显示竞拍结束
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getCode
());
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/DistributionOrderServiceImpl.java
View file @
f3da4b6c
...
...
@@ -15,6 +15,7 @@ import com.wwdz.ch.db.dao.distribution.*;
import
com.wwdz.ch.db.domain.distribution.*
;
import
com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.wwdz.ch.wx.entity.AuctionOfferNoticeMsg
;
import
com.wwdz.ch.wx.entity.DeliveryNoticeMsg
;
import
com.wwdz.ch.wx.entity.SignedNoticeMsg
;
import
com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo
;
...
...
@@ -200,7 +201,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
if
(
auctionRecord
.
getUserId
().
longValue
()
!=
dto
.
getBuyerId
().
longValue
())
{
return
Result
.
failed
(
"下单信息错误"
);
}
Date
now
=
new
Date
();
AuctionConfig
auctionConfig
=
auctionConfigDao
.
findByItemId
(
dto
.
getItemId
());
//查询用户第一次出价对应的分销商
AuctionRecord
firstAuctionRecord
=
auctionRecordDao
.
findFirstRecord
(
dto
.
getItemId
(),
auctionRecord
.
getUserId
());
...
...
@@ -217,8 +218,8 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
distributionOrder
.
setShopId
(
distributorShareRecord
.
getShopId
());
distributionOrder
.
setSellerId
(
firstAuctionRecord
.
getDistributorId
());
distributionOrder
.
setAmount
(
auctionRecord
.
getPrice
());
distributionOrder
.
setCreateTime
(
new
Dat
e
());
distributionOrder
.
setUpdateTime
(
n
ew
Date
()
);
distributionOrder
.
setCreateTime
(
auctionConfig
.
getRealEndTim
e
());
distributionOrder
.
setUpdateTime
(
n
ow
);
distributionOrder
.
setState
(
DistributionEnum
.
DistributionOrderStateEnum
.
PRE_PAY
.
getCode
());
distributionOrder
.
setType
(
DistributionEnum
.
DistributionTypeEnum
.
AUCTION
.
getCode
());
distributionOrderDao
.
insert
(
distributionOrder
);
...
...
@@ -261,9 +262,24 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
//把该拍卖配置信息改为已处理
auctionConfigDao
.
setDeal
(
dto
.
getItemId
());
//发送中拍信息给用户
/**
*
*/
String
userOpenId
=
sendMsgService
.
getOpenIdByUserId
(
auctionRecord
.
getUserId
());
if
(
com
.
xxdxxs
.
utils
.
StringUtils
.
hasLength
(
userOpenId
))
{
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
distributionOrder
.
getItemId
());
AuctionOfferNoticeMsg
auctionOfferNoticeMsg
=
new
AuctionOfferNoticeMsg
();
auctionOfferNoticeMsg
.
setCurrentPrice
(
PriceUtil
.
convertPriceFenToYuan
(
auctionRecord
.
getPrice
()));
auctionOfferNoticeMsg
.
setOpenId
(
userOpenId
);
auctionOfferNoticeMsg
.
setItemName
(
supplierItem
.
getName
());
auctionOfferNoticeMsg
.
setDistributionOrderId
(
distributionOrderId
);
Instant
instant
=
now
.
toInstant
();
// auctionOfferNoticeMsg.setPayEndTime();
// sendMsgService.auctionSuccessMsg(signedNoticeMsg);
}
else
{
logger
.
info
(
">>>>> 分销商id :{}, 获取openid失败,无法发送模板信息 <<<<<"
,
distributionOrder
.
getSellerId
());
}
return
Result
.
success
(
map
);
}
else
{
return
Result
.
failed
(
"稍后再试"
);
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SendMsgServiceImpl.java
View file @
f3da4b6c
...
...
@@ -175,7 +175,7 @@ public class SendMsgServiceImpl implements SendMsgService {
map
.
put
(
"miniprogram"
,
miniprogramMap
);
Map
<
String
,
Object
>
paramMap
=
new
LinkedHashMap
<>();
paramMap
.
put
(
"thing4"
,
new
HashMap
(){{
put
(
"value"
,
auctionOfferNoticeMsg
.
getItemName
());}});
paramMap
.
put
(
"thing4"
,
new
HashMap
(){{
put
(
"value"
,
auctionOfferNoticeMsg
.
getItemName
()
.
substring
(
0
,
20
)
);}});
paramMap
.
put
(
"amount5"
,
new
HashMap
(){{
put
(
"value"
,
auctionOfferNoticeMsg
.
getCurrentPrice
());}});
map
.
put
(
"data"
,
paramMap
);
logger
.
info
(
"============ 拍卖出价被超越通知模板消息内容 : {}"
,
JsonUtils
.
fromMap
(
map
));
...
...
@@ -195,7 +195,42 @@ public class SendMsgServiceImpl implements SendMsgService {
@Override
public
Result
auctionSuccessMsg
(
AuctionOfferNoticeMsg
auctionOfferNoticeMsg
)
{
return
null
;
String
openId
=
auctionOfferNoticeMsg
.
getOpenId
();
String
token
=
officialAccountApi
.
getAccessToken
();
String
url
=
SEND_MSG_URL
+
"?access_token="
+
token
;
OkHttpUtil
okHttpUtil
=
OkHttpUtil
.
builder
().
url
(
url
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"touser"
,
openId
);
map
.
put
(
"template_id"
,
"Yy_58dviNzK1sDOilw6FnolJysIceRjm6qkhCN0RgcQ"
);
Map
<
String
,
Object
>
miniprogramMap
=
new
HashMap
<>();
miniprogramMap
.
put
(
"appid"
,
APPLET_APPID
);
StringBuffer
stringBuffer
=
new
StringBuffer
(
AUCTION_MSG_URL
);
stringBuffer
.
append
(
"?itemId="
+
auctionOfferNoticeMsg
.
getItemId
());
if
(
StringUtils
.
hasLength
(
auctionOfferNoticeMsg
.
getShareRecordId
()))
{
stringBuffer
.
append
(
"&shareRecordId="
+
auctionOfferNoticeMsg
.
getShareRecordId
());
}
miniprogramMap
.
put
(
"pagepath"
,
stringBuffer
.
toString
());
map
.
put
(
"miniprogram"
,
miniprogramMap
);
Map
<
String
,
Object
>
paramMap
=
new
LinkedHashMap
<>();
paramMap
.
put
(
"thing4"
,
new
HashMap
(){{
put
(
"value"
,
auctionOfferNoticeMsg
.
getItemName
().
substring
(
0
,
20
));}});
paramMap
.
put
(
"amount6"
,
new
HashMap
(){{
put
(
"value"
,
auctionOfferNoticeMsg
.
getCurrentPrice
());}});
paramMap
.
put
(
"character_string5"
,
new
HashMap
(){{
put
(
"value"
,
auctionOfferNoticeMsg
.
getDistributionOrderId
());}});
paramMap
.
put
(
"time3"
,
new
HashMap
(){{
put
(
"value"
,
DateUtils
.
toString
(
auctionOfferNoticeMsg
.
getPayEndTime
()));}});
map
.
put
(
"data"
,
paramMap
);
logger
.
info
(
"============ 竞拍成功通知模板消息内容 : {}"
,
JsonUtils
.
fromMap
(
map
));
okHttpUtil
.
addParams
(
map
);
okHttpUtil
.
post
(
true
);
String
responseStr
=
okHttpUtil
.
async
();
logger
.
info
(
"openid : {}, 发送竞拍成功模板消息 response :{}"
,
openId
,
responseStr
);
String
errorCode
=
JsonUtils
.
getValueByPath
(
responseStr
,
"errcode"
);
String
errmsg
=
JsonUtils
.
getValueByPath
(
responseStr
,
"errmsg"
);
if
(!
"0"
.
equals
(
errorCode
))
{
logger
.
error
(
"openid : {}, 发送竞拍成功模板消息, errorCode : {}, errmsg : {} "
,
openId
,
errorCode
,
errmsg
);
return
Result
.
failed
();
}
logger
.
info
(
"=============发送竞拍成功模板消息 成功 ==========="
);
return
Result
.
success
();
}
@Override
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
View file @
f3da4b6c
...
...
@@ -29,6 +29,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
java.time.Duration
;
import
java.time.Instant
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Function
;
...
...
@@ -408,6 +411,16 @@ public class SupplierItemServiceImpl implements SupplierItemService {
if
(
distributionOrder
==
null
||
distributionOrder
.
getPayTime
()
==
null
)
{
auctionDetailVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
PRE_PAY
.
getCode
());
auctionDetailVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
PRE_PAY
.
getDes
());
//检查是否超时未支付
if
(
distributionOrder
!=
null
)
{
Date
createOrderTime
=
distributionOrder
.
getCreateTime
();
Instant
createInstant
=
createOrderTime
.
toInstant
().
plus
(
Duration
.
ofHours
(
24
));
Date
time
=
Date
.
from
(
createInstant
);
if
(
now
.
after
(
time
))
{
auctionDetailVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getCode
());
auctionDetailVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getDes
());
}
}
}
else
{
//竞拍结束页生成了订单并支付过了就显示竞拍结束
auctionDetailVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
END
.
getCode
());
...
...
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