From c76fd56aadf98f215ead9d2cb9c8f071e79f7793 Mon Sep 17 00:00:00 2001
From: xjs <1294405880@qq.com>
Date: Tue, 28 Dec 2021 11:56:24 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AF=B4=E6=98=8E=EF=BC=9A1=E3=80=81=E5=A4=A9?=
=?UTF-8?q?=E8=A1=8C=E6=95=B0=E6=8D=AE=E6=96=87=E6=A1=88=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=E9=99=8D=E7=BA=A7=E5=A4=84=E7=90=86=20=20=20=20=20=202?=
=?UTF-8?q?=E3=80=81=E5=A4=A9=E8=A1=8C=E6=95=B0=E6=8D=AE=E6=96=87=E6=A1=88?=
=?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8=E5=BC=82=E5=B8=B8=E5=A4=84?=
=?UTF-8?q?=E7=90=86=20=20=20=20=20=203=E3=80=81=E6=B7=BB=E5=8A=A0jrebel?=
=?UTF-8?q?=E7=83=AD=E9=83=A8=E7=BD=B2=E6=8F=92=E4=BB=B6=20=20=20=20=20=20?=
=?UTF-8?q?4=E3=80=81=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=88=E4=B8=A4?=
=?UTF-8?q?=E4=B8=AAmapper=20sql?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../english/api/RemoteCopyWritingFeign.java | 5 +-
.../src/main/resources/rebel.xml | 16 +++++++
ruoyi-auth/src/main/resources/rebel.xml | 16 +++++++
.../src/main/resources/rebel.xml | 16 +++++++
.../src/main/resources/rebel.xml | 16 +++++++
.../src/main/resources/rebel.xml | 16 +++++++
.../src/main/resources/rebel.xml | 16 +++++++
.../src/main/resources/rebel.xml | 16 +++++++
.../src/main/resources/rebel.xml | 16 +++++++
.../src/main/resources/rebel.xml | 16 +++++++
ruoyi-gateway/src/main/resources/rebel.xml | 16 +++++++
.../ruoyi-file/src/main/resources/rebel.xml | 16 +++++++
.../ruoyi-gen/src/main/resources/rebel.xml | 16 +++++++
.../ruoyi-job/src/main/resources/rebel.xml | 16 +++++++
.../ruoyi-system/src/main/resources/rebel.xml | 16 +++++++
.../src/main/resources/rebel.xml | 16 +++++++
xjs-business/pom.xml | 1 +
xjs-business/xjs-business-english/pom.xml | 1 +
.../java/com/xjs/common/aop/ApiLogAspect.java | 2 +-
.../common/client/TianXingFeignClient.java | 3 +-
.../client/factory/TianXingFeignFactory.java | 48 +++++++++++++++++++
.../copywriting/CopyWritingController.java | 35 +++++++++++++-
.../copywriting/mapper/CopyWritingMapper.java | 12 +++++
.../service/CopyWritingService.java | 24 ++++++++++
.../service/impl/CopyWritingServiceImpl.java | 30 ++++++++++++
.../mapper/english/CopyWritingMapper.xml | 27 +++++++++++
.../src/main/resources/rebel.xml | 16 +++++++
27 files changed, 439 insertions(+), 5 deletions(-)
create mode 100644 ruoyi-api/ruoyi-api-system/src/main/resources/rebel.xml
create mode 100644 ruoyi-auth/src/main/resources/rebel.xml
create mode 100644 ruoyi-common/ruoyi-common-core/src/main/resources/rebel.xml
create mode 100644 ruoyi-common/ruoyi-common-datascope/src/main/resources/rebel.xml
create mode 100644 ruoyi-common/ruoyi-common-datasource/src/main/resources/rebel.xml
create mode 100644 ruoyi-common/ruoyi-common-log/src/main/resources/rebel.xml
create mode 100644 ruoyi-common/ruoyi-common-redis/src/main/resources/rebel.xml
create mode 100644 ruoyi-common/ruoyi-common-security/src/main/resources/rebel.xml
create mode 100644 ruoyi-common/ruoyi-common-swagger/src/main/resources/rebel.xml
create mode 100644 ruoyi-gateway/src/main/resources/rebel.xml
create mode 100644 ruoyi-modules/ruoyi-file/src/main/resources/rebel.xml
create mode 100644 ruoyi-modules/ruoyi-gen/src/main/resources/rebel.xml
create mode 100644 ruoyi-modules/ruoyi-job/src/main/resources/rebel.xml
create mode 100644 ruoyi-modules/ruoyi-system/src/main/resources/rebel.xml
create mode 100644 ruoyi-visual/ruoyi-monitor/src/main/resources/rebel.xml
create mode 100644 xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/factory/TianXingFeignFactory.java
create mode 100644 xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/CopyWritingService.java
create mode 100644 xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/impl/CopyWritingServiceImpl.java
create mode 100644 xjs-business/xjs-business-english/src/main/resources/mapper/english/CopyWritingMapper.xml
create mode 100644 xjs-business/xjs-business-english/src/main/resources/rebel.xml
diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/api/RemoteCopyWritingFeign.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/api/RemoteCopyWritingFeign.java
index b8801b71..2530327b 100644
--- a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/api/RemoteCopyWritingFeign.java
+++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/english/api/RemoteCopyWritingFeign.java
@@ -12,7 +12,10 @@ import org.springframework.web.bind.annotation.GetMapping;
* @desc RPC远程调用文案接口服务
* @create 2021-12-27
*/
-@FeignClient(contextId = "remoteCopyWritingFeign", value = ServiceNameConstants.BUSINESS_ENGLISH_SERVICE, fallbackFactory = RemoteCopyWritingFactory.class)
+@FeignClient(contextId = "remoteCopyWritingFeign",
+ value = ServiceNameConstants.BUSINESS_ENGLISH_SERVICE,
+ fallbackFactory = RemoteCopyWritingFactory.class)
+@FunctionalInterface
public interface RemoteCopyWritingFeign {
/**
* 获取文案
diff --git a/ruoyi-api/ruoyi-api-system/src/main/resources/rebel.xml b/ruoyi-api/ruoyi-api-system/src/main/resources/rebel.xml
new file mode 100644
index 00000000..b40a7b1c
--- /dev/null
+++ b/ruoyi-api/ruoyi-api-system/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-api-system
+
+
+
+
+
+
+
diff --git a/ruoyi-auth/src/main/resources/rebel.xml b/ruoyi-auth/src/main/resources/rebel.xml
new file mode 100644
index 00000000..299d176d
--- /dev/null
+++ b/ruoyi-auth/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-auth
+
+
+
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-core/src/main/resources/rebel.xml b/ruoyi-common/ruoyi-common-core/src/main/resources/rebel.xml
new file mode 100644
index 00000000..c2de2081
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-core/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-common-core
+
+
+
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-datascope/src/main/resources/rebel.xml b/ruoyi-common/ruoyi-common-datascope/src/main/resources/rebel.xml
new file mode 100644
index 00000000..39f2d6da
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-datascope/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-common-datascope
+
+
+
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-datasource/src/main/resources/rebel.xml b/ruoyi-common/ruoyi-common-datasource/src/main/resources/rebel.xml
new file mode 100644
index 00000000..af4c7aa8
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-datasource/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-common-datasource
+
+
+
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-log/src/main/resources/rebel.xml b/ruoyi-common/ruoyi-common-log/src/main/resources/rebel.xml
new file mode 100644
index 00000000..bbff4d29
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-log/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-common-log
+
+
+
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-redis/src/main/resources/rebel.xml b/ruoyi-common/ruoyi-common-redis/src/main/resources/rebel.xml
new file mode 100644
index 00000000..da34870c
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-redis/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-common-redis
+
+
+
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-security/src/main/resources/rebel.xml b/ruoyi-common/ruoyi-common-security/src/main/resources/rebel.xml
new file mode 100644
index 00000000..9c320a5e
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-security/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-common-security
+
+
+
+
+
+
+
diff --git a/ruoyi-common/ruoyi-common-swagger/src/main/resources/rebel.xml b/ruoyi-common/ruoyi-common-swagger/src/main/resources/rebel.xml
new file mode 100644
index 00000000..4ccb666e
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-swagger/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-common-swagger
+
+
+
+
+
+
+
diff --git a/ruoyi-gateway/src/main/resources/rebel.xml b/ruoyi-gateway/src/main/resources/rebel.xml
new file mode 100644
index 00000000..4326bc90
--- /dev/null
+++ b/ruoyi-gateway/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-gateway
+
+
+
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-file/src/main/resources/rebel.xml b/ruoyi-modules/ruoyi-file/src/main/resources/rebel.xml
new file mode 100644
index 00000000..d3b542af
--- /dev/null
+++ b/ruoyi-modules/ruoyi-file/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-modules-file
+
+
+
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/rebel.xml b/ruoyi-modules/ruoyi-gen/src/main/resources/rebel.xml
new file mode 100644
index 00000000..c1eb8ad3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-gen/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-modules-gen
+
+
+
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-job/src/main/resources/rebel.xml b/ruoyi-modules/ruoyi-job/src/main/resources/rebel.xml
new file mode 100644
index 00000000..685658e3
--- /dev/null
+++ b/ruoyi-modules/ruoyi-job/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-modules-job
+
+
+
+
+
+
+
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/rebel.xml b/ruoyi-modules/ruoyi-system/src/main/resources/rebel.xml
new file mode 100644
index 00000000..92292d97
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-modules-system
+
+
+
+
+
+
+
diff --git a/ruoyi-visual/ruoyi-monitor/src/main/resources/rebel.xml b/ruoyi-visual/ruoyi-monitor/src/main/resources/rebel.xml
new file mode 100644
index 00000000..b5d26285
--- /dev/null
+++ b/ruoyi-visual/ruoyi-monitor/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ ruoyi-visual-monitor
+
+
+
+
+
+
+
diff --git a/xjs-business/pom.xml b/xjs-business/pom.xml
index 71c08350..a592ab4a 100644
--- a/xjs-business/pom.xml
+++ b/xjs-business/pom.xml
@@ -13,6 +13,7 @@
xjs-business
pom
业务模块
+ 业务模块
xjs-business-english
diff --git a/xjs-business/xjs-business-english/pom.xml b/xjs-business/xjs-business-english/pom.xml
index 0e50a38c..4f10cf7d 100644
--- a/xjs-business/xjs-business-english/pom.xml
+++ b/xjs-business/xjs-business-english/pom.xml
@@ -8,6 +8,7 @@
3.3.0
4.0.0
+ 业务模块-英语模块
xjs-business-english
diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/common/aop/ApiLogAspect.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/common/aop/ApiLogAspect.java
index c444135a..6d6807ed 100644
--- a/xjs-business/xjs-business-english/src/main/java/com/xjs/common/aop/ApiLogAspect.java
+++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/common/aop/ApiLogAspect.java
@@ -16,7 +16,7 @@ import java.util.Optional;
/**
* @author xiejs
- * @desc
+ * @desc api日志切面类
* @create 2021-12-26
*/
@Component
diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/TianXingFeignClient.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/TianXingFeignClient.java
index 37ec44b4..3aab4c25 100644
--- a/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/TianXingFeignClient.java
+++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/TianXingFeignClient.java
@@ -2,6 +2,7 @@ package com.xjs.common.client;
import com.alibaba.fastjson.JSONObject;
import com.xjs.common.aop.ApiLog;
+import com.xjs.common.client.factory.TianXingFeignFactory;
import com.xjs.copywriting.domain.RequestBody;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
@@ -12,7 +13,7 @@ import org.springframework.web.bind.annotation.GetMapping;
* @desc 天行数据朋友圈文案接口api调用
* @create 2021-12-27
*/
-@FeignClient(name = "tianXing",url = "http://api.tianapi.com/pyqwenan/index")
+@FeignClient(name = "tianXing",url = "http://api.tianapi.com/pyqwenan/index",fallbackFactory = TianXingFeignFactory.class)
public interface TianXingFeignClient {
@GetMapping
diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/factory/TianXingFeignFactory.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/factory/TianXingFeignFactory.java
new file mode 100644
index 00000000..73d1ec4c
--- /dev/null
+++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/common/client/factory/TianXingFeignFactory.java
@@ -0,0 +1,48 @@
+package com.xjs.common.client.factory;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.xjs.common.client.TianXingFeignClient;
+import com.xjs.copywriting.domain.CopyWriting;
+import com.xjs.copywriting.domain.RequestBody;
+import com.xjs.copywriting.service.CopyWritingService;
+import lombok.extern.log4j.Log4j2;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author xiejs
+ * @desc 天行数据平台接口降级处理
+ * @create 2021-12-28
+ */
+@Log4j2
+@Component
+public class TianXingFeignFactory implements FallbackFactory {
+ @Autowired
+ private CopyWritingService copyWritingService;
+
+ @Override
+ public TianXingFeignClient create(Throwable cause) {
+ log.error("英语模块文案服务调用失败:{},执行降级处理", cause.getMessage());
+ //没用拉姆达考虑后面该feign接口还会调用其他api接口
+ return new TianXingFeignClient() {
+ @Override
+ public JSONObject copyWritingApi(RequestBody requestBody) {
+ CopyWriting copyWriting = copyWritingService.getOneToRandom();
+ String jsonString = JSON.toJSONString(copyWriting);
+ return JSONObject.parseObject(jsonString);
+ }
+ };
+ }
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/CopyWritingController.java b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/CopyWritingController.java
index 1c537658..83451047 100644
--- a/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/CopyWritingController.java
+++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/CopyWritingController.java
@@ -9,6 +9,7 @@ import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.xjs.copywriting.domain.CopyWriting;
import com.xjs.copywriting.domain.RequestBody;
import com.xjs.copywriting.factory.CopyWritingFactory;
+import com.xjs.copywriting.service.CopyWritingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -32,6 +33,15 @@ public class CopyWritingController {
@Autowired
private CopyWritingFactory tianXingcopyWritingFactory;
+ @Autowired
+ private CopyWritingService copyWritingService;
+
+ //todo 文案管理前端页面,
+ // 第三方api服务降级,
+ // 分析错误状态码(天行数据),
+ // 天行数据整合一个菜单,
+ // 实现其他天行数据接口,
+ // 实现其他朋友圈文案api,
@GetMapping
@ApiOperation("文案接口")
@@ -41,7 +51,7 @@ public class CopyWritingController {
public AjaxResult copyWriting(@Validated RequestBody requestBody) {
requestBody = Optional.ofNullable(requestBody).orElseGet(RequestBody::new);
CopyWritingFactory copyWritingFactory = this.randomApi();
- CopyWriting copyWriting = copyWritingFactory.productCopyWriting(requestBody);
+ CopyWriting copyWriting = this.handlerException(copyWritingFactory, requestBody);
return AjaxResult.success(copyWriting);
}
@@ -50,7 +60,8 @@ public class CopyWritingController {
@ApiOperation("供定时任务服务RPC远程调用")
public R copyWriting() {
CopyWritingFactory copyWritingFactory = this.randomApi();
- return R.ok(copyWritingFactory.productCopyWriting(new RequestBody()));
+ CopyWriting copyWriting = this.handlerException(copyWritingFactory, new RequestBody());
+ return R.ok(copyWriting);
}
@@ -68,6 +79,26 @@ public class CopyWritingController {
}
+ /**
+ * 捕获apiException异常,直接从数据库查询值然后返回
+ * @param copyWritingFactory 工厂
+ * @param requestBody 请求参数
+ * @return 返回对象
+ */
+ private CopyWriting handlerException(CopyWritingFactory copyWritingFactory, RequestBody requestBody) {
+ CopyWriting copyWriting = null;
+ try {
+ copyWriting = copyWritingFactory.productCopyWriting(requestBody);
+ return copyWriting;
+ } catch (Exception e) {
+ e.printStackTrace();
+ copyWriting = copyWritingService.getOneToRandom();
+ return copyWriting;
+ }
+ }
+
+
+
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 433525df..0ca14e40 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
@@ -9,4 +9,16 @@ import com.xjs.copywriting.domain.CopyWriting;
* @create 2021-12-27
*/
public interface CopyWritingMapper extends BaseMapper {
+ /**
+ * 获取数据库最新一条数据(根据时间分组)
+ * @return CopyWriting
+ */
+ CopyWriting getOneToNew();
+
+ /**
+ * 从数据库随机获取一条数据
+ * @return CopyWriting
+ */
+ CopyWriting getOneToRandom();
+
}
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
new file mode 100644
index 00000000..9bf62be6
--- /dev/null
+++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/CopyWritingService.java
@@ -0,0 +1,24 @@
+package com.xjs.copywriting.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.xjs.copywriting.domain.CopyWriting;
+
+/**
+ * @author xiejs
+ * @desc 文案服务接口
+ * @create 2021-12-28
+ */
+public interface CopyWritingService extends IService {
+
+ /**
+ * 获取数据库最新一条数据(根据时间分组)
+ * @return CopyWriting
+ */
+ CopyWriting getOneToNew();
+
+ /**
+ * 从数据库随机获取一条数据
+ * @return CopyWriting
+ */
+ CopyWriting getOneToRandom();
+}
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
new file mode 100644
index 00000000..cd167c11
--- /dev/null
+++ b/xjs-business/xjs-business-english/src/main/java/com/xjs/copywriting/service/impl/CopyWritingServiceImpl.java
@@ -0,0 +1,30 @@
+package com.xjs.copywriting.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.xjs.copywriting.domain.CopyWriting;
+import com.xjs.copywriting.mapper.CopyWritingMapper;
+import com.xjs.copywriting.service.CopyWritingService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * @author xiejs
+ * @desc
+ * @create 2021-12-28
+ */
+@Service
+public class CopyWritingServiceImpl extends ServiceImpl implements CopyWritingService{
+ @Resource
+ private CopyWritingMapper copyWritingMapper;
+
+ @Override
+ public CopyWriting getOneToNew() {
+ return copyWritingMapper.getOneToNew();
+ }
+
+ @Override
+ public CopyWriting getOneToRandom() {
+ return copyWritingMapper.getOneToRandom();
+ }
+}
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
new file mode 100644
index 00000000..33ea1542
--- /dev/null
+++ b/xjs-business/xjs-business-english/src/main/resources/mapper/english/CopyWritingMapper.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/xjs-business/xjs-business-english/src/main/resources/rebel.xml b/xjs-business/xjs-business-english/src/main/resources/rebel.xml
new file mode 100644
index 00000000..2ac5b89c
--- /dev/null
+++ b/xjs-business/xjs-business-english/src/main/resources/rebel.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+ xjs-business-english
+
+
+
+
+
+
+