From fe386ee15e63214b6f9633f7622982fafac1dba6 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 15 七月 2025 15:18:13 +0800
Subject: [PATCH] 前端

---
 server/admin/src/main/java/com/doumee/api/business/CategoryController.java              |    8 +---
 server/services/src/main/java/com/doumee/service/business/CategoryService.java          |    2 
 server/services/src/main/java/com/doumee/api/common/PublicCloudController.java          |   72 ++++++++++++++++++++++++++++++++----
 server/services/src/main/java/com/doumee/dao/business/model/Category.java               |    3 -
 admin/src/views/business/categoryCar.vue                                                |   10 +++++
 server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java |   24 ++++++++++-
 6 files changed, 98 insertions(+), 21 deletions(-)

diff --git a/admin/src/views/business/categoryCar.vue b/admin/src/views/business/categoryCar.vue
index d27482b..7e9c84e 100644
--- a/admin/src/views/business/categoryCar.vue
+++ b/admin/src/views/business/categoryCar.vue
@@ -31,6 +31,16 @@
             <span v-else >鍚�</span>
           </template>
         </el-table-column>
+        <el-table-column  prop="detail" label="鍙�夎鏍�" min-width="100px">
+          <template slot-scope="{row}">
+              <div v-if="row.detailList && row.detailList.length">
+                <div v-for="item in row.detailList">
+                  {{item || ''}}
+                  <span v-if="item.index < row.detailList.length" style="margin: 10px">|</span>
+                </div>
+              </div>
+          </template>
+        </el-table-column>
         <el-table-column label="鐘舵��">
           <template slot-scope="{row}">
             <el-switch :disabled="row.isFixed ==1" @change="changeStatus($event, row)" v-model="row.status" active-color="#13ce66"
diff --git a/server/admin/src/main/java/com/doumee/api/business/CategoryController.java b/server/admin/src/main/java/com/doumee/api/business/CategoryController.java
index ae77184..e949e2b 100644
--- a/server/admin/src/main/java/com/doumee/api/business/CategoryController.java
+++ b/server/admin/src/main/java/com/doumee/api/business/CategoryController.java
@@ -40,8 +40,6 @@
     @PostMapping("/create")
     @RequiresPermissions("business:category:create")
     public ApiResponse create(@RequestBody Category category) {
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        category.setLoginUserInfo(user);
         return ApiResponse.success(categoryService.create(category));
     }
 
@@ -54,9 +52,9 @@
     }
     @ApiOperation("淇敼鐘舵��")
     @PostMapping("/updateStatus")
-    @RequiresPermissions("system:category:update")
+    @RequiresPermissions("business:category:update")
     public ApiResponse updateStatus( @RequestBody Category param) {
-        categoryService.updateById(param);
+        categoryService.updateStatus(param);
         return ApiResponse.success(null);
     }
 
@@ -77,8 +75,6 @@
     @PostMapping("/updateById")
     @RequiresPermissions("business:category:update")
     public ApiResponse updateById(@RequestBody Category category) {
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        category.setLoginUserInfo(user);
         categoryService.updateById(category);
         return ApiResponse.success(null);
     }
diff --git a/server/services/src/main/java/com/doumee/api/common/PublicCloudController.java b/server/services/src/main/java/com/doumee/api/common/PublicCloudController.java
index e709502..738848c 100644
--- a/server/services/src/main/java/com/doumee/api/common/PublicCloudController.java
+++ b/server/services/src/main/java/com/doumee/api/common/PublicCloudController.java
@@ -54,18 +54,74 @@
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
 
