Browse Source

添加批量修改产品销售状态

yzc 1 year ago
parent
commit
2d8be0751d

+ 7 - 0
hx-item/src/main/java/com/fjhx/item/controller/product/ProductInfoController.java

@@ -223,5 +223,12 @@ public class ProductInfoController {
         return productInfoService.statisticsProduct();
     }
 
+    /**
+     * 批量修改产品销售状态
+     */
+    @PostMapping("/editByCodes")
+    public void editByCodes(@RequestBody ProductInfoDto dto){
+        productInfoService.editByCodes(dto);
+    }
 
 }

+ 10 - 0
hx-item/src/main/java/com/fjhx/item/entity/product/dto/ProductInfoDto.java

@@ -53,4 +53,14 @@ public class ProductInfoDto extends ProductInfo {
      * 10 正序  20 倒序
      */
     private  Integer orderBy;
+
+    /**
+     * 销售状态
+     */
+    private String salesStatus;
+
+    /**
+     * 产品编码列表
+     */
+    private String productCodes;
 }

+ 2 - 0
hx-item/src/main/java/com/fjhx/item/mapper/product/ProductInfoMapper.java

@@ -65,4 +65,6 @@ public interface ProductInfoMapper extends BaseMapper<ProductInfo> {
      * @return
      */
     Map<String,Object> statisticsProduct();
+
+    void editByCodes(@Param("salesStatus")String salesStatus,@Param("userId")Long userId,@Param("ew") IWrapper<ProductInfo> wrapper);
 }

+ 5 - 0
hx-item/src/main/java/com/fjhx/item/service/product/ProductInfoService.java

@@ -153,4 +153,9 @@ public interface ProductInfoService extends BaseService<ProductInfo> {
      * 产品库统计(根据产品库类型进行分类统计)
      */
     Map<String,Object> productInfoStatistics(ProductInfoSelectDto dto);
+
+    /**
+     * 批量修改产品销售状态
+     */
+    void editByCodes(ProductInfoDto dto);
 }

+ 22 - 0
hx-item/src/main/java/com/fjhx/item/service/product/impl/ProductInfoServiceImpl.java

@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.utils.Assert;
 import com.fjhx.customer.entity.customer.po.Customer;
 import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.file.utils.ObsFileUtil;
@@ -1065,4 +1066,25 @@ public class ProductInfoServiceImpl extends ServiceImpl<ProductInfoMapper, Produ
         return list;
     }
 
+    /**
+     * 批量修改产品销售状态
+     */
+    @Override
+    @DSTransactional
+    public void editByCodes(ProductInfoDto dto){
+        Assert.notEmpty(dto.getSalesStatus(),"销售状态不能为空");
+        Assert.notEmpty(dto.getProductCodes(),"产品编号不能为空");
+        String[] productCodes = dto.getProductCodes()
+                .replace("\r\n", "\n")
+                .replace("\n\r", "\n")
+                .replace("\r", "\n").split("\n");
+
+        this.update(q->q.set(ProductInfo::getVictoriatouristJson,"{}")
+                .isNull(ProductInfo::getVictoriatouristJson)
+                .or().eq(ProductInfo::getVictoriatouristJson,"")
+        );
+
+        baseMapper.editByCodes(dto.getSalesStatus(),SecurityUtils.getUserId(),IWrapper.<ProductInfo>getWrapper().in(ProductInfo::getCustomCode,productCodes));
+    }
+
 }

+ 6 - 0
hx-item/src/main/resources/mapper/product/ProductInfoMapper.xml

@@ -132,4 +132,10 @@
         GROUP BY
             `type`
     </select>
+
+    <update id="editByCodes">
+        UPDATE product_info SET victoriatourist_json = JSON_SET(victoriatourist_json,'$.salesStatus',#{salesStatus}) , update_time = now(),update_user = #{userId}
+            ${ew.customSqlSegment}
+    </update>
+
 </mapper>