Преглед на файлове

feat:websocket逻辑修改

zhangwei преди 2 дни
родител
ревизия
d5e7c005fa
променени са 32 файла, в които са добавени 366 реда и са изтрити 347 реда
  1. 5 0
      edu-travel-adapter/edu-travel-adapter-upload/src/main/java/edu/travel/adapter/service/upload/UploadAdapter.java
  2. 0 4
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/InsertProductSpecDto.java
  3. 19 0
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/ParametersDto.java
  4. 19 0
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/SpecDto.java
  5. 21 0
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ParametersVo.java
  6. 15 0
      edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SpecVo.java
  7. 11 0
      edu-travel-remote/edu-travel-remote-upload/src/main/java/edu/travel/remote/upload/UploadRemoteController.java
  8. 33 0
      edu-travel-remote/edu-travel-remote-upload/src/main/java/edu/travel/remote/upload/vo/FileVo.java
  9. 5 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopParameters.java
  10. 5 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopParametersService.java
  11. 0 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSkuService.java
  12. 7 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopSpecService.java
  13. 21 5
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopParametersServiceImpl.java
  14. 12 5
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductServiceImpl.java
  15. 33 5
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopSpecServiceImpl.java
  16. 1 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopOpinionTypeController.java
  17. 13 0
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopParametersController.java
  18. 4 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductController.java
  19. 0 3
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductSkuController.java
  20. 30 1
      edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopSpecController.java
  21. 2 1
      edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopParametersMapper.xml
  22. 26 0
      edu-travel-service/edu-travel-service-upload/src/main/java/edu/travel/upload/web/UploadController.java
  23. 49 39
      edu-travel-service/edu-travel-service-ws/pom.xml
  24. 0 32
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/MyAccessDeniedHandler.java
  25. 0 31
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/MyAuthenticationEntryPoint.java
  26. 0 39
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/ResourceServerConfig.java
  27. 0 48
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/TokenConfig.java
  28. 0 21
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/WebSecurityConfig.java
  29. 0 23
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/WebServerFactoryConfigs.java
  30. 0 61
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/filter/TokenAuthenticationFilter.java
  31. 12 0
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/handle/TravelMessageHandler.java
  32. 23 23
      edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/interceptor/SystemMessageInterceptor.java

+ 5 - 0
edu-travel-adapter/edu-travel-adapter-upload/src/main/java/edu/travel/adapter/service/upload/UploadAdapter.java

@@ -6,6 +6,7 @@ import edu.travel.remote.upload.UploadRemoteController;
 import edu.travel.remote.upload.dto.EduFileBlobDTO;
 import edu.travel.remote.upload.dto.EduFileDTO;
 import edu.travel.remote.upload.vo.EduFileVo;
+import edu.travel.remote.upload.vo.FileVo;
 import edu.travel.rpc.RPCBaseResponse;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -50,6 +51,10 @@ public class UploadAdapter  {
         return rpcBaseResponse;
     }
     @AdapterAnnotation
+    public RPCBaseResponse<FileVo> uploadFilePath(EduFileDTO eduFileDTO, MultipartFile file) throws IOException {
+        return uploadRemoteController.uploadFilePath(JSON.toJSONString(eduFileDTO),file);
+    }
+    @AdapterAnnotation
     public RPCBaseResponse<EduFileVo> getFormId(@RequestParam("id") String id) {
         return uploadRemoteController.getFormId(id);
     }

+ 0 - 4
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/InsertProductSpecDto.java

