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
9998dea7
Commit
9998dea7
authored
Mar 07, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
出价记录
parent
94d6208e
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
139 additions
and
7 deletions
+139
-7
ch-core/src/main/java/com/wwdz/ch/core/notify/AliSmsSender.java
...e/src/main/java/com/wwdz/ch/core/notify/AliSmsSender.java
+26
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/AuctionDetailVo.java
...om/wwdz/ch/wx/entity/vo/distribution/AuctionDetailVo.java
+7
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/AuctionRecordRowVo.java
...wwdz/ch/wx/entity/vo/distribution/AuctionRecordRowVo.java
+53
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/AuctionRecordVo.java
...om/wwdz/ch/wx/entity/vo/distribution/AuctionRecordVo.java
+4
-3
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/AuctionRecordServiceImpl.java
...wdz/ch/wx/impl/distribution/AuctionRecordServiceImpl.java
+38
-2
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
...wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
+11
-2
No files found.
ch-core/src/main/java/com/wwdz/ch/core/notify/AliSmsSender.java
View file @
9998dea7
...
@@ -82,4 +82,30 @@ public class AliSmsSender implements SmsSender {
...
@@ -82,4 +82,30 @@ public class AliSmsSender implements SmsSender {
}
}
}
}
public
SmsResult
sendAuctionWithTemplate
(
String
phone
,
String
itemName
)
{
try
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"msg"
,
"您参与拍卖的商品\""
+
itemName
+
"\",已中拍。"
);
com
.
aliyun
.
dysmsapi20170525
.
Client
client
=
createClient
();
com
.
aliyun
.
dysmsapi20170525
.
models
.
SendSmsRequest
sendSmsRequest
=
new
com
.
aliyun
.
dysmsapi20170525
.
models
.
SendSmsRequest
()
.
setPhoneNumbers
(
phone
)
.
setTemplateCode
(
templateCode
)
.
setTemplateParam
(
JsonUtils
.
fromMap
(
map
))
.
setSignName
(
"玩物得志"
);
SendSmsResponse
sendSmsResponse
=
client
.
sendSmsWithOptions
(
sendSmsRequest
,
new
com
.
aliyun
.
teautil
.
models
.
RuntimeOptions
());
logger
.
info
(
"短线验证发送结果 : {} "
,
JsonUtils
.
from
(
sendSmsResponse
));
if
(
"OK"
.
equals
(
sendSmsResponse
.
getBody
().
code
))
{
SmsResult
smsResult
=
new
SmsResult
();
smsResult
.
setSuccessful
(
true
);
smsResult
.
setResult
(
itemName
);
return
smsResult
;
}
throw
new
RuntimeException
(
"验证码发送失败"
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"AliSmsSender.sendWithTemplate(),mobile={}"
,
phone
,
e
);
throw
new
RuntimeException
(
"验证码发送失败"
);
}
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/AuctionDetailVo.java
View file @
9998dea7
package
com.wwdz.ch.wx.entity.vo.distribution
;
package
com.wwdz.ch.wx.entity.vo.distribution
;
import
com.wwdz.ch.core.type.PageSearchResult
;
import
com.wwdz.ch.db.domain.distribution.AuctionRecord
;
import
com.wwdz.ch.db.domain.distribution.AuctionRecord
;
import
com.xxdxxs.entity.Entity
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -77,6 +78,12 @@ public class AuctionDetailVo implements Entity {
...
@@ -77,6 +78,12 @@ public class AuctionDetailVo implements Entity {
*/
*/
private
List
<
AuctionRecord
>
auctionRecordList
;
private
List
<
AuctionRecord
>
auctionRecordList
;
/**
* 出价记录带分页信息
*/
private
PageSearchResult
pageSearchResult
;
private
Integer
state
;
private
Integer
state
;
/**
/**
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/AuctionRecordRowVo.java
0 → 100644
View file @
9998dea7
package
com.wwdz.ch.wx.entity.vo.distribution
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
AuctionRecordRowVo
implements
Entity
{
private
Integer
id
;
/**
* 商品id
*/
private
Long
itemId
;
/**
* 用户id
*/
private
Long
userId
;
/**
* 微信openid
*/
private
String
userOpenId
;
/**
* 出价
* 单位为元
*/
private
String
price
;
/**
* 出价时间
*/
private
Date
createTime
;
/**
* 分享id
*/
private
String
shareRecordId
;
/**
* 分享商id
*/
private
Long
distributorId
;
/**
* 价格是否领先
*/
private
Boolean
isLead
;
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/AuctionRecordVo.java
View file @
9998dea7
...
@@ -60,7 +60,7 @@ public class AuctionRecordVo implements Entity {
...
@@ -60,7 +60,7 @@ public class AuctionRecordVo implements Entity {
/**
/**
* 出价记录带分页信息
* 出价记录带分页信息
*/
*/
private
PageSearchResult
<
AuctionRecord
>
pageSearchResult
;
private
PageSearchResult
pageSearchResult
;
private
Integer
state
;
private
Integer
state
;
...
@@ -90,8 +90,9 @@ public class AuctionRecordVo implements Entity {
...
@@ -90,8 +90,9 @@ public class AuctionRecordVo implements Entity {
*/
*/
private
Integer
totalOfferNum
;
private
Integer
totalOfferNum
;
private
Integer
auctionUserState
;
private
Integer
userState
;
private
String
userStateName
;
private
String
auctionUserStateName
;
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/AuctionRecordServiceImpl.java
View file @
9998dea7
...
@@ -14,8 +14,10 @@ import com.wwdz.ch.db.dao.UserDao;
...
@@ -14,8 +14,10 @@ import com.wwdz.ch.db.dao.UserDao;
import
com.wwdz.ch.db.dao.distribution.*
;
import
com.wwdz.ch.db.dao.distribution.*
;
import
com.wwdz.ch.db.domain.distribution.*
;
import
com.wwdz.ch.db.domain.distribution.*
;
import
com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.AuctionRecordRequestDto
;
import
com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo
;
import
com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo
;
import
com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordVo
;
import
com.wwdz.ch.wx.service.distribution.AuctionRecordService
;
import
com.wwdz.ch.wx.service.distribution.AuctionRecordService
;
import
com.xxdxxs.utils.EntityMapper
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.redisson.api.RedissonClient
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -172,16 +174,33 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
...
@@ -172,16 +174,33 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
searchDto
.
setLimit
(
dto
.
getLimit
());
searchDto
.
setLimit
(
dto
.
getLimit
());
List
<
AuctionRecord
>
auctionRecordList
=
auctionRecordDao
.
findByPage
(
searchDto
);
List
<
AuctionRecord
>
auctionRecordList
=
auctionRecordDao
.
findByPage
(
searchDto
);
PageInfo
<
AuctionRecord
>
pageInfo
=
new
PageInfo
<>(
auctionRecordList
);
PageInfo
<
AuctionRecord
>
pageInfo
=
new
PageInfo
<>(
auctionRecordList
);
List
<
AuctionRecordRowVo
>
auctionRecordRowVos
=
new
ArrayList
<>();
auctionRecordList
.
forEach
(
a
->{
AuctionRecordRowVo
auctionRecordRowVo
=
new
AuctionRecordRowVo
();
EntityMapper
.
copyAttribute
(
a
,
auctionRecordRowVo
);
auctionRecordRowVo
.
setPrice
(
PriceUtil
.
convertPriceFenToYuan
(
a
.
getPrice
()));
auctionRecordRowVos
.
add
(
auctionRecordRowVo
);
});
auctionRecordVo
.
setPageSearchResult
(
PageSearchResult
.
of
(
pageInfo
,
auctionRecordRowVos
));
//查询商品竞拍信息
//查询商品竞拍信息
AuctionConfig
auctionConfig
=
auctionConfigDao
.
findByItemId
(
dto
.
getItemId
());
AuctionConfig
auctionConfig
=
auctionConfigDao
.
findByItemId
(
dto
.
getItemId
());
AuctionRecord
lastedRecord
=
auctionRecordDao
.
findLastedRecord
(
dto
.
getItemId
());
//当前价
//当前价
if
(
CollectionUtils
.
isEmpty
(
auctionRecordList
))
{
if
(
CollectionUtils
.
isEmpty
(
auctionRecordList
))
{
auctionRecordVo
.
setCurrentPrice
(
PriceUtil
.
convertPriceFenToYuan
(
auctionConfig
.
getStartPrice
()));
auctionRecordVo
.
setCurrentPrice
(
PriceUtil
.
convertPriceFenToYuan
(
auctionConfig
.
getStartPrice
()));
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
PROCESS
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
PROCESS
.
getDes
());
}
else
{
}
else
{
AuctionRecord
lastedRecord
=
auctionRecordDao
.
findLastedRecord
(
dto
.
getItemId
());
auctionRecordVo
.
setCurrentPrice
(
PriceUtil
.
convertPriceFenToYuan
(
lastedRecord
.
getPrice
()));
auctionRecordVo
.
setCurrentPrice
(
PriceUtil
.
convertPriceFenToYuan
(
lastedRecord
.
getPrice
()));
//如果最高价是自己出的,用户状态显示已领先
if
(
lastedRecord
.
getUserId
().
longValue
()
==
dto
.
getUserId
().
longValue
())
{
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
LEAD
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
LEAD
.
getDes
());
}
else
{
auctionRecordVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
PROCESS
.
getCode
());
auctionRecordVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
PROCESS
.
getDes
());
}
}
}
auctionRecordVo
.
setPageSearchResult
(
PageSearchResult
.
of
(
pageInfo
));
auctionRecordVo
.
setStartPrice
(
PriceUtil
.
convertPriceFenToYuan
(
auctionConfig
.
getStartPrice
()));
auctionRecordVo
.
setStartPrice
(
PriceUtil
.
convertPriceFenToYuan
(
auctionConfig
.
getStartPrice
()));
Date
startTime
=
auctionConfig
.
getStartTime
();
Date
startTime
=
auctionConfig
.
getStartTime
();
Date
realEndTime
=
auctionConfig
.
getRealEndTime
();
Date
realEndTime
=
auctionConfig
.
getRealEndTime
();
...
@@ -189,12 +208,29 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
...
@@ -189,12 +208,29 @@ public class AuctionRecordServiceImpl implements AuctionRecordService {
auctionRecordVo
.
setRealEndTime
(
realEndTime
);
auctionRecordVo
.
setRealEndTime
(
realEndTime
);
auctionRecordVo
.
setAddExtent
(
PriceUtil
.
convertPriceFenToYuan
(
auctionConfig
.
getAddExtent
()));
auctionRecordVo
.
setAddExtent
(
PriceUtil
.
convertPriceFenToYuan
(
auctionConfig
.
getAddExtent
()));
Date
now
=
new
Date
();
Date
now
=
new
Date
();
DistributionOrder
distributionOrder
=
distributionOrderDao
.
findByItemId
(
dto
.
getItemId
());
if
(
now
.
before
(
startTime
))
{
if
(
now
.
before
(
startTime
))
{
auctionRecordVo
.
setState
(
DistributionEnum
.
AuctionStateEnum
.
NOT_START
.
getCode
());
auctionRecordVo
.
setState
(
DistributionEnum
.
AuctionStateEnum
.
NOT_START
.
getCode
());
auctionRecordVo
.
setStateName
(
DistributionEnum
.
AuctionStateEnum
.
NOT_START
.
getDes
());
auctionRecordVo
.
setStateName
(
DistributionEnum
.
AuctionStateEnum
.
NOT_START
.
getDes
());
}
else
if
(
now
.
after
(
realEndTime
))
{
}
else
if
(
now
.
after
(
realEndTime
))
{
//超过时间仍然有效,则设置为无效
if
(
auctionConfig
.
getIsValid
())
{
auctionConfigDao
.
setEnd
(
dto
.
getItemId
());
}
auctionRecordVo
.
setState
(
DistributionEnum
.
AuctionStateEnum
.
END
.
getCode
());
auctionRecordVo
.
setState
(
DistributionEnum
.
AuctionStateEnum
.
END
.
getCode
());
auctionRecordVo
.
setStateName
(
DistributionEnum
.
AuctionStateEnum
.
END
.
getDes
());
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
());
}
}
}
else
{
}
else
{
auctionRecordVo
.
setState
(
DistributionEnum
.
AuctionStateEnum
.
IN_AUCTION
.
getCode
());
auctionRecordVo
.
setState
(
DistributionEnum
.
AuctionStateEnum
.
IN_AUCTION
.
getCode
());
auctionRecordVo
.
setStateName
(
DistributionEnum
.
AuctionStateEnum
.
IN_AUCTION
.
getDes
());
auctionRecordVo
.
setStateName
(
DistributionEnum
.
AuctionStateEnum
.
IN_AUCTION
.
getDes
());
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
View file @
9998dea7
...
@@ -17,6 +17,7 @@ import com.wwdz.ch.db.dto.request.distribution.DistributorShareRecordRequestDto;
...
@@ -17,6 +17,7 @@ import com.wwdz.ch.db.dto.request.distribution.DistributorShareRecordRequestDto;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto
;
import
com.wwdz.ch.core.entity.SupplierItemVo
;
import
com.wwdz.ch.core.entity.SupplierItemVo
;
import
com.wwdz.ch.wx.entity.vo.distribution.AuctionDetailVo
;
import
com.wwdz.ch.wx.entity.vo.distribution.AuctionDetailVo
;
import
com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo
;
import
com.wwdz.ch.wx.service.distribution.DistributionOrderService
;
import
com.wwdz.ch.wx.service.distribution.DistributionOrderService
;
import
com.wwdz.ch.wx.service.distribution.SupplierItemService
;
import
com.wwdz.ch.wx.service.distribution.SupplierItemService
;
import
com.xxdxxs.utils.DateUtils
;
import
com.xxdxxs.utils.DateUtils
;
...
@@ -323,8 +324,16 @@ public class SupplierItemServiceImpl implements SupplierItemService {
...
@@ -323,8 +324,16 @@ public class SupplierItemServiceImpl implements SupplierItemService {
auctionRecordRequestDto
.
setPage
(
dto
.
getPage
());
auctionRecordRequestDto
.
setPage
(
dto
.
getPage
());
auctionRecordRequestDto
.
setLimit
(
dto
.
getLimit
());
auctionRecordRequestDto
.
setLimit
(
dto
.
getLimit
());
List
<
AuctionRecord
>
auctionRecordList
=
auctionRecordDao
.
findByPage
(
auctionRecordRequestDto
);
List
<
AuctionRecord
>
auctionRecordList
=
auctionRecordDao
.
findByPage
(
auctionRecordRequestDto
);
PageInfo
<
AuctionRecord
>
pageInfo
=
new
PageInfo
<>(
auctionRecordList
);
List
<
AuctionRecordRowVo
>
auctionRecordRowVos
=
new
ArrayList
<>();
auctionRecordList
.
forEach
(
a
->{
AuctionRecordRowVo
auctionRecordRowVo
=
new
AuctionRecordRowVo
();
EntityMapper
.
copyAttribute
(
a
,
auctionRecordRowVo
);
auctionRecordRowVo
.
setPrice
(
PriceUtil
.
convertPriceFenToYuan
(
a
.
getPrice
()));
auctionRecordRowVos
.
add
(
auctionRecordRowVo
);
});
auctionDetailVo
.
setPageSearchResult
(
PageSearchResult
.
of
(
pageInfo
,
auctionRecordRowVos
));
AuctionRecord
lastedRecord
=
auctionRecordDao
.
findLastedRecord
(
itemId
);
AuctionRecord
lastedRecord
=
auctionRecordDao
.
findLastedRecord
(
itemId
);
//当前价
//当前价
if
(
CollectionUtils
.
isEmpty
(
auctionRecordList
))
{
if
(
CollectionUtils
.
isEmpty
(
auctionRecordList
))
{
auctionDetailVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
PROCESS
.
getCode
());
auctionDetailVo
.
setUserState
(
DistributionEnum
.
AuctionUserStateEnum
.
PROCESS
.
getCode
());
...
@@ -341,7 +350,7 @@ public class SupplierItemServiceImpl implements SupplierItemService {
...
@@ -341,7 +350,7 @@ public class SupplierItemServiceImpl implements SupplierItemService {
auctionDetailVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
PROCESS
.
getDes
());
auctionDetailVo
.
setUserStateName
(
DistributionEnum
.
AuctionUserStateEnum
.
PROCESS
.
getDes
());
}
}
}
}
auctionDetailVo
.
setAuctionRecordList
(
auctionRecordList
);
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
itemId
);
SupplierItem
supplierItem
=
supplierItemDao
.
findById
(
itemId
);
auctionDetailVo
.
setItemId
(
supplierItem
.
getId
());
auctionDetailVo
.
setItemId
(
supplierItem
.
getId
());
auctionDetailVo
.
setImages
(
supplierItem
.
getImages
());
auctionDetailVo
.
setImages
(
supplierItem
.
getImages
());
...
...
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