Browse Source

Merge remote-tracking branch 'origin/master'

yfh 1 week ago
parent
commit
aa9d55a00b

+ 38 - 0
fs-admin/src/main/java/com/fs/course/controller/FsVideoResourceController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 资源库管理
@@ -102,6 +103,43 @@ public class FsVideoResourceController extends BaseController {
         return AjaxResult.success();
     }
 
+    /**
+     * 批量修改视频分类
+     * @param typeId
+     * @param typeSubId
+     * @param ids
+     * @return
+     */
+    @PreAuthorize("@ss.hasPermi('course:videoResource:batchUpdateClass')")
+    @Log(title = "视频素材库", businessType = BusinessType.UPDATE)
+    @PostMapping("/batchUpdateClass")
+    public AjaxResult batchUpdateClass(@RequestParam("typeId") Long typeId,
+                                       @RequestParam("typeSubId") Long typeSubId,
+                                       @RequestParam("ids") String ids) {
+        if(typeId == null || typeId <= 0){
+            return AjaxResult.error("请选择分类");
+        }
+        if(typeSubId == null || typeSubId <= 0){
+            return AjaxResult.error("请选择子分类");
+        }
+        if(ids == null || ids.isEmpty()){
+            return AjaxResult.error("请选择要修改的分类");
+        }
+
+        // 将ids字符串分割为ID列表
+        List<String> idList = Arrays.asList(ids.split(","));
+
+        // 创建更新条件
+        Wrapper<FsVideoResource> updateWrapper = Wrappers.<FsVideoResource>lambdaUpdate()
+                .set(FsVideoResource::getTypeId, typeId)
+                .set(FsVideoResource::getTypeSubId, typeSubId)
+                .in(FsVideoResource::getId, idList.stream().map(Long::valueOf).collect(Collectors.toList()));
+
+        // 执行批量更新
+        fsVideoResourceService.update(updateWrapper);
+        return AjaxResult.success();
+    }
+
     @PreAuthorize("@ss.hasPermi('course:videoResource:batchAdd')")
     @Log(title = "视频素材库", businessType = BusinessType.INSERT)
     @PostMapping("/batchAddVideoResource")

+ 10 - 0
fs-service/src/main/java/com/fs/erp/dto/OrderItemDTO.java

@@ -55,4 +55,14 @@ public class OrderItemDTO implements Serializable {
      * 生产日期
      */
     private String producedDate;
+
+    /**
+     * 商品属性
+     * **/
+    private String propertiesValue;
+
+    /**
+     * 款式编码
+     * **/
+    private String shopIId;
 }

+ 4 - 4
fs-service/src/main/java/com/fs/erp/service/impl/JSTErpGoodsServiceImpl.java

@@ -102,9 +102,9 @@ public class JSTErpGoodsServiceImpl implements IErpGoodsService {
             fsStoreProductAttrValues.forEach(v -> {
                 JSONObject productJson = new JSONObject();
                 FsStoreProduct product = productMap.get(v.getProductId());
-                productJson.put("sku_id", product.getBarCode());//商品编码
-                productJson.put("i_id", v.getBrokerage());//款式编码
-                productJson.put("name", product.getProductName());//名称
+                productJson.put("sku_id", v.getBarCode());//商品编码
+                productJson.put("i_id", v.getBarCode());//如果没有款式默认商品编码一致
+                productJson.put("name", v.getSku());//名称
                 productJson.put("short_name", product.getKeyword());//简称
                 if(StringUtils.isNotEmpty(product.getBrand())){
                     productJson.put("brand", product.getBrand());//品牌
@@ -115,7 +115,7 @@ public class JSTErpGoodsServiceImpl implements IErpGoodsService {
                 productJson.put("market_price", v.getOtPrice());//市场|吊牌价
                 productJson.put("unit", product.getUnitName());//单位
                 productJson.put("sku_pic", v.getImage());//商品图片
-                productJson.put("pic", product.getImgUrl());//图片地址(款图片)
+                productJson.put("pic", v.getImage());//图片地址(款图片)
                 productJson.put("pic_big", v.getImage());//大图地址
                 res.add(productJson);
             });

+ 3 - 0
fs-service/src/main/java/com/fs/erp/service/impl/JSTErpOrderServiceImpl.java

@@ -135,10 +135,13 @@ public class JSTErpOrderServiceImpl implements IErpOrderService {
 
             String barCode = jsonObject.getString("barCode");
             String productName = jsonObject.getString("productName");
+            String sku=jsonObject.getString("sku");
 
             orderItemDTO.setSkuId(barCode);
             orderItemDTO.setShopSkuId(barCode);
             orderItemDTO.setName(productName);
+            orderItemDTO.setShopIId(orderItemDTO.getSkuId());//款式编码ID,当前没有这个目前就与SKU ID一致
+            orderItemDTO.setPropertiesValue(sku);//商品属性
 
             FsStoreProduct fsStoreProduct = fsStoreProductService.selectFsStoreProductById(item.getProductId());
 

+ 22 - 2
fs-service/src/main/java/com/fs/erp/service/impl/JstTokenService.java

@@ -6,6 +6,8 @@ import com.fs.erp.dto.GetInitTokenResponseDTO;
 import com.fs.erp.dto.RefreshTokenRequestDTO;
 import com.fs.erp.http.JstErpHttpService;
 import com.fs.erp.utils.SignUtil;
+import com.fs.his.config.FsSysConfig;
+import com.fs.his.utils.ConfigUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +42,9 @@ public class JstTokenService {
     @Autowired
     private StringRedisTemplate redisTemplate;
 
+    @Autowired
+    private ConfigUtil configUtil;
+
     /**
      * 获取访问令牌,如果缓存中存在有效令牌则直接返回,否则重新获取
      * @return 有效的访问令牌
@@ -159,14 +164,29 @@ public class JstTokenService {
     }
 
     /**
-     * 定时任务,每20天刷新一次令牌
+     * 定时任务,每28天凌晨3点刷新一次令牌
      * 根据文档说明,刷新token必须在有效期小于15天时进行,所以这里设置20天刷新一次
      */
 //    @Scheduled(fixedRate = 20 * 24 * 60 * 60 * 1000)
+    @Scheduled(cron = "0 0 3 */28 * ?")
     public void scheduleTokenRefresh() {
         log.info("定时任务:刷新聚水潭API令牌");
         try {
-            refreshAccessToken();
+            //判断是否开启erp
+            FsSysConfig sysConfig = configUtil.getSysConfig();
+            Integer erpOpen = sysConfig.getErpOpen();
+            if (erpOpen == null || erpOpen == 0) {
+                return;
+            }
+
+            //判断erp类型
+            Integer erpType = sysConfig.getErpType();
+            if (erpType == null) {
+                return;
+            } else if (erpType == 5){
+                //聚水潭
+                refreshAccessToken();
+            }
         } catch (Exception e) {
             log.error("定时刷新令牌失败", e);
         }