|
|
@@ -13,6 +13,7 @@ import com.alibaba.excel.event.AnalysisEventListener;
|
|
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Assert;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.cyksj.common.EnvCommonService;
|
|
|
import com.cyksj.common.annotation.Log;
|
|
|
import com.cyksj.common.annotation.NoSubmit;
|
|
|
import com.cyksj.common.constant.Constant;
|
|
|
@@ -44,6 +45,8 @@ import com.cyksj.service.mange.CmsGroupService;
|
|
|
import com.cyksj.service.mange.cms.CmsUserManager;
|
|
|
import com.cyksj.service.template.TemplateCommonService;
|
|
|
import com.cyksj.web.util.EasyExcelUtils;
|
|
|
+import com.cyksj.xxljob.XxlJobInfo;
|
|
|
+import com.cyksj.xxljob.XxlJobUtil;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
import com.ejlchina.searcher.SearchResult;
|
|
|
import com.ejlchina.searcher.param.Operator;
|
|
|
@@ -126,6 +129,8 @@ public class CmsAccountController {
|
|
|
|
|
|
private final DelAccountRecordMapper delAccountRecordMapper;
|
|
|
|
|
|
+ private final EnvCommonService envCommonService;
|
|
|
+
|
|
|
@GetMapping("/get")
|
|
|
@SaCheckPermission("account:view")
|
|
|
public Result<SearchResult<AccountView>> get(String title, Long userId, String showId, String nickName, String submitAccount, String expiryStartTime, String expiryEndTime, Boolean expiredAll, Boolean existsExpired, Boolean existsExpiredToday, Integer noChangeMonths, Boolean isMjMirror, String orderNo, Boolean isEmpty) {
|
|
|
@@ -1507,4 +1512,69 @@ public class CmsAccountController {
|
|
|
EasyExcelUtils.createExcelStreamMutilByEasyExcel(response, ExcelBannerNfAccountData.class, list, title, title, ExcelTypeEnum.XLSX, null);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 脆球奈飞账号邮件查询
|
|
|
+ */
|
|
|
+ @GetMapping("/get/cuiQiu/email/msg")
|
|
|
+ public Result<SearchResult<CuiQiuEmailInfoRecordView>> getCuiQiuEmailMsg(@RequestParam(name = "subjects", required = false) List<String> subjects) {
|
|
|
+ MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
+ if (CollUtil.isNotEmpty(subjects)) {
|
|
|
+ String cd = " (";
|
|
|
+ for (String subject : subjects) {
|
|
|
+ if (cd.length() > 2) {
|
|
|
+ cd += " or ";
|
|
|
+ }
|
|
|
+ cd += String.format(" cr.subject like '%%%s%%'", subject);
|
|
|
+ }
|
|
|
+ cd += " )";
|
|
|
+ builder.put("sl", cd);
|
|
|
+ }
|
|
|
+ SearchResult<CuiQiuEmailInfoRecordView> search = beanSearcher.search(CuiQiuEmailInfoRecordView.class, builder.orderBy(CuiQiuEmailInfoRecordView::getSendTime).desc().build());
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 奈飞脆球最新一条数据
|
|
|
+ */
|
|
|
+ @GetMapping("/get/cuiQiu/email/last")
|
|
|
+ public Result<CuiQiuEmailInfoRecordView> getCuiQiuEmailLast() {
|
|
|
+ CuiQiuEmailInfoRecordView search = beanSearcher.searchFirst(CuiQiuEmailInfoRecordView.class, MapUtils.flatBuilder(request.getParameterMap()).orderBy(CuiQiuEmailInfoRecordView::getSendTime).desc().build());
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出脆球奈飞账号邮件
|
|
|
+ */
|
|
|
+ @GetMapping("/export/cuiQiu/email/msg")
|
|
|
+ public void export(@RequestParam(name = "subjects", required = false) List<String> subjects, HttpServletResponse response) {
|
|
|
+ MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
+ if (CollUtil.isNotEmpty(subjects)) {
|
|
|
+ String cd = " (";
|
|
|
+ for (String subject : subjects) {
|
|
|
+ if (cd.length() > 2) {
|
|
|
+ cd += " or ";
|
|
|
+ }
|
|
|
+ cd += String.format(" cr.subject like '%%%s%%'", subject);
|
|
|
+ }
|
|
|
+ cd += " )";
|
|
|
+ builder.put("sl", cd);
|
|
|
+ }
|
|
|
+ List<ExcelCuiQiuEmailInfoRecordData> list = beanSearcher.searchAll(ExcelCuiQiuEmailInfoRecordData.class, builder.orderBy(ExcelCuiQiuEmailInfoRecordData::getSendTime).desc().build());
|
|
|
+ EasyExcelUtils.createExcelStreamMutilByEasyExcel(response, ExcelCuiQiuEmailInfoRecordData.class, list, "脆球奈飞账号邮件", "脆球奈飞账号邮件", ExcelTypeEnum.XLSX, null);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 同步奈飞脆球最新邮件数据
|
|
|
+ */
|
|
|
+ @PostMapping("/sync/cuiQiu/nf/last")
|
|
|
+ public Result<String> syncNfCuiQiuLastData() throws Exception {
|
|
|
+ if (envCommonService.isPrdEnv()) {
|
|
|
+ if (!redisService.setNx("nf_cq_email_today_sync", "today", 60 * 5L)) {
|
|
|
+ throw BusinessRuntimeException.getInstance("已开始同步当天最新数据,一般需要5-10分钟,请勿重复点击。");
|
|
|
+ }
|
|
|
+ //立即执行客服值班定时任务
|
|
|
+ XxlJobUtil.executeMarkDynamicRuleTagJob(XxlJobInfo.getExecuteTaskInstance(Constant.NF_CUI_QIU_EMAIL_SYNC_JOB_ID, "today").toString());
|
|
|
+ }
|
|
|
+ return GatewayResponse.SUCCESS.newBuilder().toResult();
|
|
|
+ }
|
|
|
}
|