Commit 04e5714a authored by shiyu's avatar shiyu

查询签到信息

parent f170f1d2
......@@ -56,4 +56,6 @@ public class SignDateRecord implements Entity {
private Integer dateState;
}
......@@ -50,6 +50,12 @@ public interface SupplierItemDao {
*/
List<SupplierItem> findSellOutList(SupplierItemRequestDto dto);
/**
* 查询签到奖励的商品
* @return
*/
List<SupplierItem> findSignInRewardItemList();
/**
* 根据商品id查询
* @param itemId
......
......@@ -11,6 +11,8 @@ public class UserSignInRequestDto extends BaseRequestDto implements Entity {
private String month;
private Long itemId;
/**
* id
*/
......
......@@ -121,6 +121,17 @@ public class SupplierItemDaoImpl implements SupplierItemDao {
}
@Override
public List<SupplierItem> findSignInRewardItemList() {
SupplierItemExample supplierItemExample = new SupplierItemExample();
SupplierItemExample.Criteria criteria = supplierItemExample.createCriteria();
//商品类型11, 签到奖励商品
criteria.andTypeEqualTo(11);
criteria.andIsDeletedEqualTo(false);
supplierItemExample.setOrderByClause(" distribution_price asc");
return supplierItemMapper.selectByExampleWithBLOBs(supplierItemExample);
}
@Override
public SupplierItem findById(long itemId) {
SupplierItemExample supplierItemExample = new SupplierItemExample();
......
package com.wwdz.ch.wx.entity.vo;
import com.wwdz.ch.core.entity.SupplierItemVo;
import lombok.Data;
/**
......@@ -28,4 +29,9 @@ public class SignInRewardVo {
* 对应奖励的签到天数
*/
private Integer dayNum;
/**
* 签到奖励对应的商品信息
*/
private SupplierItemVo supplierItemVo;
}
......@@ -5,19 +5,23 @@ import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.DistributionEnum;
import com.wwdz.ch.core.consts.SigninEnum;
import com.wwdz.ch.core.entity.SignDateRecord;
import com.wwdz.ch.core.entity.SupplierItemVo;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.*;
import com.wwdz.ch.db.dao.SignInShareImageDao;
import com.wwdz.ch.db.dao.UserSignInDao;
import com.wwdz.ch.db.dao.distribution.DistributionOrderDao;
import com.wwdz.ch.db.dao.distribution.SupplierItemDao;
import com.wwdz.ch.db.domain.SignInShareImage;
import com.wwdz.ch.db.domain.User;
import com.wwdz.ch.db.domain.UserSignIn;
import com.wwdz.ch.db.domain.distribution.DistributionOrder;
import com.wwdz.ch.db.domain.distribution.SupplierItem;
import com.wwdz.ch.db.dto.request.UserSignInRequestDto;
import com.wwdz.ch.wx.entity.vo.SignInRewardVo;
import com.wwdz.ch.wx.service.UserSigninService;
import com.xxdxxs.utils.DateUtils;
import com.xxdxxs.utils.EntityMapper;
import com.xxdxxs.utils.JsonUtils;
import com.xxdxxs.utils.StringUtils;
import org.json.JSONObject;
......@@ -43,6 +47,9 @@ public class UserSigninServiceImpl implements UserSigninService {
@Autowired
UserSignInDao userSigninDao;
@Autowired
SupplierItemDao supplierItemDao;
@Autowired
DistributionOrderDao distributionOrderDao;
......@@ -142,7 +149,7 @@ public class UserSigninServiceImpl implements UserSigninService {
//创建赠品订单
DistributionOrder distributionOrder = new DistributionOrder();
String distributionOrderId = IdUtils.getOrderNumber(CommConsts.DISTRIBUTION_ORDER_PREFIX);
distributionOrder.setItemId(0L);
distributionOrder.setItemId(dto.getItemId());
distributionOrder.setItemNum(1);
distributionOrder.setDistributionOrderId(distributionOrderId);
distributionOrder.setBuyerId(dto.getUserId());
......@@ -174,7 +181,7 @@ public class UserSigninServiceImpl implements UserSigninService {
long userId = dto.getUserId();
Map<String, Object> resultMap = new HashMap<>();
//查询今天的打卡记录
UserSignIn todayRecord = userSigninDao.findLastedRecord(userId);
UserSignIn todayRecord = userSigninDao.findTodayRecord(userId);
if (todayRecord != null) {
resultMap.put("todaySignIn", true);
} else {
......@@ -244,6 +251,13 @@ public class UserSigninServiceImpl implements UserSigninService {
List<String> signDateList = userSignInList.stream().map(UserSignIn::getSignInDate).collect(Collectors.toList());
Map<String, UserSignIn> signDateMap = userSignInList.stream().collect(Collectors.toMap(UserSignIn::getSignInDate, Function.identity(), (k1, k2) ->k1));
List<SignDateRecord> calendar = new ArrayList<>();
//查询签到奖励的商品信息
List<SupplierItem> supplierItemList = supplierItemDao.findSignInRewardItemList();
if (supplierItemList.size() < 3) {
logger.error("========== 签到奖励商品配置数量不对 ==========");
return Result.failed("签到奖励商品数量不足");
}
for (String dateStr : dateList) {
SignDateRecord signDateRecord = new SignDateRecord();
signDateRecord.setDayStr(DateTimeUtil.getDayFromDateString(dateStr));
......@@ -287,6 +301,14 @@ public class UserSigninServiceImpl implements UserSigninService {
signInRewardVo.setSignDate(signDateMap.get(dateStr).getSignInDate());
signInRewardVo.setIsGet(signDateMap.get(dateStr).getIsGet());
signInRewardVo.setRewardLevel(SigninEnum.LevelEnum.FIRST.getCode());
SupplierItem supplierItem = supplierItemList.get(signInRewardVo.getRewardLevel() - 1);
SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo);
supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setSupplyPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getSupplyPrice()));
supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice()));
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
signInRewardVo.setSupplierItemVo(supplierItemVo);
signInRewardVos.add(signInRewardVo);
} else if (signDateMap.get(dateStr).getConsecutiveDays() == 14) {
SignInRewardVo signInRewardVo = new SignInRewardVo();
......@@ -294,6 +316,14 @@ public class UserSigninServiceImpl implements UserSigninService {
signInRewardVo.setSignDate(signDateMap.get(dateStr).getSignInDate());
signInRewardVo.setIsGet(signDateMap.get(dateStr).getIsGet());
signInRewardVo.setRewardLevel(SigninEnum.LevelEnum.SECOND.getCode());
SupplierItem supplierItem = supplierItemList.get(signInRewardVo.getRewardLevel() - 1);
SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo);
supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setSupplyPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getSupplyPrice()));
supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice()));
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
signInRewardVo.setSupplierItemVo(supplierItemVo);
signInRewardVos.add(signInRewardVo);
} else if (signDateMap.get(dateStr).getConsecutiveDays() == 21) {
SignInRewardVo signInRewardVo = new SignInRewardVo();
......@@ -301,6 +331,14 @@ public class UserSigninServiceImpl implements UserSigninService {
signInRewardVo.setSignDate(signDateMap.get(dateStr).getSignInDate());
signInRewardVo.setIsGet(signDateMap.get(dateStr).getIsGet());
signInRewardVo.setRewardLevel(SigninEnum.LevelEnum.THIRD.getCode());
SupplierItem supplierItem = supplierItemList.get(signInRewardVo.getRewardLevel() - 1);
SupplierItemVo supplierItemVo = new SupplierItemVo();
EntityMapper.copyAttribute(supplierItem, supplierItemVo);
supplierItemVo.setItemId(supplierItem.getId());
supplierItemVo.setSupplyPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getSupplyPrice()));
supplierItemVo.setDistributionPrice(PriceUtil.convertPriceFenToYuan(supplierItem.getDistributionPrice()));
supplierItemVo.setHomePageImage(MediaUtil.getHomePageImage(supplierItem.getImages(), supplierItem.getVideos()));
signInRewardVo.setSupplierItemVo(supplierItemVo);
signInRewardVos.add(signInRewardVo);
}
} else {
......
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