@@ -22,10 +22,6 @@ public class InsertProductSpecDto {
      */
     private String specName;
     /**
-     * 权重
-     */
-    private Integer sortOrder;
-    /**
      * 规格值
      */
     private List<SpecValueDto> specValues;

+ 19 - 0
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/ParametersDto.java

@@ -0,0 +1,19 @@
+package edu.travel.remote.dto;
+
+import lombok.Data;
+
+@Data
+public class ParametersDto {
+
+    /**国家Id*/
+    private String countryId;
+
+    private Integer currentPage = 1;
+
+    private Integer pageSize = 10;
+    /**
+     * 是否必填参数  0 是 1 否
+     */
+    private String isNecessary;
+
+}

+ 19 - 0
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/dto/SpecDto.java

@@ -0,0 +1,19 @@
+package edu.travel.remote.dto;
+
+import lombok.Data;
+
+@Data
+public class SpecDto {
+    /**
+     * 规格id
+     */
+    private String specId;
+    /**
+     * 规格值
+     */
+    private String specName;
+    /**
+     * 国家Id
+     */
+    private String countryId;
+}

+ 21 - 0
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/ParametersVo.java

@@ -0,0 +1,21 @@
+package edu.travel.remote.vo;
+
+import lombok.Data;
+
+@Data
+public class ParametersVo {
+    /**
+     * 商品参数ID
+     */
+    private String id;
+
+    /**
+     * 商品参数名称
+     */
+    private String parametersName;
+
+    /**
+     * 是否是必须参数 0是 1否
+     */
+    private String isNecessary;
+}

+ 15 - 0
edu-travel-remote/edu-travel-remote-commodity/src/main/java/edu/travel/remote/vo/SpecVo.java

@@ -0,0 +1,15 @@
+package edu.travel.remote.vo;
+
+import lombok.Data;
+
+@Data
+public class SpecVo {
+    /**
+     * 规格id
+     */
+    private String id;
+    /**
+     * 规格值
+     */
+    private String specName;
+}

+ 11 - 0
edu-travel-remote/edu-travel-remote-upload/src/main/java/edu/travel/remote/upload/UploadRemoteController.java

@@ -4,6 +4,7 @@ import edu.travel.remote.base.RemoteBaseController;
 import edu.travel.remote.upload.dto.EduFileBlobDTO;
 import edu.travel.remote.upload.dto.EduFileDTO;
 import edu.travel.remote.upload.vo.EduFileVo;
+import edu.travel.remote.upload.vo.FileVo;
 import edu.travel.rpc.RPCBaseResponse;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
@@ -63,4 +64,14 @@ public interface UploadRemoteController extends RemoteBaseController<EduFileVo,
      */
     @GetMapping("/getFormId")
     RPCBaseResponse<EduFileVo> getFormId(@RequestParam("id")String id);
+
+    /**
+     * 上传小文件
+     * @param
+     * @return
+     */
+    @PostMapping(value = "/uploadFilePath",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    RPCBaseResponse<FileVo> uploadFilePath(@RequestParam("eduFileDTO") String dto, @RequestPart("file") MultipartFile file) throws IOException;
+
+
 }

+ 33 - 0
edu-travel-remote/edu-travel-remote-upload/src/main/java/edu/travel/remote/upload/vo/FileVo.java

@@ -0,0 +1,33 @@
+package edu.travel.remote.upload.vo;
+
+import lombok.Data;
+
+@Data
+public class FileVo {
+    private String id;
+
+    /**
+     * 文件md5
+     */
+    private String fileMd5;
+
+    /**
+     * 文件名
+     */
+    private String fileName;
+
+    /**
+     * 文件系统名
+     */
+    private String fileSysName;
+
+    /**
+     * 文件路径
+     */
+    private String filePath;
+
+    /**
+     * 文件类型
+     */
+    private String fileType;
+}

+ 5 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/entity/ShopParameters.java

@@ -37,5 +37,9 @@ public class ShopParameters extends BaseEntity {
     @TableField(value = "is_necessary")
     private Integer isNecessary;
 
-
+    /**
+     * 国家ID
+     */
+    @TableField(value = "country_id")
+    private Long countryId;
 }

+ 5 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopParametersService.java

@@ -3,11 +3,16 @@ package edu.travel.commodity.service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopParameters;
 import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.remote.dto.ParametersDto;
 import edu.travel.remote.dto.ProductSpecDto;
+import edu.travel.remote.vo.ParametersVo;
 import edu.travel.remote.vo.ShopParametersVo;
 
 public interface ShopParametersService extends IService<ShopParameters>{
 
 
     Page<ShopParametersVo> getShopParameters(ProductSpecDto param);
+
+    Page<ParametersVo> getAllParameters(ParametersDto param);
+
 }

+ 0 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopProductSkuService.java

@@ -17,7 +17,6 @@ public interface ShopProductSkuService extends IService<ShopProductSku>{
 
     Map<String, List<ShopSkuSpecValueVo>> getSkuValuesById(Set<String> skuId);
 
-
     void shopProductSku(AddShopOrderDto params);
 
     boolean insertProductSku(List<InsertProductSpecDto> specs,List<InsertProductSkuDto> skus, ShopProduct id);

+ 7 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/ShopSpecService.java

@@ -1,10 +1,17 @@
 package edu.travel.commodity.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopSpec;
 import com.baomidou.mybatisplus.extension.service.IService;
+import edu.travel.remote.dto.SpecDto;
+import edu.travel.remote.vo.SpecVo;
 
 
 public interface ShopSpecService extends IService<ShopSpec>{
 
 
+    Page<SpecVo> getShopSpec(Long countryId,Integer currentPage, Integer pageSize);
+
+
+    void insertOrUpdate(SpecDto specDto);
 }

+ 21 - 5
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopParametersServiceImpl.java

@@ -1,6 +1,8 @@
 package edu.travel.commodity.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import edu.travel.commodity.entity.ShopParameters;
@@ -8,9 +10,10 @@ import edu.travel.commodity.entity.ShopProductParameters;
 import edu.travel.commodity.mapper.ShopParametersMapper;
 import edu.travel.commodity.service.ShopParametersService;
 import edu.travel.commodity.service.ShopProductParametersService;
-import edu.travel.commodity.service.ShopProductService;
 import edu.travel.commodity.utils.PageUtil;
+import edu.travel.remote.dto.ParametersDto;
 import edu.travel.remote.dto.ProductSpecDto;
+import edu.travel.remote.vo.ParametersVo;
 import edu.travel.remote.vo.ShopParametersVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -24,12 +27,12 @@ import java.util.stream.Collectors;
 public class ShopParametersServiceImpl extends ServiceImpl<ShopParametersMapper, ShopParameters> implements ShopParametersService {
     @Autowired
     private ShopProductParametersService shopProductParametersService;
-    @Autowired
-    private ShopProductService shopProductService;
+
     @Override
     public Page<ShopParametersVo> getShopParameters(ProductSpecDto param) {
-        Page<ShopProductParameters> page = shopProductParametersService.lambdaQuery().eq(ShopProductParameters::getProductId, param.getProductId())
-                .page(new Page<>(param.getCurrentPage(), param.getPageSize()));
+        LambdaQueryWrapper<ShopProductParameters> query = Wrappers.<ShopProductParameters>lambdaQuery().eq(ShopProductParameters::getProductId, param.getProductId());
+
+        Page<ShopProductParameters> page = shopProductParametersService.page(new Page<>(param.getCurrentPage(), param.getPageSize()), query);
         //分页获取参数值和参数ID
         Page<ShopParametersVo> pageEntity = PageUtil.toPageEntity(page, ShopParametersVo.class);
         List<ShopParametersVo> list = pageEntity.getRecords();
@@ -54,4 +57,17 @@ public class ShopParametersServiceImpl extends ServiceImpl<ShopParametersMapper,
         }
         return pageEntity;
     }
+
+    @Override
+    public Page<ParametersVo> getAllParameters(ParametersDto param) {
+        LambdaQueryWrapper<ShopParameters> query = Wrappers.<ShopParameters>lambdaQuery().
+                eq(ShopParameters::getCountryId, param.getCountryId());
+        if(param.getIsNecessary().equals("0")){
+            query.eq(ShopParameters::getIsNecessary, param.getIsNecessary());
+        }
+        Page<ShopParameters> page = this.page(new Page<>(param.getCurrentPage(), param.getPageSize()),query);
+        return PageUtil.toPageEntity(page, ParametersVo.class);
+    }
+
+
 }

+ 12 - 5
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopProductServiceImpl.java

@@ -3,26 +3,28 @@ package edu.travel.commodity.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import edu.travel.commodity.constant.BaseConstant;
 import edu.travel.commodity.entity.ShopProduct;
+import edu.travel.commodity.entity.ShopSpec;
 import edu.travel.commodity.mapper.ShopProductMapper;
+import edu.travel.commodity.mapper.ShopSpecMapper;
 import edu.travel.commodity.service.*;
 import edu.travel.commodity.utils.ObjectUtils;
 import edu.travel.commodity.utils.PageUtil;
-import edu.travel.remote.dto.GetProductByTypeDto;
-import edu.travel.remote.dto.InsertProductDto;
-import edu.travel.remote.dto.SearchProductDto;
-import edu.travel.remote.dto.FIleDto;
+import edu.travel.remote.dto.*;
 import edu.travel.remote.vo.ShopProductVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 public class ShopProductServiceImpl extends ServiceImpl<ShopProductMapper, ShopProduct> implements ShopProductService {
@@ -38,6 +40,9 @@ public class ShopProductServiceImpl extends ServiceImpl<ShopProductMapper, ShopP
     @Autowired
     private ShopProductParametersService shopProductParametersService;
 
+    @Autowired
+    private ShopSpecService shopSpecService;
+
     @Override
     public Page<ShopProductVo> getHotProduct(GetProductByTypeDto type) {
         LambdaQueryWrapper<ShopProduct> query = Wrappers.<ShopProduct>lambdaQuery()
@@ -68,8 +73,10 @@ public class ShopProductServiceImpl extends ServiceImpl<ShopProductMapper, ShopP
         bean.setMainImageUrl(imageList.get(0).getFilePath());
         //保存商品
         this.save(bean);
+        List<InsertProductSpecDto> specs = params.getSpecs();
+
         //保存商品规格和规格值
-        boolean b1 = shopProductSpecService.insertProductSpec(params.getSpecs(), bean);
+        boolean b1 = shopProductSpecService.insertProductSpec(specs, bean);
 
         //保存商品图片
         boolean b2 = shopProductImageService.saveProductImage(bean.getId(), imageList);

+ 33 - 5
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/service/impl/ShopSpecServiceImpl.java

@@ -1,18 +1,46 @@
 package edu.travel.commodity.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import edu.travel.commodity.entity.ShopProduct;
 import edu.travel.commodity.entity.ShopSpec;
 import edu.travel.commodity.mapper.ShopSpecMapper;
 import edu.travel.commodity.service.ShopSpecService;
-import edu.travel.remote.dto.InsertProductSpecDto;
+import edu.travel.commodity.utils.PageUtil;
+import edu.travel.remote.dto.SpecDto;
+import edu.travel.remote.vo.SpecVo;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
 
 @Service
 public class ShopSpecServiceImpl extends ServiceImpl<ShopSpecMapper, ShopSpec> implements ShopSpecService {
 
 
+    @Override
+    public Page<SpecVo> getShopSpec(Long countryId,Integer currentPage, Integer pageSize) {
+        LambdaQueryWrapper<ShopSpec> query = Wrappers.<ShopSpec>lambdaQuery()
+                .eq(ShopSpec::getCountryId, countryId).orderByDesc(ShopSpec::getCreateTime);
+        Page<ShopSpec> page = this.page(new Page<>(currentPage, pageSize), query);
+        return PageUtil.toPageEntity(page, SpecVo.class);
+    }
+
+    @Override
+    public void insertOrUpdate(SpecDto specDto) {
+        ShopSpec spec = getById(specDto.getSpecId());
+        if(spec==null){
+            LambdaQueryWrapper<ShopSpec> query =
+                    Wrappers.<ShopSpec>lambdaQuery().eq(ShopSpec::getSpecName, specDto)
+                            .eq(ShopSpec::getCountryId,specDto.getCountryId());
+            ShopSpec one = getOne(query);
+            if(one!=null){
+                throw new RuntimeException("规格名称已存在");
+            }
+            ShopSpec bean = BeanUtil.toBean(specDto, ShopSpec.class);
+            save(bean);
+            return;
+        }
+        spec.setSpecName(specDto.getSpecName());
+        updateById(spec);
+    }
 }

+ 1 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopOpinionTypeController.java

@@ -24,7 +24,7 @@ import java.util.List;
 * @author xxxxx
 */
 @RestController
-@RequestMapping("/shop_opinion_type")
+@RequestMapping("/shopOpinionType")
 public class ShopOpinionTypeController extends BaseController<ShopOpinionType> implements ShopOpinionTypeRemoteController {
 /**
 * 服务对象

+ 13 - 0
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopParametersController.java

@@ -2,7 +2,9 @@ package edu.travel.commodity.web;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.service.ShopParametersService;
+import edu.travel.remote.dto.ParametersDto;
 import edu.travel.remote.dto.ProductSpecDto;
+import edu.travel.remote.vo.ParametersVo;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.remote.vo.ShopParametersVo;
@@ -35,4 +37,15 @@ public class ShopParametersController {
     public RPCBaseResponse<Page<ShopParametersVo>> getShopParameters(ProductSpecDto param){
         return success(shopParametersService.getShopParameters(param));
     }
+    /**
+     * 获取参数
+     */
+    @GetMapping("getAllParameters")
+    public RPCBaseResponse<Page<ParametersVo>> getAllParameters(ParametersDto param){
+        return success(shopParametersService.getAllParameters(param));
+    }
+
+
+
+
 }

+ 4 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductController.java

@@ -16,6 +16,7 @@ import edu.travel.remote.dto.GetProductByTypeDto;
 import edu.travel.remote.dto.InsertProductDto;
 import edu.travel.remote.dto.SearchProductDto;
 import edu.travel.remote.upload.dto.EduFileDTO;
+import edu.travel.remote.upload.vo.FileVo;
 import edu.travel.resp.BaseResponse;
 import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.remote.vo.ShopProductVo;
@@ -76,7 +77,7 @@ public class ShopProductController extends BaseController<ShopProduct> {
      */
 
     @PostMapping("/uploadProductImage")
-    public RPCBaseResponse<String> searchProduct(MultipartFile file) throws IOException {
+    public RPCBaseResponse<FileVo> uploadProductImage(MultipartFile file) throws IOException {
         if (file == null || file.isEmpty()) {
             return error();
         }
@@ -97,8 +98,8 @@ public class ShopProductController extends BaseController<ShopProduct> {
                 eduFileDTO.setFileName(filename);
                 eduFileDTO.setFileSysName(IdUtil.fastSimpleUUID()+ DateUtil.format(new Date(),"yyyyMMddHHmmss") +"."+fileType);
                 eduFileDTO.setFileMd5(FIleUtil.calculateFileMd5(file.getBytes()));
-                RPCBaseResponse rpcBaseResponse = uploadAdapter.uploadFile(eduFileDTO, file);
-                return success(rpcBaseResponse.getData().toString());
+                RPCBaseResponse<FileVo> fileVoRPCBaseResponse = uploadAdapter.uploadFilePath(eduFileDTO, file);
+                return success("success",fileVoRPCBaseResponse.getData());
             }
         } catch (Exception e) {
             e.printStackTrace();

+ 0 - 3
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopProductSkuController.java

@@ -1,13 +1,10 @@
 package edu.travel.commodity.web;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.entity.ShopProductSku;
 import edu.travel.commodity.service.ShopProductSkuService;
 import edu.travel.remote.commodity.ShopProductSkuRemoteController;
 import edu.travel.remote.dto.AddShopOrderDto;
-import edu.travel.remote.dto.GetOrderItemInfoByOrderNumDto;
 import edu.travel.remote.dto.PayShopOrderDto;
-import edu.travel.remote.vo.OrderItemVo;
 import edu.travel.remote.vo.ShopSkuSpecValueVo;
 import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.web.BaseController;

+ 30 - 1
edu-travel-service/edu-travel-service-commodity/src/main/java/edu/travel/commodity/web/ShopSpecController.java

@@ -1,17 +1,23 @@
 package edu.travel.commodity.web;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.commodity.service.ShopSpecService;
+import edu.travel.remote.dto.SpecDto;
+import edu.travel.remote.vo.SpecVo;
+import edu.travel.rpc.RPCBaseResponse;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.beans.factory.annotation.Autowired;
 
+import static edu.travel.rpc.RPCBaseResponse.success;
+
 /**
 * 规格表(shop_spec)表控制层
 *
 * @author xxxxx
 */
 @RestController
-@RequestMapping("/shop_spec")
+@RequestMapping("/shopSpec")
 public class ShopSpecController {
 /**
 * 服务对象
@@ -19,4 +25,27 @@ public class ShopSpecController {
     @Autowired
     private ShopSpecService shopSpecService;
 
+
+    /**
+     *  分页查询规格
+     * @param currentPage
+     * @param pageSize
+     * @return {@link RPCBaseResponse }<{@link Page }<{@link SpecVo }>>
+     */
+
+    @GetMapping("/getShopSpec")
+    public RPCBaseResponse<Page<SpecVo>> getShopSpec(@RequestParam("countryId")Long countryId, @RequestParam("currentPage")Integer currentPage,@RequestParam("pgeSize")Integer pageSize){
+        return success(shopSpecService.getShopSpec(countryId,currentPage,pageSize));
+    }
+
+    /**
+     *  修改/新增规格
+     * @return {@link RPCBaseResponse }<{@link Page }<{@link SpecVo }>>
+     */
+
+    @PostMapping("/insertOrUpdate")
+    public RPCBaseResponse<Page<SpecVo>> insertOrUpdate(@RequestBody SpecDto specDto){
+        shopSpecService.insertOrUpdate(specDto);
+        return success();
+    }
 }

+ 2 - 1
edu-travel-service/edu-travel-service-commodity/src/main/resources/mapper/ShopParametersMapper.xml

@@ -13,10 +13,11 @@
     <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
     <result column="update_user_id" jdbcType="VARCHAR" property="updateUserId" />
     <result column="delete_flag" jdbcType="INTEGER" property="deleteFlag" />
+    <result column="country_id" jdbcType="BIGINT" property="countryId" />
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
     id, parameters_name, is_necessary, project, create_time, create_user_id,
-    update_time, update_user_id, delete_flag
+    update_time, update_user_id, delete_flag,country_id
   </sql>
 </mapper>

+ 26 - 0
edu-travel-service/edu-travel-service-upload/src/main/java/edu/travel/upload/web/UploadController.java

@@ -1,5 +1,6 @@
 package edu.travel.upload.web;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.fastjson.JSON;
 import cn.hutool.core.lang.Assert;
 import com.obs.services.ObsClient;
@@ -8,6 +9,7 @@ import edu.travel.remote.upload.UploadRemoteController;
 import edu.travel.remote.upload.dto.EduFileBlobDTO;
 import edu.travel.remote.upload.dto.EduFileDTO;
 import edu.travel.remote.upload.vo.EduFileVo;
+import edu.travel.remote.upload.vo.FileVo;
 import edu.travel.rpc.RPCBaseResponse;
 import edu.travel.upload.config.MD5Calculator;
 import edu.travel.upload.entity.EduFile;
@@ -154,6 +156,30 @@ public class UploadController extends BaseController<EduFile> implements UploadR
     }
 
     /**
+     * 上传小文件
+     * @param
+     * @return
+     */
+    @Override
+    @PostMapping(value = "/uploadFilePath",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    @PreAuthorize("permitAll()")
+    public RPCBaseResponse<FileVo> uploadFilePath(@RequestParam("eduFileDTO") String dto, @RequestPart("file") MultipartFile file) throws IOException {
+        EduFileDTO eduFileDTO = JSON.parseObject(dto, EduFileDTO.class);
+        PutObjectResult putObjectResult = obsClient.putObject(obsProperties.getBucketName(), "/service/chunk/" + eduFileDTO.getUploadId() + "/" + file.getOriginalFilename(), file.getInputStream());
+        String objectUrl = putObjectResult.getObjectUrl();
+        EduFile files = new EduFile();
+        BeanUtils.copyProperties(eduFileDTO, files);
+        files.setFilePath(objectUrl);
+
+        boolean save = eduFileService.save(files);
+        if (save){
+            return RPCBaseResponse.success(BeanUtil.toBean(files,FileVo.class));
+        }
+        return RPCBaseResponse.error();
+    }
+
+
+    /**
      * 通过id上传文件
      * @param id
      * @return

+ 49 - 39
edu-travel-service/edu-travel-service-ws/pom.xml

@@ -34,18 +34,18 @@
             <groupId>com.alibaba.cloud</groupId>
             <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-zipkin</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-oauth2</artifactId>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-zipkin</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-security</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>org.springframework.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-oauth2</artifactId>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
@@ -75,33 +75,37 @@
             <artifactId>fastjson</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.alibaba.csp</groupId>
-            <artifactId>sentinel-transport-simple-http</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.csp</groupId>
-            <artifactId>sentinel-annotation-aspectj</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.csp</groupId>
-            <artifactId>sentinel-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.cloud</groupId>
-            <artifactId>spring-cloud-alibaba-sentinel-datasource</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.csp</groupId>
-            <artifactId>sentinel-datasource-nacos</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba.csp</groupId>
-            <artifactId>sentinel-web-servlet</artifactId>
-        </dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-aop</artifactId>
+        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba.csp</groupId>-->
+<!--            <artifactId>sentinel-transport-simple-http</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba.csp</groupId>-->
+<!--            <artifactId>sentinel-annotation-aspectj</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba.csp</groupId>-->
+<!--            <artifactId>sentinel-core</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba.cloud</groupId>-->
+<!--            <artifactId>spring-cloud-alibaba-sentinel-datasource</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba.csp</groupId>-->
+<!--            <artifactId>sentinel-datasource-nacos</artifactId>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.alibaba.csp</groupId>-->
+<!--            <artifactId>sentinel-web-servlet</artifactId>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>edu.travel</groupId>
             <artifactId>edu-travel-common-util</artifactId>
@@ -121,6 +125,12 @@
             <groupId>edu.travel</groupId>
             <artifactId>edu-travel-common-datasource</artifactId>
             <version>1.0-SNAPSHOT</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>io.seata</groupId>
+                    <artifactId>seata-spring-boot-starter</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>edu.travel</groupId>

+ 0 - 32
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/MyAccessDeniedHandler.java

@@ -1,32 +0,0 @@
-package edu.travel.ws.config;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.web.access.AccessDeniedHandler;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-public class MyAccessDeniedHandler  implements AccessDeniedHandler {
-    @Override
-    public void handle(HttpServletRequest req, HttpServletResponse resp, AccessDeniedException e) throws IOException, ServletException {
-        resp.setContentType("application/json;charset=UTF-8");
-        Map map = new HashMap();
-        map.put("code", "450");
-        map.put("message", e.getMessage());
-        map.put("path", req.getServletPath());
-        map.put("timestamp", String.valueOf(System.currentTimeMillis()));
-        resp.setContentType("application/json");
-        resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-        try {
-            ObjectMapper mapper = new ObjectMapper();
-            mapper.writeValue(resp.getOutputStream(), map);
-        } catch (Exception ex) {
-            throw new ServletException();
-        }
-    }
-}

+ 0 - 31
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/MyAuthenticationEntryPoint.java

@@ -1,31 +0,0 @@
-package edu.travel.ws.config;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.springframework.security.core.AuthenticationException;
-import org.springframework.security.web.AuthenticationEntryPoint;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-public class MyAuthenticationEntryPoint implements AuthenticationEntryPoint {
-    @Override
-    public void commence(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, AuthenticationException e) throws IOException, ServletException {
-        Map map = new HashMap();
-        map.put("code", "451");
-        map.put("message", "无权限访问");
-        map.put("path", httpServletRequest.getServletPath());
-        map.put("timestamp", String.valueOf(System.currentTimeMillis()));
-        httpServletResponse.setContentType("application/json");
-        httpServletResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-        try {
-            ObjectMapper mapper = new ObjectMapper();
-            mapper.writeValue(httpServletResponse.getOutputStream(), map);
-        } catch (Exception ex) {
-            throw new ServletException();
-        }
-    }
-}

+ 0 - 39
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/ResourceServerConfig.java

@@ -1,39 +0,0 @@
-package edu.travel.ws.config;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.http.SessionCreationPolicy;
-import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
-import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
-import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer;
-import org.springframework.security.oauth2.provider.token.TokenStore;
-
-@Configuration
-@EnableResourceServer
-public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
-    private static  final String RESOURCE_ID = "admin";
-
-    @Autowired
-    private TokenStore tokenStore;
-
-    @Override
-    public void configure(ResourceServerSecurityConfigurer resources) {
-        resources.resourceId(RESOURCE_ID)//资源 id
-                .tokenStore(tokenStore)
-                .authenticationEntryPoint(new MyAuthenticationEntryPoint())
-                .accessDeniedHandler(new MyAccessDeniedHandler())
-//                .tokenServices(tokenService())//验证令牌的服务
-                .stateless(true);
-    }
-
-    @Override
-    public void configure(HttpSecurity http) throws Exception {
-
-        http
-                .authorizeRequests()
-                .antMatchers("/**").permitAll()
-                .and().csrf().disable()
-                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
-    }
-}

+ 0 - 48
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/TokenConfig.java

@@ -1,48 +0,0 @@
-package edu.travel.ws.config;
-
-import edu.travel.RSAUtill;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.crypto.password.NoOpPasswordEncoder;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.security.oauth2.provider.token.TokenStore;
-import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter;
-import org.springframework.security.oauth2.provider.token.store.JwtTokenStore;
-
-import java.security.PrivateKey;
-
-@Configuration
-public class TokenConfig {
-    @Value("${OAUTH_KEY}")
-    private String key;
-    @Value("${PRIVATE_KEY}")
-    private String privateKey;
-    @Bean
-    public PasswordEncoder passwordEncoder(){
-        return NoOpPasswordEncoder.getInstance();
-    }
-    @Bean
-    public TokenStore tokenStore() {
-        //JWT令牌存储方案
-        return new JwtTokenStore(accessTokenConverter());
-    }
-
-    @Bean
-    public JwtAccessTokenConverter accessTokenConverter() {
-        try {
-            PrivateKey privateKeyFromString = RSAUtill.getPrivateKeyFromString(privateKey);
-            String decrypt = RSAUtill.decrypt(key, privateKeyFromString);
-            JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
-            //对称秘钥,资源服务器使用该秘钥来验证
-//        converter.setKeyPair(keyPair());
-            converter.setSigningKey(decrypt);
-            return converter;
-
-        }catch (Exception e){
-            e.printStackTrace();
-            return null;
-        }
-
-    }
-}

+ 0 - 21
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/WebSecurityConfig.java

@@ -1,21 +0,0 @@
-package edu.travel.ws.config;
-
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-@Configuration
-@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
-public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
-    //安全拦截机制(最重要)
-    @Override
-    protected void configure(HttpSecurity http) throws Exception {
-        http.csrf().disable()
-                .authorizeRequests()
-                .anyRequest().authenticated()
-        ;
-
-
-    }
-}

+ 0 - 23
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/config/WebServerFactoryConfigs.java

@@ -1,23 +0,0 @@
-package edu.travel.ws.config;
-
-import org.apache.catalina.connector.Connector;
-import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
-import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
-import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class WebServerFactoryConfigs {
-    @Bean
-    public ConfigurableServletWebServerFactory webServerFactory() {
-        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
-        factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
-            @Override
-            public void customize(Connector connector) {
-                connector.setProperty("relaxedQueryChars", "|{}[]");
-            }
-        });
-        return factory;
-    }
-}

+ 0 - 61
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/filter/TokenAuthenticationFilter.java

@@ -1,61 +0,0 @@
-package edu.travel.ws.filter;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import edu.travel.EncryptUtil;
-import edu.travel.entity.EduTenantPO;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.authority.AuthorityUtils;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
-import org.springframework.stereotype.Component;
-import org.springframework.web.filter.OncePerRequestFilter;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-@Component
-public class TokenAuthenticationFilter extends OncePerRequestFilter {
-    @Autowired
-    private RedisTemplate redisTemplate;
-    @Override
-    protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
-        String token = httpServletRequest.getHeader("token");
-//token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYWRtaW4iXSwiZXhwIjoxNzQwMjAyNTcyLCJ1c2VyX25hbWUiOiIxNTk5ODk1NzA3NCIsImp0aSI6IjM0M2JjNGUzLTk5ZjMtNGE4Zi1iMmIxLTI1ZjRkMzBmNmJmYyIsImNsaWVudF9pZCI6ImFkbWluIiwic2NvcGUiOlsic2VydmVyIl19.MYoFq8gg832DQMX-wVMLN0JlIaWeuQZvl1z1NUNFspQ";
-        if (StringUtils.isNotBlank(token)){
-            String json = EncryptUtil.decodeUTF8StringBase64(token);
-            //将token转成json对象
-            JSONObject jsonObject = JSON.parseObject(json);
-            //用户身份信息
-            String username  = jsonObject.getString("principal");
-            Object object = redisTemplate.opsForValue().get(username + "_info");
-            if (object == null){
-                JSONObject resultObject = new JSONObject();
-                resultObject.put("code",401);
-                resultObject.put("msg","not found user");
-                resultObject.put("data",null);
-                httpServletResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
-                httpServletResponse.setContentType("application/json;charset=utf-8");
-                httpServletResponse.getWriter().write(resultObject.toJSONString());
-                return;
-            }
-            EduTenantPO eduTenant = JSON.parseObject(object.toString(), EduTenantPO.class);
-            //用户权限
-            JSONArray authoritiesArray = jsonObject.getJSONArray("authorities");
-            String[] authorities = authoritiesArray.toArray(new String[authoritiesArray.size()]);
-            //将用户信息和权限填充 到用户身份token对象中
-            UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(eduTenant, null, AuthorityUtils.createAuthorityList(authorities));
-            authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpServletRequest));
-            //将authenticationToken填充到安全上下文
-            SecurityContextHolder.getContext().setAuthentication(authenticationToken);
-        }
-        filterChain.doFilter(httpServletRequest,httpServletResponse);
-    }
-}

+ 12 - 0
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/handle/TravelMessageHandler.java

@@ -1,12 +1,24 @@
 package edu.travel.ws.handle;
 
 import org.springframework.context.ApplicationContext;
+import org.springframework.web.socket.WebSocketSession;
 import org.springframework.web.socket.handler.AbstractWebSocketHandler;
 
+
 public class TravelMessageHandler extends AbstractWebSocketHandler {
     private ApplicationContext applicationContext;
 
     public TravelMessageHandler(ApplicationContext applicationContext) {
         this.applicationContext = applicationContext;
     }
+
+    /**
+     * 连接时调用方法
+     * @param session
+     * @throws Exception
+     */
+    @Override
+    public void afterConnectionEstablished(WebSocketSession session) throws Exception {
+        System.out.println("============================================");
+    }
 }

+ 23 - 23
edu-travel-service/edu-travel-service-ws/src/main/java/edu/travel/ws/interceptor/SystemMessageInterceptor.java

@@ -11,10 +11,10 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.http.server.ServerHttpRequest;
 import org.springframework.http.server.ServerHttpResponse;
 import org.springframework.http.server.ServletServerHttpRequest;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.authority.AuthorityUtils;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
+//import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+//import org.springframework.security.core.authority.AuthorityUtils;
+//import org.springframework.security.core.context.SecurityContextHolder;
+//import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
 import org.springframework.web.socket.WebSocketHandler;
 import org.springframework.web.socket.server.HandshakeInterceptor;
 
@@ -27,29 +27,29 @@ public class SystemMessageInterceptor implements HandshakeInterceptor {
     }
     @Override
     public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
-        RedisTemplate redisTemplate = applicationContext.getBean(RedisTemplate.class);
+        RedisTemplate redisTemplate = applicationContext.getBean("redisTemplate",RedisTemplate.class);
         if (request instanceof ServletServerHttpRequest){
-            ServletServerHttpRequest httpRequest = (ServletServerHttpRequest) request;
-            String token = httpRequest.getServletRequest().getParameter("token");
-            if (StringUtils.isBlank(token)){
-                return false;
-            }
-            String json = EncryptUtil.decodeUTF8StringBase64(token);
-            //将token转成json对象
-            JSONObject jsonObject = JSON.parseObject(json);
-            //用户身份信息
-            String username  = jsonObject.getString("principal");
-            Object object = redisTemplate.opsForValue().get(username + "_info");
-            EduTenantPO eduTenant = JSON.parseObject(object.toString(), EduTenantPO.class);
+//            ServletServerHttpRequest httpRequest = (ServletServerHttpRequest) request;
+//            String token = httpRequest.getServletRequest().getParameter("token");
+//            if (StringUtils.isBlank(token)){
+//                return false;
+//            }
+//            String json = EncryptUtil.decodeUTF8StringBase64(token);
+//            将token转成json对象
+//            JSONObject jsonObject = JSON.parseObject(json);
+//            用户身份信息
+//            String username  = jsonObject.getString("principal");
+//            Object object = redisTemplate.opsForValue().get(username + "_info");
+//            EduTenantPO eduTenant = JSON.parseObject(object.toString(), EduTenantPO.class);
             //用户权限
-            JSONArray authoritiesArray = jsonObject.getJSONArray("authorities");
-            String[] authorities = authoritiesArray.toArray(new String[authoritiesArray.size()]);
+//            JSONArray authoritiesArray = jsonObject.getJSONArray("authorities");
+//            String[] authorities = authoritiesArray.toArray(new String[authoritiesArray.size()]);
             //将用户信息和权限填充 到用户身份token对象中
-            UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(eduTenant, null, AuthorityUtils.createAuthorityList(authorities));
-            authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpRequest.getServletRequest()));
+//            UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(eduTenant, null, AuthorityUtils.createAuthorityList(authorities));
+//            authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpRequest.getServletRequest()));
             //将authenticationToken填充到安全上下文
-            SecurityContextHolder.getContext().setAuthentication(authenticationToken);
-            attributes.put("user", eduTenant);
+//            SecurityContextHolder.getContext().setAuthentication(authenticationToken);
+            attributes.put("user", ((ServletServerHttpRequest) request).getServletRequest().getParameter("token"));
             return true;
         }
         return false;