Explorar o código

收藏列表增加销量字段,用户签到bug修复

yubin hai 2 semanas
pai
achega
517754a1a6

+ 1 - 1
mall-service/src/main/java/com/txz/mall/controller/BannerController.java

@@ -118,7 +118,7 @@ public class BannerController {
         Condition condition = new Condition(Banner.class);
         Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("isDelete", 0);
-        condition.setOrderByClause("create_time DESC");
+        condition.setOrderByClause("seq ASC");
         PageInfo pageInfo = null;
         try {
             List<Banner> list = bannerService.findByCondition(condition);

+ 1 - 1
mall-service/src/main/java/com/txz/mall/controller/appcontroller/AppBannerController.java

@@ -111,7 +111,7 @@ public class AppBannerController {
         Condition condition = new Condition(Banner.class);
         Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("isDelete", 0);
-        condition.setOrderByClause("create_time DESC");
+        condition.setOrderByClause("seq ASC");
         PageInfo pageInfo = null;
         try {
             List<Banner> list = bannerService.findByCondition(condition);

+ 5 - 0
mall-service/src/main/java/com/txz/mall/controller/appcontroller/MidFavoriteController.java

@@ -235,9 +235,14 @@ public class MidFavoriteController {
 							 bean.setSales(storeCombination.getSales());
 							 bean.setImage(storeCombination.getImage());
 							 bean.setStoreName(storeCombination.getProductName());
+							 if(!ObjectUtils.isEmpty(storeProduct)){
+								 bean.setFicti(storeProduct.getFicti());
+							 }
+
 						 }else if(!ObjectUtils.isEmpty(storeProduct)){
 							 bean.setImage(storeProduct.getImage());
 							 bean.setStoreName(storeProduct.getStoreName());
+							 bean.setFicti(storeProduct.getFicti());
 						 }
 
 						 return bean;

+ 2 - 1
mall-service/src/main/java/com/txz/mall/service/impl/StorePinkServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.github.pagehelper.PageHelper;
 import com.txz.cif.dto.Result;
 import com.txz.cif.dto.UserDTO;
 import com.txz.cif.param.AccomplishParam;
@@ -344,7 +345,7 @@ public class StorePinkServiceImpl extends AbstractService<StorePink> implements
     @Override
     public List<StorePinkOngoingVO> ongoingList(StorePink storePink) {
 
-        // PageHelper.startPage(1, 3);
+         PageHelper.startPage(1, 3);
         List<StorePinkOngoingVO> list = new ArrayList<>();
         Condition storePinkSummarycondition = new Condition(StorePinkSummary.class);
         Example.Criteria storePinkSummarycriteria = storePinkSummarycondition.createCriteria();

+ 31 - 9
mall-service/src/main/java/com/txz/mall/service/impl/UserSignServiceImpl.java

@@ -1,6 +1,9 @@
 package com.txz.mall.service.impl;
 
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
 import com.txz.cif.enums.BizTypeEnum;
 import com.txz.cif.param.SignRedEnvelopeParam;
 import com.txz.mall.core.AbstractService;
@@ -15,6 +18,7 @@ import com.txz.operating.dto.ConfigDTO;
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 import tk.mybatis.mapper.entity.Condition;
 import tk.mybatis.mapper.entity.Example;
 import vo.UserSignDetailVO;
@@ -50,13 +54,13 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
         UserSignDetailVO detailVO = new UserSignDetailVO();
         boolean hasSignedToday = hasSignedToday(uid);
         detailVO.setToday(hasSignedToday);
-        int continuousDays = getContinuousDays(uid);
+        int continuousDays = getContinuousDays(uid,hasSignedToday);
         detailVO.setContinueSign(continuousDays);
 
         ConfigDTO configByCode = configDubboServiceClient.getConfigByCode(USER_SIGN_INFO);
         List<UserSignDetailVO.SignVO> list = JSONObject.parseArray(configByCode.getValueInfo(), UserSignDetailVO.SignVO.class);
         for (int i = 0; i < list.size(); i++) {
-            list.get(i).setStatus(continuousDays > 0 && i < continuousDays ? 1 : 0);
+            list.get(i).setStatus(i < continuousDays ? 1 : 0);
         }
         detailVO.setSignList(list);
         return detailVO;
@@ -81,11 +85,10 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
             continuousDays = 1;
         }
 
-        //  满7天重置为0
+        //  满7天重置为1
         if (continuousDays == 8) {
             //注意  是满7天才发放奖励  每日签到不送
-            giveReward(uid);
-            continuousDays = 0;
+            continuousDays = 1;
         }
 
         // 5. 插入新的签到记录
@@ -95,7 +98,12 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
         userSign.setContinuousDays(continuousDays);
         save(userSign);
 
-        // 考虑是否换成redis的bitmap
+        if (continuousDays == 7) {
+            //注意  是满7天才发放奖励  每日签到不送
+            giveReward(uid);
+        }
+
+
     }
 
     // 判断今天是否已经签到
@@ -114,6 +122,7 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
         Example.Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("uid", uid);
         criteria.andLike("createDay", new SimpleDateFormat("yyyy-MM-dd").format(yesterday) + "%");
+        condition.setOrderByClause("id desc");
         List<UserSign> list = userSignMapper.selectByCondition(condition);
         return list.isEmpty() ? null : list.get(0);
     }
@@ -130,20 +139,33 @@ public class UserSignServiceImpl extends AbstractService<UserSign> implements Us
     }
 
     // 获取用户的连续签到天数
-    private int getContinuousDays(Long userId) {
+    private int getContinuousDays(Long userId,boolean hasSignedToday) {
+
+        PageHelper.startPage(1, 1);
         // 获取最新的签到记录
         Condition condition = new Condition(UserSign.class);
         Example.Criteria criteria = condition.createCriteria();
         criteria.andEqualTo("uid", userId);
+        Date date = new Date();
+        if(hasSignedToday) {
+            criteria.andLike("createDay", new SimpleDateFormat("yyyy-MM-dd").format(date) + "%");
+        }else{
+            DateTime dateTime = DateUtil.offsetDay(date, -1);
+            criteria.andLike("createDay", new SimpleDateFormat("yyyy-MM-dd").format(dateTime) + "%");
+        }
         condition.orderBy("id").desc();
-        condition.setCountProperty("id");
+
         List<UserSign> list = userSignMapper.selectByCondition(condition);
 
         if (list.isEmpty()) {
             return 0;
         }
-
         UserSign latestSign = list.get(0);
+        if(!ObjectUtils.isEmpty(latestSign) && latestSign.getContinuousDays().equals(new Integer(7)) && (!hasSignedToday)){
+            return 0;
+        }
+
+
         return latestSign.getContinuousDays();
     }
 

+ 6 - 0
mall-service/src/main/java/com/txz/mall/web/bo/MidFavoriteBO.java

@@ -36,4 +36,10 @@ public class MidFavoriteBO  {
        @ApiModelProperty(value = "销量")
        private Integer sales;
 
+       /**
+        * 虚拟销量
+        */
+       @ApiModelProperty(value = "虚拟销量")
+       private Integer ficti;
+
 }