Procházet zdrojové kódy

修改抽奖内容

码头薯片 před 4 měsíci
rodič
revize
67f8af51b6

+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@@ -109,7 +109,7 @@ public class SecurityConfig {
                     permitAllUrl.getUrls().forEach(url -> requests.requestMatchers(url).permitAll());
                     // 对于登录login 注册register 验证码captchaImage 允许匿名访问
                     requests.requestMatchers("/login", "/wx/login","/register", "/captchaImage", "/common/**",
-                                    "/wx/home/index", "/wx/home/sale/calendar", "/wx/recycle/**", "/wx/quotation/**", "/wx/common/**", "/wx/home/thumbs/**").permitAll()
+                                    "/wx/home/index", "/wx/home/sale/**", "/wx/recycle/**", "/wx/quotation/**", "/wx/common/**", "/wx/home/thumbs/**").permitAll()
                             // 静态资源,可匿名访问
                             .requestMatchers(HttpMethod.GET, "/", "/*.html", "/**.html", "/**.css", "/**.js", "/profile/**").permitAll()
                             .requestMatchers("/swagger-ui.html", "/v3/api-docs/**", "/swagger-ui/**", "/druid/**").permitAll()

+ 14 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/domain/RecSaleInfo.java

@@ -15,7 +15,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
  */
 public class RecSaleInfo extends BaseEntity
 {
-    private static final long serialVersionUID = -4342946968322908738L;
+    private static final long serialVersionUID = -2546842741033173431L;
 
     /** 发售信息id */
     private Long id;
@@ -67,6 +67,10 @@ public class RecSaleInfo extends BaseEntity
 
     private Character topUp;
 
+    /**
+     * 置顶排序
+     */
+    private Integer topIndex;
     public void setId(Long id)
     {
         this.id = id;
@@ -171,6 +175,14 @@ public class RecSaleInfo extends BaseEntity
         this.topUp = topUp;
     }
 
+    public Integer getTopIndex() {
+        return topIndex;
+    }
+
+    public void setTopIndex(Integer topIndex) {
+        this.topIndex = topIndex;
+    }
+
     @Override
     public String toString() {
         final StringBuffer sb = new StringBuffer("RecSaleInfo{");
@@ -186,6 +198,7 @@ public class RecSaleInfo extends BaseEntity
         sb.append(", createDate=").append(createDate);
         sb.append(", updateDate=").append(updateDate);
         sb.append(", topUp=").append(topUp);
+        sb.append(", topIndex=").append(topIndex);
         sb.append('}');
         return sb.toString();
     }

+ 28 - 13
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/domain/dto/RecSaleInfoDto.java

@@ -54,6 +54,11 @@ public class RecSaleInfoDto {
 
     private Character topUp;
 
+    /**
+     * 置顶排序
+     */
+    private Integer topIndex;
+
     public void setSaleName(String saleName)
     {
         this.saleName = saleName;
@@ -149,20 +154,30 @@ public class RecSaleInfoDto {
         this.topUp = topUp;
     }
 
+    public Integer getTopIndex() {
+        return topIndex;
+    }
+
+    public void setTopIndex(Integer topIndex) {
+        this.topIndex = topIndex;
+    }
+
     @Override
     public String toString() {
-        return "RecSaleInfoDto{" +
-                "saleName='" + saleName + '\'' +
-                ", salePrice='" + salePrice + '\'' +
-                ", market='" + market + '\'' +
-                ", storeId='" + storeId + '\'' +
-                ", catalog='" + catalog + '\'' +
-                ", images='" + images + '\'' +
-                ", activityTime=" + activityTime +
-                ", durationOfTheActivity=" + durationOfTheActivity +
-                ", createDate=" + createDate +
-                ", updateDate=" + updateDate +
-                ", topUp=" + topUp +
-                '}';
+        final StringBuffer sb = new StringBuffer("RecSaleInfoDto{");
+        sb.append("saleName='").append(saleName).append('\'');
+        sb.append(", salePrice='").append(salePrice).append('\'');
+        sb.append(", market='").append(market).append('\'');
+        sb.append(", storeId='").append(storeId).append('\'');
+        sb.append(", catalog='").append(catalog).append('\'');
+        sb.append(", images='").append(images).append('\'');
+        sb.append(", activityTime=").append(activityTime);
+        sb.append(", durationOfTheActivity=").append(durationOfTheActivity);
+        sb.append(", createDate=").append(createDate);
+        sb.append(", updateDate=").append(updateDate);
+        sb.append(", topUp=").append(topUp);
+        sb.append(", topIndex=").append(topIndex);
+        sb.append('}');
+        return sb.toString();
     }
 }

+ 1 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/recovery/service/impl/RecSaleInfoServiceImpl.java

@@ -64,6 +64,7 @@ public class RecSaleInfoServiceImpl implements IRecSaleInfoService {
         BeanUtils.copyProperties(dto, recSaleInfo);
         recSaleInfo.setEventStartTime(activityTime);
         recSaleInfo.setEndTimeOfActivity(endTime);
+        recSaleInfo.setTopUp('N');
         recSaleInfo.setCreateDate(new Date());
         return recSaleInfoMapper.insertRecSaleInfo(recSaleInfo);
     }

+ 23 - 70
ruoyi-wx/src/main/java/com/ruoyi/wx/web/domain/vo/SaleInfoVo.java

@@ -2,6 +2,7 @@ package com.ruoyi.wx.web.domain.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.annotation.Excel;
+import lombok.Data;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -9,6 +10,7 @@ import java.util.Date;
 import java.util.List;
 
 //@ApiModel(value = "发售信息详情内容")
+@Data
 public class SaleInfoVo implements Serializable {
     private static final long serialVersionUID = -1L;
     /**
@@ -35,82 +37,33 @@ public class SaleInfoVo implements Serializable {
     private String market;
 
     /** 更新时间 */
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateDate;
 
     /**
-     * 门店信息
+     * 活动开始时间
      */
-    private List<RecStoresVo> stores;
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getSaleName() {
-        return saleName;
-    }
-
-    public void setSaleName(String saleName) {
-        this.saleName = saleName;
-    }
-
-    public String getCatalog() {
-        return catalog;
-    }
-
-    public void setCatalog(String catalog) {
-        this.catalog = catalog;
-    }
-
-    public String getSalePrice() {
-        return salePrice;
-    }
-
-    public void setSalePrice(String salePrice) {
-        this.salePrice = salePrice;
-    }
-
-    public String getMarket() {
-        return market;
-    }
-
-    public void setMarket(String market) {
-        this.market = market;
-    }
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date eventStartTime;
 
-    public List<RecStoresVo> getStores() {
-        return stores;
-    }
-
-    public void setStores(List<RecStoresVo> stores) {
-        this.stores = stores;
-    }
+    /**
+     * 活动结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date endTimeOfActivity;
 
-    public Date getUpdateDate() {
-        return updateDate;
-    }
+    /**
+     * 是否发售
+     */
+    private boolean isStore;
 
-    public void setUpdateDate(Date updateDate) {
-        this.updateDate = updateDate;
-    }
+    /**
+     * 置顶排序
+     */
+    private Integer topIndex;
 
-    @Override
-    public String toString() {
-        final StringBuffer sb = new StringBuffer("SaleInfoVo{");
-        sb.append("id=").append(id);
-        sb.append(", saleName='").append(saleName).append('\'');
-        sb.append(", catalog='").append(catalog).append('\'');
-        sb.append(", salePrice=").append(salePrice);
-        sb.append(", market=").append(market);
-        sb.append(", updateDate=").append(updateDate);
-        sb.append(", stores=").append(stores);
-        sb.append('}');
-        return sb.toString();
-    }
+    /**
+     * 门店信息
+     */
+    private List<RecStoresVo> stores;
 }

+ 27 - 13
ruoyi-wx/src/main/java/com/ruoyi/wx/web/service/impl/WxHomeServiceImpl.java

@@ -80,18 +80,7 @@ public class WxHomeServiceImpl implements IWxHomeService {
             redisCache.setCacheMapValue(Constants.THUMBS_UP, "like" + content.getId(), content.getThumbs());
         }
         List<RecSaleInfo> saleInfos = saleInfoTask.get();
-        boolean flag = false;
-        // 若当前没有置顶,则默认第一个为置顶
-        for (RecSaleInfo info : saleInfos) {
-            if ('Y' == info.getTopUp()) {
-                flag = true;
-                break;
-            }
-        }
-        if (!flag) {
-            saleInfos.get(0).setTopUp('Y');
-        }
-        saleInfos.sort(Comparator.comparing(RecSaleInfo::getEventStartTime, (t1, t2) -> t2.compareTo(t1)));
+        saleInfos.sort(Comparator.comparing(RecSaleInfo::getTopIndex, Integer::compareTo));
         contents.sort(Comparator.comparing(RecContent::getCreateDate, (t1, t2) -> t2.compareTo(t1)));
         result.put("saleInfo", saleInfos);
         result.put("content", contents);
@@ -130,9 +119,10 @@ public class WxHomeServiceImpl implements IWxHomeService {
         for (RecSaleInfo info : recSaleInfos) {
             SaleInfoVo vo = new SaleInfoVo();
             BeanUtils.copyProperties(info, vo);
+            vo.setStore(belongCalendar(new Date(), vo.getEventStartTime(), vo.getEndTimeOfActivity()));
             result.add(vo);
         }
-        result.sort(Comparator.comparing(SaleInfoVo::getUpdateDate, (t1, t2) -> t2.compareTo(t1)));
+        result.sort(Comparator.comparing(SaleInfoVo::getTopIndex, Integer::compareTo));
         return result;
     }
 
@@ -173,4 +163,28 @@ public class WxHomeServiceImpl implements IWxHomeService {
         LocalDateTime parse = LocalDateTime.parse(time, formatter);
         return LocalDateTime.from(parse).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
     }
+
+    /**
+     * 判断时间是否在时间段内
+     * @param nowTime
+     * @param beginTime
+     * @param endTime
+     * @return
+     */
+    public static boolean belongCalendar(Date nowTime, Date beginTime, Date endTime) {
+        Calendar date = Calendar.getInstance();
+        date.setTime(nowTime);
+
+        Calendar begin = Calendar.getInstance();
+        begin.setTime(beginTime);
+
+        Calendar end = Calendar.getInstance();
+        end.setTime(endTime);
+
+        if (date.after(begin) && date.before(end)) {
+            return true;
+        } else {
+            return false;
+        }
+    }
 }