diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/chat/domain/ChatQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/chat/domain/ChatQuery.java
index dbbc6b1..6496494 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/chat/domain/ChatQuery.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/chat/domain/ChatQuery.java
@@ -1,7 +1,5 @@
package com.ruoyi.bst.chat.domain;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -25,4 +23,7 @@ public class ChatQuery extends ChatVO{
@ApiModelProperty("接收人名称")
private String receiveName;
+ @ApiModelProperty("最大的ID,用于查询之前的数据")
+ private Long latestId;
+
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/chat/mapper/ChatMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/chat/mapper/ChatMapper.xml
index e5bb1cb..c07c23d 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/chat/mapper/ChatMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/chat/mapper/ChatMapper.xml
@@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bc.create_time < #{query.deadline}
and su_send.nick_name like concat ('%',#{query.senderName},'%')
and su_receive.nick_name like concat ('%',#{query.receiverName},'%')
+ and bc.id < #{query.latestId}
and bc.create_time > #{query.joinTime}
${query.params.dataScope}
${@com.ruoyi.framework.util.DataScopeUtil@create(query.scope)
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/chat/service/ChatService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/chat/service/ChatService.java
index 180c002..60ea2a9 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/chat/service/ChatService.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/chat/service/ChatService.java
@@ -72,4 +72,5 @@ public interface ChatService
List selectTeamMsgList(ChatQuery query);
ChatVO selectOne(ChatQuery query);
+
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/chat/service/impl/ChatServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/chat/service/impl/ChatServiceImpl.java
index 605db2c..6ea8a79 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/chat/service/impl/ChatServiceImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/chat/service/impl/ChatServiceImpl.java
@@ -186,6 +186,7 @@ public class ChatServiceImpl implements ChatService {
}
+
@Override
public int batchInsert(List list) {
if (CollectionUtils.isEmptyElement(list)) {
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/domain/Goods.java b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/domain/Goods.java
index 7abcb54..741939e 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/domain/Goods.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/domain/Goods.java
@@ -7,9 +7,11 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
+import org.apache.poi.hpsf.Decimal;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -65,6 +67,20 @@ public class Goods extends BaseEntity
@Excel(name = "排序")
@ApiModelProperty("排序")
- private Long sort;
+ private Integer sort;
+
+ @Excel(name = "最小价格")
+ @ApiModelProperty("最小价格")
+ private BigDecimal minPrice;
+
+ @Excel(name = "最大价格")
+ @ApiModelProperty("最大价格")
+ private BigDecimal maxPrice;
+
+ @Excel(name = "库存")
+ @ApiModelProperty("库存")
+ private Integer totalStock;
+
+
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/domain/GoodsVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/domain/GoodsVO.java
index a940a5c..48dba59 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/domain/GoodsVO.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/domain/GoodsVO.java
@@ -3,6 +3,7 @@ package com.ruoyi.bst.goods.domain;
import com.ruoyi.bst.sku.domain.SkuVO;
import com.ruoyi.bst.spec.domain.SpecVO;
import com.ruoyi.bst.specValue.domain.SpecValueVO;
+import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/mapper/GoodsMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/mapper/GoodsMapper.xml
index 69355bc..2f4555a 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/mapper/GoodsMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/mapper/GoodsMapper.xml
@@ -16,21 +16,28 @@
+
+
+
select bg.id,
- bg.store_id,
- bg.category_id,
- bg.name,
- bg.image,
- bg.deposit,
- bg.sales,
- bg.virtual_sales,
- bg.status,
- bg.sort,
- bg.create_time
- from
+ bg.store_id,
+ bg.category_id,
+ bg.name,
+ bg.image,
+ bg.deposit,
+ bg.sales,
+ bg.virtual_sales,
+ bg.status,
+ bg.sort,
+ bg.create_time,
+ bg.min_price,
+ bg.max_price,
+ bg.total_stock
+ from
+
@@ -70,7 +77,8 @@
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/service/GoodsService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/service/GoodsService.java
index 0829136..03f0782 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/service/GoodsService.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/service/GoodsService.java
@@ -67,4 +67,5 @@ public interface GoodsService
public Goods selectOne(GoodsQuery query);
+ int changeStatusAndSort(Goods goods);
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/service/impl/GoodsServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/service/impl/GoodsServiceImpl.java
index 6b06fd6..efa63f2 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/goods/service/impl/GoodsServiceImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/goods/service/impl/GoodsServiceImpl.java
@@ -1,6 +1,8 @@
package com.ruoyi.bst.goods.service.impl;
+import java.math.BigDecimal;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import com.github.pagehelper.PageHelper;
@@ -86,6 +88,7 @@ public class GoodsServiceImpl implements GoodsService
goodsVO.setCreateTime(DateUtils.getNowDate());
Integer result = transactionTemplate.execute(status -> {
// 新增商品
+ this.generatePriceRangeAndStock(goodsVO);
int i = goodsMapper.insertGoods(goodsVO);
ServiceUtil.assertion(i != 1,"新增商品失败");
@@ -103,6 +106,28 @@ public class GoodsServiceImpl implements GoodsService
return result;
}
+ private void generatePriceRangeAndStock(GoodsVO goodsVO) {
+ if (goodsVO.getSkuVO()!=null) {
+ // 初始化价格和库存
+ ArrayList price = new ArrayList();
+ Integer totalStock = 0;
+
+ // 获取价格和库存
+ List skuList = goodsVO.getSkuVO();
+ for (SkuVO skuVO : skuList) {
+ price.add(skuVO.getPrice());
+ totalStock += skuVO.getStock();
+ }
+ BigDecimal minPrice = price.isEmpty() ? BigDecimal.ZERO : Collections.min(price);
+ BigDecimal maxPrice = price.isEmpty() ? BigDecimal.ZERO : Collections.max(price);
+
+ // 设置价格和库存
+ goodsVO.setMinPrice(minPrice);
+ goodsVO.setMaxPrice(maxPrice);
+ goodsVO.setTotalStock(totalStock);
+ }
+ }
+
private int saveSku(GoodsVO goodsVO) {
List skuList = goodsVO.getSkuVO();
skuList.forEach(skuVO -> {
@@ -219,6 +244,7 @@ public class GoodsServiceImpl implements GoodsService
goodsVO.setUpdateTime(DateUtils.getNowDate());
Integer result = transactionTemplate.execute(status -> {
// 修改商品
+ this.generatePriceRangeAndStock(goodsVO);
int i = goodsMapper.updateGoods(goodsVO);
ServiceUtil.assertion(i != 1,"修改商品失败");
@@ -296,4 +322,13 @@ public class GoodsServiceImpl implements GoodsService
List notice = this.selectGoodsList(query);
return CollectionUtils.firstElement(notice);
}
+
+ @Override
+ public int changeStatusAndSort(Goods goods) {
+ Goods data = new Goods();
+ data.setId(goods.getId());
+ data.setSort(goods.getSort());
+ data.setStatus(goods.getStatus());
+ return goodsMapper.updateGoods(goods);
+ }
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/sku/domain/Sku.java b/ruoyi-service/src/main/java/com/ruoyi/bst/sku/domain/Sku.java
index d25069f..7e2068e 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/sku/domain/Sku.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/sku/domain/Sku.java
@@ -37,7 +37,7 @@ public class Sku extends BaseEntity
@Excel(name = "库存数量")
@ApiModelProperty("库存数量")
- private Long stock;
+ private Integer stock;
@Excel(name = "图片")
@ApiModelProperty("图片")
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/domain/TeamUserQuery.java b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/domain/TeamUserQuery.java
index cb8e28a..8c8261b 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/domain/TeamUserQuery.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/domain/TeamUserQuery.java
@@ -10,4 +10,7 @@ public class TeamUserQuery extends TeamUserVO{
@ApiModelProperty("队伍ID列表")
private List teamIds;
+
+ @ApiModelProperty("队伍类型 1-现场拼桌 2-预约拼桌")
+ private String teamType;
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/mapper/TeamUserMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/mapper/TeamUserMapper.java
index 328166e..04258a1 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/mapper/TeamUserMapper.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/mapper/TeamUserMapper.java
@@ -80,4 +80,6 @@ public interface TeamUserMapper
int updateByQuery(@Param("data") TeamUser data,@Param("query") TeamUserQuery query);
List selectUserIdsByTeamId(@Param("teamId") Long teamId);
+
+ List selectDistinctTeamUserList(@Param("query") TeamUserQuery query);
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/mapper/TeamUserMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/mapper/TeamUserMapper.xml
index e1734ce..9fb7f6d 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/mapper/TeamUserMapper.xml
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/mapper/TeamUserMapper.xml
@@ -50,6 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and su.nick_name like concat('%', #{query.nickName}, '%')
and bt.name like concat('%', #{query.teamName}, '%')
and su_inviter.nick_name like concat('%', #{query.inviterName}, '%')
+ and bt.type = #{query.teamType}
and btu.team_id in
@@ -96,6 +97,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where btu.team_id = #{teamId} and btu.status = 1
+
+
insert into bst_team_user
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/service/TeamUserService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/service/TeamUserService.java
index b59c053..91bc335 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/service/TeamUserService.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/service/TeamUserService.java
@@ -74,4 +74,5 @@ public interface TeamUserService
TeamUserVO getTeamUser(TeamUserQuery query);
int kick(Long teamId,Long userId);
+
}
diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/service/impl/TeamUserServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/service/impl/TeamUserServiceImpl.java
index 3ce1332..7fc1d0f 100644
--- a/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/service/impl/TeamUserServiceImpl.java
+++ b/ruoyi-service/src/main/java/com/ruoyi/bst/teamUser/service/impl/TeamUserServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.bst.teamUser.service.impl;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import com.github.pagehelper.PageHelper;
@@ -161,4 +162,6 @@ public class TeamUserServiceImpl implements TeamUserService
public int kick(Long teamId, Long userId) {
return teamService.kick(teamId, userId);
}
+
+
}
diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppChatController.java b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppChatController.java
index fc41b1e..cd5ad33 100644
--- a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppChatController.java
+++ b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppChatController.java
@@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
+import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
import java.util.Set;
@@ -63,7 +64,6 @@ public class AppChatController extends BaseController {
public TableDataInfo receiveList(ChatQuery query) {
startPage();
PageHelper.orderBy("create_time desc");
- query.setDeleted(false);
List list = chatService.selectChatList(query);
return getDataTable(list);
}
diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppTeamController.java b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppTeamController.java
index 105a037..5d158ce 100644
--- a/ruoyi-web/src/main/java/com/ruoyi/web/app/AppTeamController.java
+++ b/ruoyi-web/src/main/java/com/ruoyi/web/app/AppTeamController.java
@@ -1,5 +1,6 @@
package com.ruoyi.web.app;
+import com.github.pagehelper.PageHelper;
import com.ruoyi.bst.team.domain.Team;
import com.ruoyi.bst.team.domain.TeamQuery;
import com.ruoyi.bst.team.domain.TeamVO;
@@ -178,5 +179,16 @@ public class AppTeamController extends BaseController {
return getDataTable(list);
}
+ @ApiOperation("历史拼桌人数信息")
+ @GetMapping("/teamJoinRecord")
+ public TableDataInfo teamJoinRecord(TeamUserQuery query) {
+ startPage();
+ PageHelper.orderBy("create_time desc");
+ List list = teamUserService.selectTeamUserList(query);
+ return getDataTable(list);
+ }
+
+
+
}
diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/GoodsController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/GoodsController.java
index 2899713..6007e83 100644
--- a/ruoyi-web/src/main/java/com/ruoyi/web/bst/GoodsController.java
+++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/GoodsController.java
@@ -125,4 +125,21 @@ public class GoodsController extends BaseController {
}
return toAjax(goodsService.deleteGoodsByIds(ids));
}
+
+ /**
+ * 商品上架/下架
+ */
+ @PreAuthorize("@ss.hasPermi('bst:goods:changeStatus')")
+ @Log(title = "商品上架/下架,修改排序", businessType = BusinessType.UPDATE)
+ @PutMapping("/changeStatusAndSort")
+ public AjaxResult changeStatusAndSort(@RequestBody Goods goods) {
+ if (!goodsValidator.canEdit(goods.getId())){
+ return error("您无权限修改该商品相关信息");
+ }
+ if (!storeValidator.canEdit(goods.getStoreId())) {
+ return error("您无权限修改该店铺相关信息");
+ }
+ return toAjax(goodsService.changeStatusAndSort(goods));
+ }
+
}