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
1460ccb6
Commit
1460ccb6
authored
Feb 21, 2024
by
shiyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户主页商品列表
parent
1a32ae99
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
134 additions
and
0 deletions
+134
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
...com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
+7
-0
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributorShareRecordDao.java
...wdz/ch/db/dao/distribution/DistributorShareRecordDao.java
+9
-0
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/SupplierItemRequestDto.java
...h/db/dto/request/distribution/SupplierItemRequestDto.java
+8
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
...wdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
+8
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributorShareRecordDaoImpl.java
...h/db/impl/distribution/DistributorShareRecordDaoImpl.java
+8
-0
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/SupplierItemDaoImpl.java
...com/wwdz/ch/db/impl/distribution/SupplierItemDaoImpl.java
+1
-0
ch-dao/src/main/java/com/wwdz/ch/db/mapper/distribution/DistributorShareRecordMapper.java
.../db/mapper/distribution/DistributorShareRecordMapper.java
+7
-0
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/distribution/DistributorShareRecordMapper.xml
...h/db/mapper/distribution/DistributorShareRecordMapper.xml
+10
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/SupplierItemVo.java
...com/wwdz/ch/wx/entity/vo/distribution/SupplierItemVo.java
+6
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
...wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
+49
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/SupplierItemService.java
.../wwdz/ch/wx/service/distribution/SupplierItemService.java
+7
-0
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SupplierItemController.java
...m/wwdz/ch/wx/web/distribution/SupplierItemController.java
+14
-0
No files found.
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributionOrderDao.java
View file @
1460ccb6
...
@@ -42,6 +42,13 @@ public interface DistributionOrderDao {
...
@@ -42,6 +42,13 @@ public interface DistributionOrderDao {
List
<
DistributionOrder
>
findByBuyerId
(
long
buyerId
);
List
<
DistributionOrder
>
findByBuyerId
(
long
buyerId
);
/**
* 根据买家id查询最近一次购买记录
* @param buyerId
* @return
*/
DistributionOrder
findLastedByBuyerId
(
long
buyerId
);
/**
/**
* 根据买家id查询对于这个商品的历史有效购买记录,排除已取消的订单
* 根据买家id查询对于这个商品的历史有效购买记录,排除已取消的订单
* @param buyerId
* @param buyerId
...
...
ch-dao/src/main/java/com/wwdz/ch/db/dao/distribution/DistributorShareRecordDao.java
View file @
1460ccb6
...
@@ -2,6 +2,7 @@ package com.wwdz.ch.db.dao.distribution;
...
@@ -2,6 +2,7 @@ package com.wwdz.ch.db.dao.distribution;
import
com.wwdz.ch.db.domain.ConsignSaleRecord
;
import
com.wwdz.ch.db.domain.ConsignSaleRecord
;
import
com.wwdz.ch.db.domain.distribution.DistributorShareRecord
;
import
com.wwdz.ch.db.domain.distribution.DistributorShareRecord
;
import
com.wwdz.ch.db.dto.request.distribution.DistributorShareRecordRequestDto
;
import
java.util.List
;
import
java.util.List
;
...
@@ -23,4 +24,12 @@ public interface DistributorShareRecordDao {
...
@@ -23,4 +24,12 @@ public interface DistributorShareRecordDao {
*/
*/
DistributorShareRecord
findById
(
String
shareId
);
DistributorShareRecord
findById
(
String
shareId
);
/**
* 查询最高价格的分享记录
* @param dto
* @return
*/
List
<
DistributorShareRecord
>
findMaxPriceRecord
(
DistributorShareRecordRequestDto
dto
);
}
}
ch-dao/src/main/java/com/wwdz/ch/db/dto/request/distribution/SupplierItemRequestDto.java
View file @
1460ccb6
...
@@ -4,6 +4,8 @@ import com.wwdz.ch.db.dto.request.BaseRequestDto;
...
@@ -4,6 +4,8 @@ import com.wwdz.ch.db.dto.request.BaseRequestDto;
import
com.xxdxxs.entity.Entity
;
import
com.xxdxxs.entity.Entity
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
/**
/**
* 供应商商品请求参数类
* 供应商商品请求参数类
*/
*/
...
@@ -15,6 +17,12 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity {
...
@@ -15,6 +17,12 @@ public class SupplierItemRequestDto extends BaseRequestDto implements Entity {
*/
*/
private
Long
id
;
private
Long
id
;
private
List
<
Long
>
ids
;
/**
* 用户id
*/
private
Long
userId
;
/**
/**
* 供应商id
* 供应商id
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributionOrderDaoImpl.java
View file @
1460ccb6
...
@@ -51,6 +51,14 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
...
@@ -51,6 +51,14 @@ public class DistributionOrderDaoImpl implements DistributionOrderDao {
return
distributionOrderMapper
.
selectByExample
(
example
);
return
distributionOrderMapper
.
selectByExample
(
example
);
}
}
@Override
public
DistributionOrder
findLastedByBuyerId
(
long
buyerId
)
{
DistributionOrderExample
example
=
new
DistributionOrderExample
();
DistributionOrderExample
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andBuyerIdEqualTo
(
buyerId
);
example
.
setOrderByClause
(
"pay_time desc"
);
return
distributionOrderMapper
.
selectOneByExample
(
example
);
}
@Override
@Override
public
List
<
DistributionOrder
>
findValidOrderOfItemIdByBuyerId
(
long
buyerId
,
long
itemId
)
{
public
List
<
DistributionOrder
>
findValidOrderOfItemIdByBuyerId
(
long
buyerId
,
long
itemId
)
{
...
...
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/DistributorShareRecordDaoImpl.java
View file @
1460ccb6
...
@@ -3,10 +3,12 @@ package com.wwdz.ch.db.impl.distribution;
...
@@ -3,10 +3,12 @@ package com.wwdz.ch.db.impl.distribution;
import
com.wwdz.ch.db.dao.distribution.DistributorShareRecordDao
;
import
com.wwdz.ch.db.dao.distribution.DistributorShareRecordDao
;
import
com.wwdz.ch.db.domain.distribution.DistributorShareRecord
;
import
com.wwdz.ch.db.domain.distribution.DistributorShareRecord
;
import
com.wwdz.ch.db.domain.distribution.DistributorShareRecordExample
;
import
com.wwdz.ch.db.domain.distribution.DistributorShareRecordExample
;
import
com.wwdz.ch.db.dto.request.distribution.DistributorShareRecordRequestDto
;
import
com.wwdz.ch.db.mapper.distribution.DistributorShareRecordMapper
;
import
com.wwdz.ch.db.mapper.distribution.DistributorShareRecordMapper
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
@Repository
@Repository
public
class
DistributorShareRecordDaoImpl
implements
DistributorShareRecordDao
{
public
class
DistributorShareRecordDaoImpl
implements
DistributorShareRecordDao
{
...
@@ -26,4 +28,10 @@ public class DistributorShareRecordDaoImpl implements DistributorShareRecordDao
...
@@ -26,4 +28,10 @@ public class DistributorShareRecordDaoImpl implements DistributorShareRecordDao
criteria
.
andShareIdEqualTo
(
shareId
);
criteria
.
andShareIdEqualTo
(
shareId
);
return
distributorShareRecordMapper
.
selectOneByExample
(
distributorShareRecordExample
);
return
distributorShareRecordMapper
.
selectOneByExample
(
distributorShareRecordExample
);
}
}
@Override
public
List
<
DistributorShareRecord
>
findMaxPriceRecord
(
DistributorShareRecordRequestDto
dto
)
{
List
<
DistributorShareRecord
>
distributorShareRecords
=
distributorShareRecordMapper
.
findMaxPriceRecord
(
dto
.
getDistributorId
());
return
distributorShareRecords
;
}
}
}
ch-dao/src/main/java/com/wwdz/ch/db/impl/distribution/SupplierItemDaoImpl.java
View file @
1460ccb6
...
@@ -26,6 +26,7 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
...
@@ -26,6 +26,7 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
SupplierItemExample
supplierItemExample
=
new
SupplierItemExample
();
SupplierItemExample
supplierItemExample
=
new
SupplierItemExample
();
SupplierItemExample
.
Criteria
criteria
=
supplierItemExample
.
createCriteria
();
SupplierItemExample
.
Criteria
criteria
=
supplierItemExample
.
createCriteria
();
JdbcHelper
.
ifPresent
(
dto
.
getId
(),
criteria:
:
andIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getId
(),
criteria:
:
andIdEqualTo
);
JdbcHelper
.
ifPresent
(
dto
.
getIds
(),
criteria:
:
andIdIn
);
if
(
StringUtils
.
hasLength
(
dto
.
getName
()))
{
if
(
StringUtils
.
hasLength
(
dto
.
getName
()))
{
criteria
.
andNameLike
(
"%"
+
dto
.
getName
()
+
"%"
);
criteria
.
andNameLike
(
"%"
+
dto
.
getName
()
+
"%"
);
}
}
...
...
ch-dao/src/main/java/com/wwdz/ch/db/mapper/distribution/DistributorShareRecordMapper.java
View file @
1460ccb6
...
@@ -66,4 +66,11 @@ public interface DistributorShareRecordMapper {
...
@@ -66,4 +66,11 @@ public interface DistributorShareRecordMapper {
int
updateByPrimaryKeySelective
(
DistributorShareRecord
record
);
int
updateByPrimaryKeySelective
(
DistributorShareRecord
record
);
int
updateByPrimaryKey
(
DistributorShareRecord
record
);
int
updateByPrimaryKey
(
DistributorShareRecord
record
);
/**
* 查询价格最高的商品分销记录
* @param distributorId
* @return
*/
List
<
DistributorShareRecord
>
findMaxPriceRecord
(
@Param
(
"distributorId"
)
long
distributorId
);
}
}
\ No newline at end of file
ch-dao/src/main/resources/com/wwdz/ch/db/mapper/distribution/DistributorShareRecordMapper.xml
View file @
1460ccb6
...
@@ -351,4 +351,14 @@
...
@@ -351,4 +351,14 @@
limit 1
limit 1
</select>
</select>
<select
id=
"findMaxPriceRecord"
parameterType=
"java.lang.Long"
resultMap=
"BaseResultMap"
>
SELECT o.*
FROM distributor_share_record o
JOIN
(SELECT item_id, MAX(price) as max_amount
FROM distributor_share_record
GROUP BY item_id) t
ON o.item_id = t.item_id AND price = t.max_amount;
</select>
</mapper>
</mapper>
\ No newline at end of file
ch-wx-api/src/main/java/com/wwdz/ch/wx/entity/vo/distribution/SupplierItemVo.java
View file @
1460ccb6
...
@@ -94,4 +94,10 @@ public class SupplierItemVo implements Entity {
...
@@ -94,4 +94,10 @@ public class SupplierItemVo implements Entity {
* 用于列表展示的图片对象
* 用于列表展示的图片对象
*/
*/
private
Map
<
String
,
Object
>
homePageImage
;
private
Map
<
String
,
Object
>
homePageImage
;
/**
* 对于用户来说
* 最近一次购买的商品所属分享商的分享id
*/
private
String
shareId
;
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/impl/distribution/SupplierItemServiceImpl.java
View file @
1460ccb6
...
@@ -5,10 +5,14 @@ import com.wwdz.ch.core.type.PageSearchResult;
...
@@ -5,10 +5,14 @@ import com.wwdz.ch.core.type.PageSearchResult;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.type.Result
;
import
com.wwdz.ch.core.util.MediaUtil
;
import
com.wwdz.ch.core.util.MediaUtil
;
import
com.wwdz.ch.core.util.PriceUtil
;
import
com.wwdz.ch.core.util.PriceUtil
;
import
com.wwdz.ch.db.dao.distribution.DistributionOrderDao
;
import
com.wwdz.ch.db.dao.distribution.DistributorShareRecordDao
;
import
com.wwdz.ch.db.dao.distribution.DistributorShareRecordDao
;
import
com.wwdz.ch.db.dao.distribution.SupplierItemDao
;
import
com.wwdz.ch.db.dao.distribution.SupplierItemDao
;
import
com.wwdz.ch.db.domain.AiAssistant
;
import
com.wwdz.ch.db.domain.distribution.DistributionOrder
;
import
com.wwdz.ch.db.domain.distribution.DistributorShareRecord
;
import
com.wwdz.ch.db.domain.distribution.DistributorShareRecord
;
import
com.wwdz.ch.db.domain.distribution.SupplierItem
;
import
com.wwdz.ch.db.domain.distribution.SupplierItem
;
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.wx.entity.vo.distribution.SupplierItemVo
;
import
com.wwdz.ch.wx.entity.vo.distribution.SupplierItemVo
;
import
com.wwdz.ch.wx.service.distribution.SupplierItemService
;
import
com.wwdz.ch.wx.service.distribution.SupplierItemService
;
...
@@ -26,6 +30,8 @@ import java.util.HashMap;
...
@@ -26,6 +30,8 @@ import java.util.HashMap;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
import
java.util.function.Function
;
import
java.util.stream.Collectors
;
@Service
@Service
public
class
SupplierItemServiceImpl
implements
SupplierItemService
{
public
class
SupplierItemServiceImpl
implements
SupplierItemService
{
...
@@ -38,6 +44,9 @@ public class SupplierItemServiceImpl implements SupplierItemService {
...
@@ -38,6 +44,9 @@ public class SupplierItemServiceImpl implements SupplierItemService {
@Autowired
@Autowired
DistributorShareRecordDao
distributorShareRecordDao
;
DistributorShareRecordDao
distributorShareRecordDao
;
@Autowired
DistributionOrderDao
distributionOrderDao
;
@Autowired
@Autowired
RedissonClient
redissonClient
;
RedissonClient
redissonClient
;
...
@@ -117,4 +126,44 @@ public class SupplierItemServiceImpl implements SupplierItemService {
...
@@ -117,4 +126,44 @@ public class SupplierItemServiceImpl implements SupplierItemService {
}
}
return
Result
.
failed
(
"扣减库存失败"
);
return
Result
.
failed
(
"扣减库存失败"
);
}
}
@Override
public
Result
findItemsOfCurrentDistributor
(
SupplierItemRequestDto
dto
)
{
try
{
//当前用户
long
userId
=
dto
.
getUserId
();
//查询当前用户最近一次的购买记录
DistributionOrder
distributionOrder
=
distributionOrderDao
.
findLastedByBuyerId
(
userId
);
if
(
distributionOrder
==
null
||
distributionOrder
.
getSellerId
()
==
null
)
{
return
Result
.
success
();
}
long
sellerId
=
distributionOrder
.
getSellerId
();
DistributorShareRecordRequestDto
distributorShareRecordRequestDto
=
new
DistributorShareRecordRequestDto
();
distributorShareRecordRequestDto
.
setDistributorId
(
sellerId
);
List
<
DistributorShareRecord
>
distributorShareRecordList
=
distributorShareRecordDao
.
findMaxPriceRecord
(
distributorShareRecordRequestDto
);
Map
<
Long
,
DistributorShareRecord
>
map
=
distributorShareRecordList
.
stream
().
collect
(
Collectors
.
toMap
(
DistributorShareRecord:
:
getItemId
,
Function
.
identity
(),
(
k1
,
k2
)
->
k1
));
List
<
Long
>
itemIds
=
distributorShareRecordList
.
stream
().
map
(
DistributorShareRecord:
:
getItemId
).
collect
(
Collectors
.
toList
());
SupplierItemRequestDto
searchDto
=
new
SupplierItemRequestDto
();
searchDto
.
setIsOnSale
(
true
);
searchDto
.
setIsDeleted
(
false
);
searchDto
.
setIds
(
itemIds
);
dto
.
setStock
(
0
);
//库存大于0
List
<
SupplierItem
>
supplierItemList
=
supplierItemDao
.
findList
(
dto
);
PageInfo
<
SupplierItem
>
pageInfo
=
new
PageInfo
(
supplierItemList
);
List
<
SupplierItemVo
>
supplierItemVos
=
new
ArrayList
<>();
supplierItemList
.
forEach
(
supplierItem
->
{
SupplierItemVo
supplierItemVo
=
new
SupplierItemVo
();
EntityMapper
.
copyAttribute
(
supplierItem
,
supplierItemVo
);
supplierItemVo
.
setSalePrice
(
PriceUtil
.
convertPriceFenToYuan
(
map
.
get
(
supplierItem
.
getId
()).
getPrice
()));
supplierItemVo
.
setHomePageImage
(
MediaUtil
.
getHomePageImage
(
supplierItem
.
getImages
(),
supplierItem
.
getVideos
()));
supplierItemVo
.
setShareId
(
map
.
get
(
supplierItem
.
getId
()).
getShareId
());
supplierItemVos
.
add
(
supplierItemVo
);
});
return
Result
.
success
(
PageSearchResult
.
of
(
pageInfo
,
supplierItemVos
));
}
catch
(
Exception
e
)
{
logger
.
error
(
"查询最近订单所属分销商的商品列表 error : {}"
,
e
);
}
return
Result
.
failed
();
}
}
}
ch-wx-api/src/main/java/com/wwdz/ch/wx/service/distribution/SupplierItemService.java
View file @
1460ccb6
...
@@ -20,6 +20,13 @@ public interface SupplierItemService {
...
@@ -20,6 +20,13 @@ public interface SupplierItemService {
*/
*/
Result
findDetail
(
SupplierItemRequestDto
dto
);
Result
findDetail
(
SupplierItemRequestDto
dto
);
/**
* 查询用户最近一次购买记录所属分销商的分享商品列表
* @param dto
* @return
*/
Result
findItemsOfCurrentDistributor
(
SupplierItemRequestDto
dto
);
/**
/**
* 扣减商品库存
* 扣减商品库存
...
...
ch-wx-api/src/main/java/com/wwdz/ch/wx/web/distribution/SupplierItemController.java
View file @
1460ccb6
...
@@ -40,4 +40,18 @@ public class SupplierItemController {
...
@@ -40,4 +40,18 @@ public class SupplierItemController {
}
}
/**
* 查询用户最近一次购买的商品所属分销商历史分享的商品列表
* @param dto
* @return
*/
@PostMapping
(
"/findItemsOfCurrentDistributor"
)
public
Result
findItemsOfCurrentDistributor
(
@RequestBody
SupplierItemRequestDto
dto
)
{
logger
.
info
(
"查询分销商历史分享的商品列表,请求参数:{}"
,
JSON
.
toJSONString
(
dto
));
if
(
dto
.
getUserId
()
==
null
)
{
return
Result
.
failed
(
ResultCode
.
PARAM_ERROR
);
}
return
supplierItemService
.
findItemsOfCurrentDistributor
(
dto
);
}
}
}
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