Browse Source

商家端商品查询以及通知查询

liude 1 year ago
parent
commit
e54e41054c

+ 2 - 2
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/dto/NoticeDTO.java

@@ -34,12 +34,12 @@ public class NoticeDTO implements Serializable {
     private String centent;
 
     /**
-     * 通知对象
+     * 通知对象 0-用户端 1-商家端
      */
     private String sendObject;
 
     /**
-     * 状态
+     * 状态 1-有效 0-无效
      */
     private String status;
 

+ 14 - 1
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/GoodsQueryParam.java

@@ -6,6 +6,7 @@ import javax.validation.constraints.Min;
 import javax.validation.constraints.NotNull;
 
 import com.chelvc.cloud.vehicle.api.constant.CategoryType;
+import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -40,6 +41,18 @@ public class GoodsQueryParam implements Serializable {
      */
     @NotNull(message = "查询数量不能为空")
     @Min(value = 1, message = "查询数量不能小于1")
-    @Max(value = 20, message = "查询数量不能大于20")
+//    @Max(value = 20, message = "查询数量不能大于20")
     private Integer size;
+    /**
+     * 商品名称
+     */
+    private String goodsName;
+    /**
+     * 商品状态
+     */
+    private GoodsStatus status;
+    /**
+     * 商家ID
+     */
+    private Long merchantId;
 }

+ 4 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/param/HelpCategoryModifyParam.java

@@ -26,6 +26,10 @@ public class HelpCategoryModifyParam implements Serializable
      * 分类名称
      */
     private String name;
+    /**
+     * 分类ID
+     */
+    private Long categoryId;
 
     /** 分类图标 */
     private String icon;

+ 8 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/GoodsService.java

@@ -1,5 +1,6 @@
 package com.chelvc.cloud.vehicle.api.service;
 import java.util.List;
+import java.util.Map;
 
 import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
 import com.chelvc.cloud.vehicle.api.dto.GoodsDTO;
@@ -70,4 +71,11 @@ public interface GoodsService {
      * @param status 商品状态
      */
     void updateGoodsStatus(List<Long> ids, GoodsStatus status);
+
+    /**
+     * 商家端商品管理
+     * @param param
+     * @return
+     */
+    Map<String,Object> getCategoryAndGoods(GoodsQueryParam param);
 }

+ 1 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/MerchantService.java

@@ -137,6 +137,7 @@ public interface MerchantService {
      * @return 经营报表信息
      */
     List<Map<String,Object>> operatReport(ReportModifyParam param);
+
 }
 
 

+ 8 - 0
vehicle-api/src/main/java/com/chelvc/cloud/vehicle/api/service/NoticeService.java

@@ -4,6 +4,8 @@ import com.chelvc.cloud.vehicle.api.param.NoticeModifyParam;
 import com.chelvc.cloud.vehicle.api.param.NoticePagingParam;
 import com.chelvc.framework.common.model.Pagination;
 
+import java.util.List;
+
 /**
  * 通知配置业务接口
  *
@@ -35,4 +37,10 @@ public interface NoticeService {
      * @return 通知分页信息
      */
     Pagination<NoticeDTO> getNoticePaging(NoticePagingParam param);
+
+    /**
+     * 查询通知列表
+     * @return 通知信息
+     */
+    List<NoticeDTO> getNoticeList(String type);
 }

+ 31 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/GoodsServiceImpl.java

@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.chelvc.cloud.uc.api.model.Scope;
 import com.chelvc.cloud.vehicle.api.constant.CategoryType;
 import com.chelvc.cloud.vehicle.api.constant.GoodsStatus;
+import com.chelvc.cloud.vehicle.api.dto.CategoryDTO;
 import com.chelvc.cloud.vehicle.api.dto.GoodsDTO;
 import com.chelvc.cloud.vehicle.api.dto.GoodsDetailDTO;
+import com.chelvc.cloud.vehicle.api.dto.MerchantDetailDTO;
 import com.chelvc.cloud.vehicle.api.param.CommentQueryParam;
 import com.chelvc.cloud.vehicle.api.param.GoodsModifyParam;
 import com.chelvc.cloud.vehicle.api.param.GoodsPagingParam;
@@ -34,8 +36,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 
 import javax.validation.constraints.NotEmpty;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * 商品业务操作实现
@@ -162,4 +167,30 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     public void updateGoodsStatus(@NotEmpty List<Long> ids, @NonNull GoodsStatus status) {
         this.lambdaUpdate().set(Goods::getStatus, status).in(Goods::getId, ids).update();
     }
