diff --git a/ruoyi-ui/src/api/business/english/copywriting.js b/ruoyi-ui/src/api/business/english/copywriting.js new file mode 100644 index 00000000..5a5c1ba4 --- /dev/null +++ b/ruoyi-ui/src/api/business/english/copywriting.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询文案api,通过api获取文案信息列表 +export function listCopywriting(query) { + return request({ + url: '/english/copywriting/list', + method: 'get', + params: query + }) +} + +// 查询文案api,通过api获取文案信息详细 +export function getCopywriting(id) { + return request({ + url: '/english/copywriting/' + id, + method: 'get' + }) +} + +// 新增文案api,通过api获取文案信息 +export function addCopywriting(data) { + return request({ + url: '/english/copywriting', + method: 'post', + data: data + }) +} + +// 修改文案api,通过api获取文案信息 +export function updateCopywriting(data) { + return request({ + url: '/english/copywriting', + method: 'put', + data: data + }) +} + +// 删除文案api,通过api获取文案信息 +export function delCopywriting(id) { + return request({ + url: '/english/copywriting/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/business/english/copywriting/index.vue b/ruoyi-ui/src/views/business/english/copywriting/index.vue new file mode 100644 index 00000000..9f0884a2 --- /dev/null +++ b/ruoyi-ui/src/views/business/english/copywriting/index.vue @@ -0,0 +1,204 @@ + + + diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/controller/CopyWritingController.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/controller/CopyWritingController.java index f84db3c5..4de9d2a1 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/controller/CopyWritingController.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/controller/CopyWritingController.java @@ -2,8 +2,12 @@ package com.xjs.copywriting.controller; import cn.hutool.core.util.RandomUtil; import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.poi.ExcelUtil; +import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresLogin; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.xjs.copywriting.domain.CopyWriting; @@ -14,11 +18,11 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -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.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; +import java.util.List; import java.util.Optional; /** @@ -29,7 +33,7 @@ import java.util.Optional; @RestController @RequestMapping("copyWriting") @Api(tags = "业务模块-文案管理") -public class CopyWritingController { +public class CopyWritingController extends BaseController { @Autowired private CopyWritingFactory tianXingPYQCopyWritingFactory; @@ -39,7 +43,6 @@ public class CopyWritingController { private CopyWritingService copyWritingService; //todo 文案管理前端页面, - // 天行数据整合一个菜单, // 实现其他天行数据接口, // 实现其他朋友圈文案api, @@ -47,7 +50,6 @@ public class CopyWritingController { @ApiOperation("文案接口") @Log(title = "获取文案") @RequiresLogin - @RequiresPermissions("english:translation:api") public AjaxResult copyWriting(@Validated RequestBody requestBody) { requestBody = Optional.ofNullable(requestBody).orElseGet(RequestBody::new); CopyWritingFactory copyWritingFactory = this.randomApi(); @@ -64,9 +66,9 @@ public class CopyWritingController { return R.ok(copyWriting); } - /** * 封装随机调用api + * * @return 文案工厂 */ private CopyWritingFactory randomApi() { @@ -82,8 +84,9 @@ public class CopyWritingController { /** * 捕获apiException异常,直接从数据库查询值然后返回 + * * @param copyWritingFactory 工厂 - * @param requestBody 请求参数 + * @param requestBody 请求参数 * @return 返回对象 */ private CopyWriting handlerException(CopyWritingFactory copyWritingFactory, RequestBody requestBody) { @@ -99,9 +102,53 @@ public class CopyWritingController { } +//------------------------代码自动生成----------------------------------- + /** + * 查询文案api,通过api获取文案信息列表 + */ + @ApiOperation("文案列表") + @RequiresPermissions("system:copywriting:list") + @GetMapping("/list") + public TableDataInfo list(CopyWriting copyWriting) { + startPage(); + List list = copyWritingService.selectCopyWritingList(copyWriting); + return getDataTable(list); + } + + /** + * 导出文案api,通过api获取文案信息列表 + */ + @RequiresPermissions("system:copywriting:export") + @Log(title = "文案管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("导出文案") + public void export(HttpServletResponse response, CopyWriting copyWriting) { + List list = copyWritingService.selectCopyWritingList(copyWriting); + ExcelUtil util = new ExcelUtil<>(CopyWriting.class); + util.exportExcel(response, list, "文案api,通过api获取文案信息数据"); + } + /** + * 获取文案api,通过api获取文案信息详细信息 + */ + @RequiresPermissions("system:copywriting:query") + @GetMapping(value = "/{id}") + @ApiOperation("获取文案根据ID") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(copyWritingService.selectCopyWritingById(id)); + } + /** + * 删除文案api,通过api获取文案信息 + */ + @RequiresPermissions("system:copywriting:remove") + @Log(title = "文案管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + @ApiOperation("删除文案") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(copyWritingService.deleteCopyWritingByIds(ids)); + } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/domain/CopyWriting.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/domain/CopyWriting.java index eacbc1c0..24a5113c 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/domain/CopyWriting.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/domain/CopyWriting.java @@ -37,6 +37,6 @@ public class CopyWriting implements Serializable { @TableField(fill = FieldFill.INSERT) private Date createTime; - @Excel(name = "文案类型") + @Excel(name = "文案类型" ,readConverterExp = "1=、朋友圈文案2、网易云热评") private StatusEnum type; } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/mapper/CopyWritingMapper.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/mapper/CopyWritingMapper.java index 0ca14e40..a460075e 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/mapper/CopyWritingMapper.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/mapper/CopyWritingMapper.java @@ -3,6 +3,8 @@ package com.xjs.copywriting.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xjs.copywriting.domain.CopyWriting; +import java.util.List; + /** * @author xiejs * @desc @@ -21,4 +23,38 @@ public interface CopyWritingMapper extends BaseMapper { */ CopyWriting getOneToRandom(); + + //---------------------代码自动生成------------------------- + /** + * 查询文案api,通过api获取文案信息 + * + * @param id 文案api,通过api获取文案信息主键 + * @return 文案api,通过api获取文案信息 + */ + CopyWriting selectCopyWritingById(Long id); + + /** + * 查询文案api,通过api获取文案信息列表 + * + * @param copyWriting 文案api,通过api获取文案信息 + * @return 文案api,通过api获取文案信息集合 + */ + List selectCopyWritingList(CopyWriting copyWriting); + + /** + * 删除文案api,通过api获取文案信息 + * + * @param id 文案api,通过api获取文案信息主键 + * @return 结果 + */ + int deleteCopyWritingById(Long id); + + /** + * 批量删除文案api,通过api获取文案信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteCopyWritingByIds(Long[] ids); + } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/CopyWritingService.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/CopyWritingService.java index 9bf62be6..8132991e 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/CopyWritingService.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/CopyWritingService.java @@ -3,6 +3,8 @@ package com.xjs.copywriting.service; import com.baomidou.mybatisplus.extension.service.IService; import com.xjs.copywriting.domain.CopyWriting; +import java.util.List; + /** * @author xiejs * @desc 文案服务接口 @@ -21,4 +23,38 @@ public interface CopyWritingService extends IService { * @return CopyWriting */ CopyWriting getOneToRandom(); + + + //-------------------------代码自动生成---------------------------------- + /** + * 查询文案api,通过api获取文案信息 + * + * @param id 文案api,通过api获取文案信息主键 + * @return 文案api,通过api获取文案信息 + */ + CopyWriting selectCopyWritingById(Long id); + + /** + * 查询文案api,通过api获取文案信息列表 + * + * @param copyWriting 文案api,通过api获取文案信息 + * @return 文案api,通过api获取文案信息集合 + */ + List selectCopyWritingList(CopyWriting copyWriting); + + /** + * 批量删除文案api,通过api获取文案信息 + * + * @param ids 需要删除的文案api,通过api获取文案信息主键集合 + * @return 结果 + */ + int deleteCopyWritingByIds(Long[] ids); + + /** + * 删除文案api,通过api获取文案信息信息 + * + * @param id 文案api,通过api获取文案信息主键 + * @return 结果 + */ + int deleteCopyWritingById(Long id); } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/impl/CopyWritingServiceImpl.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/impl/CopyWritingServiceImpl.java index cd167c11..9b4d3329 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/impl/CopyWritingServiceImpl.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/impl/CopyWritingServiceImpl.java @@ -7,6 +7,7 @@ import com.xjs.copywriting.service.CopyWritingService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** * @author xiejs @@ -27,4 +28,56 @@ public class CopyWritingServiceImpl extends ServiceImpl selectCopyWritingList(CopyWriting copyWriting) + { + return copyWritingMapper.selectCopyWritingList(copyWriting); + } + + /** + * 批量删除文案api,通过api获取文案信息 + * + * @param ids 需要删除的文案api,通过api获取文案信息主键 + * @return 结果 + */ + @Override + public int deleteCopyWritingByIds(Long[] ids) + { + return copyWritingMapper.deleteCopyWritingByIds(ids); + } + + /** + * 删除文案api,通过api获取文案信息信息 + * + * @param id 文案api,通过api获取文案信息主键 + * @return 结果 + */ + @Override + public int deleteCopyWritingById(Long id) + { + return copyWritingMapper.deleteCopyWritingById(id); + } + + } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/controller/ApiLogController.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/controller/ApiLogController.java index 1f7e1869..158319de 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/controller/ApiLogController.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/controller/ApiLogController.java @@ -1,26 +1,21 @@ package com.xjs.log.controller; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.core.utils.poi.ExcelUtil; +import com.ruoyi.common.core.web.controller.BaseController; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.xjs.log.domain.ApiLog; import com.xjs.log.service.IApiLogService; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.utils.poi.ExcelUtil; -import com.ruoyi.common.core.web.page.TableDataInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; /** * 日志Controller @@ -35,6 +30,11 @@ public class ApiLogController extends BaseController { @Autowired private IApiLogService apiLogService; + + + + //------------------------代码自动生成----------------------------------- + /** * 查询日志列表 */ diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/domain/ApiLog.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/domain/ApiLog.java index 641206e3..0bd23226 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/domain/ApiLog.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/domain/ApiLog.java @@ -4,10 +4,9 @@ import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.ruoyi.common.core.annotation.Excel; import com.xjs.common.enums.StatusEnum; import lombok.Data; -import com.ruoyi.common.core.annotation.Excel; import java.io.Serializable; import java.util.Date; @@ -51,7 +50,7 @@ public class ApiLog implements Serializable @Excel(name = "是否请求成功") private StatusEnum isSuccess; - @Excel(name = "创建时间") + @Excel(name = "创建时间" ,dateFormat = "yyyy-MM-dd") @TableField(fill = FieldFill.INSERT) private Date createTime; } diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/mapper/ApiLogMapper.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/mapper/ApiLogMapper.java index 66f1f37c..1fe70415 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/mapper/ApiLogMapper.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/mapper/ApiLogMapper.java @@ -1,10 +1,10 @@ package com.xjs.log.mapper; -import java.util.List; - import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.xjs.log.domain.ApiLog; +import java.util.List; + /** * 日志Mapper接口 * @@ -12,6 +12,9 @@ import com.xjs.log.domain.ApiLog; * @date 2021-12-26 */ public interface ApiLogMapper extends BaseMapper { + + //------------------------代码自动生成----------------------------------- + /** * 查询日志 * diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/service/IApiLogService.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/service/IApiLogService.java index 2e39d272..f42ed9cc 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/service/IApiLogService.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/service/IApiLogService.java @@ -1,19 +1,22 @@ package com.xjs.log.service; -import java.util.List; import com.xjs.log.domain.ApiLog; +import java.util.List; + /** * 日志Service接口 - * + * * @author xjs * @date 2021-12-26 */ -public interface IApiLogService -{ +public interface IApiLogService { + + //------------------------代码自动生成----------------------------------- + /** * 查询日志 - * + * * @param id 日志主键 * @return 日志 */ @@ -21,7 +24,7 @@ public interface IApiLogService /** * 查询日志列表 - * + * * @param apiLog 日志 * @return 日志集合 */ @@ -29,7 +32,7 @@ public interface IApiLogService /** * 批量删除日志 - * + * * @param ids 需要删除的日志主键集合 * @return 结果 */ @@ -37,7 +40,7 @@ public interface IApiLogService /** * 删除日志信息 - * + * * @param id 日志主键 * @return 结果 */ diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/service/impl/ApiLogServiceImpl.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/service/impl/ApiLogServiceImpl.java index 406ed6bf..2ec39346 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/log/service/impl/ApiLogServiceImpl.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/log/service/impl/ApiLogServiceImpl.java @@ -1,12 +1,12 @@ package com.xjs.log.service.impl; -import java.util.List; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.xjs.log.mapper.ApiLogMapper; import com.xjs.log.domain.ApiLog; +import com.xjs.log.mapper.ApiLogMapper; import com.xjs.log.service.IApiLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; /** * 日志Service业务层处理 @@ -19,6 +19,8 @@ public class ApiLogServiceImpl implements IApiLogService { @Autowired private ApiLogMapper apiLogMapper; + //------------------------代码自动生成----------------------------------- + /** * 查询日志 * diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/controller/TranslationController.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/controller/TranslationController.java index 7470ae54..851be903 100644 --- a/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/controller/TranslationController.java +++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/translation/controller/TranslationController.java @@ -3,7 +3,6 @@ package com.xjs.translation.controller; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.security.annotation.RequiresLogin; -import com.ruoyi.common.security.annotation.RequiresPermissions; import com.xjs.translation.domain.qo.translation.TranslationQo; import com.xjs.translation.domain.vo.translation.TranslationVo; import com.xjs.translation.factory.TranslationFactory; @@ -11,7 +10,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import static com.xjs.common.consts.TranslationTypeConst.BAIDU; import static com.xjs.common.consts.TranslationTypeConst.YOUDAO; @@ -35,7 +37,6 @@ public class TranslationController { @ApiOperation("翻译接口") @Log(title = "获取翻译") @RequiresLogin - @RequiresPermissions("english:translation:api") public AjaxResult translation(@Validated @RequestBody TranslationQo translationQo) { TranslationVo translationVo=new TranslationVo(); if (BAIDU.equals(translationQo.getTranslationType())) { diff --git a/xjs-business/xjs-business-english/src/main/resources/mapper/english/CopyWritingMapper.xml b/xjs-business/xjs-business-english/src/main/resources/mapper/english/CopyWritingMapper.xml index 33ea1542..e5504c3f 100644 --- a/xjs-business/xjs-business-english/src/main/resources/mapper/english/CopyWritingMapper.xml +++ b/xjs-business/xjs-business-english/src/main/resources/mapper/english/CopyWritingMapper.xml @@ -6,22 +6,63 @@ + + + + + + + + + + + select id, content, source, create_time, type + from api_copywriting + + + + + + + + delete + from api_copywriting + where id = #{id} + + + + delete from api_copywriting where id in + + #{id} + + \ No newline at end of file