diff --git a/module-config-content/pom.xml b/module-config-content/pom.xml new file mode 100644 index 0000000..241e2e9 --- /dev/null +++ b/module-config-content/pom.xml @@ -0,0 +1,71 @@ + + + + tenlion-module + cn.com.tenlion + 1.0-SNAPSHOT + + 4.0.0 + + module-config-content + + + + interface-config-content + cn.com.tenlion + 1.0-SNAPSHOT + + + ink.wgink + module-file + 1.0-SNAPSHOT + compile + + + ink.wgink + module-dictionary + 1.0-SNAPSHOT + compile + + + org.springframework + spring-test + 5.3.3 + compile + + + ink.wgink + login-wechat + 1.0-SNAPSHOT + + + org.apache.httpcomponents + httpcore + 4.4.10 + + + org.apache.httpcomponents + httpclient + 4.5.6 + + + + com.belerweb + pinyin4j + 2.5.1 + + + com.github.binarywang + java-emoji-converter + 0.1.1 + + + ink.wgink + basic-app + 1.0-SNAPSHOT + compile + + + \ No newline at end of file diff --git a/module-config-content/src/main/java/cn/com/tenlion/configcontent/controller/api/contentantistop/ContentAntistopController.java b/module-config-content/src/main/java/cn/com/tenlion/configcontent/controller/api/contentantistop/ContentAntistopController.java new file mode 100644 index 0000000..fdf15e8 --- /dev/null +++ b/module-config-content/src/main/java/cn/com/tenlion/configcontent/controller/api/contentantistop/ContentAntistopController.java @@ -0,0 +1,141 @@ +package cn.com.tenlion.configcontent.controller.api.contentantistop; + +import cn.com.tenlion.configcontent.pojo.dtos.contentantistop.ContentAntistopDTO; +import cn.com.tenlion.configcontent.pojo.vos.contentantistop.ContentAntistopVO; +import cn.com.tenlion.configcontent.service.contentantistop.IContentAntistopService; +import ink.wgink.annotation.CheckRequestBodyAnnotation; +import ink.wgink.common.base.DefaultBaseController; +import ink.wgink.common.component.SecurityComponent; +import ink.wgink.exceptions.RemoveException; +import ink.wgink.exceptions.SearchException; +import ink.wgink.interfaces.consts.ISystemConstant; +import ink.wgink.pojo.ListPage; +import ink.wgink.pojo.dtos.CurrentUserIdInfoDTO; +import ink.wgink.pojo.result.ErrorResult; +import ink.wgink.pojo.result.SuccessResult; +import ink.wgink.pojo.result.SuccessResultList; +import ink.wgink.util.UUIDUtil; +import io.swagger.annotations.*; +import org.apache.commons.io.FileUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import java.io.File; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * @ClassName: ContentAntistopController + * @Description: 评论敏感词库 + * @Author: WenG + * @Date: 2020-05-08 23:30 + * @Version: 1.0 + **/ +@Api(tags = ISystemConstant.API_TAGS_SYSTEM_PREFIX + "评论敏感词库接口") +@RestController +@RequestMapping(ISystemConstant.API_PREFIX + "/contentantistop") +public class ContentAntistopController extends DefaultBaseController { + + @Autowired + private IContentAntistopService contentAntistopService; + @Autowired + private SecurityComponent securityComponent; + + @ApiOperation(value = "敏感词导入", notes = "敏感词导入接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("saveuploadexcel") + public SuccessResult saveUploadExcel(MultipartFile excel) throws Exception { + String extName = ""; // 扩展名格式: + String saveFilePath = ""; + try { + if (excel.getOriginalFilename().lastIndexOf(".") >= 0){ + extName = excel.getOriginalFilename().substring(excel.getOriginalFilename().lastIndexOf(".")); + } + String fileName = UUIDUtil.getUUID(); + String path = "D:\\News\\tempFile\\"; + File file = new File(path); + if(!file.exists()) { + file.mkdirs(); + } + File saveFile = new File(path + fileName + extName); + FileUtils.copyInputStreamToFile(excel.getInputStream(), saveFile); + saveFilePath = path + fileName + extName; + } catch (IOException e) { + e.printStackTrace(); + } + return contentAntistopService.saveContentAntistopExcel(saveFilePath); + } + + + @ApiOperation(value = "评论敏感词库", notes = "评论敏感词库接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PostMapping("savecontentantistop") + @CheckRequestBodyAnnotation + public SuccessResult saveContentAntistop(@RequestBody ContentAntistopVO contentAntistopVO) throws Exception { + return contentAntistopService.saveContentAntistop(contentAntistopVO); + } + + @ApiOperation(value = "删除评论敏感词库(id列表)", notes = "删除评论敏感词库(id列表)接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "ids", value = "ID列表,用下划线分隔", paramType = "path", example = "1_2_3") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @DeleteMapping("removecontentantistop/{ids}") + public SuccessResult removeContentAntistop(@PathVariable("ids") String ids) throws RemoveException { + return contentAntistopService.removeContentAntistop(ids); + } + + @ApiOperation(value = "修改评论敏感词库", notes = "修改评论敏感词库接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "contentAntistopId", value = "评论敏感词库ID", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @PutMapping("updatecontentantistop/{contentAntistopId}") + @CheckRequestBodyAnnotation + public SuccessResult updateContentAntistop(@PathVariable("contentAntistopId") String contentAntistopId, @RequestBody ContentAntistopVO contentAntistopVO) throws Exception { + return contentAntistopService.updateContentAntistop(contentAntistopId, contentAntistopVO); + } + + @ApiOperation(value = "评论敏感词库详情(通过ID)", notes = "评论敏感词库详情(通过ID)接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "contentAntistopId", value = "评论敏感词库ID", paramType = "path") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("getcontentantistopbyid/{contentAntistopId}") + public ContentAntistopDTO getContentAntistopById(@PathVariable("contentAntistopId") String contentAntistopId) throws SearchException { + return contentAntistopService.getContentAntistopById(contentAntistopId); + } + + @ApiOperation(value = "评论敏感词库列表", notes = "评论敏感词库列表接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listcontentantistop") + public List listContentAntistop() throws SearchException { + Map params = requestParams(); + return contentAntistopService.listContentAntistop(params); + } + + @ApiOperation(value = "评论敏感词库分页列表", notes = "评论敏感词库分页列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "page", value = "当前页码", paramType = "form", dataType = "Integer", defaultValue = "1"), + @ApiImplicitParam(name = "rows", value = "显示数量", paramType = "form", dataType = "Integer", defaultValue = "20"), + @ApiImplicitParam(name = "keywords", value = "关键字", paramType = "form", dataType = "String"), + @ApiImplicitParam(name = "startTime", value = "开始时间", paramType = "form", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "结束时间", paramType = "form", dataType = "String") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("listpagecontentantistop") + public SuccessResultList> listPageContentAntistop(ListPage page) throws SearchException { + Map params = requestParams(); + page.setParams(params); + return contentAntistopService.listPageContentAntistop(page); + } + + @ApiOperation(value = "当前用户id信息", notes = "当前用户id信息接口") + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("getcurrentuseridinfo") + public CurrentUserIdInfoDTO getCurrentUserIdInfo() { + return securityComponent.getCurrentUserIdInfo(); + } + +} \ No newline at end of file diff --git a/module-config-content/src/main/java/cn/com/tenlion/configcontent/controller/route/contentantistop/ContentAntistopRouteController.java b/module-config-content/src/main/java/cn/com/tenlion/configcontent/controller/route/contentantistop/ContentAntistopRouteController.java new file mode 100644 index 0000000..165136f --- /dev/null +++ b/module-config-content/src/main/java/cn/com/tenlion/configcontent/controller/route/contentantistop/ContentAntistopRouteController.java @@ -0,0 +1,43 @@ +package cn.com.tenlion.configcontent.controller.route.contentantistop; + +import ink.wgink.common.base.DefaultBaseController; +import ink.wgink.interfaces.consts.ISystemConstant; +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +/** + * @ClassName: ContentCollectController + * @Description: + * @Author: CodeFactory + * @Date: 2021-08-02 10:30:13 + * @Version: 3.0 + **/ +@Api(tags = ISystemConstant.ROUTE_TAGS_PREFIX + "") +@RestController +@RequestMapping(ISystemConstant.ROUTE_PREFIX + "/contentantistop") +public class ContentAntistopRouteController extends DefaultBaseController { + + @GetMapping("save") + public ModelAndView save() { + return new ModelAndView("contentantistop/save"); + } + + @GetMapping("update") + public ModelAndView update() { + return new ModelAndView("contentantistop/update"); + } + + @GetMapping("list") + public ModelAndView list() { + return new ModelAndView("contentantistop/list"); + } + + @GetMapping("saveexlce") + public ModelAndView saveExlce() { + return new ModelAndView("contentantistop/save-excel"); + } + +} \ No newline at end of file diff --git a/module-config-content/src/main/java/cn/com/tenlion/configcontent/dao/contentantistop/IContentAntistopDao.java b/module-config-content/src/main/java/cn/com/tenlion/configcontent/dao/contentantistop/IContentAntistopDao.java new file mode 100644 index 0000000..7791be5 --- /dev/null +++ b/module-config-content/src/main/java/cn/com/tenlion/configcontent/dao/contentantistop/IContentAntistopDao.java @@ -0,0 +1,65 @@ +package cn.com.tenlion.configcontent.dao.contentantistop; + +import cn.com.tenlion.configcontent.pojo.dtos.contentantistop.ContentAntistopDTO; +import ink.wgink.exceptions.RemoveException; +import ink.wgink.exceptions.SaveException; +import ink.wgink.exceptions.SearchException; +import ink.wgink.exceptions.UpdateException; +import org.springframework.stereotype.Repository; +import java.util.List; +import java.util.Map; + +/** + * @ClassName: IContentAntistopDao + * @Description: 内容评论敏感词库 + * @Author: WenG + * @Date: 2020-05-08 23:30 + * @Version: 1.0 + **/ +@Repository +public interface IContentAntistopDao { + + /** + * 新增内容评论敏感词库 + * + * @param params + * @throws SaveException + */ + void saveContentAntistop(Map params) throws SaveException; + + /** + * 删除内容评论敏感词库 + * + * @param params + * @throws RemoveException + */ + void removeContentAntistop(Map params) throws RemoveException; + + /** + * 修改内容评论敏感词库 + * + * @param params + * @throws UpdateException + */ + void updateContentAntistop(Map params) throws UpdateException; + + /** + * 内容评论敏感词库详情 + * + * @param params + * @return + * @throws SearchException + */ + ContentAntistopDTO getContentAntistop(Map params) throws SearchException; + + /** + * 内容评论敏感词库列表 + * + * @param params + * @return + * @throws SearchException + */ + List listContentAntistop(Map params) throws SearchException; + + ContentAntistopDTO getContentAntistopByName(Map params) throws SearchException; +} diff --git a/module-config-content/src/main/resources/templates/contentantistop/list.html b/module-config-content/src/main/resources/templates/contentantistop/list.html new file mode 100644 index 0000000..0756862 --- /dev/null +++ b/module-config-content/src/main/resources/templates/contentantistop/list.html @@ -0,0 +1,257 @@ + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+ + +
+
+ + +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/module-config-content/src/main/resources/templates/contentantistop/save-excel.html b/module-config-content/src/main/resources/templates/contentantistop/save-excel.html new file mode 100644 index 0000000..d7adcdb --- /dev/null +++ b/module-config-content/src/main/resources/templates/contentantistop/save-excel.html @@ -0,0 +1,76 @@ + + + + + + + + + + + + + +
+
+
+
点击“下载模板”整理数据,点击“导入数据”上传,格式为xls或xlsx
+ + +
+
+
+ + + + \ No newline at end of file diff --git a/module-config-content/src/main/resources/templates/contentantistop/save.html b/module-config-content/src/main/resources/templates/contentantistop/save.html new file mode 100644 index 0000000..151d0cd --- /dev/null +++ b/module-config-content/src/main/resources/templates/contentantistop/save.html @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/module-config-content/src/main/resources/templates/contentantistop/update.html b/module-config-content/src/main/resources/templates/contentantistop/update.html new file mode 100644 index 0000000..fe28363 --- /dev/null +++ b/module-config-content/src/main/resources/templates/contentantistop/update.html @@ -0,0 +1,190 @@ + + + + + + + + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+
+ +
+ + +
+
+
+ +
+ +
+
+
+
+ +
+
+
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/pojo-config-content/pom.xml b/pojo-config-content/pom.xml new file mode 100644 index 0000000..d726185 --- /dev/null +++ b/pojo-config-content/pom.xml @@ -0,0 +1,21 @@ + + + + tenlion-module + cn.com.tenlion + 1.0-SNAPSHOT + + 4.0.0 + + pojo-config-content + + + + ink.wgink + common + 1.0-SNAPSHOT + + + \ No newline at end of file