Browse Source

优化新闻,banner图文件相关接口,redis配置及代码优化

wang-hai-cheng 5 năm trước cách đây
mục cha
commit
fb00aedd2d
15 tập tin đã thay đổi với 131 bổ sung123 xóa
  1. 0 16
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/common/mapper/CommonMapper.java
  2. 1 1
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/controller/PropertyCompanyController.java
  3. 3 3
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/controller/PropertyContactController.java
  4. 0 1
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/service/impl/PropertyCompanyServiceImpl.java
  5. 3 3
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/option/controller/MaintenanceOptionController.java
  6. 5 5
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/controller/RegionController.java
  7. 4 0
      lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/dao/mapper/RegionMapper.java
  8. 1 0
      lift-enterprise-service/src/main/resources/application.yml
  9. 17 12
      lift-quan-service/src/main/java/cn/com/ty/lift/quan/config/RedisConfig.java
  10. 2 4
      lift-quan-service/src/main/java/cn/com/ty/lift/quan/news/controller/QuanNewsController.java
  11. 37 39
      lift-quan-service/src/main/java/cn/com/ty/lift/quan/news/service/impl/QuanNewsServiceImpl.java
  12. 6 27
      lift-system-service/src/main/java/cn/com/ty/lift/system/banner/controller/BannerImageController.java
  13. 2 2
      lift-system-service/src/main/java/cn/com/ty/lift/system/banner/dao/entity/BannerImage.java
  14. 41 8
      lift-system-service/src/main/java/cn/com/ty/lift/system/banner/service/impl/BannerImageServiceImpl.java
  15. 9 2
      lift-system-service/src/main/resources/application.yml

+ 0 - 16
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/common/mapper/CommonMapper.java

@@ -1,16 +0,0 @@
-package cn.com.ty.lift.enterprise.common.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.List;
-import java.util.Map;
-
-@Mapper
-public interface CommonMapper {
-    @Select("select ${fields} from ${tables} ${conditions}")
-    List<Map<String, Object>> list(String fields, String tables, String conditions);
-
-    @Select("select ${fields} from ${tables} ${conditions}")
-    Map<String, Object> one(String fields, String tables, String conditions);
-}

+ 1 - 1
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/controller/PropertyCompanyController.java

@@ -79,7 +79,7 @@ public class PropertyCompanyController {
     /**
      * @description 删除客户
      * @date 2019/11/27 11:46
-     * @param [id]
+     * @param [客户id]
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
     public RestResponse delete(@RequestBody PropertyCompany propertyCompany) {

+ 3 - 3
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/controller/PropertyContactController.java

@@ -46,7 +46,7 @@ public class PropertyContactController {
         if (records.getRecords().isEmpty()) {
             return RestResponse.success();
         }
-        return RestResponse.success(records,"成功");
+        return RestResponse.success(records, "成功");
     }
 
     @PostMapping("/add")
@@ -61,7 +61,7 @@ public class PropertyContactController {
             return RestResponse.success();
         }
         if (propertyContactService.save(propertyContact)) {
-            return RestResponse.success(propertyContact.getId(),"成功");
+            return RestResponse.success(propertyContact.getId(), "成功");
         }
         return RestResponse.fail();
     }
@@ -111,7 +111,7 @@ public class PropertyContactController {
     public RestResponse customAdd(@RequestBody PropertyContact propertyContact) {
         propertyContact.setStatus(2);
         if (propertyContactService.save(propertyContact)) {
-            return RestResponse.success(propertyContact.getId(),"成功");
+            return RestResponse.success(propertyContact.getId(), "成功");
         }
         return RestResponse.fail();
     }

+ 0 - 1
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/custom/service/impl/PropertyCompanyServiceImpl.java

@@ -103,7 +103,6 @@ public class PropertyCompanyServiceImpl extends ServiceImpl<PropertyCompanyMappe
             rows.add(row);
         });
         BigExcelWriter writer = ExcelUtil.getBigWriter(System.getProperty("user.dir") + "/" + fileName);
-        System.out.println(System.getProperty("user.dir") + "/" + fileName);
         // 一次性写出内容,使用默认样式
         writer.write(rows);
         // 关闭writer,释放内存

+ 3 - 3
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/option/controller/MaintenanceOptionController.java

@@ -31,8 +31,8 @@ public class MaintenanceOptionController {
     private final MaintenanceOptionServiceImpl optionService;
 
     /**
-     * @param
-     * @return
+     * @param req 页码 页大小
+     * @return cn.com.xwy.boot.web.dto.RestResponse
      * @description 分页获取维保项列表
      * @date 2019/12/19 9:21
      */
@@ -67,7 +67,7 @@ public class MaintenanceOptionController {
 
     /**
      * @param
-     * @return
+     * @return RestResponse
      * @description 新增维保项
      * @date 2019/12/19 9:20
      */

+ 5 - 5
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/controller/RegionController.java

@@ -1,7 +1,5 @@
 package cn.com.ty.lift.enterprise.region.controller;
 
-import cn.com.ty.lift.common.constants.ApiConstants;
-import cn.com.ty.lift.enterprise.common.mapper.CommonMapper;
 import cn.com.ty.lift.enterprise.region.dao.entity.Region;
 import cn.com.ty.lift.enterprise.region.dao.entity.model.RegionReq;
 import cn.com.ty.lift.enterprise.region.service.impl.RegionServiceImpl;
@@ -10,7 +8,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.*;
+import java.util.List;
+import java.util.Map;
+
 
 /**
  * <p>
@@ -25,7 +25,6 @@ import java.util.*;
 @RequestMapping("/region")
 public class RegionController {
     private final RegionServiceImpl regionService;
-    private final CommonMapper mapper;
 
     @PostMapping("/list")
     public RestResponse list(@RequestBody RegionReq regionReq) {
@@ -92,7 +91,8 @@ public class RegionController {
             return RestResponse.success();
         }
         String cityCode = byId.getCityCode();
-        List<Map<String, Object>> area_code = mapper.list("name,code", "area_code", "where parent=" + cityCode);
+        List<Map<String, Object>> area_code = regionService.getBaseMapper()
+                .list("name,code", "area_code", "where parent=" + cityCode);
         if (area_code.isEmpty()) {
             return RestResponse.success();
         }

+ 4 - 0
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/dao/mapper/RegionMapper.java

@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Select;
 import java.util.List;
 import java.util.Map;
 
+
 /**
  * <p>
  * 区域表 Mapper 接口
@@ -34,4 +35,7 @@ public interface RegionMapper extends BaseMapper<Region> {
 
     @Select("select user_id userId,name from user_info where user_id in (${clerks})")
     List<Map<String, Object>> selectRegionMember(@Param("clerks") String clerk);
+
+    @Select("select ${fields} from ${tables} ${conditions}")
+    List<Map<String, Object>> list(String fields, String tables, String conditions);
 }

+ 1 - 0
lift-enterprise-service/src/main/resources/application.yml

@@ -7,6 +7,7 @@ spring:
   profiles:
     active: dev
   datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
     url: jdbc:mysql://132.232.206.88:3306/rdsliftmanager?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
     username: root
     password: ms.c88pocY/

+ 17 - 12
lift-quan-service/src/main/java/cn/com/ty/lift/quan/config/RedisConfig.java

@@ -4,7 +4,8 @@ import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.data.redis.connection.RedisConnectionFactory;
 import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.RedisSerializer;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
 
 @Configuration
@@ -16,23 +17,27 @@ public class RedisConfig {
      * GenericToStringSerializer、Jackson2JsonRedisSerializer、JacksonJsonRedisSerializer、JdkSerializationRedisSerializer、OxmSerializer、StringRedisSerializer。
      * 在此我们将自己配置RedisTemplate并定义Serializer。
      *
-     * @param redisConnectionFactory
-     * @return
+     * @param redisConnectionFactory redis连接工厂
+     * @return RedisTemplate
      */
     @Bean
     public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
+        // 配置redisTemplate
         RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
         redisTemplate.setConnectionFactory(redisConnectionFactory);
-//        JdkSerializationRedisSerializer jdkSerializationRedisSerializer = new JdkSerializationRedisSerializer();
-        GenericJackson2JsonRedisSerializer jackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
-        // 设置值(value)的序列化采用FastJsonRedisSerializer。
-        redisTemplate.setValueSerializer(new StringRedisSerializer());
-//        redisTemplate.setHashValueSerializer(fastJsonRedisSerializer);
-        // 设置键(key)的序列化采用StringRedisSerializer。
-        redisTemplate.setKeySerializer(new StringRedisSerializer());
-        redisTemplate.setHashKeySerializer(new StringRedisSerializer());
+
+        RedisSerializer<String> stringSerializer = new StringRedisSerializer();
+        Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
+
+        // key序列化
+        redisTemplate.setKeySerializer(stringSerializer);
+        // value序列化
+        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
+        // Hash key序列化
+        redisTemplate.setHashKeySerializer(stringSerializer);
+        // Hash value序列化
+        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
         redisTemplate.afterPropertiesSet();
         return redisTemplate;
     }
-
 }

