From d60406e8f251a7c8343825403f5fd71de1680975 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期一, 08 八月 2022 13:31:48 +0800 Subject: [PATCH] bug解决 --- src/main/java/com/example/jz/modle/dto/PublicityLoadDto.java | 27 +++ src/main/java/com/example/jz/modle/entity/Sensitive.java | 4 src/main/java/com/example/jz/modle/vo/QuestionVo.java | 28 ++++ src/main/java/com/example/jz/modle/entity/Announcement.java | 3 src/main/java/com/example/jz/service/impl/PublicityServiceImpl.java | 42 ++++++ src/main/java/com/example/jz/modle/entity/User.java | 2 src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java | 36 ++++- src/main/java/com/example/jz/modle/vo/SensitiveVO.java | 2 src/main/java/com/example/jz/service/AnnouncementService.java | 12 src/main/java/com/example/jz/controller/CommonQuestionController.java | 33 ++++ src/main/java/com/example/jz/service/PublicityService.java | 3 src/main/java/com/example/jz/controller/SensitiveController.java | 30 ++- src/main/java/com/example/jz/controller/TestController.java | 7 src/main/java/com/example/jz/controller/UserController.java | 32 +++- src/main/java/com/example/jz/controller/PublicityController.java | 46 ++++++ src/main/java/com/example/jz/modle/dto/SensitiveDto.java | 2 src/main/java/com/example/jz/modle/vo/AnnouncementVo.java | 3 src/main/java/com/example/jz/modle/vo/PublicityVo.java | 29 ++++ src/main/java/com/example/jz/controller/AnnouncementController.java | 24 +- 19 files changed, 309 insertions(+), 56 deletions(-) diff --git a/src/main/java/com/example/jz/controller/AnnouncementController.java b/src/main/java/com/example/jz/controller/AnnouncementController.java index 9a3a3dd..8321be2 100644 --- a/src/main/java/com/example/jz/controller/AnnouncementController.java +++ b/src/main/java/com/example/jz/controller/AnnouncementController.java @@ -38,6 +38,13 @@ return R.ok(announcementService.getAnnouncements(size, current, content, status, groupId)); } + @ApiOperation(httpMethod = "GET", value = "缇ゅ叕鍛婇�氳繃id鏌ヨ") + @GetMapping("/getAnnouncementsById") + @ApiResponse(message = "鎵ц鎴愬姛", code = 200) + public R getAnnouncements(@RequestParam(value = "id") Integer id) { + return R.ok(announcementService.getAnnouncementsById(id)); + } + @ApiOperation(httpMethod = "POST", value = "缇ゅ叕鍛婃坊鍔�") @PostMapping("/add") @ApiResponse(message = "鎵ц鎴愬姛", code = 200) @@ -45,21 +52,16 @@ return R.ok(announcementService.add(groupId, announcement)); } - @ApiOperation(httpMethod = "PUT", value = "缇ゅ叕鍛婂彂甯�") - @PutMapping("/updateStatusPublic") + @ApiOperation(httpMethod = "PUT", value = "缇ゅ叕鍛婂彂甯�/涓嬫灦") + @PutMapping("/publicOrUnshelve") @ApiResponse(message = "鎵ц鎴愬姛", code = 200) - public R updateStatusPublic(@RequestParam(value = "id") Integer id) { - announcementService.updateStatus(id); + public R updateStatusPublic(@RequestParam(value = "id") Integer id, + @RequestParam(value = "status")Integer status) { + announcementService.updateStatus(id,status); return R.ok(); } - @ApiOperation(httpMethod = "PUT", value = "缇ゅ叕鍛婁笅鏋�") - @PutMapping("/updateStatusUnshelve") - @ApiResponse(message = "鎵ц鎴愬姛", code = 200) - public R updateStatusUnshelve(@RequestParam(value = "id") Integer id) { - announcementService.updateStatusUnshelve(id); - return R.ok(); - } + @ApiOperation(httpMethod = "DELETE", value = "缇ゅ叕鍛婂垹闄�") @DeleteMapping("/delete") diff --git a/src/main/java/com/example/jz/controller/CommonQuestionController.java b/src/main/java/com/example/jz/controller/CommonQuestionController.java index 6445380..f0bc12a 100644 --- a/src/main/java/com/example/jz/controller/CommonQuestionController.java +++ b/src/main/java/com/example/jz/controller/CommonQuestionController.java @@ -3,17 +3,25 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.api.ApiController; -import com.baomidou.mybatisplus.extension.api.R; + +import com.example.jz.dao.UserDao; import com.example.jz.modle.PageParam; +import com.example.jz.modle.R; import com.example.jz.modle.entity.CommonQuestion; +import com.example.jz.modle.entity.User; +import com.example.jz.modle.vo.QuestionVo; import com.example.jz.service.CommonQuestionService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.BeanUtils; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; /** @@ -31,6 +39,8 @@ */ @Resource private CommonQuestionService commonQuestionService; + @Resource + UserDao userDao; /** * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹� @@ -41,8 +51,24 @@ */ @GetMapping @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�") - public R<IPage<CommonQuestion>> selectAll(PageParam<CommonQuestion> page, CommonQuestion commonQuestion) { - return R.ok(commonQuestionService.page(page, new QueryWrapper<>(commonQuestion))); + public R<IPage<QuestionVo>> selectAll(PageParam<CommonQuestion> page, CommonQuestion commonQuestion) { + ArrayList<QuestionVo> QuestionVos = new ArrayList<>(); + PageParam<CommonQuestion> CommonQuestionPageParam ; + if (commonQuestion.getStatus()!=null ){ + CommonQuestionPageParam = commonQuestionService.page(page, new QueryWrapper<CommonQuestion>().like(StringUtils.isNotBlank(commonQuestion.getQuestionTitle()),"question_title",commonQuestion.getQuestionTitle()).eq("status",commonQuestion.getStatus()).orderByDesc("ctime")); + }else { + CommonQuestionPageParam = commonQuestionService.page(page, new QueryWrapper<CommonQuestion>().like(StringUtils.isNotBlank(commonQuestion.getQuestionTitle()),"question_title",commonQuestion.getQuestionTitle()).orderByDesc("ctime")); + } + CommonQuestionPageParam.getRecords().forEach(item->{ + QuestionVo QuestionVo = new QuestionVo(); + BeanUtils.copyProperties(item,QuestionVo); + QuestionVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id",item.getCreator())).getRealName()); + QuestionVos.add(QuestionVo); + }); + PageParam<QuestionVo> QuestionVoPageParam = new PageParam<>(); + BeanUtils.copyProperties(CommonQuestionPageParam,QuestionVoPageParam); + QuestionVoPageParam.setRecords(QuestionVos); + return R.ok(QuestionVoPageParam); } /** @@ -68,6 +94,7 @@ public R<Boolean> insert(@RequestBody CommonQuestion commonQuestion) { commonQuestion.setStatus(0); commonQuestion.setCtime(new Date()); + commonQuestion.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("login_username", SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId()); return R.ok(commonQuestionService.save(commonQuestion)); } diff --git a/src/main/java/com/example/jz/controller/PublicityController.java b/src/main/java/com/example/jz/controller/PublicityController.java index 107e9bf..7a24eb8 100644 --- a/src/main/java/com/example/jz/controller/PublicityController.java +++ b/src/main/java/com/example/jz/controller/PublicityController.java @@ -2,18 +2,27 @@ 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.util.ArrayList; import java.util.Date; /** @@ -31,6 +40,8 @@ */ @Resource private PublicityService publicityService; + @Resource + UserDao userDao; /** * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹� @@ -41,8 +52,24 @@ */ @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); } /** @@ -66,7 +93,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 +146,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(); + } } diff --git a/src/main/java/com/example/jz/controller/SensitiveController.java b/src/main/java/com/example/jz/controller/SensitiveController.java index 7f44460..6b1bd38 100644 --- a/src/main/java/com/example/jz/controller/SensitiveController.java +++ b/src/main/java/com/example/jz/controller/SensitiveController.java @@ -3,16 +3,20 @@ import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.api.ApiController; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.example.jz.dao.UserDao; import com.example.jz.modle.PageParam; import com.example.jz.modle.R; import com.example.jz.modle.entity.Sensitive; import com.example.jz.modle.dto.SensitiveDto; +import com.example.jz.modle.entity.User; import com.example.jz.modle.vo.SensitiveVO; import com.example.jz.service.SensitiveService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -39,6 +43,9 @@ @Resource private SensitiveService sensitiveService; + @Resource + UserDao userDao; + /** * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹� * @@ -49,13 +56,14 @@ @GetMapping @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�") public R<Page<SensitiveVO>> selectAll(PageParam<Sensitive> page, Sensitive sensitive) { - Page<Sensitive> sensitivePage = sensitiveService.page(page, new QueryWrapper<>(sensitive)); + Page<Sensitive> sensitivePage = sensitiveService.page(page, new QueryWrapper<Sensitive>() + .like(StringUtils.isNotBlank(sensitive.getWords()),"words",sensitive.getWords()).orderByDesc("ctime")); // 灏唖ensitive杞崲鎴恠ensitiveVO List<SensitiveVO> sensitiveVOList = new ArrayList<>(); for (Sensitive s : sensitivePage.getRecords()) { SensitiveVO sensitiveVO = new SensitiveVO(); BeanUtil.copyProperties(s, sensitiveVO); - sensitiveVO.setWords(Arrays.asList(s.getWord().split(","))); + sensitiveVO.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("id",s.getCreator())).getRealName()); sensitiveVOList.add(sensitiveVO); } // 灏佽鍒嗛〉鏁版嵁 @@ -77,7 +85,7 @@ Sensitive sensitive = sensitiveService.getById(id); SensitiveVO sensitiveVO = new SensitiveVO(); BeanUtil.copyProperties(sensitive, sensitiveVO); - sensitiveVO.setWords(Arrays.asList(sensitive.getWord().split(","))); + sensitiveVO.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("id",sensitive.getCreator())).getRealName()); return R.ok(sensitiveVO); } @@ -90,7 +98,9 @@ @PostMapping @ApiOperation("鏂板鏁版嵁") public R<Boolean> insert(@RequestBody SensitiveDto sensitiveDto) { - Sensitive sensitive = new Sensitive().setCreator(sensitiveDto.getCreator()).setCtime(new Date()).setWord(String.join(",", sensitiveDto.getWords())); + Sensitive sensitive = new Sensitive().setCreator(userDao.selectOne(new QueryWrapper<User>() + .eq("login_username", SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId()) + .setCtime(new Date()).setWords(sensitiveDto.getWords()); return R.ok(sensitiveService.save(sensitive)); } @@ -100,12 +110,12 @@ * @param sensitiveDto 瀹炰綋瀵硅薄 * @return 淇敼缁撴灉 */ - @PutMapping - @ApiOperation("淇敼鏁版嵁") - public R<Boolean> update(@RequestBody SensitiveDto sensitiveDto) { - Sensitive sensitive = new Sensitive().setId(sensitiveDto.getId()).setCreator(sensitiveDto.getCreator()).setWord(String.join(",", sensitiveDto.getWords())); - return R.ok(sensitiveService.updateById(sensitive)); - } +// @PutMapping +// @ApiOperation("淇敼鏁版嵁") +// public R<Boolean> update(@RequestBody SensitiveDto sensitiveDto) { +// Sensitive sensitive = new Sensitive().setId(sensitiveDto.getId()).setCreator(sensitiveDto.getCreator()).setWord(String.join(",", sensitiveDto.getWords())); +// return R.ok(sensitiveService.updateById(sensitive)); +// } /** * 鍒犻櫎鏁版嵁 diff --git a/src/main/java/com/example/jz/controller/TestController.java b/src/main/java/com/example/jz/controller/TestController.java index 7cdf69a..7cde586 100644 --- a/src/main/java/com/example/jz/controller/TestController.java +++ b/src/main/java/com/example/jz/controller/TestController.java @@ -1,8 +1,11 @@ package com.example.jz.controller; +import com.example.jz.auth.TokenJwtManager; import com.example.jz.exception.BusinessException; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -14,11 +17,13 @@ @RestController("test") @Api(value = "娴嬭瘯鎺ュ彛", tags = "娴嬭瘯鎺ュ彛") public class TestController { + @Autowired + TokenJwtManager tokenJwtManager; @GetMapping("/business") @ApiOperation("涓氬姟寮傚父娴嬭瘯") public String test() { - throw new BusinessException("涓氬姟寮傚父"); + return null; } @GetMapping("/custom") diff --git a/src/main/java/com/example/jz/controller/UserController.java b/src/main/java/com/example/jz/controller/UserController.java index 20d0031..eb3c7ec 100644 --- a/src/main/java/com/example/jz/controller/UserController.java +++ b/src/main/java/com/example/jz/controller/UserController.java @@ -1,10 +1,10 @@ package com.example.jz.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.api.ApiController; -import com.baomidou.mybatisplus.extension.api.R; -import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.example.jz.modle.R; import com.example.jz.modle.entity.User; import com.example.jz.service.UserService; import com.example.jz.utils.Md5Utils; @@ -15,8 +15,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; import java.io.Serializable; +import java.util.Date; import java.util.List; /** @@ -46,7 +46,11 @@ @GetMapping @ApiOperation("鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�") public R selectAll(Page<User> page, User user) { - return success(this.userService.page(page, new QueryWrapper<>(user))); + return R.ok(this.userService.page(page, new QueryWrapper<User>() + .like(StringUtils.isNotBlank(user.getNickName()),"nick_name",user.getNickName()) + .or() + .like(StringUtils.isNotBlank(user.getRealName()),"real_name",user.getRealName()) + .orderByDesc("ctime"))); } /** @@ -58,7 +62,7 @@ @GetMapping("{id}") @ApiOperation("閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁") public R selectOne(@PathVariable Serializable id) { - return success(this.userService.getById(id)); + return R.ok(this.userService.getById(id)); } /** @@ -70,7 +74,7 @@ @PutMapping @ApiOperation("淇敼鐢ㄦ埛鏁版嵁") public R update(@RequestBody User user) { - return success(userService.updateById(user)); + return R.ok(userService.updateById(user)); } /** @@ -81,8 +85,8 @@ */ @DeleteMapping @ApiOperation("鍒犻櫎鐢ㄦ埛鏁版嵁") - public R delete(@RequestParam("idList") List<Long> idList) { - return success(this.userService.removeByIds(idList)); + public R delete(@RequestParam("id") Integer id) { + return R.ok(this.userService.removeById(id)); } /** @@ -101,8 +105,16 @@ }) public R addAdmin(@PathVariable Serializable id, String username, String password) { User user = userService.getById(id).setLoginUsername(username).setLoginPassword(Md5Utils.md5(password)).setRole(1); - return success(userService.updateById(user)); + return R.ok(userService.updateById(user)); } + + @PostMapping("/add") + @ApiOperation("娣诲姞") + public R add(@RequestBody User user) { + user.setCtime(new Date()); + return R.ok(userService.save(user)); + } + /** * 閲嶇疆绠$悊鍛樺瘑鐮� @@ -116,6 +128,6 @@ User user = userService.getById(id); // 閲嶇疆鍒濆瀵嗙爜涓鸿韩浠借瘉鍚庡叚浣� user.setLoginPassword(Md5Utils.md5(user.getUserIdcard().substring(user.getUserIdcard().length() - 6))); - return success(userService.updateById(user)); + return R.ok(userService.updateById(user)); } } diff --git a/src/main/java/com/example/jz/modle/dto/PublicityLoadDto.java b/src/main/java/com/example/jz/modle/dto/PublicityLoadDto.java new file mode 100644 index 0000000..2027206 --- /dev/null +++ b/src/main/java/com/example/jz/modle/dto/PublicityLoadDto.java @@ -0,0 +1,27 @@ +package com.example.jz.modle.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +@ApiModel(description = "缇ゅ叕鍛婂綍鍏ュ鍏�", value = "PublicityLoadDto") +public class PublicityLoadDto { + //妗堜欢缂栧彿 + @ApiModelProperty(dataType = "String", value = "鏍囬") + @ExcelProperty(value = "鏍囬", index = 0) + private String publicityTitle; + + @ApiModelProperty(dataType = "String", value = "鍐呭") + @ExcelProperty(value = "鍐呭", index = 1) + private String text; + + + //璐熻矗浜� + @ApiModelProperty(dataType = "String", value = "鍒涘缓浜�") + @ExcelProperty(value = "鍒涘缓浜�", index = 2) + private String userName; +} diff --git a/src/main/java/com/example/jz/modle/dto/SensitiveDto.java b/src/main/java/com/example/jz/modle/dto/SensitiveDto.java index d718229..d68e827 100644 --- a/src/main/java/com/example/jz/modle/dto/SensitiveDto.java +++ b/src/main/java/com/example/jz/modle/dto/SensitiveDto.java @@ -25,7 +25,7 @@ private Integer id; //鏁忔劅璇嶏紝鐢�,鍒嗛殧 @ApiModelProperty(value = "鏁忔劅璇�") - private List<String> words; + private String words; //鍒涘缓鑰� @ApiModelProperty(value = "鍒涘缓鑰�") private String creator; diff --git a/src/main/java/com/example/jz/modle/entity/Announcement.java b/src/main/java/com/example/jz/modle/entity/Announcement.java index 09497ff..dba3a43 100644 --- a/src/main/java/com/example/jz/modle/entity/Announcement.java +++ b/src/main/java/com/example/jz/modle/entity/Announcement.java @@ -52,5 +52,8 @@ //鐘舵�� private Integer status; + + //鍙戝竷鏃堕棿 + private Date publishTime; } diff --git a/src/main/java/com/example/jz/modle/entity/Sensitive.java b/src/main/java/com/example/jz/modle/entity/Sensitive.java index dd95f08..10e206a 100644 --- a/src/main/java/com/example/jz/modle/entity/Sensitive.java +++ b/src/main/java/com/example/jz/modle/entity/Sensitive.java @@ -30,9 +30,9 @@ @TableId private Integer id; //鏁忔劅璇嶏紝鐢�,鍒嗛殧 - private String word; + private String words; //鍒涘缓鑰� - private String creator; + private Integer creator; //鍒涘缓鏃堕棿 private Date ctime; diff --git a/src/main/java/com/example/jz/modle/entity/User.java b/src/main/java/com/example/jz/modle/entity/User.java index 65b195b..d04b868 100644 --- a/src/main/java/com/example/jz/modle/entity/User.java +++ b/src/main/java/com/example/jz/modle/entity/User.java @@ -84,5 +84,7 @@ private Integer id; private Integer role; + + private Date ctime; } diff --git a/src/main/java/com/example/jz/modle/vo/AnnouncementVo.java b/src/main/java/com/example/jz/modle/vo/AnnouncementVo.java index a5d0ef6..39fd936 100644 --- a/src/main/java/com/example/jz/modle/vo/AnnouncementVo.java +++ b/src/main/java/com/example/jz/modle/vo/AnnouncementVo.java @@ -37,4 +37,7 @@ //鐘舵�� private Integer status; + + //鍙戝竷鏃堕棿 + private Date publishTime; } diff --git a/src/main/java/com/example/jz/modle/vo/PublicityVo.java b/src/main/java/com/example/jz/modle/vo/PublicityVo.java new file mode 100644 index 0000000..87b3326 --- /dev/null +++ b/src/main/java/com/example/jz/modle/vo/PublicityVo.java @@ -0,0 +1,29 @@ +package com.example.jz.modle.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class PublicityVo { + + @ApiModelProperty(dataType = "Integer", value = "id") + private Integer id; + + @ApiModelProperty(dataType = "String", value = "鏍囬") + private String publicityTitle; + + //妗堜欢鐘舵�� + @ApiModelProperty(dataType = "Integer", value = "鐘舵��") + private Integer status; + + //璐熻矗浜� + @ApiModelProperty(dataType = "String", value = "鍒涘缓浜�") + private String userName; + + //鏈�鏃╂妗堝彂鏃堕棿 + @ApiModelProperty(dataType = "Date", value = "鍙戝竷鏃堕棿") + private Date releaseTime; +} diff --git a/src/main/java/com/example/jz/modle/vo/QuestionVo.java b/src/main/java/com/example/jz/modle/vo/QuestionVo.java new file mode 100644 index 0000000..064fd7d --- /dev/null +++ b/src/main/java/com/example/jz/modle/vo/QuestionVo.java @@ -0,0 +1,28 @@ +package com.example.jz.modle.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class QuestionVo { + + @ApiModelProperty(dataType = "Integer", value = "id") + private Integer id; + + @ApiModelProperty(dataType = "String", value = "鍏抽敭瀛�") + private String questionTitle; + + //妗堜欢鐘舵�� + @ApiModelProperty(dataType = "Integer", value = "鐘舵��") + private Integer status; + + //璐熻矗浜� + @ApiModelProperty(dataType = "String", value = "鍒涘缓浜�") + private String userName; + + //鏈�鏃╂妗堝彂鏃堕棿 + @ApiModelProperty(dataType = "Date", value = "鍙戝竷鏃堕棿") + private Date releaseTime; +} diff --git a/src/main/java/com/example/jz/modle/vo/SensitiveVO.java b/src/main/java/com/example/jz/modle/vo/SensitiveVO.java index d71b9a1..eafec18 100644 --- a/src/main/java/com/example/jz/modle/vo/SensitiveVO.java +++ b/src/main/java/com/example/jz/modle/vo/SensitiveVO.java @@ -27,7 +27,7 @@ private Integer id; //鏁忔劅璇嶏紝鐢�,鍒嗛殧 @ApiModelProperty(value = "鏁忔劅璇�") - private List<String> words; + private String words; //鍒涘缓鑰� @ApiModelProperty(value = "鍒涘缓鑰�") private String creator; diff --git a/src/main/java/com/example/jz/service/AnnouncementService.java b/src/main/java/com/example/jz/service/AnnouncementService.java index 3f16e7d..ff1f818 100644 --- a/src/main/java/com/example/jz/service/AnnouncementService.java +++ b/src/main/java/com/example/jz/service/AnnouncementService.java @@ -23,19 +23,19 @@ PageParam<AnnouncementVo> getAnnouncements(Integer size, Integer current, String content, Integer status,Integer groupId); /** - * @Description 鍙戝竷 + * @Description 鍙戝竷/涓嬫灦 * @Param [id] * @return java.lang.Integer **/ - Integer updateStatus(Integer id); + void updateStatus(Integer id,Integer status); /** - * @Description 涓嬫灦 - * @Param [id] + * @Description 娣诲姞 + * @Param [groupId, announcement] * @return java.lang.Integer **/ - Integer updateStatusUnshelve(Integer id); - Integer add(Integer groupId, Announcement announcement); + + AnnouncementVo getAnnouncementsById(Integer id); } diff --git a/src/main/java/com/example/jz/service/PublicityService.java b/src/main/java/com/example/jz/service/PublicityService.java index 7173d3a..e45a634 100644 --- a/src/main/java/com/example/jz/service/PublicityService.java +++ b/src/main/java/com/example/jz/service/PublicityService.java @@ -6,6 +6,7 @@ import com.example.jz.modle.PageParam; import com.example.jz.modle.dto.PublicityDto; import com.example.jz.modle.entity.Publicity; +import org.springframework.web.multipart.MultipartFile; import java.io.Serializable; @@ -22,4 +23,6 @@ Boolean grounding(Serializable id); IPage<PublicityDto> findByPage(PageParam<PublicityDto> page, QueryWrapper<PublicityDto> publicityDtoQueryWrapper); + + void loadFile(MultipartFile multipartFile); } diff --git a/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java b/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java index 5e343a3..993cc40 100644 --- a/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/AnnouncementServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.example.jz.auth.TokenJwtManager; import com.example.jz.dao.AnnouncementDao; import com.example.jz.dao.UserDao; import com.example.jz.modle.PageParam; @@ -12,6 +13,8 @@ import com.example.jz.modle.vo.AnnouncementVo; import com.example.jz.service.AnnouncementService; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -32,6 +35,9 @@ AnnouncementDao announcementDao; @Resource UserDao userDao; + + @Autowired + TokenJwtManager tokenJwtManager; @Override public PageParam<AnnouncementVo> getAnnouncements(Integer size, Integer current, String content, Integer status, Integer groupId) { @@ -63,20 +69,36 @@ } @Override - public Integer updateStatus(Integer id) { - return announcementDao.update(new Announcement().setStatus(1), new UpdateWrapper<Announcement>().eq("id", id)); + public void updateStatus(Integer id,Integer status) { + if (status==1){ + announcementDao.update(new Announcement().setStatus(2), new UpdateWrapper<Announcement>().eq("id", id)); + }else { + Announcement announcement = new Announcement(); + announcement.setStatus(1); + announcement.setPublishTime(new Date()); + announcementDao.update(announcement, new UpdateWrapper<Announcement>().eq("id", id)); + } } - @Override - public Integer updateStatusUnshelve(Integer id) { - return announcementDao.update(new Announcement().setStatus(2), new UpdateWrapper<Announcement>().eq("id", id)); - } @Override public Integer add(Integer groupId, Announcement announcement) { - announcement.setStatus(0); + announcement.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("login_username", SecurityContextHolder.getContext().getAuthentication().getPrincipal())).getId()); + if(announcement.getStatus()==1){ + announcement.setPublishTime(new Date()); + } announcement.setCtime(new Date()); announcement.setGroupId(groupId); return announcementDao.insert(announcement); } + + @Override + public AnnouncementVo getAnnouncementsById(Integer id) { + AnnouncementVo announcementVo = new AnnouncementVo(); + Announcement announcement = announcementDao.selectById(id); + User user = userDao.selectOne(new QueryWrapper<User>().eq("id", announcement.getCreator())); + BeanUtils.copyProperties(announcement,announcementVo); + announcementVo.setCreateName(user.getRealName()); + return announcementVo; + } } diff --git a/src/main/java/com/example/jz/service/impl/PublicityServiceImpl.java b/src/main/java/com/example/jz/service/impl/PublicityServiceImpl.java index 90390a8..28f970f 100644 --- a/src/main/java/com/example/jz/service/impl/PublicityServiceImpl.java +++ b/src/main/java/com/example/jz/service/impl/PublicityServiceImpl.java @@ -1,18 +1,31 @@ package com.example.jz.service.impl; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.alibaba.excel.metadata.data.ReadCellData; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.jz.dao.PublicityDao; +import com.example.jz.dao.UserDao; import com.example.jz.modle.PageParam; +import com.example.jz.modle.dto.CauseLoadDto; import com.example.jz.modle.dto.PublicityDto; +import com.example.jz.modle.dto.PublicityLoadDto; import com.example.jz.modle.entity.Publicity; +import com.example.jz.modle.entity.User; import com.example.jz.service.PublicityService; +import lombok.SneakyThrows; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.Serializable; import java.util.Date; +import java.util.Map; /** * 鍏叡瀹d紶琛�(Publicity)琛ㄦ湇鍔″疄鐜扮被 @@ -25,6 +38,9 @@ @Resource private PublicityDao publicityDao; + + @Resource + private UserDao userDao; @Override public Boolean undercarriage(Serializable id) { @@ -51,4 +67,30 @@ public IPage<PublicityDto> findByPage(PageParam<PublicityDto> page, QueryWrapper<PublicityDto> publicityDtoQueryWrapper) { return publicityDao.findByPage(page, publicityDtoQueryWrapper); } + + @Override + @SneakyThrows + public void loadFile(MultipartFile multipartFile) { + EasyExcel.read(multipartFile.getInputStream(), PublicityLoadDto.class, new AnalysisEventListener<PublicityLoadDto>(){ + + @Override + public void invoke(PublicityLoadDto data, AnalysisContext context) { + if (StringUtils.isNotBlank(data.getPublicityTitle()) && StringUtils.isNotBlank(data.getUserName())) { + Publicity publicity = new Publicity(); + publicity.setStatus(0); + BeanUtils.copyProperties(data,publicity); + publicity.setCtime(new Date()); + publicity.setCreator(userDao.selectOne(new QueryWrapper<User>().eq("real_name",data.getUserName())).getId()); + publicityDao.insert(publicity); + } + + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + + } + }) .autoCloseStream(true) + .doReadAll(); + } } -- Gitblit v1.8.0