Commit 04e5714a authored by shiyu's avatar shiyu

查询签到信息

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