Procházet zdrojové kódy

Merge branch 'refs/heads/xiaolu' into master

肖路 před 1 měsícem
rodič
revize
652502f3df
18 změnil soubory, kde provedl 139 přidání a 18 odebrání
  1. 1 1
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/ClientSiteProductController.java
  2. 1 1
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/ProtocolInfoController.java
  3. 14 1
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/ProtocolProductsController.java
  4. 53 0
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/pc/DiyProductController.java
  5. 1 1
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/pc/SiteProductController.java
  6. 4 1
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/ClientSite.java
  7. 1 1
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/ProtocolInfo.java
  8. 0 1
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/ProtocolProducts.java
  9. 5 0
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/bo/ClientSiteBo.java
  10. 3 0
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/bo/ServiceCaseBo.java
  11. 6 0
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/vo/ClientSiteFloorVo.java
  12. 6 0
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/vo/ClientSiteVo.java
  13. 0 1
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/service/impl/ProductBaseServiceImpl.java
  14. 12 10
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/service/impl/ProtocolProductsServiceImpl.java
  15. 4 0
      ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/service/impl/ServiceCaseServiceImpl.java
  16. 18 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/pc/DiySystemController.java
  17. 5 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysAnnouncementBo.java
  18. 5 0
      ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysAnnouncementServiceImpl.java

+ 1 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/ClientSiteProductController.java

