Commit 2f5482c4 authored by shiyu's avatar shiyu

代码整合4

parent ecddbd57
...@@ -40,6 +40,11 @@ public interface CommConsts { ...@@ -40,6 +40,11 @@ public interface CommConsts {
public static final Long SYSTEM_ACCOUNT = 8888888888L; public static final Long SYSTEM_ACCOUNT = 8888888888L;
/**
* 默认展示的卖家,逍遥的id
*/
public static final Long SYSTEM_SELLER = 291997L;
/** /**
* 系统默认用户头像URL * 系统默认用户头像URL
*/ */
......
...@@ -211,6 +211,11 @@ public class SupplierItemVo implements Entity { ...@@ -211,6 +211,11 @@ public class SupplierItemVo implements Entity {
*/ */
private String creatorAvatar; private String creatorAvatar;
/**
* 藏品上传人简介
*/
private String creatorProfile;
/** /**
* 收藏数 * 收藏数
*/ */
......
...@@ -64,5 +64,4 @@ public interface FollowFansRecordDao { ...@@ -64,5 +64,4 @@ public interface FollowFansRecordDao {
*/ */
List<FollowFansRecord> findDistinctFans(FollowFansRecordRequestDto dto); List<FollowFansRecord> findDistinctFans(FollowFansRecordRequestDto dto);
} }
...@@ -142,21 +142,20 @@ public interface DistributionOrderDao { ...@@ -142,21 +142,20 @@ public interface DistributionOrderDao {
*/ */
List<DistributionOrderNum> countGroupByStateForDistributor(long distributorId); List<DistributionOrderNum> countGroupByStateForDistributor(long distributorId);
/** /**
* 统计用户各状态的订单数量 * 统计藏家各状态的订单数量
* @param userId * @param userId
* @return * @return
*/ */
List<DistributionOrderNum> countGroupByStateForUser(long userId); List<DistributionOrderNum> countGroupByStateForCollector(long userId);
/** /**
* 统计藏家各状态的订单数量 * 统计用户各状态的订单数量
* @param userId * @param userId
* @return * @return
*/ */
List<DistributionOrderNum> countGroupByStateForCollector(long userId); List<DistributionOrderNum> countGroupByStateForUser(long userId);
boolean isBuyItem(long buyerId, long itemId); boolean isBuyItem(long buyerId, long itemId);
......
package com.wwdz.ch.db.domain.distribution; package com.wwdz.ch.db.domain.distribution;
import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
......
...@@ -36,6 +36,9 @@ public class FollowFansRecordRequestDto extends BaseRequestDto implements Entity ...@@ -36,6 +36,9 @@ public class FollowFansRecordRequestDto extends BaseRequestDto implements Entity
*/ */
private Long followerId; private Long followerId;
/**
* 被关注人id集合
*/
private List<Long> followerIdList; private List<Long> followerIdList;
/** /**
......
...@@ -166,6 +166,5 @@ public class SupplierItemDaoImpl implements SupplierItemDao { ...@@ -166,6 +166,5 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
criteria.andTypeEqualTo(supplierItemRequestDto.getType()); criteria.andTypeEqualTo(supplierItemRequestDto.getType());
criteria.andIsDeletedEqualTo(false); criteria.andIsDeletedEqualTo(false);
return supplierItemMapper.selectByExampleSelective(supplierItemExample, SupplierItem.Column.creatorId); return supplierItemMapper.selectByExampleSelective(supplierItemExample, SupplierItem.Column.creatorId);
} }
} }
...@@ -77,12 +77,11 @@ public interface DistributionOrderMapper { ...@@ -77,12 +77,11 @@ public interface DistributionOrderMapper {
/** /**
* 统计分销商各状态的订单数量 * 统计分销商各状态的订单数量
* @param userId * @param distributorId
* @return * @return
*/ */
List<DistributionOrderNum> countGroupByStateForCollector(@Param("sellerId")Long userId); List<DistributionOrderNum> countGroupByStateForCollector(@Param("sellerId")Long userId);
/** /**
* 介绍人产生的订单金额总和 * 介绍人产生的订单金额总和
* @param introducerId * @param introducerId
......
package com.wwdz.ch.wx.entity;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class CollectorNoticeMsg implements Entity {
private String openId;
private String templetId;
/**
* 分销订单号
*/
private String distributionOrderId;
/**
* 介绍人
*/
private String introducerName;
/**
* 创建时间
*/
private Date createTime;
/**
* 消息内容
*/
private String content;
}
...@@ -190,4 +190,10 @@ public class DistributionOrderDetailVo implements Entity { ...@@ -190,4 +190,10 @@ public class DistributionOrderDetailVo implements Entity {
private String typeName; private String typeName;
/**
* 分佣比例
*/
private String introduceRebate;
} }
...@@ -27,6 +27,7 @@ import com.wwdz.ch.wx.entity.SignedNoticeMsg; ...@@ -27,6 +27,7 @@ import com.wwdz.ch.wx.entity.SignedNoticeMsg;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderDetailVo;
import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo; import com.wwdz.ch.wx.entity.vo.distribution.DistributionOrderVo;
import com.wwdz.ch.wx.service.distribution.DistributionOrderService; import com.wwdz.ch.wx.service.distribution.DistributionOrderService;
import com.wwdz.ch.wx.service.distribution.DistributorProfitService;
import com.wwdz.ch.wx.service.distribution.SendMsgService; import com.wwdz.ch.wx.service.distribution.SendMsgService;
import com.xxdxxs.utils.DateUtils; import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper; import com.xxdxxs.utils.EntityMapper;
...@@ -110,6 +111,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -110,6 +111,9 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Autowired @Autowired
FollowFansRecordDao followFansRecordDao; FollowFansRecordDao followFansRecordDao;
@Autowired
DistributorProfitService distributorProfitService;
@Transactional @Transactional
@Override @Override
public Result createDistributionOrder(DistributionOrderRequestDto dto) { public Result createDistributionOrder(DistributionOrderRequestDto dto) {
...@@ -376,6 +380,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -376,6 +380,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
@Override @Override
@Transactional
public Result createCollectionOrder(DistributionOrderRequestDto dto) { public Result createCollectionOrder(DistributionOrderRequestDto dto) {
try { try {
Long itemId = dto.getItemId(); Long itemId = dto.getItemId();
...@@ -419,8 +424,13 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -419,8 +424,13 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
followFansRecordRequestDto.setFollowerId(supplierItem.getCreatorId()); followFansRecordRequestDto.setFollowerId(supplierItem.getCreatorId());
followFansRecordRequestDto.setFansId(dto.getBuyerId()); followFansRecordRequestDto.setFansId(dto.getBuyerId());
FollowFansRecord followFansRecord = followFansRecordDao.findOne(followFansRecordRequestDto); FollowFansRecord followFansRecord = followFansRecordDao.findOne(followFansRecordRequestDto);
long introducerId;
if (followFansRecord == null) {
introducerId = CommConsts.SYSTEM_SELLER;
} else {
//把介绍人作为该订单的分享链接字段的值 //把介绍人作为该订单的分享链接字段的值
long introducerId = followFansRecord.getIntroducerId(); introducerId = followFansRecord.getIntroducerId();
}
DistributionOrder distributionOrder = new DistributionOrder(); DistributionOrder distributionOrder = new DistributionOrder();
distributionOrder.setItemId(itemId); distributionOrder.setItemId(itemId);
distributionOrder.setItemNum(dto.getItemNum()); distributionOrder.setItemNum(dto.getItemNum());
...@@ -451,7 +461,8 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -451,7 +461,8 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
//介绍人分佣,自己推荐获得的订单无需计算介绍佣金 //介绍人分佣,自己推荐获得的订单无需计算介绍佣金
double introduceCost = 0; double introduceCost = 0;
if (supplierItem.getCreatorId() != introducerId) { if (supplierItem.getCreatorId() != introducerId) {
introduceCost = distributionOrder.getAmount().doubleValue() * 0.03; double rebate = distributorProfitService.getIntroduceRebate(followFansRecordRequestDto);
introduceCost = distributionOrder.getAmount().doubleValue() * rebate;
} }
distributorProfit.setDistributionOrderId(distributionOrderId); distributorProfit.setDistributionOrderId(distributionOrderId);
distributorProfit.setDistributorId(distributionOrder.getSellerId()); distributorProfit.setDistributorId(distributionOrder.getSellerId());
...@@ -940,6 +951,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -940,6 +951,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
} }
} }
//查询分销订单 //查询分销订单
dto.setType(DistributionEnum.DistributionTypeEnum.COLLECT.getCode());
List<DistributionOrder> distributionOrderList = distributionOrderDao.findByPage(dto); List<DistributionOrder> distributionOrderList = distributionOrderDao.findByPage(dto);
PageInfo pageInfo = new PageInfo<>(distributionOrderList); PageInfo pageInfo = new PageInfo<>(distributionOrderList);
for (DistributionOrder distributionOrder : distributionOrderList) { for (DistributionOrder distributionOrder : distributionOrderList) {
...@@ -993,6 +1005,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService { ...@@ -993,6 +1005,12 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
DistributorProfit distributorProfit = distributorProfitDao.findByIdOfDistributor(dto.getDistributionOrderId(), distributionOrder.getSellerId()); DistributorProfit distributorProfit = distributorProfitDao.findByIdOfDistributor(dto.getDistributionOrderId(), distributionOrder.getSellerId());
distributionOrderDetailVo.setChannelCost(PriceUtil.convertPriceFenToYuan(distributorProfit.getChannelCost())); distributionOrderDetailVo.setChannelCost(PriceUtil.convertPriceFenToYuan(distributorProfit.getChannelCost()));
distributionOrderDetailVo.setIntroduceCost(PriceUtil.convertPriceFenToYuan(distributorProfit.getIntroduceCost())); distributionOrderDetailVo.setIntroduceCost(PriceUtil.convertPriceFenToYuan(distributorProfit.getIntroduceCost()));
FollowFansRecordRequestDto followFansRecordRequestDto = new FollowFansRecordRequestDto();
followFansRecordRequestDto.setFollowerId(supplierItem.getCreatorId());
followFansRecordRequestDto.setFansId(dto.getBuyerId());
double rebate = distributorProfitService.getIntroduceRebate(followFansRecordRequestDto);
distributionOrderDetailVo.setIntroduceRebate(PriceUtil.convertPriceFromStr(String.valueOf(rebate)).toString());
distributionOrderDetailVo.setProfit(PriceUtil.convertPriceFenToYuan(distributorProfit.getProfit())); distributionOrderDetailVo.setProfit(PriceUtil.convertPriceFenToYuan(distributorProfit.getProfit()));
//一口价支付截止时间为下单半小时后,竞拍为24小时 //一口价支付截止时间为下单半小时后,竞拍为24小时
......
package com.wwdz.ch.wx.impl.distribution;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.PriceUtil;
import com.wwdz.ch.db.dao.FollowFansRecordDao;
import com.wwdz.ch.db.dao.distribution.DistributorProfitDao;
import com.wwdz.ch.db.domain.FollowFansRecord;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.wx.service.distribution.DistributorProfitService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.Instant;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Service
public class DistributorProfitServiceImpl implements DistributorProfitService {
private static final Logger logger = LoggerFactory.getLogger(DistributorProfitServiceImpl.class);
@Autowired
DistributorProfitDao distributorProfitDao;
@Autowired
FollowFansRecordDao followFansRecordDao;
@Override
public Double getIntroduceRebate(FollowFansRecordRequestDto dto) {
double rebate = 0;
try {
FollowFansRecord followFansRecord = followFansRecordDao.findOne(dto);
if (followFansRecord == null) {
return rebate;
}
Date createTime = followFansRecord.getCreateTime();
Date now = new Date();
int year = 0;
for (int i = 1; i <= 3; i++) {
Calendar cal = Calendar.getInstance();
cal.setTime(createTime);
cal.add(Calendar.YEAR, i);
Date newDate = cal.getTime();
if (newDate.after(now)) {
year = i;
break;
}
}
if (year == 1) {
rebate = 0.03;
} else if (year == 2){
rebate = 0.03;
} else if (year == 3) {
rebate = 0.01;
}
return rebate;
} catch (Exception e) {
logger.error("获取介绍人当前的佣金比例 error : {}", e);
}
return rebate;
}
@Override
public Result getExpectAmount(SupplierItemRequestDto supplierItemRequestDto) {
try {
Long itemPrice = PriceUtil.convertPriceFromStr(supplierItemRequestDto.getDistributionPrice());
long channelServiceCost = PriceUtil.convertPriceFromStr(PriceUtil.convertDoubleToString(itemPrice.doubleValue() * 0.05));
long introduceCost = PriceUtil.convertPriceFromStr(PriceUtil.convertDoubleToString(itemPrice.doubleValue() * 0.03));
long profit = itemPrice - channelServiceCost - introduceCost;
Map<String, String> map = new HashMap<>();
map.put("channelServiceCost", PriceUtil.convertPriceFenToYuan(channelServiceCost));
map.put("introduceCost", PriceUtil.convertPriceFenToYuan(introduceCost));
map.put("profit", PriceUtil.convertPriceFenToYuan(profit));
return Result.success(map);
} catch (Exception e) {
logger.error("获取预计分佣金额 error : {}", e);
}
return Result.failed();
}
}
...@@ -146,7 +146,6 @@ public class SelfPageServiceImpl implements SelfPageService { ...@@ -146,7 +146,6 @@ public class SelfPageServiceImpl implements SelfPageService {
@Override @Override
public Result getCollectorPageInfo(SelfPageRequestDto dto) { public Result getCollectorPageInfo(SelfPageRequestDto dto) {
try { try {
...@@ -156,7 +155,7 @@ public class SelfPageServiceImpl implements SelfPageService { ...@@ -156,7 +155,7 @@ public class SelfPageServiceImpl implements SelfPageService {
selfPageInfoVo.setAvatarUrl(cacheUtil.appletUserInfoCache.get(dto.getUserId()).get().getAvatar()); selfPageInfoVo.setAvatarUrl(cacheUtil.appletUserInfoCache.get(dto.getUserId()).get().getAvatar());
selfPageInfoVo.setProfile(cacheUtil.appletUserInfoCache.get(dto.getUserId()).get().getProfile()); selfPageInfoVo.setProfile(cacheUtil.appletUserInfoCache.get(dto.getUserId()).get().getProfile());
selfPageInfoVo.setBackground(cacheUtil.appletUserInfoCache.get(dto.getUserId()).get().getBackground()); selfPageInfoVo.setBackground(cacheUtil.appletUserInfoCache.get(dto.getUserId()).get().getBackground());
List<DistributionOrderNum> distributionOrderNumList = distributionOrderDao.countGroupByStateForCollector(dto.getUserId()); List<DistributionOrderNum> distributionOrderNumList = distributionOrderDao.countGroupByStateForDistributor(dto.getUserId());
distributionOrderNumList.forEach(distributionOrderNum -> { distributionOrderNumList.forEach(distributionOrderNum -> {
distributionOrderNum.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrderNum.getState())); distributionOrderNum.setStateName(DistributionEnum.DistributionOrderStateEnum.getNameByCode(distributionOrderNum.getState()));
}); });
......
...@@ -540,6 +540,7 @@ public class SendMsgServiceImpl implements SendMsgService { ...@@ -540,6 +540,7 @@ public class SendMsgServiceImpl implements SendMsgService {
return Result.failed(); return Result.failed();
} }
@Override @Override
public String getOpenIdByUserId(long userId) { public String getOpenIdByUserId(long userId) {
//先查询寄售单用户信息 //先查询寄售单用户信息
...@@ -556,7 +557,6 @@ public class SendMsgServiceImpl implements SendMsgService { ...@@ -556,7 +557,6 @@ public class SendMsgServiceImpl implements SendMsgService {
} }
/** /**
* 商品上新通知 * 商品上新通知
* @param auctionOfferNoticeMsg * @param auctionOfferNoticeMsg
...@@ -703,4 +703,9 @@ public class SendMsgServiceImpl implements SendMsgService { ...@@ -703,4 +703,9 @@ public class SendMsgServiceImpl implements SendMsgService {
} }
return Result.failed(); return Result.failed();
} }
@Override
public Result newOrderNoticeMsg(FollowFansMsg followFansMsg) {
return null;
}
} }
...@@ -11,7 +11,6 @@ import com.wwdz.ch.core.type.Result; ...@@ -11,7 +11,6 @@ import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CacheUtil; import com.wwdz.ch.core.util.CacheUtil;
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.core.util.StringUtil;
import com.wwdz.ch.db.dao.CollectionBookSortDao; import com.wwdz.ch.db.dao.CollectionBookSortDao;
import com.wwdz.ch.db.dao.FollowFansRecordDao; import com.wwdz.ch.db.dao.FollowFansRecordDao;
import com.wwdz.ch.db.dao.SwitchDao; import com.wwdz.ch.db.dao.SwitchDao;
...@@ -19,6 +18,7 @@ import com.wwdz.ch.db.dao.distribution.*; ...@@ -19,6 +18,7 @@ import com.wwdz.ch.db.dao.distribution.*;
import com.wwdz.ch.db.domain.CollectionBookSort; import com.wwdz.ch.db.domain.CollectionBookSort;
import com.wwdz.ch.db.domain.FollowFansRecord; import com.wwdz.ch.db.domain.FollowFansRecord;
import com.wwdz.ch.db.domain.Switch; import com.wwdz.ch.db.domain.Switch;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.distribution.*; import com.wwdz.ch.db.domain.distribution.*;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto; import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.*; import com.wwdz.ch.db.dto.request.distribution.*;
...@@ -60,8 +60,6 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -60,8 +60,6 @@ public class SupplierItemServiceImpl implements SupplierItemService {
private static final Logger logger = LoggerFactory.getLogger(SupplierItemServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(SupplierItemServiceImpl.class);
private final static Long SYSTEM_ACCOUNT = 8888888888L;
@Autowired @Autowired
SupplierItemDao supplierItemDao; SupplierItemDao supplierItemDao;
...@@ -188,7 +186,7 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -188,7 +186,7 @@ public class SupplierItemServiceImpl implements SupplierItemService {
if (StringUtils.isEmpty(shareRecordId) && dto.getId() == null) { if (StringUtils.isEmpty(shareRecordId) && dto.getId() == null) {
return Result.failed("商品信息为空"); return Result.failed("商品信息为空");
} else if (StringUtils.hasLength(shareRecordId)) { } else if (StringUtils.hasLength(shareRecordId)) {
if (!shareRecordId.contains(SYSTEM_ACCOUNT.toString())) { if (!shareRecordId.contains(CommConsts.SYSTEM_ACCOUNT.toString())) {
distributorShareRecord = distributorShareRecordDao.findById(shareRecordId); distributorShareRecord = distributorShareRecordDao.findById(shareRecordId);
if (distributorShareRecord == null || !distributorShareRecord.getEnabled()) { if (distributorShareRecord == null || !distributorShareRecord.getEnabled()) {
return Result.failed("该商品已下架"); return Result.failed("该商品已下架");
...@@ -575,9 +573,9 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -575,9 +573,9 @@ public class SupplierItemServiceImpl implements SupplierItemService {
supplierItem.setVideos(getVideosImage(dto.getVideos())); supplierItem.setVideos(getVideosImage(dto.getVideos()));
} }
supplierItem.setSort(1); supplierItem.setSort(1);
supplierItem.setBuyLimitNum(1); supplierItem.setBuyLimitNum(-1);
supplierItem.setStock(1); supplierItem.setStock(dto.getStock());
supplierItem.setIsOnSale(true); supplierItem.setIsOnSale(dto.getIsOnSale());
Date now = new Date(); Date now = new Date();
supplierItem.setCreateTime(now); supplierItem.setCreateTime(now);
supplierItem.setUpdateTime(now); supplierItem.setUpdateTime(now);
...@@ -721,9 +719,11 @@ public class SupplierItemServiceImpl implements SupplierItemService { ...@@ -721,9 +719,11 @@ public class SupplierItemServiceImpl implements SupplierItemService {
supplierItemVo.setItemId(supplierItem.getId()); supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice())); supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice()));
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos())); supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
supplierItemVo.setCreatorName(cacheUtil.getAppletUserNameById(supplierItem.getCreatorId())); User creator = cacheUtil.appletUserInfoCache.get(supplierItem.getCreatorId()).get();
String avatar = cacheUtil.getAppletUserById(supplierItem.getCreatorId()).getAvatar(); supplierItemVo.setCreatorName(creator.getNickname());
String avatar = creator.getAvatar();
supplierItemVo.setCreatorAvatar(StringUtils.isEmpty(avatar) ? CommConsts.DEFAULT_AVATAR_URL : avatar); supplierItemVo.setCreatorAvatar(StringUtils.isEmpty(avatar) ? CommConsts.DEFAULT_AVATAR_URL : avatar);
supplierItemVo.setCreatorProfile(creator.getProfile());
//查询藏品被收藏的次数 //查询藏品被收藏的次数
long countNum = itemCollectedRecordDao.countByItemId(itemId); long countNum = itemCollectedRecordDao.countByItemId(itemId);
supplierItemVo.setCollectedNum((int) countNum); supplierItemVo.setCollectedNum((int) countNum);
......
...@@ -63,7 +63,7 @@ public class NewItemNoticeJob { ...@@ -63,7 +63,7 @@ public class NewItemNoticeJob {
/** /**
* 每天晚上八点执行一次 * 每天晚上八点执行一次
*/ */
@Scheduled(cron = "0 0 20 * * ?") // @Scheduled(cron = "0 0 20 * * ?")
public void execute() { public void execute() {
RLock lock = redissonClient.getLock(NEW_ITEM_NOTICE_KEY); RLock lock = redissonClient.getLock(NEW_ITEM_NOTICE_KEY);
if (!lock.tryLock()) { if (!lock.tryLock()) {
......
package com.wwdz.ch.wx.service.distribution;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
public interface DistributorProfitService {
/**
* 获取介绍人当前的佣金比例
* @param dto
* @return
*/
Double getIntroduceRebate(FollowFansRecordRequestDto dto);
/**
* 获取预计分佣金额
* @param dto
* @return
*/
Result getExpectAmount(SupplierItemRequestDto supplierItemRequestDto);
}
...@@ -57,7 +57,7 @@ public interface SendMsgService { ...@@ -57,7 +57,7 @@ public interface SendMsgService {
* @param auctionOfferNoticeMsg * @param auctionOfferNoticeMsg
* @return * @return
*/ */
Result auctionEndMsg( AuctionOfferNoticeMsg auctionOfferNoticeMsg); Result auctionEndMsg(AuctionOfferNoticeMsg auctionOfferNoticeMsg);
/** /**
...@@ -74,5 +74,12 @@ public interface SendMsgService { ...@@ -74,5 +74,12 @@ public interface SendMsgService {
Result followNoticeMsg(FollowFansMsg followFansMsg); Result followNoticeMsg(FollowFansMsg followFansMsg);
/**
* 通知被关注者
* @return
*/
Result newOrderNoticeMsg(FollowFansMsg followFansMsg);
String getOpenIdByUserId(long userId); String getOpenIdByUserId(long userId);
} }
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode; import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto; import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.db.dto.request.distribution.DistributionOrderRequestDto;
import com.wwdz.ch.wx.entity.request.QueryPriceRequestDto; import com.wwdz.ch.wx.entity.request.QueryPriceRequestDto;
import com.wwdz.ch.wx.service.FollowFansRecordService; import com.wwdz.ch.wx.service.FollowFansRecordService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -109,4 +110,25 @@ public class FollowFansRecordController { ...@@ -109,4 +110,25 @@ public class FollowFansRecordController {
} }
@ApiOperation(value = "查询分佣明细")
@PostMapping("/introduceAmountDetail")
public Result introduceAmountDetail(@RequestBody FollowFansRecordRequestDto dto) {
logger.info("查询分佣明细,请求参数:{}", JSON.toJSONString(dto));
if (dto.getFollowerId() == null || dto.getIntroducerId() == null) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return followFansRecordService.introduceAmountDetail(dto);
}
@ApiOperation(value = "查询分佣订单明细")
@PostMapping("/introduceOrderDetail")
public Result introduceOrderDetail(@RequestBody DistributionOrderRequestDto dto) {
logger.info("查询分佣订单明细,请求参数:{}", JSON.toJSONString(dto));
if (StringUtils.isEmpty(dto.getDistributionOrderId())) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return followFansRecordService.introduceOrderDetail(dto);
}
} }
...@@ -234,6 +234,35 @@ public class DistributionOrderController { ...@@ -234,6 +234,35 @@ public class DistributionOrderController {
} }
@ApiOperation(value = "藏馆订单列表查询")
@PostMapping("/findOrderOfCollector")
public Result findOrderOfCollector(@RequestBody DistributionOrderRequestDto dto) {
logger.info("藏馆订单列表查询,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("sellerId", "卖家id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(validator.getErrorInfo());
}
return distributionOrderService.findOrderOfCollector(dto);
}
@ApiOperation(value = "查询藏馆订单详情")
@PostMapping("/findOrderDetailOfCollector")
public Result findOrderDetailOfCollector(@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.findOrderDetailOfCollector(dto);
}
@ApiOperation(value = "订单退款") @ApiOperation(value = "订单退款")
@PostMapping("/refund") @PostMapping("/refund")
public Result refund(@RequestBody DistributionOrderRequestDto dto) { public Result refund(@RequestBody DistributionOrderRequestDto dto) {
......
...@@ -2,7 +2,6 @@ package com.wwdz.ch.wx.web.distribution; ...@@ -2,7 +2,6 @@ package com.wwdz.ch.wx.web.distribution;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.type.Result; 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.entity.request.SelfPageRequestDto;
import com.wwdz.ch.wx.service.distribution.SelfPageService; import com.wwdz.ch.wx.service.distribution.SelfPageService;
import com.xxdxxs.service.FormHandler; import com.xxdxxs.service.FormHandler;
...@@ -13,7 +12,6 @@ import org.slf4j.LoggerFactory; ...@@ -13,7 +12,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.ws.rs.GET;
/** /**
* 个人主页 * 个人主页
...@@ -56,6 +54,21 @@ public class SelfPageController { ...@@ -56,6 +54,21 @@ public class SelfPageController {
} }
@ApiOperation(value = "查询藏家个人主页信息")
@PostMapping("/getCollectorPageInfo")
public Result getCollectorPageInfo(@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.getCollectorPageInfo(dto);
}
@ApiOperation(value = "分销商查询自己购买的订单信息") @ApiOperation(value = "分销商查询自己购买的订单信息")
@PostMapping("/getMyOrders") @PostMapping("/getMyOrders")
public Result getMyOrders(@RequestBody SelfPageRequestDto dto) { public Result getMyOrders(@RequestBody SelfPageRequestDto dto) {
......
...@@ -5,6 +5,7 @@ import com.wwdz.ch.core.consts.ResultCode; ...@@ -5,6 +5,7 @@ import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto; import com.wwdz.ch.db.dto.request.distribution.SupplierItemRequestDto;
import com.wwdz.ch.wx.entity.request.MessageRequestDto; import com.wwdz.ch.wx.entity.request.MessageRequestDto;
import com.wwdz.ch.wx.service.distribution.DistributorProfitService;
import com.wwdz.ch.wx.service.distribution.SupplierItemService; import com.wwdz.ch.wx.service.distribution.SupplierItemService;
import com.xxdxxs.service.FormHandler; import com.xxdxxs.service.FormHandler;
import com.xxdxxs.utils.StringUtils; import com.xxdxxs.utils.StringUtils;
...@@ -27,6 +28,9 @@ public class SupplierItemController { ...@@ -27,6 +28,9 @@ public class SupplierItemController {
@Autowired @Autowired
SupplierItemService supplierItemService; SupplierItemService supplierItemService;
@Autowired
DistributorProfitService distributorProfitService;
@ApiOperation(value = "查询供货商品列表") @ApiOperation(value = "查询供货商品列表")
@PostMapping("/findList") @PostMapping("/findList")
...@@ -138,4 +142,12 @@ public class SupplierItemController { ...@@ -138,4 +142,12 @@ public class SupplierItemController {
logger.info("查询主页列表,请求参数:{}", JSON.toJSONString(dto)); logger.info("查询主页列表,请求参数:{}", JSON.toJSONString(dto));
return supplierItemService.findHomePage(dto); return supplierItemService.findHomePage(dto);
} }
@ApiOperation(value = "获取商品预计分佣金额")
@PostMapping("/getExpectAmount")
public Result getExpectAmount(@RequestBody SupplierItemRequestDto dto) {
logger.info("获取商品预计分佣金额,请求参数:{}", JSON.toJSONString(dto));
return distributorProfitService.getExpectAmount(dto);
}
} }
...@@ -57,6 +57,8 @@ public class ChatApiTest { ...@@ -57,6 +57,8 @@ public class ChatApiTest {
@Test @Test
public void chatWithModel() { public void chatWithModel() {
String question = "什么是站洋,请回答钱币相关的内容"; String question = "什么是站洋,请回答钱币相关的内容";
chatApi.chatWithModel(question); chatApi.chatWithModel(question);
} }
......
package com.wwdz.ch.wx.impl; package com.wwdz.ch.wx.impl;
import com.alibaba.dubbo.config.annotation.Reference; import com.alibaba.dubbo.config.annotation.Reference;
import com.wwdz.ch.db.dao.FollowFansRecordDao;
import com.wwdz.ch.db.domain.FollowFansRecord;
import com.wwdz.ch.db.dto.request.FollowFansRecordRequestDto;
import com.wwdz.ch.wx.Application; import com.wwdz.ch.wx.Application;
import com.wwdz.mall.common.vo.response.CloudServerResponse; import com.wwdz.mall.common.vo.response.CloudServerResponse;
...@@ -14,9 +17,14 @@ import org.junit.Test; ...@@ -14,9 +17,14 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@SpringBootTest(classes= Application.class) @SpringBootTest(classes= Application.class)
@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@EnableDubbo(scanBasePackages = {"com.wwdz.ch.wx"}) @EnableDubbo(scanBasePackages = {"com.wwdz.ch.wx"})
...@@ -27,14 +35,24 @@ public class ShopServiceImplTest { ...@@ -27,14 +35,24 @@ public class ShopServiceImplTest {
@Reference @Reference
ShopReadService shopReadService; ShopReadService shopReadService;
@Autowired
FollowFansRecordDao followFansRecordDao;
@Test @Test
public void test() { public void test() {
long userId = 61074671; FollowFansRecordRequestDto followFansRecordRequestDto = new FollowFansRecordRequestDto();
List<Long> creatorIds = Arrays.asList(61074146L, 61091901L, 42192256L, 291997L);
followFansRecordRequestDto.setFollowerIdList(creatorIds);
List<FollowFansRecord> followFansRecordList = followFansRecordDao.findDistinctFans(followFansRecordRequestDto);
logger.info("个数 = {}", followFansRecordList.size());
logger.info("followFansRecordList = {}", followFansRecordList);
/* long userId = 61074671;
ShopQueryOption option = new ShopQueryOption(); ShopQueryOption option = new ShopQueryOption();
option.setUserId(userId); option.setUserId(userId);
CloudServerResponse<ShopDTO> cloudServerResponse = shopReadService.getShopByUserId(userId, option); CloudServerResponse<ShopDTO> cloudServerResponse = shopReadService.getShopByUserId(userId, option);
logger.info("cloudServerResponse = {}", cloudServerResponse); logger.info("cloudServerResponse = {}", cloudServerResponse);
logger.info("result = {}", JsonUtils.from(cloudServerResponse.getResult())); logger.info("result = {}", JsonUtils.from(cloudServerResponse.getResult()));*/
} }
......
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