-    @ApiOperation(value = "涓婁紶", notes = "涓婁紶", httpMethod = "POST", position = 6)
+    @ApiOperation(value = "涓婁紶OBS", notes = "涓婁紶OBS", httpMethod = "POST", position = 6)
     @ApiImplicitParams({
             @ApiImplicitParam(name = "folder", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
             @ApiImplicitParam(name = "file", value = "鏂囦欢澶�", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
     })
-    @PostMapping(value = "/uploadLocal", headers = "content-type=multipart/form-data")
-    public void uploadLocal(HttpServletRequest request, HttpServletResponse response) throws Exception {
-        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-        uploadFileLocal(multipartRequest, response,
-                systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.IMG_DIR).getCode() ,
-                systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.FILE_DIR).getCode());
-
+    @PostMapping(value = "/upload", headers = "content-type=multipart/form-data")
+    @ResponseBody
+    public void upload(HttpServletRequest request, HttpServletResponse response, String folder) throws Exception {
+        Date d1 = new Date();
+        log.error("鎬诲緱涓婁紶鏂囦欢鎴愬姛=============寮�濮�========="+DateUtil.getPlusTime2(d1));
+        if(Objects.isNull(folder)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐩爣鏂囦欢澶归敊璇�");
+        }
+        String prefixPath = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.RESOURCE_PATH).getCode();
+        InputStream is = null;
+        response.setCharacterEncoding("UTF-8");
+        response.setContentType("text/html;charset=UTF-8");
+        Map<String, Object> context = new HashMap<>();
+        try {
+            CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
+            if (multipartResovler.isMultipart(request)) {
+                MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+                Iterator<String> it = multipartRequest.getFileNames();
+                while (it.hasNext()) {
+                    MultipartFile file = multipartRequest.getFile(it.next());
+                    System.out.println(file.getSize());
+                    String originname = file.getOriginalFilename();
+                    is = file.getInputStream();
+                    String endType = ".jpg";
+                    if(originname.indexOf(".")>0){
+                        endType=originname.substring(originname.lastIndexOf("."),originname.length());
+                    }
+                    String date = DateUtil.getNowShortDate();
+                    String fName =  date+"/"+ UUID.randomUUID()+endType;
+                    String fileName = folder+"/"+fName;
+                    boolean r =false;
+                    ObsUtil obsUtil = new ObsUtil( systemDictDataBiz.queryByCode(Constants.HWY_OBS,Constants.HWY_OBS_ACCESSID).getCode(),
+                            systemDictDataBiz.queryByCode(Constants.HWY_OBS,Constants.HWY_OBS_ACCESSKEY).getCode(),
+                            systemDictDataBiz.queryByCode(Constants.HWY_OBS,Constants.HWY_OBS_ENDPOINT).getCode());
+                    r = obsUtil.uploadFile( systemDictDataBiz.queryByCode(Constants.HWY_OBS,Constants.HWY_OBS_BUCKET).getCode(),is,fileName);//涓婁紶
+                    if(r){
+                        context.put("success", true);
+                        context.put("code", 200);
+                        context.put("errno",0);
+                        JSONObject fileJSON = new JSONObject();
+//                        fileJSON.put("prefixPath", prefixPath);
+//                        fileJSON.put("folder", folder);
+                        fileJSON.put("url", prefixPath+fileName);
+                        fileJSON.put("imgaddr", fName);
+                        fileJSON.put("imgname", fileName);
+                        fileJSON.put("originname", originname);
+                        context.put("data",fileJSON);
+                        context.put("message","璇锋眰鎴愬姛");
+                        writerJson(response, context);
+                        Date d2= new Date();
+                        log.error("鎬荤殑涓婁紶鏂囦欢鎴愬姛=============缁撴潫========="+DateUtil.getPlusTime2(d2) +"鑰楁椂绉掞細"+( (d2.getTime()-d1.getTime()) /1000));
+                        return;
+                    }
+                }
+            }
+        } catch (Exception e) {
+            log.error("銆愪笂浼燜TP澶辫触銆�======================"+e.getMessage());
+        }
+        context.put("code", 0);
+        context.put("message", "涓婁紶澶辫触");
+        context.put("errno",0);
+        writerJson(response, context);
+        return;
     }
 
 
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Category.java b/server/services/src/main/java/com/doumee/dao/business/model/Category.java
index 4ceec4f..a8a1c4e 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Category.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Category.java
@@ -89,7 +89,4 @@
     @ApiModelProperty(value = "鍥炬爣鍏ㄨ矾寰�")
     @TableField(exist = false)
     private String iconFull;
-
-    @ApiModelProperty(hidden = true)
-    private LoginUserInfo loginUserInfo;
 }
diff --git a/server/services/src/main/java/com/doumee/service/business/CategoryService.java b/server/services/src/main/java/com/doumee/service/business/CategoryService.java
index d5cd0d7..8d2b1ad 100644
--- a/server/services/src/main/java/com/doumee/service/business/CategoryService.java
+++ b/server/services/src/main/java/com/doumee/service/business/CategoryService.java
@@ -54,7 +54,7 @@
      * @param categorys 瀹炰綋闆�
      */
     void updateByIdInBatch(List<Category> categorys);
-
+    void updateStatus(Category category);
     /**
      * 涓婚敭鏌ヨ
      *
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
index 2dd7779..0481db9 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/CategoryServiceImpl.java
@@ -21,6 +21,7 @@
 import com.github.yulichang.base.MPJBaseMapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -54,10 +55,12 @@
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
-        LoginUserInfo loginUserInfo = category.getLoginUserInfo();
-        category.setCreateTime(new Date());
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         category.setDeleted(Constants.ZERO);
+        category.setCreateTime(new Date());
         category.setCreateUser(loginUserInfo.getId());
+        category.setUpdateTime(new Date());
+        category.setUpdateUser(loginUserInfo.getId());
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(category.getDetailList())){
             category.setDetail(category.getDetailList().toJSONString());
         }
@@ -100,7 +103,22 @@
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
-        LoginUserInfo loginUserInfo = category.getLoginUserInfo();
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        category.setUpdateTime(new Date());
+        category.setIsFixed(null);
+        category.setUpdateUser(loginUserInfo.getId());
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(category.getDetailList())){
+            category.setDetail(category.getDetailList().toJSONString());
+        }
+        categoryMapper.updateById(category);
+    }
+    @Override
+    public void updateStatus(Category category) {
+        if(Objects.isNull(category)
+                || Objects.isNull(category.getId())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         category.setUpdateTime(new Date());
         category.setIsFixed(null);
         category.setUpdateUser(loginUserInfo.getId());

--
Gitblit v1.9.3