@@ -174,7 +174,7 @@ public class ClientSiteProductController extends BaseController {
      */
     @Log(title = "客户站点产品配置", businessType = BusinessType.EXPORT)
     @PostMapping("/exportData")
-    public void exportData(ClientSiteProductBo bo, HttpServletResponse response) {
+    public void exportData(@RequestBody ClientSiteProductBo bo, HttpServletResponse response) {
         // 站点下的产品
         List<ClientSiteProduct> clientSiteProducts = clientSiteProductService.list(Wrappers.lambdaQuery(ClientSiteProduct.class)
             .eq(ClientSiteProduct::getSiteId, bo.getSiteId()));

+ 1 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/ProtocolInfoController.java

@@ -32,7 +32,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
 @Validated
 @RequiredArgsConstructor
 @RestController
-@RequestMapping("/info")
+@RequestMapping("/protocolInfo")
 public class ProtocolInfoController extends BaseController {
 
     private final IProtocolInfoService protocolInfoService;

+ 14 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/ProtocolProductsController.java

@@ -36,7 +36,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
 @Validated
 @RequiredArgsConstructor
 @RestController
-@RequestMapping("/products")
+@RequestMapping("/protocolProducts")
 public class ProtocolProductsController extends BaseController {
 
     private final IProtocolProductsService protocolProductsService;
@@ -123,4 +123,17 @@ public class ProtocolProductsController extends BaseController {
                           @PathVariable("ids") Long[] ids) {
         return toAjax(protocolProductsService.deleteWithValidByIds(List.of(ids), true));
     }
+
+    /**
+    * 更改协议价格
+    * */
+    @PutMapping("/updateProtocolPrice")
+    public R<Void> updateProtocolPrice(@Validated @RequestBody ProtocolProductsBo bo) {
+        protocolProductsService.update(Wrappers.lambdaUpdate(ProtocolProducts.class)
+            .set(ProtocolProducts::getAgreementPrice, bo.getAgreementPrice())
+            .eq(ProtocolProducts::getProductId, bo.getProductId())
+            .eq(ProtocolProducts::getProtocolId, bo.getProtocolId())
+        );
+        return R.ok();
+    }
 }

+ 53 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/pc/DiyProductController.java

@@ -1,11 +1,29 @@
 package org.dromara.product.controller.pc;
 
+import cn.hutool.core.lang.tree.Tree;
 import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.product.domain.bo.ProductBaseBo;
+import org.dromara.product.domain.bo.ProductBrandBo;
+import org.dromara.product.domain.bo.ProductCategoryBo;
+import org.dromara.product.domain.vo.PcProductVo;
+import org.dromara.product.domain.vo.ProductBaseVo;
+import org.dromara.product.domain.vo.ProductBrandVo;
+import org.dromara.product.service.IProductBaseService;
+import org.dromara.product.service.IProductBrandService;
+import org.dromara.product.service.IProductCategoryService;
 import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
+ * diy商品相关接口
  * @author
  * @date 2026/1/28 下午3:37
  */
@@ -14,4 +32,39 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RequestMapping("/diyProduct")
 public class DiyProductController {
+
+    //商品
+    private final IProductBaseService productBaseService;
+    //商品品牌
+    private final IProductBrandService productBrandService;
+    //商品分类
+    private final IProductCategoryService productCategoryService;
+
+    /**
+     * 获取商品列表
+     * @param bo
+     * @param pageQuery
+     * @return
+     */
+    @GetMapping("/getDiyProductPage")
+    public TableDataInfo<ProductBaseVo> getDiyProductList(ProductBaseBo bo, PageQuery pageQuery){
+        return productBaseService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 查询商品分类树
+     * */
+    @GetMapping("/getProductCategoryTree")
+    public R<List<Tree<Long>>> selectCategoryTreeList(ProductCategoryBo bo) {
+        return R.ok(productCategoryService.selectCategoryTreeList(bo));
+    }
+
+    /**
+    * 获取商品品牌列表
+    * */
+    @GetMapping("/getProductBrandPage")
+    public TableDataInfo<ProductBrandVo> getProductBrandPage(ProductBrandBo bo, PageQuery pageQuery) {
+        return productBrandService.queryPageList(bo, pageQuery);
+    }
+
 }

+ 1 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/controller/pc/SiteProductController.java

@@ -36,7 +36,7 @@ public class SiteProductController {
     private final IClientSiteFloorService clientSiteFloorService;
     //商品
     private final IProductBaseService productBaseService;
-    //商品分类
+    //商品品牌
     private final IProductBrandService productBrandService;
 
     /**

+ 4 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/ClientSite.java

@@ -127,8 +127,11 @@ public class ClientSite extends TenantEntity {
     /**
      * 删除标志(0代表存在 2代表删除)
      */
-    @TableLogic
     private String delFlag;
 
+    /**
+     * 是否diy (0不diy,1diy)
+     * */
+    private Long isDiy;
 
 }

+ 1 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/ProtocolInfo.java

@@ -122,7 +122,7 @@ public class ProtocolInfo extends TenantEntity {
     /**
      * 删除标志(0代表存在 2代表删除)
      */
-    @TableLogic
+//    @TableLogic
     private String delFlag;
 
 

+ 0 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/ProtocolProducts.java

@@ -83,7 +83,6 @@ public class ProtocolProducts extends TenantEntity {
     /**
      * 删除标志(0代表存在 2代表删除)
      */
-    @TableLogic
     private String delFlag;
 
 

+ 5 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/bo/ClientSiteBo.java

@@ -139,5 +139,10 @@ public class ClientSiteBo extends BaseEntity {
     //@NotBlank(message = "状态(0正常 1停用)不能为空", groups = { AddGroup.class, EditGroup.class })
     private String status;
 
+    /**
+    * 是否diy (0不diy,1diy)
+    * */
+    private Long isDiy;
+
 
 }

+ 3 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/bo/ServiceCaseBo.java

@@ -25,6 +25,9 @@ public class ServiceCaseBo extends BaseEntity {
      */
     private Long id;
 
+    private String ids;
+
+
     /**
      * 案例编号
      */

+ 6 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/vo/ClientSiteFloorVo.java

@@ -96,5 +96,11 @@ public class ClientSiteFloorVo implements Serializable {
     @ExcelProperty(value = "备注")
     private String remark;
 
+    /**
+    * 更新时间
+    * */
+    @ExcelProperty(value = "更新时间")
+    private Date updateTime;
+
 
 }

+ 6 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/domain/vo/ClientSiteVo.java

@@ -158,4 +158,10 @@ public class ClientSiteVo implements Serializable {
     private String status;
 
 
+    /**
+     * 是否diy (0不diy,1diy)
+     * */
+    private Long isDiy;
+
+
 }

+ 0 - 1
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/service/impl/ProductBaseServiceImpl.java

@@ -462,7 +462,6 @@ public class ProductBaseServiceImpl extends ServiceImpl<ProductBaseMapper, Produ
     private LambdaEsQueryWrapper<ProductBaseVo> buildEsQueryWrapper(ProductBaseBo bo) {
         LambdaEsQueryWrapper<ProductBaseVo> productBaseVoLambdaEsQueryWrapper = new LambdaEsQueryWrapper<ProductBaseVo>()
             .eq(ObjectUtil.isNotEmpty(bo.getProductNo()), ProductBaseVo::getProductNo, bo.getProductNo())
-
             .like(ObjectUtil.isNotEmpty(bo.getItemName()), ProductBaseVo::getItemName, bo.getItemName())
             .eq(bo.getBrandId() != null, ProductBaseVo::getBrandId, bo.getBrandId())
             .eq(bo.getTopCategoryId() != null, ProductBaseVo::getTopCategoryId, bo.getTopCategoryId())

+ 12 - 10
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/service/impl/ProtocolProductsServiceImpl.java

@@ -74,7 +74,8 @@ public class ProtocolProductsServiceImpl  extends ServiceImpl<ProtocolProductsMa
             return TableDataInfo.build();
         }
         List<Long> productIds = protocolProducts.stream().map(ProtocolProducts::getProductId).distinct().toList();
-        
+
+        TableDataInfo<ProductBaseVo> tableDataInfo = TableDataInfo.build();
         // 使用ES查询
         try {
             LambdaEsQueryWrapper<ProductBaseVo> esQueryWrapper = new LambdaEsQueryWrapper<ProductBaseVo>()
@@ -83,7 +84,7 @@ public class ProtocolProductsServiceImpl  extends ServiceImpl<ProtocolProductsMa
                 .eq(ObjectUtil.isNotEmpty(bo.getBrandId()), ProductBaseVo::getBrandId, bo.getBrandId())
                 .eq(ObjectUtil.isNotEmpty(bo.getProductStatus()), ProductBaseVo::getProductStatus, bo.getProductStatus())
                 .orderByAsc(ProductBaseVo::getId);
-            
+
             // 检查ES索引是否存在
             if (!productEsMapper.existsIndex("productbasevo")) {
                 log.warn("ES索引 [productbasevo] 不存在,降级到数据库查询");
@@ -94,16 +95,14 @@ public class ProtocolProductsServiceImpl  extends ServiceImpl<ProtocolProductsMa
                 lqw.eq(ObjectUtil.isNotEmpty(bo.getProductStatus()),"b.product_status", bo.getProductStatus());
                 lqw.orderByAsc("b.id");
                 List<ProductBaseVo> result = productBaseMapper.selectAllList(lqw);
-                TableDataInfo<ProductBaseVo> tableDataInfo = TableDataInfo.build(result);
+                tableDataInfo = TableDataInfo.build(result);
                 tableDataInfo.setTotal(productIds.size());
-                return tableDataInfo;
             }
-            
+
             List<ProductBaseVo> result = productEsMapper.selectList(esQueryWrapper);
-            TableDataInfo<ProductBaseVo> tableDataInfo = TableDataInfo.build(result);
+            tableDataInfo = TableDataInfo.build(result);
             tableDataInfo.setTotal(productIds.size());
-            return tableDataInfo;
-            
+
         } catch (Exception e) {
             log.error("ES查询协议产品失败,降级到数据库查询: {}", e.getMessage(), e);
             QueryWrapper<ProductBase> lqw = Wrappers.query();
@@ -113,10 +112,13 @@ public class ProtocolProductsServiceImpl  extends ServiceImpl<ProtocolProductsMa
             lqw.eq(ObjectUtil.isNotEmpty(bo.getProductStatus()),"b.product_status", bo.getProductStatus());
             lqw.orderByAsc("b.id");
             List<ProductBaseVo> result = productBaseMapper.selectAllList(lqw);
-            TableDataInfo<ProductBaseVo> tableDataInfo = TableDataInfo.build(result);
+            tableDataInfo = TableDataInfo.build(result);
             tableDataInfo.setTotal(productIds.size());
-            return tableDataInfo;
         }
+        tableDataInfo.getRows().forEach(item -> {
+            item.setAgreementPrice(protocolProducts.stream().filter(o -> o.getProductId().equals(item.getId())).findFirst().get().getAgreementPrice());
+        });
+        return tableDataInfo;
     }
 
     /**

+ 4 - 0
ruoyi-modules/ruoyi-product/src/main/java/org/dromara/product/service/impl/ServiceCaseServiceImpl.java

@@ -1,6 +1,7 @@
 package org.dromara.product.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
@@ -80,6 +81,9 @@ public class ServiceCaseServiceImpl extends ServiceImpl<ServiceCaseMapper, Servi
     private LambdaQueryWrapper<ServiceCase> buildQueryWrapper(ServiceCaseBo bo) {
         LambdaQueryWrapper<ServiceCase> lqw = Wrappers.lambdaQuery();
         lqw.orderByDesc(ServiceCase::getId);
+        if(ObjectUtil.isNotEmpty(bo.getIds())){
+            lqw.in(ServiceCase::getId, bo.getIds().split( ","));
+        }
         lqw.like(StringUtils.isNotBlank(bo.getServiceCaseNo()), ServiceCase::getServiceCaseNo, bo.getServiceCaseNo());
         lqw.like(StringUtils.isNotBlank(bo.getCaseTitle()), ServiceCase::getCaseTitle, bo.getCaseTitle());
         lqw.eq(StringUtils.isNotBlank(bo.getClientIndustry()), ServiceCase::getClientIndustry, bo.getClientIndustry());

+ 18 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/pc/DiySystemController.java

@@ -0,0 +1,18 @@
+package org.dromara.system.controller.pc;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * diy系统运营相关接口
+ * @author
+ * @date 2026/3/9 上午11:05
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/diySystem")
+public class DiySystemController {
+}

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysAnnouncementBo.java

@@ -27,6 +27,11 @@ public class SysAnnouncementBo extends BaseEntity {
      */
     private Long id;
 
+    /**
+    * ids
+    * */
+    private String ids;
+
     /**
      * 公告编号
      */

+ 5 - 0
ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysAnnouncementServiceImpl.java

@@ -1,5 +1,6 @@
 package org.dromara.system.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.dromara.common.core.utils.MapstructUtils;
 import org.dromara.common.core.utils.StringUtils;
@@ -74,7 +75,11 @@ public class SysAnnouncementServiceImpl  extends ServiceImpl<SysAnnouncementMapp
     private LambdaQueryWrapper<SysAnnouncement> buildQueryWrapper(SysAnnouncementBo bo) {
         Map<String, Object> params = bo.getParams();
         LambdaQueryWrapper<SysAnnouncement> lqw = Wrappers.lambdaQuery();
+        if(ObjectUtil.isNotEmpty(bo.getIds())){
+            lqw.in(SysAnnouncement::getId, bo.getIds().split( ","));
+        }
         lqw.orderByAsc(SysAnnouncement::getId);
+
         lqw.eq(StringUtils.isNotBlank(bo.getAnnouncementNo()), SysAnnouncement::getAnnouncementNo, bo.getAnnouncementNo());
         lqw.eq(StringUtils.isNotBlank(bo.getAnnouncementTitle()), SysAnnouncement::getAnnouncementTitle, bo.getAnnouncementTitle());
         lqw.eq(StringUtils.isNotBlank(bo.getAnnouncementContent()), SysAnnouncement::getAnnouncementContent, bo.getAnnouncementContent());