Commit c6de442a authored by shiyu's avatar shiyu

登陆完成后返回是否是藏家

parent 8b146574
......@@ -234,7 +234,7 @@ public class SupplierItemVo implements Entity {
/**
* 商品所属标签id
*/
private List<CollectionBook> bookIdList;
private List bookIdList;
/**
* 商家自购价
......
......@@ -20,6 +20,13 @@ public interface SupplierItemDao {
*/
List<SupplierItem> findList(SupplierItemRequestDto supplierItemRequestDto);
/**
* 查询用户上传的已经售罄的商品
* @param dto
* @return
*/
List<SupplierItem> findSellOutList(SupplierItemRequestDto dto);
/**
* 根据商品id查询
* @param itemId
......
......@@ -24,6 +24,11 @@ public class CollectionBookRequestDto extends BaseRequestDto implements Entity
*/
private Long userId;
/**
* 要查询的用户id
*/
private Long targetUserId;
/**
* 标题
*/
......@@ -63,4 +68,6 @@ public class CollectionBookRequestDto extends BaseRequestDto implements Entity
* 排序信息
*/
private String sortInfo;
private Boolean isMine;
}
......@@ -31,6 +31,11 @@ public class CollectionItemsRelationRequestDto extends BaseRequestDto implements
*/
private Long userId;
/**
* 要查询的用户id
*/
private Long targetUserId;
/**
* 商品id
*/
......
......@@ -42,7 +42,20 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
JdbcHelper.ifPresent(dto.getIsOnSale(), criteria::andIsOnSaleEqualTo);
JdbcHelper.ifPresent(dto.getIsDeleted(), criteria::andIsDeletedEqualTo);
JdbcHelper.ifPresent(dto.getCreatorId(), criteria::andCreatorIdEqualTo);
supplierItemExample.setOrderByClause(" update_time desc");
supplierItemExample.setOrderByClause(" create_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit());
return supplierItemMapper.selectByExampleWithBLOBs(supplierItemExample);
}
@Override
public List<SupplierItem> findSellOutList(SupplierItemRequestDto dto) {
SupplierItemExample supplierItemExample = new SupplierItemExample();
SupplierItemExample.Criteria criteria = supplierItemExample.createCriteria();
criteria.andCreatorIdEqualTo(dto.getCreatorId());
criteria.andStockEqualTo(0);
supplierItemExample.setOrderByClause(" create_time desc");
PageHelper.startPage(dto.getPage(), dto.getLimit());
return supplierItemMapper.selectByExampleWithBLOBs(supplierItemExample);
}
......
package com.wwdz.ch.wx.constant;
import com.wwdz.ch.core.consts.DistributionEnum;
/**
* 藏家默认展示的标签
*/
......@@ -26,5 +28,15 @@ public class CollectionBookConstants {
public String getName() {
return name;
}
public static String getNameByCode(long code) {
for (CollectionBookConstants.DefaultBookEnum defaultBookEnum : CollectionBookConstants.DefaultBookEnum.values()) {
if (code == defaultBookEnum.getId()) {
return defaultBookEnum.getName();
}
}
return null;
}
}
}
......@@ -150,6 +150,9 @@ public class UserServiceImpl implements UserService {
@Autowired
FollowFansRecordDao followFansRecordDao;
@Autowired
CollectorWhiteListDao collectorWhiteListDao;
@Override
public Result finishLogin(UserRequestDto dto) {
......@@ -225,7 +228,12 @@ public class UserServiceImpl implements UserService {
// 缓存用户信息
String userKey = MessageFormat.format(CacheCodeConstants.USER_INFO_KEY, user.getId());
redisUtil.set(userKey, user, 2 * 60 * 60);
//判断用户是否在藏家白名单
if (collectorWhiteListDao.isExisted(dto.getUserId())) {
result.put("isCollector", true);
} else {
result.put("isCollector", false);
}
//返回用户信息
user = cacheUtil.getAppletUserById(dto.getUserId());
result.put("avatar", com.xxdxxs.utils.StringUtils.isEmpty(user.getAvatar()) ? CommConsts.DEFAULT_AVATAR_URL : user.getAvatar());
......
......@@ -10,6 +10,7 @@ import com.wwdz.ch.db.dao.distribution.CollectionShareRecordDao;
import com.wwdz.ch.db.domain.CollectionBookSort;
import com.wwdz.ch.db.domain.distribution.CollectionBook;
import com.wwdz.ch.db.domain.distribution.CollectionShareRecord;
import com.wwdz.ch.db.domain.distribution.DistributorShareRecord;
import com.wwdz.ch.db.dto.request.distribution.CollectionBookRequestDto;
import com.wwdz.ch.db.dto.request.distribution.CollectionItemsRelationRequestDto;
import com.wwdz.ch.wx.constant.CollectionBookConstants;
......@@ -22,6 +23,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@Service
public class CollectionBookServiceImpl implements CollectionBookService {
......@@ -99,7 +102,7 @@ public class CollectionBookServiceImpl implements CollectionBookService {
public Result findList(CollectionBookRequestDto dto) {
try {
List<Map<String, Object>> list = new ArrayList<>();
Long userId = dto.getUserId();
Long userId = dto.getTargetUserId();
String shareRecordId = dto.getShareRecordId();
if (StringUtils.hasLength(shareRecordId)) {
CollectionShareRecord collectionShareRecord = collectionShareRecordDao.findById(shareRecordId);
......@@ -108,6 +111,7 @@ public class CollectionBookServiceImpl implements CollectionBookService {
userId = itemUserId;
}
}
List<CollectionBook> collectionBookList = collectionBookDao.findByUserId(userId);
//查询标签排序记录
CollectionBookSort collectionBookSort = collectionBookSortDao.find(userId);
//没有排序记录,则使用默认排序
......@@ -125,10 +129,8 @@ public class CollectionBookServiceImpl implements CollectionBookService {
Map<String, Object> map = new HashMap<>();
map.put("id", 0);
map.put("title", "我收藏的");
list.add(0, map);
list.add(map);
}
List<CollectionBook> collectionBookList = collectionBookDao.findByUserId(userId);
collectionBookList.forEach(collectionBook -> {
Map<String, Object> map = new HashMap<>();
map.put("id", collectionBook.getId());
......@@ -138,9 +140,27 @@ public class CollectionBookServiceImpl implements CollectionBookService {
} else {
//用户自定义排序
String sortInfo = collectionBookSort.getSortInfo();
Map<Long, String> bookMap = collectionBookList.stream().collect(Collectors.toMap(CollectionBook::getId, CollectionBook::getTitle, (k1, k2) -> k1));
List<String> sortList = Arrays.asList(sortInfo.split(","));
for (String sort : sortList) {
Map<String, Object> map = new HashMap<>();
long sortNum = Long.valueOf(sort);
map.put("id", sortNum);
if (sortNum == 0) {
if (dto.getIsHasExtraLabel()) {
map.put("title", "我收藏的");
} else {
continue;
}
} else if (CollectionBookConstants.DefaultBookEnum.getNameByCode(sortNum) != null) {
map.put("title", CollectionBookConstants.DefaultBookEnum.getNameByCode(sortNum));
} else {
map.put("title", bookMap.get(sortNum));
}
list.add(map);
}
}
return Result.success(list);
} catch (Exception e) {
logger.error("查询收藏册 error: {}", e);
......
......@@ -17,6 +17,7 @@ import com.wwdz.ch.db.dto.request.distribution.CollectionBookRequestDto;
import com.wwdz.ch.db.dto.request.distribution.CollectionItemsRelationRequestDto;
import com.wwdz.ch.db.dto.request.distribution.ItemCollectedRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.wx.constant.CollectionBookConstants;
import com.wwdz.ch.wx.entity.vo.distribution.CollectionBookVo;
import com.wwdz.ch.wx.service.FollowFansRecordService;
import com.wwdz.ch.wx.service.distribution.CollectionBookService;
......@@ -137,21 +138,23 @@ public class CollectionItemsRelationServiceImpl implements CollectionItemsRelati
public Result findList(CollectionItemsRelationRequestDto dto) {
try {
SupplierItemRequestDto supplierItemRequestDto = new SupplierItemRequestDto();
supplierItemRequestDto.setPage(dto.getPage());
supplierItemRequestDto.setLimit(dto.getLimit());
List<SupplierItem> supplierItemList = new ArrayList<>();
PageInfo pageInfo = null;
Long targetUserId = dto.getTargetUserId();
//标签id为空则查询所有的藏品
if (dto.getCollectionBookId() == null) {
Long userId = dto.getUserId();
if (StringUtils.hasLength(dto.getShareRecordId())) {
CollectionShareRecord collectionShareRecord = collectionShareRecordDao.findById(dto.getShareRecordId());
long itemUserId = collectionShareRecord.getItemUserId();
if (itemUserId != userId) {
userId = itemUserId;
if (itemUserId != targetUserId) {
targetUserId = itemUserId;
}
}
//查询所有的上传藏品
supplierItemRequestDto.setType(DistributionEnum.DistributionTypeEnum.COLLECT.getCode());
supplierItemRequestDto.setCreatorId(userId);
supplierItemRequestDto.setCreatorId(targetUserId);
supplierItemRequestDto.setIsDeleted(false);
supplierItemList = supplierItemDao.findList(supplierItemRequestDto);
pageInfo = new PageInfo<>(supplierItemList);
......@@ -169,6 +172,18 @@ public class CollectionItemsRelationServiceImpl implements CollectionItemsRelati
supplierItemRequestDto.setIsDeleted(false);
supplierItemList = supplierItemDao.findList(supplierItemRequestDto);
}
} else if (dto.getCollectionBookId() == CollectionBookConstants.DefaultBookEnum.SALEING.getId()) {
//换藏中, 表示上架售卖中
supplierItemRequestDto.setCreatorId(targetUserId);
supplierItemRequestDto.setIsOnSale(true);
supplierItemRequestDto.setIsDeleted(false);
supplierItemList = supplierItemDao.findList(supplierItemRequestDto);
} else if (dto.getCollectionBookId() == CollectionBookConstants.DefaultBookEnum.FINISHED.getId()) {
//已结缘, 表示卖完了
supplierItemRequestDto.setCreatorId(targetUserId);
supplierItemRequestDto.setStock(0);
supplierItemList = supplierItemDao.findSellOutList(supplierItemRequestDto);
} else {
//查询对应标签下的商品
CollectionItemsRelationRequestDto collectionItemsRelationRequestDto = new CollectionItemsRelationRequestDto();
......
......@@ -141,6 +141,42 @@ public class SelfPageServiceImpl implements SelfPageService {
}
@Override
public Result getCollectorPageInfo(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.setAvatarUrl(cacheUtil.getAppletUsers(dto.getUserId()).getAvatar());
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.setOrderNumForDistributor(distributionOrderNumList);
/* //分销商自己购买的订单
List<DistributionOrderNum> selfBuyNumList = distributionOrderDao.countGroupByStateForUser(dto.getUserId());
selfBuyNumList.forEach(s -> {
s.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(s.getState()));
});
selfPageInfoVo.setOrderNum(selfBuyNumList);*/
return Result.success(selfPageInfoVo);
} catch (Exception e) {
logger.error("查询分销商个人主页失败 error : {}", e);
}
return Result.failed();
}
@Override
public Result getMyOrders(SelfPageRequestDto dto) {
try {
......
......@@ -12,15 +12,18 @@ import com.wwdz.ch.core.util.CacheUtil;
import com.wwdz.ch.core.util.MediaUtil;
import com.wwdz.ch.core.util.PriceUtil;
import com.wwdz.ch.core.util.StringUtil;
import com.wwdz.ch.db.dao.CollectionBookSortDao;
import com.wwdz.ch.db.dao.FollowFansRecordDao;
import com.wwdz.ch.db.dao.SwitchDao;
import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.CollectionBookSort;
import com.wwdz.ch.db.domain.FollowFansRecord;
import com.wwdz.ch.db.domain.Switch;
import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.*;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.wwdz.ch.wx.constant.CollectionBookConstants;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionDetailVo;
import com.wwdz.ch.wx.entity.vo.distribution.AuctionRecordRowVo;
import com.wwdz.ch.wx.service.FollowFansRecordService;
......@@ -116,6 +119,9 @@ public class SupplierItemServiceImpl implements SupplierItemService {
@Autowired
CollectionBookDao collectionBookDao;
@Autowired
CollectionBookSortDao collectionBookSortDao;
@Override
......@@ -571,10 +577,10 @@ public class SupplierItemServiceImpl implements SupplierItemService {
supplierItem.setSort(1);
supplierItem.setBuyLimitNum(1);
supplierItem.setStock(1);
supplierItem.setIsOnSale(true);
Date now = new Date();
supplierItem.setCreateTime(now);
supplierItem.setUpdateTime(now);
supplierItem.setIsOnSale(true);
supplierItem.setIsDeleted(false);
supplierItem.setCreatorId(dto.getUserId());
supplierItem.setType(DistributionEnum.DistributionTypeEnum.COLLECT.getCode());
......@@ -709,7 +715,32 @@ public class SupplierItemServiceImpl implements SupplierItemService {
CollectionBookRequestDto collectionBookRequestDto = new CollectionBookRequestDto();
collectionBookRequestDto.setIds(collectBookIds);
List<CollectionBook> collectionBookList = collectionBookDao.find(collectionBookRequestDto);
//用户自定义排序
//查询标签排序记录
List<Map<String, Object>> list = new ArrayList<>();
CollectionBookSort collectionBookSort = collectionBookSortDao.find(userId);
if (collectionBookSort == null) {
supplierItemVo.setBookIdList(collectionBookList);
} else {
String sortInfo = collectionBookSort.getSortInfo();
Map<Long, String> bookMap = collectionBookList.stream().collect(Collectors.toMap(CollectionBook::getId, CollectionBook::getTitle, (k1, k2) -> k1));
List<String> sortList = Arrays.asList(sortInfo.split(","));
for (String sort : sortList) {
Map<String, Object> map = new HashMap<>();
long sortNum = Long.valueOf(sort);
if (sortNum == 0 || CollectionBookConstants.DefaultBookEnum.getNameByCode(sortNum) != null) {
continue;
}
if (bookMap.get(sortNum) != null) {
map.put("id", sortNum);
map.put("title", bookMap.get(sortNum));
list.add(map);
}
}
supplierItemVo.setBookIdList(list);
}
return Result.success(supplierItemVo);
} catch (Exception e) {
logger.error("查询上传的藏品详情 error : {}", e);
......
......@@ -22,6 +22,13 @@ public interface SelfPageService {
*/
Result getUserPageInfo(SelfPageRequestDto dto);
/**
* 查询藏家个人主页信息
* @param dto
* @return
*/
Result getCollectorPageInfo(SelfPageRequestDto dto);
/**
* 展示我的订单数量
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment