From 7ea5eece501c98a91555a5358931367e78e9d23b Mon Sep 17 00:00:00 2001
From: baizonghao <1719256278@qq.com>
Date: 星期四, 25 五月 2023 15:40:09 +0800
Subject: [PATCH] 11

---
 src/main/java/com/example/jz/controller/PublicityController.java |   70 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/example/jz/controller/PublicityController.java b/src/main/java/com/example/jz/controller/PublicityController.java
index 7604fde..6256a0e 100644
--- a/src/main/java/com/example/jz/controller/PublicityController.java
+++ b/src/main/java/com/example/jz/controller/PublicityController.java
@@ -2,18 +2,29 @@
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.example.jz.dao.UserDao;
 import com.example.jz.modle.PageParam;
-import com.example.jz.modle.entity.Publicity;
 import com.example.jz.modle.R;
+import com.example.jz.modle.entity.Publicity;
+import com.example.jz.modle.entity.User;
+import com.example.jz.modle.vo.PublicityVo;
 import com.example.jz.service.PublicityService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import lombok.SneakyThrows;
+import org.springframework.beans.BeanUtils;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import java.io.Serializable;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
 
 /**
@@ -24,13 +35,15 @@
  */
 @RestController
 @RequestMapping("publicity")
-@Api(tags = "鍏叡瀹d紶琛�(Publicity)琛ㄦ帴鍙�")
+@Api(tags = "鍏叡瀹d紶鎺ュ彛")
 public class PublicityController {
     /**
      * 鏈嶅姟瀵硅薄
      */
     @Resource
     private PublicityService publicityService;
+    @Resource
+    UserDao userDao;
 
     /**
      * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
@@ -41,8 +54,44 @@
      */
     @GetMapping
     @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�")
-    public R<IPage<Publicity>> selectAll(PageParam<Publicity> page, Publicity publicity) {
-        return R.ok(publicityService.page(page, new QueryWrapper<>(publicity)));
+    public R<IPage<PublicityVo>> selectAll(PageParam<Publicity> page, Publicity publicity) {
+        ArrayList<PublicityVo> publicityVos = new ArrayList<>();
+        PageParam<Publicity> publicityPageParam ;
+        if (publicity.getStatus()!=null ){
+            publicityPageParam = publicityService.page(page,
+                    new QueryWrapper<Publicity>().like(StringUtils.isNotBlank(publicity.getPublicityTitle()),
+                            "publicity_title",
+                            publicity.getPublicityTitle()).eq("status",publicity.getStatus()).orderByDesc("ctime"));
+        }else {
+            publicityPageParam = publicityService.page(page,
+                    new QueryWrapper<Publicity>().like(StringUtils.isNotBlank(publicity.getPublicityTitle()),
+                            "publicity_title",
+                            publicity.getPublicityTitle()).orderByDesc("ctime"));
+        }
+        publicityPageParam.getRecords().forEach(item->{
+            PublicityVo publicityVo = new PublicityVo();
+            BeanUtils.copyProperties(item,publicityVo);
+            publicityVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id",item.getCreator())).getRealName());
+            publicityVos.add(publicityVo);
+        });
+        PageParam<PublicityVo> publicityVoPageParam = new PageParam<>();
+        BeanUtils.copyProperties(publicityPageParam,publicityVoPageParam);
+        publicityVoPageParam.setRecords(publicityVos);
+        return R.ok(publicityVoPageParam);
+    }
+
+    @GetMapping("changTime")
+    @ApiOperation("淇敼鏃堕棿")
+    public R changeTime(@RequestParam Integer id, @RequestParam String time){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        Publicity publicity = publicityService.getById(id);
+        try {
+            publicity.setReleaseTime(sdf.parse(time));
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+        boolean b = publicityService.updateById(publicity);
+        return b ? R.ok("淇敼鎴愬姛") : R.failed("淇敼澶辫触");
     }
 
     /**
@@ -66,7 +115,9 @@
     @PostMapping
     @ApiOperation("娣诲姞鍏叡瀹d紶")
     public R<Boolean> insert(@RequestBody Publicity publicity) {
+        publicity.setStatus(0);
         publicity.setCtime(new Date());
+        publicity.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("login_username",  SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId());
         return R.ok(publicityService.save(publicity));
     }
 
@@ -117,4 +168,13 @@
     public R<Boolean> delete(@PathVariable Serializable id) {
         return R.ok(publicityService.removeById(id));
     }
+
+    @ApiOperation(httpMethod = "POST", value = "妗堜欢鍙�-妗堜欢褰曞叆-妗堜欢瀵煎叆")
+    @PostMapping("/upload")
+    @ApiResponse(message = "鎵ц鎴愬姛", code = 200)
+    @SneakyThrows
+    public R upload(@RequestParam(value = "multipartFile") MultipartFile multipartFile) {
+        publicityService.loadFile(multipartFile);
+        return R.ok();
+    }
 }

--
Gitblit v1.8.0