+ 2 - 4
lift-quan-service/src/main/java/cn/com/ty/lift/quan/news/controller/QuanNewsController.java

@@ -8,8 +8,6 @@ import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
-
 /**
  * <p>
  * 电梯圈新闻公告 前端控制器
@@ -96,7 +94,7 @@ public class QuanNewsController {
     }
 
     @PostMapping("/upFile")
-    public RestResponse upFile(@RequestParam Long id, @RequestParam MultipartFile file) throws IOException {
-        return quanNewsService.upFile(id, file);
+    public RestResponse upFile(@RequestParam MultipartFile file) {
+        return quanNewsService.upFile(file);
     }
 }

+ 37 - 39
lift-quan-service/src/main/java/cn/com/ty/lift/quan/news/service/impl/QuanNewsServiceImpl.java

@@ -1,6 +1,5 @@
 package cn.com.ty.lift.quan.news.service.impl;
 
-import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.utils.AliyunOSSUtil;
 import cn.com.ty.lift.quan.news.dao.entity.QuanNews;
 import cn.com.ty.lift.quan.news.dao.entity.model.QuanNewsReq;
@@ -14,7 +13,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
 import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -33,8 +31,7 @@ import java.util.*;
 @AllArgsConstructor
 public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> implements QuanNewsService {
 
-    private final RedisTemplate redisTemplate;
-    private final StringRedisTemplate stringRedisTemplate;
+    private final RedisTemplate<String, Object> redisTemplate;
 
     /**
      * @description 将新闻置顶
@@ -122,31 +119,29 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
         Page<QuanNews> page = new Page<>(pageNum, pageSize);
         IPage<Map<String, Object>> news = this.pageMaps(page, new QueryWrapper<QuanNews>().eq("top_serial", "0").orderByDesc("release_date"));
         //全部新闻的浏览量列表
-        Map<Object, Object> lookTimes = stringRedisTemplate.boundHashOps("system-quanNews-look-time").entries();
+        Map<Object, Object> lookTimes = redisTemplate.boundHashOps("system-quanNews-look-time").entries();
         //全部新闻的点赞用户列表
-        Map<String, TreeSet> likeUsers = redisTemplate.opsForHash().entries("system-quanNews-like-users");
-        if (haveTops == 0) {
-            if (news.getRecords().isEmpty()) {
-                return RestResponse.success();
-            }
+        Map<Object, Object> likeUsers = redisTemplate.opsForHash().entries("system-quanNews-like-users");
+        HashMap<String, Object> result = new HashMap<>();
+        newsAddLookAndLike(news.getRecords(), lookTimes, likeUsers);
+        result.put("news", news);
+        if (haveTops == 1) {
+            List<Map<String, Object>> topNews = this.listMaps(new QueryWrapper<QuanNews>().ne("top_serial", "0").orderByAsc("top_serial"));
             //把点赞的用户数量和浏览量整入新闻字段中
-            newsAddLookAndLike(news.getRecords(), lookTimes, likeUsers);
-            return RestResponse.success(news, "查询成功");
+            newsAddLookAndLike(topNews, lookTimes, likeUsers);
+            result.put("topNews", topNews);
         }
-        List<Map<String, Object>> topNews = this.listMaps(new QueryWrapper<QuanNews>().ne("top_serial", "0").orderByAsc("top_serial"));
-        //把点赞的用户数量和浏览量整入新闻字段中
-        newsAddLookAndLike(topNews, lookTimes, likeUsers);
-
-        HashMap<String, Object> map = new HashMap<>();
-        map.put("topNews", topNews);
-        map.put("news", news);
-        return RestResponse.success(map, "查询成功");
+        return RestResponse.success(result);
     }
 
     //把点赞的用户数量和浏览量整入新闻字段中
-    void newsAddLookAndLike(List<Map<String, Object>> records, Map<Object, Object> lookTimes, Map<String, TreeSet> likeUsers) {
+    void newsAddLookAndLike(List<Map<String, Object>> records, Map<Object, Object> lookTimes, Map<Object, Object> likeUsers) {
         for (Map<String, Object> record : records) {
             Object id = record.get("id");
+            if (null != record.get("video_name")) {
+                //fixme 新闻视频的路径
+                record.put("video_name", "https://temp15827479607.oss-cn-beijing.aliyuncs.com/" + record.get("video_name"));
+            }
             //如果没有浏览量
             if (lookTimes.isEmpty()) {
                 record.put("lookNum", "0");
@@ -167,9 +162,9 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
                 record.put("likeNum", "0");
             } else {
                 //遍历likeUsers,查看对应id的新闻的点赞量
-                for (Map.Entry<String, TreeSet> entry : likeUsers.entrySet()) {
-                    String k = entry.getKey();
-                    TreeSet v = entry.getValue();
+                for (Map.Entry<Object, Object> entry : likeUsers.entrySet()) {
+                    String k = entry.getKey().toString();
+                    ArrayList v = (ArrayList) entry.getValue();
                     if (k.equals(id.toString())) {
                         record.put("likeNum", v.size());
                         break;
@@ -224,8 +219,9 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
      * @date 2019/12/4 13:34
      */
     public RestResponse updateNews(QuanNews quanNews) {
-        if (null == this.getById(quanNews.getId())) {
-            return RestResponse.success();
+        QuanNews byId = this.getById(quanNews);
+        if (byId.getVideoName() != null) {
+            AliyunOSSUtil.me().deleteObject(byId.getVideoName());
         }
         if (this.updateById(quanNews)) {
             return RestResponse.success(null, "成功");
@@ -248,6 +244,9 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
             //取消新闻置顶
             this.top(id, 0);
         }
+        if (byId.getVideoName() != null) {
+            AliyunOSSUtil.me().deleteObject(byId.getVideoName());
+        }
         if (this.removeById(id)) {
             return RestResponse.success(null, "成功");
         } else {
@@ -256,25 +255,22 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
     }
 
     //新增、更新新闻时上传文件
-    public RestResponse upFile(Long id, MultipartFile videoFile) {
-        String originalFilename = videoFile.getOriginalFilename();
+    public RestResponse upFile(MultipartFile file) {
+        String originalFilename = file.getOriginalFilename();
         if (originalFilename != null && originalFilename.contains(".")) {
-            String fileName = IdWorker.getIdStr()
+            String fileName = "quan/news/video/" + IdWorker.getIdStr()
                     + "."
-                    + originalFilename.substring(videoFile.getOriginalFilename().lastIndexOf(".") + 1);
+                    + originalFilename.substring(file.getOriginalFilename().lastIndexOf(".") + 1);
             //阿里云OSS操作结果
             boolean result = false;
             try {
-                result = new AliyunOSSUtil().putObject("temp15827479607", videoFile.getBytes(), fileName);
+                result = new AliyunOSSUtil().putObject(file.getBytes(), fileName);
             } catch (IOException e) {
                 e.printStackTrace();
             }
             //如果保存成功
             if (result) {
-                QuanNews quanNews = new QuanNews();
-                quanNews.setId(id).setVideoName(fileName);
-                this.updateById(quanNews);
-                return RestResponse.success(fileName, "成功");
+                return RestResponse.success(fileName);
             }
             return RestResponse.fail();
         }
@@ -284,9 +280,9 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
     public RestResponse like(QuanNewsReq req) {
         String uid = req.getUserId().toString();
         String id = req.getId().toString();
-        TreeSet users = (TreeSet) redisTemplate.opsForHash().get("system-quanNews-like-users", id);
+        ArrayList users = (ArrayList) redisTemplate.opsForHash().get("system-quanNews-like-users", id);
         if (users == null) {
-            users = new TreeSet<>();
+            users = new ArrayList<>();
             users.add(uid);
             redisTemplate.opsForHash().put("system-quanNews-like-users", id, users);
             return RestResponse.success(null, "点赞成功");
@@ -314,14 +310,16 @@ public class QuanNewsServiceImpl extends ServiceImpl<QuanNewsMapper, QuanNews> i
             String id = byId.get("id").toString();
             Long lookNum = redisTemplate.boundHashOps("system-quanNews-look-time").increment(id, 1);
             int isLike;
-            TreeSet users = (TreeSet) redisTemplate.opsForHash().get("system-quanNews-like-users", id);
-            if (users != null && !users.add(req.getUserId().toString())) {
+            ArrayList users = (ArrayList) redisTemplate.opsForHash().get("system-quanNews-like-users", id);
+            if (users != null && users.contains(req.getUserId().toString())) {
                 isLike = 1;
             } else {
                 isLike = 0;
             }
             byId.put("lookNum", lookNum);
             byId.put("isLike", isLike);
+            //fixme 新闻视频的路径
+            byId.put("videoName", "https://temp15827479607.oss-cn-beijing.aliyuncs.com/" + byId.get("videoName"));
             return RestResponse.success(byId, "成功");
         } else {
             return RestResponse.success();

+ 6 - 27
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/controller/BannerImageController.java

@@ -4,13 +4,10 @@ package cn.com.ty.lift.system.banner.controller;
 import cn.com.ty.lift.system.banner.dao.entity.BannerImage;
 import cn.com.ty.lift.system.banner.service.impl.BannerImageServiceImpl;
 import cn.com.xwy.boot.web.dto.RestResponse;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.List;
-
 /**
  * <p>
  * banner图管理 前端控制器
@@ -27,44 +24,26 @@ public class BannerImageController {
 
     @PostMapping("/list")
     public RestResponse list(@RequestBody BannerImage banner) {
-        List<BannerImage> banners = bannerService.list(new QueryWrapper<BannerImage>()
-                .eq(banner.getType() != null, "type", banner.getType())
-                .orderByAsc("serial_no"));
-        if (banners.isEmpty()) {
-            return RestResponse.success();
-        }
-        for (BannerImage bannerImage : banners) {
-            bannerImage.setName(""+bannerImage.getName());
-        }
-        return RestResponse.success(banners);
+        return bannerService.banners(banner);
     }
 
     @PostMapping("/add")
     public RestResponse add(@RequestBody BannerImage bannerImage) {
-        if (bannerService.save(bannerImage)) {
-            return RestResponse.success(null, "成功");
-        }
-        return RestResponse.fail();
+        return bannerService.modify(bannerImage);
     }
 
     @PostMapping("/modify")
     public RestResponse modify(@RequestBody BannerImage bannerImage) {
-        if (bannerService.saveOrUpdate(bannerImage)) {
-            return RestResponse.success(null, "成功");
-        }
-        return RestResponse.fail();
+        return bannerService.modify(bannerImage);
     }
 
     @PostMapping("/delete")
     public RestResponse delete(@RequestBody BannerImage bannerImage) {
-        if (bannerService.removeById(bannerImage)) {
-            return RestResponse.success(null, "成功");
-        }
-        return RestResponse.fail();
+        return bannerService.delete(bannerImage);
     }
 
     @PostMapping("/upFile")
-    public RestResponse upFile(@RequestParam Long id, @RequestParam MultipartFile file) {
-        return bannerService.upFile(id, file);
+    public RestResponse upFile(@RequestParam MultipartFile file) {
+        return bannerService.upFile(file);
     }
 }

+ 2 - 2
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/dao/entity/BannerImage.java

@@ -32,8 +32,8 @@ public class BannerImage implements Serializable {
     /**
      * banner图文件名
      */
-    @TableField("name")
-    private String name;
+    @TableField("image_name")
+    private String imageName;
 
     /**
      * banner图序号

+ 41 - 8
lift-system-service/src/main/java/cn/com/ty/lift/system/banner/service/impl/BannerImageServiceImpl.java

@@ -5,12 +5,14 @@ import cn.com.ty.lift.system.banner.dao.entity.BannerImage;
 import cn.com.ty.lift.system.banner.dao.mapper.BannerImageMapper;
 import cn.com.ty.lift.system.banner.service.BannerImageService;
 import cn.com.xwy.boot.web.dto.RestResponse;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.util.List;
 
 /**
  * <p>
@@ -23,28 +25,59 @@ import java.io.IOException;
 @Service
 public class BannerImageServiceImpl extends ServiceImpl<BannerImageMapper, BannerImage> implements BannerImageService {
 
-    public RestResponse upFile(Long id, MultipartFile file) {
+    public RestResponse upFile(MultipartFile file) {
         String originalFilename = file.getOriginalFilename();
         if (originalFilename != null && originalFilename.contains(".")) {
-            String fileName = IdWorker.getIdStr()
+            String fileName = "banner/image/" + IdWorker.getIdStr()
                     + "."
                     + originalFilename.substring(file.getOriginalFilename().lastIndexOf(".") + 1);
             //阿里云OSS操作结果
             boolean result = false;
             try {
-                result = new AliyunOSSUtil().putObject("temp15827479607", file.getBytes(), fileName);
+                result = new AliyunOSSUtil().putObject(file.getBytes(), fileName);
             } catch (IOException e) {
                 e.printStackTrace();
             }
-            //如果保存成功
             if (result) {
-                BannerImage banner = new BannerImage();
-                banner.setId(id).setName(fileName);
-                this.updateById(banner);
-                return RestResponse.success(fileName, "成功");
+                return RestResponse.success(fileName);
             }
             return RestResponse.fail();
         }
         return RestResponse.failParam();
     }
+
+    public RestResponse modify(BannerImage bannerImage) {
+        BannerImage byId = this.getById(bannerImage);
+        if (byId.getImageName() != null) {
+            AliyunOSSUtil.me().deleteObject(byId.getImageName());
+        }
+        if (this.saveOrUpdate(bannerImage)) {
+            return RestResponse.success(bannerImage.getId(), "成功");
+        }
+        return RestResponse.fail();
+    }
+
+    public RestResponse delete(BannerImage bannerImage) {
+        BannerImage byId = this.getById(bannerImage);
+        if (byId.getImageName() != null) {
+            AliyunOSSUtil.me().deleteObject(byId.getImageName());
+        }
+        if (this.removeById(bannerImage)) {
+            return RestResponse.success(null, "成功");
+        }
+        return RestResponse.fail();
+    }
+
+    public RestResponse banners(BannerImage banner) {
+        List<BannerImage> banners = this.list(new QueryWrapper<BannerImage>()
+                .eq(banner.getType() != null, "type", banner.getType())
+                .orderByAsc("serial_no"));
+        if (banners.isEmpty()) {
+            return RestResponse.success();
+        }
+        for (BannerImage bannerImage : banners) {
+            bannerImage.setImageName("https://temp15827479607.oss-cn-beijing.aliyuncs.com/" + bannerImage.getImageName());
+        }
+        return RestResponse.success(banners);
+    }
 }

+ 9 - 2
lift-system-service/src/main/resources/application.yml

@@ -15,6 +15,7 @@ spring:
   profiles:
     active: dev
   datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
     url: jdbc:mysql://132.232.206.88/rdsliftmanager?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC
     username: root
     password: ms.c88pocY/
@@ -32,9 +33,15 @@ spring:
         max-idle: 8 #最大空闲链接
         max-wait: 20000ms
         min-idle: 0
-
+  servlet:
+    multipart:
+      enabled: true
+      file-size-threshold: 0
+      max-file-size: 5MB
+      max-request-size: 5MB
 #自动添加createTime、isDelete 等字段
 xwy:
   mybatis:
     audit:
-      enabled: true
+      enabled: true
+