+
+
+    @Override
+    public Map<String,Object> getCategoryAndGoods(GoodsQueryParam param){
+        Map<String,Object> goodsMap = new HashMap<>();
+        List<Goods> goods = this.lambdaQuery()
+                .like(StringUtils.notEmpty(param.getGoodsName()),Goods::getName,param.getGoodsName())
+                .eq(StringUtils.notEmpty(param.getCategoryId()),Goods::getCategoryId,param.getCategoryId())
+                .eq(StringUtils.notEmpty(param.getStatus()),Goods::getStatus,param.getStatus())
+                .eq(StringUtils.notEmpty(param.getMerchantId()),Goods::getMerchantId,param.getMerchantId())
+                .orderByDesc(Goods::getId)
+                .list();
+        List<GoodsDTO> goodsList = GoodsCopier.INSTANCE.copying(goods);
+        if (goodsList == null && goodsList.size() < 1 ){
+            return null;
+        }
+        goodsMap.put("goodsList",goodsList);
+        List<Long> idSet = goodsList.stream()
+                .map(GoodsDTO::getCategoryId) // 将每个Person对象映射到其id
+                .collect(Collectors.toList());
+        if (!idSet.isEmpty()) {
+            List<CategoryDTO> categories = this.categoryService.listCategories(idSet);
+            goodsMap.put("categories",categories);
+        }
+        return goodsMap;
+    }
 }

+ 2 - 1
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/HelpCategoryServiceImpl.java

@@ -44,7 +44,7 @@ public class HelpCategoryServiceImpl extends ServiceImpl<HelpCategoryMapper,Help
      * @return 帮助分类
      */
     @Override
-    public HelpCategoryDTO selectHelpCategoryById(@NonNull Long id)
+    public HelpCategoryDTO selectHelpCategoryById( Long id)
     {
         return HelpCategoryCopier.INSTANCE.copying(this.getById(id));
     }
@@ -61,6 +61,7 @@ public class HelpCategoryServiceImpl extends ServiceImpl<HelpCategoryMapper,Help
         List<HelpCategory> helpCategories = this.lambdaQuery()
                 .like(StringUtils.notEmpty(param.getName()),HelpCategory::getName,param.getName())
                 .eq(StringUtils.notEmpty(param.getShowStatus()),HelpCategory::getShowStatus,param.getShowStatus())
+                .eq(StringUtils.notEmpty(param.getCategoryId()),HelpCategory::getId,param.getCategoryId())
                 .orderByDesc(HelpCategory::getSort)
                 .list();
         List<HelpCategoryDTO> helpCategoryList = HelpCategoryCopier.INSTANCE.copying(helpCategories);

+ 2 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/MerchantServiceImpl.java

@@ -37,6 +37,7 @@ import com.chelvc.cloud.vehicle.api.util.DateTimeUtils;
 import com.chelvc.cloud.vehicle.server.copier.MerchantCopier;
 import com.chelvc.cloud.vehicle.server.dao.MerchantMapper;
 import com.chelvc.cloud.vehicle.server.dao.RegionMapper;
+import com.chelvc.cloud.vehicle.server.entity.Goods;
 import com.chelvc.cloud.vehicle.server.entity.Merchant;
 import com.chelvc.cloud.vehicle.server.entity.Region;
 import com.chelvc.cloud.vehicle.server.service.CategoryService;
@@ -403,4 +404,5 @@ public class MerchantServiceImpl extends ServiceImpl<MerchantMapper, Merchant> i
             return mapList;
         }
     }
+
 }

+ 12 - 0
vehicle-server/src/main/java/com/chelvc/cloud/vehicle/server/service/impl/NoticeServiceImpl.java

@@ -19,6 +19,8 @@ import lombok.RequiredArgsConstructor;
 import org.apache.dubbo.config.annotation.DubboService;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
+
 /**
  * 通知配置业务操作实现
  *
@@ -54,4 +56,14 @@ public class NoticeServiceImpl extends ServiceImpl<NoticeMapper, Notice> impleme
                 .orderByAsc(Notice::getStatus).page(DatabaseContextHolder.page(param.getPaging()));
         return DatabaseContextHolder.pagination(page, NoticeCopier.INSTANCE::copying);
     }
+
+    @Override
+    public List<NoticeDTO> getNoticeList(String type){
+        List<Notice> notices = this.lambdaQuery()
+                .eq(StringUtils.notEmpty(type),Notice::getSendObject,type)
+                .eq(Notice::getStatus,1)
+                .orderByAsc(Notice::getCreateTime)
+                .list();
+        return NoticeCopier.INSTANCE.copying(notices);
+    }
 }