From 1a6cbf6a291c952717f9b4d2ac58f456b5bd2f8e Mon Sep 17 00:00:00 2001 From: qk <1005180704@qq。com> Date: Tue, 7 Jun 2022 17:22:27 +0800 Subject: [PATCH 1/7] =?UTF-8?q?insert:=E6=B7=BB=E5=8A=A0=E6=A0=87=E5=87=86?= =?UTF-8?q?=E9=97=AE=E7=AD=94=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/adc/da/common/ConvertMqEO.java | 9 + .../controller/AskQuestionsController.java | 211 +++++++++++++++++ .../controller/AskUserController.java | 37 +++ .../controller/ReplyController.java | 61 +++++ .../controller/SubscriptionController.java | 44 ++++ .../slrs/StandardQA/dao/AskQuestionsDao.java | 40 ++++ .../da/slrs/StandardQA/dao/AskUserDao.java | 15 ++ .../adc/da/slrs/StandardQA/dao/ReplyDao.java | 15 ++ .../slrs/StandardQA/dao/SubscriptionDao.java | 15 ++ .../slrs/StandardQA/entity/AskQuestions.java | 104 +++++++++ .../da/slrs/StandardQA/entity/AskUser.java | 32 +++ .../adc/da/slrs/StandardQA/entity/Reply.java | 71 ++++++ .../slrs/StandardQA/entity/Subscription.java | 31 +++ .../service/AskQuestionsService.java | 31 +++ .../StandardQA/service/AskUserService.java | 13 ++ .../service/Impl/AskQuestionsServiceImpl.java | 79 +++++++ .../service/Impl/AskUserServiceImpl.java | 22 ++ .../service/Impl/ReplyServiceImpl.java | 19 ++ .../service/Impl/SubscriptionServiceImpl.java | 20 ++ .../slrs/StandardQA/service/ReplyService.java | 13 ++ .../service/SubscriptionService.java | 13 ++ .../askQuestions/AskQuestionsMapper.xml | 219 ++++++++++++++++++ 22 files changed, 1114 insertions(+) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskUserController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SubscriptionController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/AskQuestionsDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/AskUserDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/ReplyDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SubscriptionDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/AskQuestions.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/AskUser.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Subscription.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/AskQuestionsService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/AskUserService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/AskQuestionsServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/AskUserServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/ReplyServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SubscriptionServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/ReplyService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SubscriptionService.java create mode 100644 adc-da-slrs/src/main/resources/mybatis/mapper/askQuestions/AskQuestionsMapper.xml diff --git a/adc-da-slrs/src/main/java/com/adc/da/common/ConvertMqEO.java b/adc-da-slrs/src/main/java/com/adc/da/common/ConvertMqEO.java index d502d72f..65db4f60 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/common/ConvertMqEO.java +++ b/adc-da-slrs/src/main/java/com/adc/da/common/ConvertMqEO.java @@ -26,6 +26,7 @@ public class ConvertMqEO extends BaseEntity { private String mqCode; private String id; private String addOrUp; + private String name; //向文件表添加信息 private String lawsId; @@ -220,4 +221,12 @@ public class ConvertMqEO extends BaseEntity { public void setLawsFileClassify(String lawsFileClassify) { this.lawsFileClassify = lawsFileClassify; } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java new file mode 100644 index 00000000..6bef0f92 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskQuestionsController.java @@ -0,0 +1,211 @@ +package com.adc.da.slrs.StandardQA.controller; + +import com.adc.da.base.web.BaseController; +import com.adc.da.slrs.NewsFeed.entity.NewsFeed; +import com.adc.da.slrs.StandardQA.dao.AskQuestionsDao; +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.AskUser; +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.adc.da.slrs.StandardQA.entity.Subscription; +import com.adc.da.slrs.StandardQA.service.Impl.AskQuestionsServiceImpl; +import com.adc.da.slrs.StandardQA.service.Impl.AskUserServiceImpl; +import com.adc.da.util.UUIDUtils; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.Api; +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.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 9:18 + * @Version 1.0 + */ +@RestController +@RequestMapping("/${restPath}/lawss/AskQuestions") +@Api(description = "|AskQuestions|") +public class AskQuestionsController extends BaseController { + + @Autowired + private AskQuestionsServiceImpl askQuestionsService; + @Autowired + private AskQuestionsDao askQuestionsDao; + @Autowired + private AskUserServiceImpl askUserService; + + /** + * 查询问题列表 + * @return + */ + @GetMapping("/getAskQuestions") + public ResponseMessage getAskQuestions(){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.orderByDesc("QUESTION_TIME"); + List askQuestionsList=askQuestionsService.list(queryWrapper); + return Result.success(askQuestionsList); + } + + /** + * 查看我的问题详情 + * @param askQuestions + * @return + */ + @GetMapping("/getAskQuestionsDetails") + public ResponseMessage getAskQuestionsDetails(AskQuestions askQuestions){ + List askQuestionsList = askQuestionsService.getAskQuestions(askQuestions); + return Result.success(askQuestionsList); + } + + /** + * 查看我回答的问题 + * @param askQuestions + * @return + */ + @GetMapping("/getReplyDetails") + public ResponseMessage getReplyDetails(AskQuestions askQuestions){ + List askQuestionsList = askQuestionsService.getReplyDetails(askQuestions); + return Result.success(askQuestionsList); + } + + /** + * 根据标准查询问题 + * @param askQuestions + * @return + */ + @GetMapping("/getReplyDetailsByStandId") + public ResponseMessage getReplyDetailsByStandId(AskQuestions askQuestions){ + List askQuestionsList = askQuestionsService.getReplyDetailsByStandId(askQuestions); + return Result.success(askQuestionsList); + } + + /** + * 根据标准编号查询我的回答 + * @param standardId + * @return + */ + @GetMapping("/getAskQuestionsByStandardId") + public ResponseMessage getAskQuestionsByStandardId(String standardId){ + List askQuestionsList = askQuestionsService.getAskQuestionsByStandardId(standardId); + return Result.success(askQuestionsList); + } + + /** + * 根据问题ID查询回答*** + * @param id + * @return + */ + @GetMapping("/getAskQuestionsByakId") + public ResponseMessage getAskQuestionsByakId(String id){ + List askQuestionsList = askQuestionsService.getAskQuestionsByakId(id); + return Result.success(askQuestionsList); + } + + /** + * 添加问题 + * @param askQuestions + * @return + */ + @PostMapping("/insertAskQuestions") + public ResponseMessage insertAskQuestions(@RequestBody AskQuestions askQuestions){ + askQuestions.setId(UUIDUtils.randomUUID20()); + askQuestions.setAppendixId(askQuestions.getFileList().get(0).getAttId()); + askQuestions.setAppendixName(askQuestions.getFileList().get(0).getName()); + askQuestions.setQuestionTime(new Date()); + List uId = askQuestionsDao.getUId(); + List askUserList = new ArrayList<>(); + for (String id:uId) { + AskUser askUser = new AskUser(); + askUser.setAsdId(askQuestions.getId()); + askUser.setUsid(id); + askUserList.add(askUser); + } + //添加问题分配人员 + askUserService.saveBatch(askUserList); + if(askQuestionsService.save(askQuestions)){ + return Result.success("200","添加成功"); + }else { + return Result.error("-1","添加失败"); + } + } + + + /** + * 查询订阅问题 + * @param askQuestions + * @return + */ + @GetMapping("/getAskQuestionsBySubscription") + public ResponseMessage getAskQuestionsBySubscription(AskQuestions askQuestions){ + List askQuestionsList = askQuestionsService.getAskQuestionsBySubscription(askQuestions); + return Result.success(askQuestionsList); + } + + + + /** + * 根据标准id查询订阅 + * @param askQuestions + * @return + */ + @GetMapping("/getSubscriptionByStandId") + public ResponseMessage getSubscriptionByStandId(AskQuestions askQuestions){ + List askQuestionsList = askQuestionsService.getSubscriptionByStandId(askQuestions); + return Result.success(askQuestionsList); + } + + /** + * 相似查询 + * @param problemDescription + * @return + */ + @GetMapping("/resemblance") + public ResponseMessage resemblance(String problemDescription){ + List askQuestions = Arrays.asList(problemDescription.split("")); + List askQuestionsList = askQuestionsService.resemblance(askQuestions); + return Result.success(askQuestionsList); + } + + /** + * 根据分类查询问题 + * @param classification + * @return + */ + @GetMapping("/getAskQuestionsReply") + public ResponseMessage getAskQuestionsReply(String classification){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.select("DISTINCT STANDARD_ID"); + queryWrapper.select("STANDARD_NAME"); + queryWrapper.select("STANDARD_ENCDOING"); + queryWrapper.eq("CLASSIFICATION",classification); + List askQuestionsList = askQuestionsService.list(queryWrapper); + return Result.success(askQuestionsList); + } + + /** + * 问答库的根据标准ID查询问题 + * @param id + * @return + */ + @GetMapping("/getSubscription") + public ResponseMessage getArchiveAskQuestions(String id){ + List askQuestionsList = askQuestionsService.getArchiveAskQuestions(id); + return Result.success(askQuestionsList); + } + + @GetMapping("/retrieve") + public ResponseMessage retrieve(AskQuestions askQuestions){ + List askQuestionsList = askQuestionsService.retrieve(askQuestions); + return Result.success(askQuestionsList); + } + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskUserController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskUserController.java new file mode 100644 index 00000000..05452cf4 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/AskUserController.java @@ -0,0 +1,37 @@ +package com.adc.da.slrs.StandardQA.controller; + +import com.adc.da.base.web.BaseController; +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.AskUser; +import com.adc.da.slrs.StandardQA.service.Impl.AskQuestionsServiceImpl; +import com.adc.da.slrs.StandardQA.service.Impl.AskUserServiceImpl; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import io.swagger.annotations.Api; +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.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: qk + * @Date: 2022/6/2 0002 8:44 + * @Version 1.0 + */ +@RestController +@RequestMapping("/${restPath}/lawss/AskUser") +@Api(description = "|AskUser|") +public class AskUserController extends BaseController { + @Autowired + private AskUserServiceImpl askUserService; + @PostMapping("/insertAskUser") + public ResponseMessage insertAskUser(@RequestBody AskUser askUser){ + if(askUserService.save(askUser)){ + return Result.success("200","邀请成功"); + }else { + return Result.error("-1","添加失败"); + } + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java new file mode 100644 index 00000000..890b2373 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/ReplyController.java @@ -0,0 +1,61 @@ +package com.adc.da.slrs.StandardQA.controller; + +import com.adc.da.base.web.BaseController; +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.adc.da.slrs.StandardQA.service.Impl.ReplyServiceImpl; +import com.adc.da.util.UUIDUtils; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import io.swagger.annotations.Api; +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.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 10:55 + * @Version 1.0 + */ +@RestController +@RequestMapping("/${restPath}/lawss/Reply") +@Api(description = "| Reply|") +public class ReplyController extends BaseController { + + @Autowired + private ReplyServiceImpl replyService; + + @PostMapping("/insertReply") + public ResponseMessage insertReply(@RequestBody Reply reply){ + reply.setAppendixId(reply.getFileList().get(0).getAttId()); + reply.setAppendixName(reply.getFileList().get(0).getName()); + reply.setReplyTime(new Date()); + reply.setId(UUIDUtils.randomUUID20()); + if(replyService.save(reply)){ + return Result.success("200","添加成功"); + }else { + return Result.error("200","添加失败"); + } + } + @PostMapping("/updateReply") + public ResponseMessage updateReply(String id){ + List list = Arrays.asList(id.split(",")); + for (String s: list) { + UpdateWrapper updateWrapper = new UpdateWrapper(); + updateWrapper.set("STATE","yes"); + updateWrapper.eq("ID",s); + replyService.update(updateWrapper); + } + return Result.success("200","归档成功"); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SubscriptionController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SubscriptionController.java new file mode 100644 index 00000000..20582c59 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/controller/SubscriptionController.java @@ -0,0 +1,44 @@ +package com.adc.da.slrs.StandardQA.controller; + + +import com.adc.da.base.web.BaseController; +import com.adc.da.slrs.StandardQA.entity.Subscription; +import com.adc.da.slrs.StandardQA.service.Impl.SubscriptionServiceImpl; +import com.adc.da.util.http.ResponseMessage; +import com.adc.da.util.http.Result; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +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; + +/** + * @Author: qk + * @Date: 2022/6/7 0007 11:18 + * @Version 1.0 + */ +@RestController +@RequestMapping("/${restPath}/lawss/Subscription") +@Api(description = "|Subscription|") +public class SubscriptionController extends BaseController { + @Autowired + private SubscriptionServiceImpl subscriptionService; + + @PostMapping("/insertSubscription") + public ResponseMessage updateReply(@RequestBody Subscription subscription){ + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq("ASK_ID",subscription.getAskId()); + queryWrapper.eq("USID",subscription.getUsId()); + int number = subscriptionService.count(queryWrapper); + if(number>0){ + return Result.success("200","此问题已订阅"); + } + if(subscriptionService.save(subscription)){ + return Result.success("200","订阅成功"); + }else { + return Result.success("-1","订阅失败"); + } + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/AskQuestionsDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/AskQuestionsDao.java new file mode 100644 index 00000000..d0c0d413 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/AskQuestionsDao.java @@ -0,0 +1,40 @@ +package com.adc.da.slrs.StandardQA.dao; + +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 9:26 + * @Version 1.0 + */ +@Repository +public interface AskQuestionsDao extends BaseMapper { + + List getAskQuestions (@Param("askQuestions") AskQuestions askQuestions); + + List getReplyDetails (@Param("askQuestions") AskQuestions askQuestions); + + List getReplyDetailsByStandId (@Param("askQuestions") AskQuestions askQuestions); + + List getAskQuestionsBySubscription (@Param("askQuestions") AskQuestions askQuestions); + + List retrieve (@Param("askQuestions") AskQuestions askQuestions); + + List getSubscriptionByStandId (@Param("askQuestions") AskQuestions askQuestions); + + List resemblance (@Param("chars") List askQuestions); + + List getAskQuestionsByStandardId (String standardId); + + List getArchiveAskQuestions (String id); + + List getAskQuestionsByakId (String id); + + List getUId(); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/AskUserDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/AskUserDao.java new file mode 100644 index 00000000..69c6040a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/AskUserDao.java @@ -0,0 +1,15 @@ +package com.adc.da.slrs.StandardQA.dao; + +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.AskUser; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + * @Author: qk + * @Date: 2022/6/2 0002 8:47 + * @Version 1.0 + */ +@Repository +public interface AskUserDao extends BaseMapper { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/ReplyDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/ReplyDao.java new file mode 100644 index 00000000..1456168d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/ReplyDao.java @@ -0,0 +1,15 @@ +package com.adc.da.slrs.StandardQA.dao; + +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 11:02 + * @Version 1.0 + */ +@Repository +public interface ReplyDao extends BaseMapper { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SubscriptionDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SubscriptionDao.java new file mode 100644 index 00000000..4d4cef1d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/dao/SubscriptionDao.java @@ -0,0 +1,15 @@ +package com.adc.da.slrs.StandardQA.dao; + +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.adc.da.slrs.StandardQA.entity.Subscription; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + * @Author: qk + * @Date: 2022/6/7 0007 11:19 + * @Version 1.0 + */ +@Repository +public interface SubscriptionDao extends BaseMapper { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/AskQuestions.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/AskQuestions.java new file mode 100644 index 00000000..84cf8afc --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/AskQuestions.java @@ -0,0 +1,104 @@ +package com.adc.da.slrs.StandardQA.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.adc.da.common.ConvertMqEO; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 9:19 + * @Version 1.0 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="AskQuestions对象", description="") +public class AskQuestions extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "主键") + private String id; + + @TableField("CLASSIFICATION") + @ApiModelProperty(value = "分类") + private String classification; + + @TableField("PROBLEM_DESCRIPTION") + @ApiModelProperty(value = "问题描述") + private String problemDescription; + + @TableField("QUESTIONER") + @ApiModelProperty(value = "提问人") + private String questioner; + + @TableField("QUESTION_TIME") + @ApiModelProperty(value = "提问时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date questionTime; + + @TableField("STANDARD_ENCDOING") + @ApiModelProperty(value = "标准编号") + private String standardEncdoing; + + @TableField("STANDARD_NAME") + @ApiModelProperty(value = "标准名称") + private String standardName; + + @TableField("STANDARD_ID") + @ApiModelProperty(value = "标准ID") + private String standardId; + + @TableField("APPENDIX_ID") + @ApiModelProperty(value = "标准ID") + private String appendixId; + + @TableField("APPENDIX_NAME") + @ApiModelProperty(value = "标准ID") + private String appendixName; + + /** + * 回答人 + */ + @TableField(exist = false) + private String answerer; + /** + * 回答 + */ + @TableField(exist = false) + private String reply; + /** + * 回答时间 + */ + @TableField(exist = false) + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date replyTime; + + /** + *附件路径 + */ + @TableField(exist = false) + private String appendix; + + @TableField(exist = false) + private List fileList; + + @TableField(exist = false) + private String type; + + @TableField(exist = false) + private String subscription; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/AskUser.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/AskUser.java new file mode 100644 index 00000000..f8289058 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/AskUser.java @@ -0,0 +1,32 @@ +package com.adc.da.slrs.StandardQA.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Author: qk + * @Date: 2022/6/2 0002 8:44 + * @Version 1.0 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="AskUser对象", description="") +public class AskUser extends BaseEntity { + + + @TableField("ASK_ID") + @ApiModelProperty(value = "问题ID") + private String asdId; + + + @TableField("USID") + @ApiModelProperty(value = "用户ID") + private String usid; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java new file mode 100644 index 00000000..ddab429d --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Reply.java @@ -0,0 +1,71 @@ +package com.adc.da.slrs.StandardQA.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.adc.da.common.ConvertMqEO; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; +import java.util.List; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 9:20 + * @Version 1.0 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="Reply对象", description="") +public class Reply extends BaseEntity { + + private static final long serialVersionUID = 1L; + + @TableId + @ApiModelProperty(value = "主键") + private String id; + + @TableField("REPLY") + @ApiModelProperty(value = "回答") + private String reply; + + @TableField("STATE") + @ApiModelProperty(value = "状态(0:显示,1:不显示)") + private String state; + + @TableField("REPLY_TIME") + @ApiModelProperty(value = "回答时间") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + private Date replyTime; + + @TableField("APPENDIX") + @ApiModelProperty(value = "附件") + private String appendix; + + @TableField("ANSWERER") + @ApiModelProperty(value = "回答人") + private String answerer; + + @TableField("ASK_ID") + @ApiModelProperty(value = "问题ID") + private String askId; + + @TableField("APPENDIX_ID") + @ApiModelProperty(value = "附件ID") + private String appendixId; + + @TableField("APPENDIX_NAME") + @ApiModelProperty(value = "附件名称") + private String appendixName; + + @TableField(exist = false) + private List fileList; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Subscription.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Subscription.java new file mode 100644 index 00000000..47c1169e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/entity/Subscription.java @@ -0,0 +1,31 @@ +package com.adc.da.slrs.StandardQA.entity; + +import com.adc.da.base.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Author: qk + * @Date: 2022/6/7 0007 11:16 + * @Version 1.0 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="Subscription对象", description="") +public class Subscription extends BaseEntity { + + + @TableField("ASK_ID") + @ApiModelProperty(value = "问题ID") + private String askId; + + @TableField("USID") + @ApiModelProperty(value = "用户ID") + private String usId; +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/AskQuestionsService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/AskQuestionsService.java new file mode 100644 index 00000000..1506a461 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/AskQuestionsService.java @@ -0,0 +1,31 @@ +package com.adc.da.slrs.StandardQA.service; + +import com.adc.da.slrs.NewsFeed.entity.NewsFeed; +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 9:22 + * @Version 1.0 + */ +public interface AskQuestionsService extends IService { + + List getAskQuestions(AskQuestions askQuestions); + + List getReplyDetails(AskQuestions askQuestions); + List getReplyDetailsByStandId(AskQuestions askQuestions); + List getAskQuestionsBySubscription(AskQuestions askQuestions); + List retrieve(AskQuestions askQuestions); + List getSubscriptionByStandId(AskQuestions askQuestions); + List resemblance(List askQuestions); + + List getAskQuestionsByStandardId(String standardId); + List getArchiveAskQuestions(String id); + List getAskQuestionsByakId(String id); + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/AskUserService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/AskUserService.java new file mode 100644 index 00000000..2a41dac3 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/AskUserService.java @@ -0,0 +1,13 @@ +package com.adc.da.slrs.StandardQA.service; + +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.AskUser; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Author: qk + * @Date: 2022/6/2 0002 8:47 + * @Version 1.0 + */ +public interface AskUserService extends IService { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/AskQuestionsServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/AskQuestionsServiceImpl.java new file mode 100644 index 00000000..6faa3749 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/AskQuestionsServiceImpl.java @@ -0,0 +1,79 @@ +package com.adc.da.slrs.StandardQA.service.Impl; + + +import com.adc.da.slrs.StandardQA.dao.AskQuestionsDao; +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.adc.da.slrs.StandardQA.service.AskQuestionsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 9:23 + * @Version 1.0 + */ +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class AskQuestionsServiceImpl extends ServiceImpl implements AskQuestionsService { + + @Autowired + private AskQuestionsDao askQuestionsDao; + + @Override + public List getAskQuestions(AskQuestions askQuestions) { + return askQuestionsDao.getAskQuestions(askQuestions); + } + + @Override + public List getReplyDetails(AskQuestions askQuestions) { + return askQuestionsDao.getReplyDetails(askQuestions); + } + + @Override + public List getReplyDetailsByStandId(AskQuestions askQuestions) { + return askQuestionsDao.getReplyDetailsByStandId(askQuestions); + } + + @Override + public List getAskQuestionsBySubscription(AskQuestions askQuestions) { + return askQuestionsDao.getAskQuestionsBySubscription(askQuestions); + } + + @Override + public List retrieve(AskQuestions askQuestions) { + return askQuestionsDao.retrieve(askQuestions); + } + + @Override + public List getSubscriptionByStandId(AskQuestions askQuestions) { + return askQuestionsDao.getSubscriptionByStandId(askQuestions); + } + + @Override + public List resemblance(List askQuestions) { + return askQuestionsDao.resemblance(askQuestions); + } + + @Override + public List getAskQuestionsByStandardId(String standardId) { + return askQuestionsDao.getAskQuestionsByStandardId(standardId); + } + + @Override + public List getArchiveAskQuestions(String id) { + return askQuestionsDao.getArchiveAskQuestions(id); + } + + @Override + public List getAskQuestionsByakId(String id) { + return askQuestionsDao.getAskQuestionsByakId(id); + } + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/AskUserServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/AskUserServiceImpl.java new file mode 100644 index 00000000..a79ec413 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/AskUserServiceImpl.java @@ -0,0 +1,22 @@ +package com.adc.da.slrs.StandardQA.service.Impl; + + +import com.adc.da.slrs.StandardQA.dao.AskUserDao; +import com.adc.da.slrs.StandardQA.entity.AskUser; +import com.adc.da.slrs.StandardQA.service.AskUserService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +/** + * @Author: qk + * @Date: 2022/6/2 0002 8:47 + * @Version 1.0 + */ + +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class AskUserServiceImpl extends ServiceImpl implements AskUserService { + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/ReplyServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/ReplyServiceImpl.java new file mode 100644 index 00000000..bda80319 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/ReplyServiceImpl.java @@ -0,0 +1,19 @@ +package com.adc.da.slrs.StandardQA.service.Impl; + +import com.adc.da.slrs.StandardQA.dao.ReplyDao; +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.adc.da.slrs.StandardQA.service.ReplyService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 11:03 + * @Version 1.0 + */ +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class ReplyServiceImpl extends ServiceImpl implements ReplyService { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SubscriptionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SubscriptionServiceImpl.java new file mode 100644 index 00000000..61bf6d64 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/Impl/SubscriptionServiceImpl.java @@ -0,0 +1,20 @@ +package com.adc.da.slrs.StandardQA.service.Impl; + + +import com.adc.da.slrs.StandardQA.dao.SubscriptionDao; +import com.adc.da.slrs.StandardQA.entity.Subscription; +import com.adc.da.slrs.StandardQA.service.SubscriptionService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +/** + * @Author: qk + * @Date: 2022/6/7 0007 11:20 + * @Version 1.0 + */ +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class SubscriptionServiceImpl extends ServiceImpl implements SubscriptionService { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/ReplyService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/ReplyService.java new file mode 100644 index 00000000..9372a377 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/ReplyService.java @@ -0,0 +1,13 @@ +package com.adc.da.slrs.StandardQA.service; + +import com.adc.da.slrs.StandardQA.entity.AskQuestions; +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Author: qk + * @Date: 2022/5/31 0031 11:02 + * @Version 1.0 + */ +public interface ReplyService extends IService { +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SubscriptionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SubscriptionService.java new file mode 100644 index 00000000..ba4359ef --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/StandardQA/service/SubscriptionService.java @@ -0,0 +1,13 @@ +package com.adc.da.slrs.StandardQA.service; + +import com.adc.da.slrs.StandardQA.entity.Reply; +import com.adc.da.slrs.StandardQA.entity.Subscription; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * @Author: qk + * @Date: 2022/6/7 0007 11:20 + * @Version 1.0 + */ +public interface SubscriptionService extends IService { +} diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/askQuestions/AskQuestionsMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/askQuestions/AskQuestionsMapper.xml new file mode 100644 index 00000000..de6fc060 --- /dev/null +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/askQuestions/AskQuestionsMapper.xml @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 2c248b2c236cd4f9df5ce7d7f0bc4bba2a63857b Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Tue, 7 Jun 2022 17:46:27 +0800 Subject: [PATCH 2/7] feat: There is no way the, Es --- .../service/impl/SearchCenterServiceImpl.java | 174 ++++++++++++++---- 1 file changed, 136 insertions(+), 38 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index ffdbc9b2..6154cccd 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -58,6 +58,12 @@ public class SearchCenterServiceImpl implements SearchCenterService { private TransportClient client; + // 函数式接口,获取next数组 + @FunctionalInterface + public interface NextArray { + int[] getNext(String target); + } + @Autowired private DicTypeEODao dicTypeEODao; @@ -1346,22 +1352,27 @@ public class SearchCenterServiceImpl implements SearchCenterService { QueryBuilder multiQueryBuilder1; QueryBuilder queryBuilder1 = QueryBuilders.multiMatchQuery(""); if(StringUtils.isNotBlank(searchInfoEO.getSelectValue())){ - if(searchInfoEO.getSelectValue().length() > 1){ - String str0 = searchInfoEO.getSelectValue().substring(0,1); - String Str1 = searchInfoEO.getSelectValue().substring(1,2); - String reg = ".*[0-9].*"; - Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$"); - if (pattern.matcher(str0).matches() && Str1.matches(reg)) { - String value = searchInfoEO.getSelectValue().replace(str0,str0+" "); - searchInfoEO.setSelectValue(value); - } - } - - - queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), - "title" - ).minimumShouldMatch("100%").field("title",1000f); - boolQueryBuilder.must(queryBuilder1); +// if(searchInfoEO.getSelectValue().length() > 1){ +// String str0 = searchInfoEO.getSelectValue().substring(0,1); +// String Str1 = searchInfoEO.getSelectValue().substring(1,2); +// String reg = ".*[0-9].*"; +// Pattern pattern = Pattern.compile("^[a-zA-Z\\/]+$"); +// if (pattern.matcher(str0).matches() && Str1.matches(reg)) { +// String value = searchInfoEO.getSelectValue().replace(str0,str0+" "); +// searchInfoEO.setSelectValue(value); +// } +// } + boolQueryShould + .should(QueryBuilders.wildcardQuery("sortTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*")).boost(1005f) + .should(QueryBuilders.wildcardQuery("numberTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*")).boost(1004f) + .should(QueryBuilders.wildcardQuery("yearOrder.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*")).boost(1003f) + .should(QueryBuilders.wildcardQuery("nameTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*")).boost(1002f) + .should(QueryBuilders.wildcardQuery("title.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f)); +// queryBuilder1 = QueryBuilders.wildcardQuery("title.keyword","*" + searchInfoEO.getSelectValue() + "*"); +// queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), +// "title" +// ).minimumShouldMatch("100%").field("title",1000f); + boolQueryBuilder.must(boolQueryShould); } @@ -1384,7 +1395,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { //在结果中检索 HighlightBuilder hiBuilder=new HighlightBuilder(); - HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title"); + HighlightBuilder.Field highlightTitle = new HighlightBuilder.Field("title.keyword"); hiBuilder.field(highlightTitle); hiBuilder.preTags(""); hiBuilder.postTags(""); @@ -1409,37 +1420,124 @@ public class SearchCenterServiceImpl implements SearchCenterService { for (SearchHit searchHit : response.getHits().getHits()) { searchHit.getSourceAsMap().put("id", searchHit.getId()); Map sourceAsMap = searchHit.getSourceAsMap(); +// String textContent = sourceAsMap.getOrDefault("textContent","").toString(); + String textStatusColor = ""; - if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){ - String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString(); - if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){ - textStatusColor = "redClass"; - }else if("参考".equals(textStatus)){ - textStatusColor = "yellowClass"; +// if(StringUtils.isNotBlank(textContent) && StringUtils.isNotBlank(searchInfoEO.getSelectValue())){ +// String[] standStr = new String[]{"废止","被代替","作废","参考"}; +// for (String textStatus : standStr) { +// int i = indexOfToKMP(textContent, "文本状态:"+textStatus, 0, getNextValInstance()); +// if(i > 0 && ("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) )){ +// textStatusColor = "redClass"; +// break; +// }else if("参考".equals(textStatus)){ +// textStatusColor = "yellowClass"; +// break; +// } +// } +// +// } + if(StringUtils.isNotBlank(searchInfoEO.getSelectValue())){ + + if(StringUtils.isNotBlank(sourceAsMap.getOrDefault("textStatusFull","").toString())){ + String textStatus = sourceAsMap.getOrDefault("textStatusFull","").toString(); + if("废止".equals(textStatus) || "被代替".equals(textStatus) || "作废".equals(textStatus) ){ + textStatusColor = "redClass"; + }else if("参考".equals(textStatus)){ + textStatusColor = "yellowClass"; + } + } + + //高亮标题覆盖原标题 + String titleStr = sourceAsMap.get("title").toString(); + titleStr = titleStr.replace(searchInfoEO.getSelectValue(),""+searchInfoEO.getSelectValue()+""); + if(StringUtils.isNotBlank(textStatusColor)){ + sourceAsMap.put("title", ""+titleStr+""); + }else { + sourceAsMap.put("title", titleStr); } } //解析高亮字段 - Map highlightFields = searchHit.getHighlightFields(); - HighlightField field= highlightFields.get("title"); - if(field!= null){ - Text[] fragments = field.fragments(); - StringBuilder n_field = new StringBuilder(); - for (Text fragment : fragments) { - n_field.append(fragment); - } - //高亮标题覆盖原标题 - if(StringUtils.isNotBlank(textStatusColor)){ - sourceAsMap.put("title", ""+n_field.toString()+""); - }else { - sourceAsMap.put("title", n_field.toString()); - } - } +// Map highlightFields = searchHit.getHighlightFields(); +// HighlightField field= highlightFields.get("title.keyword"); +// if(field!= null){ +// Text[] fragments = field.fragments(); +// StringBuilder n_field = new StringBuilder(); +// for (Text fragment : fragments) { +// n_field.append(fragment); +// } +// //高亮标题覆盖原标题 +// if(StringUtils.isNotBlank(textStatusColor)){ +// sourceAsMap.put("title", ""+n_field.toString()+""); +// }else { +// sourceAsMap.put("title", n_field.toString()); +// } +// } result.add(sourceAsMap); } searchInfoEO.getPager().setRowCount((int) response.getHits().getTotalHits().value); return result; } + // 改进版的nextVal数组 + public NextArray getNextValInstance() { + return target -> { + // 初始化数组大小 + int[] nextVal = new int[target.length()]; + // 0 位置默认为-1 + nextVal[0] = -1; + // 遍历字符串每一位,计算每个位置上的值 + for (int i = 0, k = -1; i < target.length() - 1; ) { + if (k == -1 || target.charAt(i) == target.charAt(k)) { + i++; + k++; + // 判断当前字符和求的k位置的字符是否相等 + if (target.charAt(i) == target.charAt(k)) { + // 若相等,则继承k位置的值 + nextVal[i] = nextVal[k]; + } else { + // 不等,则还是使用原来next数组的值 + nextVal[i] = k; + } + } else { + k = nextVal[k]; + } + } + return nextVal; + }; + } + + /** + * 采用KMP算法,查找字符串子串的位置 + * + * @param source 源字符串 + * @param target 目标(子)字符串 + * @param pos 源字符串的起始索引 + * @param nextArray 函数式接口,传入获取next数组的方法(因为next数组上面定义了两种获取方式) + * @return 目标字符串在源字符串中第一次出现的索引位置 + */ + public int indexOfToKMP(String source, String target, int pos, NextArray nextArray) { + int i, j; + // 调用接口中的方法,获取next数组 + int[] next = nextArray.getNext(target); + // 初始化遍历 + i = pos; + j = 0; + // 判断i和j的索引都不能大于等于字符串长度,否则说明比较完成 + while (i < source.length() && j < target.length()) { + // 如果j==-1,说明需要从头开始比较;或者由公共元素相等,继续比较 + if (j == -1 || source.charAt(i) == target.charAt(j)) { + i++; + j++; + } else { + // 需要按照数组回溯j + j = next[j]; + } + } + // 判断子字符的索引是否大于等于子字符串,如果为true说明查找成功,返回源字符串当前位置-子字符串长度 + return j >= target.length() ? i - target.length() : -1; + } + @Override public List> searchSarBykeyAndHighLightNumber(SeniorSearchInfoEO searchInfoEO) throws Exception { String real = searchInfoEO.getSelectValue(); From 5911efd8d62d241530f9b9f943ea8299f3cdad32 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 8 Jun 2022 10:09:57 +0800 Subject: [PATCH 3/7] feat: There is no way the, Es --- .../search/service/impl/SearchCenterServiceImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index 6154cccd..ac066a0d 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -32,6 +32,7 @@ import org.elasticsearch.search.aggregations.bucket.terms.StringTerms; import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; +import org.elasticsearch.search.sort.ScoreSortBuilder; import org.elasticsearch.search.sort.SortOrder; import org.json.JSONTokener; import org.slf4j.LoggerFactory; @@ -1363,10 +1364,10 @@ public class SearchCenterServiceImpl implements SearchCenterService { // } // } boolQueryShould - .should(QueryBuilders.wildcardQuery("sortTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*")).boost(1005f) - .should(QueryBuilders.wildcardQuery("numberTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*")).boost(1004f) - .should(QueryBuilders.wildcardQuery("yearOrder.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*")).boost(1003f) - .should(QueryBuilders.wildcardQuery("nameTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*")).boost(1002f) + .should(QueryBuilders.wildcardQuery("sortTitle.keyword", searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1005f)) + .should(QueryBuilders.wildcardQuery("numberTitle.keyword", searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1004f)) + .should(QueryBuilders.wildcardQuery("yearOrder.keyword", searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1003f)) + .should(QueryBuilders.wildcardQuery("nameTitle.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1002f)) .should(QueryBuilders.wildcardQuery("title.keyword", "*" + searchInfoEO.getSelectValue().toUpperCase() + "*").boost(1000f)); // queryBuilder1 = QueryBuilders.wildcardQuery("title.keyword","*" + searchInfoEO.getSelectValue() + "*"); // queryBuilder1 = QueryBuilders.multiMatchQuery(searchInfoEO.getSelectValue(), @@ -1407,6 +1408,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { searchRequestBuilder = client.prepareSearch("fulltextserch") .setSearchType(SearchType.DFS_QUERY_THEN_FETCH) .highlighter(hiBuilder) +// .addSort(new ScoreSortBuilder().order(SortOrder.DESC)) .addSort("standTypeOrder",SortOrder.ASC) .addSort("standSortOrder",SortOrder.ASC) .addSort("numberTitle",SortOrder.ASC) From fb72b31b43ef440e0202b9ae4013e53830550d7d Mon Sep 17 00:00:00 2001 From: zyd Date: Wed, 8 Jun 2022 10:25:55 +0800 Subject: [PATCH 4/7] =?UTF-8?q?fix:=20=E9=87=8D=E6=9E=84=E5=BA=95=E5=B1=82?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=80=BB=E8=BE=91=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E8=A1=A8=E6=95=B0=E6=8D=AE=E7=9A=84=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=EF=BC=8C=E6=9B=B4=E6=8D=A2=E4=B8=BA=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=88=96=E6=B7=BB=E5=8A=A0=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DataSyncServiceImpl.java | 153 ++++++++---------- .../adc/da/sync/service/SyncUserService.java | 28 ++-- 2 files changed, 80 insertions(+), 101 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java index 1ad2f235..9b301948 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java @@ -9,11 +9,14 @@ import com.adc.da.slrs.sarPosition.service.ITsPositionService; import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.service.ITsUserService; import com.adc.da.sync.service.SyncUserService; +import com.adc.da.sys.constant.ValidFlagEnum; import com.adc.da.sys.entity.UserOrgEO; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import lombok.extern.log4j.Log4j; +import org.apache.ibatis.jdbc.Null; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -40,14 +43,12 @@ public class DataSyncServiceImpl implements IDataSyncService { @Transactional(rollbackFor = {RuntimeException.class,Exception.class}) - @Override public String dataSync(){ try{ SyncUserService syncUserService = new SyncUserService(); List res = syncUserService.syncFotonUser(); //存放岗位信息 Map positionMap = new HashMap<>(); - Map useDistinct = new HashMap<>(); TsPosition position = new TsPosition(); position.setCurrent(1); position.setPageSize(100000); @@ -58,90 +59,76 @@ public class DataSyncServiceImpl implements IDataSyncService { positionMap.put(tsPosition.getName(), tsPosition.getId()); }); } - - /** - * 得到数据时,删除系统表中所有用户信息 - */ - if (res.size()>0){ - tsUserService.deleteUser(); - } + List addUserList = new ArrayList<>(); + List upUserList = new ArrayList<>(); for (String s : res) { - //获取到所有用户数据 - List tsUsers = new ArrayList<>(); - - JSONArray jsonArray = JSONArray.parseArray(JSONObject.parseObject(s.toString()).getString("results")); - jsonArray.forEach(object -> { - JSONObject jsonObject = JSONObject.parseObject(object.toString()); - //先获取岗位以及岗位id - TsUser tsUser = new TsUser(); - UserOrgEO userOrgEO = new UserOrgEO(); - //设置岗位 - if (null != jsonObject.getString("title")) { - //通过岗位名称查询系统表中是否有岗位,有则设定用户的岗位为系统中的岗位,否则新增 - if (null == positionMap.get(jsonObject.getString("title"))) { - TsPosition tsPosition = new TsPosition(); - tsPosition.setId(String.valueOf(UUID.randomUUID())); - tsPosition.setName(jsonObject.getString("title")); - tsPositionService.addPosition(tsPosition); - //放入岗位的map集合中 - positionMap.put(tsPosition.getName(), tsPosition.getId()); - //放入类中 - tsUser.setPositionName(tsPosition.getName()); - tsUser.setPositionId(tsPosition.getId()); - } else { - tsUser.setPositionName(jsonObject.getString("title").trim()); - tsUser.setPositionId(positionMap.get(jsonObject.getString("title").trim())); + JSONObject userData = JSONObject.parseObject(s); + if(userData.containsKey("results")){ + JSONArray jsonArray = userData.getJSONArray("results"); + jsonArray.forEach(object -> { + JSONObject jsonObject = JSONObject.parseObject(object.toString()); + String userid = jsonObject.getString("userid"); + TsUser userEO = tsUserService.getById(userid); + String userState = ""; + if(userEO != null){ + userState = "UPDATE"; + }else{ + userState = "ADD"; + userEO = new TsUser(); } - } - //设置其他数据 - Timestamp createTime = new Timestamp(new Date().getTime()); - tsUser.setState(jsonObject.getString("userStatus")); - tsUser.setUname(null!=jsonObject.getString("name")?jsonObject.getString("name"):""); - tsUser.setValidFlag("0"); - tsUser.setDisableFlag("0"); - tsUser.setCreationTime(createTime); - tsUser.setUserId(jsonObject.getString("userid")); - tsUser.setAccount(jsonObject.getString("userid")); - tsUser.setInstitutionId(null!=jsonObject.getString("orgNumber")?jsonObject.getString("orgNumber"):"" ); - tsUser.setInstitutionName(null!=jsonObject.getString("orgName")?jsonObject.getString("orgName"):"" ); - //2022-05-23:用户同步增加状态标识,将停用的用户过滤掉 - if (null == useDistinct.get(jsonObject.getString("userid")) && "1".equals(jsonObject.getString("userStatus"))) { - tsUsers.add(tsUser); - - } - -// //测试数据删除 -// if (! "anbin".equals(jsonObject.getString("userid"))){ -// -// //测试数据修改 -// if ("anbing".equals(jsonObject.getString("userid"))){ -// tsUser.setUname("DDDDDD"); -// tsUsers.add(tsUser); -// } else if (null == useDistinct.get(jsonObject.getString("userid"))) { -// tsUsers.add(tsUser); -// -// } -// } - useDistinct.put(tsUser.getUserId(),tsUser.getUserId()); - }); - tsUserService.saveBatch(tsUsers); + //先获取岗位以及岗位id + //设置岗位 + if (null != jsonObject.getString("title")) { + //通过岗位名称查询系统表中是否有岗位,有则设定用户的岗位为系统中的岗位,否则新增 + if (null == positionMap.get(jsonObject.getString("title"))) { + TsPosition tsPosition = new TsPosition(); + tsPosition.setId(String.valueOf(UUID.randomUUID())); + tsPosition.setName(jsonObject.getString("title")); + tsPositionService.addPosition(tsPosition); + //放入岗位的map集合中 + positionMap.put(tsPosition.getName(), tsPosition.getId()); + //放入类中 + userEO.setPositionName(tsPosition.getName()); + userEO.setPositionId(tsPosition.getId()); + } else { + userEO.setPositionName(jsonObject.getString("title").trim()); + userEO.setPositionId(positionMap.get(jsonObject.getString("title").trim())); + } + }else{ + userEO.setPositionId(null); + userEO.setPositionName(null); + } + //设置其他数据 + Timestamp createTime = new Timestamp(new Date().getTime()); + userEO.setState(jsonObject.getString("userStatus")); + userEO.setUname(null!=jsonObject.getString("name")?jsonObject.getString("name"):""); + userEO.setCreationTime(createTime); + userEO.setUserId(jsonObject.getString("userid")); + userEO.setAccount(jsonObject.getString("userid")); + userEO.setInstitutionId(null!=jsonObject.getString("orgNumber")?jsonObject.getString("orgNumber"):"" ); + userEO.setInstitutionName(null!=jsonObject.getString("orgName")?jsonObject.getString("orgName"):"" ); + //2022-05-23:用户同步增加状态标识,将停用的用户过滤掉 + if("1".equals(jsonObject.getString("userStatus"))){ + userEO.setValidFlag(ValidFlagEnum.VALID_FALSE.getValue()+""); + userEO.setDisableFlag(ValidFlagEnum.VALID_FALSE.getValue()+""); + }else{ + userEO.setValidFlag(ValidFlagEnum.VALID_TRUE.getValue()+""); + userEO.setDisableFlag(ValidFlagEnum.VALID_TRUE.getValue()+""); + } + if("ADD".equals(userState)){ + addUserList.add(userEO); + }else { + upUserList.add(userEO); + } + }); + } + } + if(!addUserList.isEmpty()){ + tsUserService.saveBatch(addUserList); + } + if(!upUserList.isEmpty()){ + tsUserService.updateBatchById(upUserList); } - - //测试数据添加 -// TsUser addUser = new TsUser(); -// addUser.setState("FFFFFFF"); -// addUser.setUname("zhaokaiyao"); -// addUser.setValidFlag("0"); -// addUser.setDisableFlag("0"); -// addUser.setCreationTime(new Timestamp(new Date().getTime())); -// addUser.setUserId("FFFFFFF"); -// addUser.setAccount("zhaokaiyao"); -// addUser.setInstitutionId("10022745"); -// addUser.setInstitutionName("福田营销其他"); -// -// List addUserList = Arrays.asList(addUser); -// tsUserService.saveBatch(addUserList); - }catch(Exception e){ logger.error(e.getMessage(),e); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); diff --git a/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java b/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java index 673dd50c..5927b3e0 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java +++ b/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java @@ -19,10 +19,6 @@ import java.util.Map; @Slf4j public class SyncUserService { - public static void main(String[] args) throws Exception { - SyncUserService syncUserService=new SyncUserService(); - syncUserService.syncFotonUser(); - } /** * 同步福田IDM数据 @@ -46,12 +42,11 @@ public class SyncUserService { System.out.println("RequestBody:" + params.toString()); // 用户测试 String rs = util.getResponseFromServer("http://idmsync.foton.com.cn/rest/users/getUserList", params); - - json.add(rs); - + log.debug(rs); JSONObject responseStr = JSON.parseObject(rs); - System.out.println(rs); - log.info(rs); + if(responseStr.containsKey("status") && responseStr.getBoolean("status")){ + json.add(rs); + } if (responseStr.containsKey("cookie")) { try { JSONArray entries = responseStr.getJSONArray("cookie"); @@ -63,6 +58,7 @@ public class SyncUserService { cookie[i] = (byte) entries.getByte(i); } } catch (Exception e) { + log.error(e.getMessage(),e); if (e.getMessage().contains("is not a JSONArray")) { cookie = null; } @@ -92,13 +88,11 @@ public class SyncUserService { params.put("basedn", "ou=Organizations,o=foton.com.cn,o=isp"); // 组织测试 String rs = util.getResponseFromServer("http://idmsync.foton.com.cn/rest/orgs/getOrgList", params); - json.add(rs); - - - JSONObject responseStr = JSONObject.parseObject(rs); - - System.out.println(responseStr); log.info(rs); + JSONObject responseStr = JSONObject.parseObject(rs); + if(responseStr.containsKey("status") && responseStr.getBoolean("status")){ + json.add(rs); + } if (responseStr.containsKey("cookie")) { try { JSONArray entries = responseStr.getJSONArray("cookie"); @@ -110,14 +104,12 @@ public class SyncUserService { cookie[i] = (byte) entries.getByte(i); } } catch (Exception e) { - System.out.println(e); - e.printStackTrace(); + log.error(e.getMessage(),e); if (e.getMessage().contains("is not a JSONArray")) { cookie = null; } } } - } while (cookie != null); return json; } From 8d65415ae25c7d2650f9d1898b3dde6adf33e6a2 Mon Sep 17 00:00:00 2001 From: zyd Date: Wed, 8 Jun 2022 10:36:34 +0800 Subject: [PATCH 5/7] =?UTF-8?q?fix:=20=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E8=BE=93?= =?UTF-8?q?=E5=87=BA=EF=BC=8C=E5=AF=B9=E8=BF=87=E7=A8=8B=E8=BF=9B=E8=A1=8C?= =?UTF-8?q?=E8=BF=BD=E8=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/adc/da/scheduled/ScheduledSync.java | 2 ++ .../DataSync/service/impl/DataSyncServiceImpl.java | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java index 97f81da3..14b4736b 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java @@ -28,7 +28,9 @@ public class ScheduledSync { @Async public void syncSchedulingTasks() { + log.info("======================================开始同步基础数据========================================"); iDataSyncService.orgDataSync(); //时间短 iDataSyncService.dataSync(); //时间长 + log.info("======================================结束同步基础数据========================================"); } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java index 9b301948..d52ad7ae 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/DataSync/service/impl/DataSyncServiceImpl.java @@ -124,9 +124,11 @@ public class DataSyncServiceImpl implements IDataSyncService { } } if(!addUserList.isEmpty()){ + logger.debug("本次新增的用户为:"+JSONObject.toJSONString(addUserList)); tsUserService.saveBatch(addUserList); } if(!upUserList.isEmpty()){ + logger.debug("本次更新的用户为:"+JSONObject.toJSONString(upUserList)); tsUserService.updateBatchById(upUserList); } }catch(Exception e){ @@ -189,15 +191,22 @@ public class DataSyncServiceImpl implements IDataSyncService { } //需要新增的数据 if(!addTsInstitutionList.isEmpty()){ + logger.debug("本次新增的组织机构为:"+JSONObject.toJSONString(addTsInstitutionList)); tsInstitutionService.saveBatch(addTsInstitutionList); } //需要更新的数据 if(!updateTsInstitutionList.isEmpty()){ + logger.debug("本次更新的组织机构为:"+JSONObject.toJSONString(updateTsInstitutionList)); tsInstitutionService.updateBatchById(updateTsInstitutionList); } //需要删除的数据 if(!delTsInstitutionList.isEmpty()){ - tsInstitutionService.updateBatchById(delTsInstitutionList); + logger.debug("本次删除的组织机构为:"+JSONObject.toJSONString(delTsInstitutionList)); + List delIdList = new ArrayList<>(); + for(TsInstitution data : delTsInstitutionList){ + delIdList.add(data.getId()); + } + tsInstitutionService.removeByIds(delIdList); } }catch(Exception e){ logger.error(e.getMessage(),e); From 43a31db7ca446f0e9348ef2ca992dc6a738fc1f7 Mon Sep 17 00:00:00 2001 From: zyd Date: Wed, 8 Jun 2022 11:34:44 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fix:=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AE=A1=E6=8E=A7=E6=B3=A8=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/adc/da/Timer/ProcessTimer.java | 151 ++++++++++-------- .../com/adc/da/scheduled/ScheduledSync.java | 18 ++- 2 files changed, 95 insertions(+), 74 deletions(-) diff --git a/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java b/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java index 398b9319..9846d4f2 100644 --- a/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java +++ b/adc-da-activiti/src/main/java/com/adc/da/Timer/ProcessTimer.java @@ -16,6 +16,7 @@ import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -48,6 +49,13 @@ public class ProcessTimer { @Autowired private WorkFlowController workFlowController; + /** + * 根据配置文件设置是否开启定时器 + */ + + @Value("${isNotScheduled}") + private boolean isNotScheduled; //是否开启定时器 + /*** * @Description: 自动催办,任务截至时间前3天开始每天催办 * @Author: yangxuenan @@ -59,44 +67,48 @@ public class ProcessTimer { // @Scheduled(cron = "*/5 * * * * ?")//每5秒执行一次 // @Scheduled(cron = "0/20 * * * * ?") public void urging() { - List busProcessNames = workFlowFeignClient.queryBusProcessNameForEnd(null); - if (null != busProcessNames && 0 < busProcessNames.size()) { - for (BusProcessName busProcessName : busProcessNames) { - String type = busProcessName.getPrcType(); - Integer typeInt = 99; - if (StringUtils.isNotEmpty(type)) { - typeInt = Integer.valueOf(type); - } - type = chooseType(typeInt, type); + if(isNotScheduled){ + log.info("=================================自动催办定时任务启动====================================="); + List busProcessNames = workFlowFeignClient.queryBusProcessNameForEnd(null); + if (null != busProcessNames && 0 < busProcessNames.size()) { + for (BusProcessName busProcessName : busProcessNames) { + String type = busProcessName.getPrcType(); + Integer typeInt = 99; + if (StringUtils.isNotEmpty(type)) { + typeInt = Integer.valueOf(type); + } + type = chooseType(typeInt, type); - UserEO userEO = userEOService.selectByPrimaryKey(busProcessName.getCreatUserName()); - String[] array = userEO.getEmail().split(","); - String overTime = busProcessName.getOverTime(); - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - Date dateTime = null; - Integer num = 3; - try { - dateTime = simpleDateFormat.parse(overTime); - Date now = new Date(); - long daysBetween = (dateTime.getTime() - now.getTime() + 1000000) / (60 * 60 * 24 * 1000); - num = Integer.valueOf(String.valueOf(daysBetween)); - } catch (ParseException e) { - SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); + UserEO userEO = userEOService.selectByPrimaryKey(busProcessName.getCreatUserName()); + String[] array = userEO.getEmail().split(","); + String overTime = busProcessName.getOverTime(); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date dateTime = null; + Integer num = 3; try { - dateTime = simpleDateFormat1.parse(overTime); + dateTime = simpleDateFormat.parse(overTime); Date now = new Date(); long daysBetween = (dateTime.getTime() - now.getTime() + 1000000) / (60 * 60 * 24 * 1000); num = Integer.valueOf(String.valueOf(daysBetween)); - } catch (ParseException e1) { - e.getMessage(); + } catch (ParseException e) { + SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); + try { + dateTime = simpleDateFormat1.parse(overTime); + Date now = new Date(); + long daysBetween = (dateTime.getTime() - now.getTime() + 1000000) / (60 * 60 * 24 * 1000); + num = Integer.valueOf(String.valueOf(daysBetween)); + } catch (ParseException e1) { + e.getMessage(); + } } - } - String msg = "您好,[" + busProcessName.getPrcNum() + "]-[" + busProcessName.getPrcName() + "] 您有待办任务未及时办理,距离截至日期还有[" + String.valueOf(num) + "]天 请及时办理,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接 ( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter ) 。\n" + - " ——来自 全球标准法规管理系统"; - String title = "GSRM——【待办任务】[" + type + "] 您有未完成的待办任务"; - mailUtil.sendMsgFeign(array, title, msg); + String msg = "您好,[" + busProcessName.getPrcNum() + "]-[" + busProcessName.getPrcName() + "] 您有待办任务未及时办理,距离截至日期还有[" + String.valueOf(num) + "]天 请及时办理,请登录全球标准法规管理系统 ( http://39.98.140.126:10005/#/login ) 办理:链接 ( http://39.98.140.126:10005/#/processCenter?tabsName=ProcessCenter ) 。\n" + + " ——来自 全球标准法规管理系统"; + String title = "GSRM——【待办任务】[" + type + "] 您有未完成的待办任务"; + mailUtil.sendMsgFeign(array, title, msg); + } } + log.info("=================================自动催办定时任务结束====================================="); } } @@ -169,20 +181,24 @@ public class ProcessTimer { @Scheduled(cron = "0 0 10 * * ? ")//每天十点执行 // @Scheduled(cron = "*/20 * * * * ? ")//每天十点执行 public void everyDayTenOlockScan() { - List busProcessNews=new ArrayList<>(); - busProcessNews=workFlowFeignClient.everyDayTenOlock(); - if (!busProcessNews.isEmpty()){ - for (BusProcessNew bus:busProcessNews) { - JSONObject jsonObject= JSON.parseObject(bus.getMesg()); - jsonObject.put("auto","1"); - ResponseMessage responseMessage = workFlowController.startProcessNew("19",jsonObject.getString("revisionId"),null); - BusMes busMes=new BusMes(); - busMes.setTaskIds(String.valueOf(responseMessage.getData())); - busMes.setJson(jsonObject.toJSONString()); - busMes.setUserId(jsonObject.getString("revisionId")); - Wrapper wrapper=workFlowFeignClient.completeTaskByUserId(busMes); - log.info("政策课题组会后流程已发起"); + if(isNotScheduled){ + log.info("=================================政策课题组会后流程定时任务启动====================================="); + List busProcessNews=new ArrayList<>(); + busProcessNews=workFlowFeignClient.everyDayTenOlock(); + if (!busProcessNews.isEmpty()){ + for (BusProcessNew bus:busProcessNews) { + JSONObject jsonObject= JSON.parseObject(bus.getMesg()); + jsonObject.put("auto","1"); + ResponseMessage responseMessage = workFlowController.startProcessNew("19",jsonObject.getString("revisionId"),null); + BusMes busMes=new BusMes(); + busMes.setTaskIds(String.valueOf(responseMessage.getData())); + busMes.setJson(jsonObject.toJSONString()); + busMes.setUserId(jsonObject.getString("revisionId")); + Wrapper wrapper=workFlowFeignClient.completeTaskByUserId(busMes); + log.info("政策课题组会后流程已发起"); + } } + log.info("=================================政策课题组会后流程定时任务启动====================================="); } } @@ -190,36 +206,33 @@ public class ProcessTimer { // @Scheduled(cron = "0 0 0/1 * * ? ")//每天十点执行 // @Scheduled(cron = "*/40 * * * * ? ")//20s public void everyDayTenOlockScanSAM() { - List busProcessNews=new ArrayList<>(); - busProcessNews=workFlowFeignClient.everyDayTenOlockSAM(); - if (!busProcessNews.isEmpty()){ - for (BusProcessNew bus:busProcessNews) { - JSONObject jsonObject= JSON.parseObject(bus.getMesg()); - String taskInfo = bus.getTaskInfo(); - String result = jsonObject.getJSONObject("roleList").getString("dockUser"); - result = result.split(",")[0]; - jsonObject.put("member",result); - if(taskInfo.equals("标准化活动参会流程-流程结束")){ - jsonObject.put("auto","1"); - ResponseMessage responseMessage = workFlowController.startProcessNew("22",result,null); - BusMes busMes=new BusMes(); - busMes.setTaskIds(String.valueOf(responseMessage.getData())); - busMes.setJson(jsonObject.toJSONString()); - busMes.setUserId(result); + if(isNotScheduled){ + log.info("=================================标准化活动参会流程定时任务启动====================================="); + List busProcessNews=new ArrayList<>(); + busProcessNews=workFlowFeignClient.everyDayTenOlockSAM(); + if (!busProcessNews.isEmpty()){ + for (BusProcessNew bus:busProcessNews) { + JSONObject jsonObject= JSON.parseObject(bus.getMesg()); + String taskInfo = bus.getTaskInfo(); + String result = jsonObject.getJSONObject("roleList").getString("dockUser"); + result = result.split(",")[0]; + jsonObject.put("member",result); + if(taskInfo.equals("标准化活动参会流程-流程结束")){ + jsonObject.put("auto","1"); + ResponseMessage responseMessage = workFlowController.startProcessNew("22",result,null); + BusMes busMes=new BusMes(); + busMes.setTaskIds(String.valueOf(responseMessage.getData())); + busMes.setJson(jsonObject.toJSONString()); + busMes.setUserId(result); + + Wrapper wrapper=workFlowFeignClient.completeTaskByUserId(busMes); + System.out.println("标准化活动会后流程自动发起"); + } - Wrapper wrapper=workFlowFeignClient.completeTaskByUserId(busMes); - System.out.println("标准化活动会后流程自动发起"); } - } + log.info("=================================标准化活动参会流程定时任务启动====================================="); } } - - public static void main(String[]args){ - ProcessTimer processTimer = new ProcessTimer(); - processTimer.everyDayTenOlockScan(); - processTimer.everyDayTenOlockScanSAM(); - } - } diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java index 14b4736b..276d5349 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduled/ScheduledSync.java @@ -5,6 +5,7 @@ import com.adc.da.slrs.DataSync.service.IDataSyncService; import com.sun.org.apache.bcel.internal.generic.NEW; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; @@ -22,15 +23,22 @@ public class ScheduledSync { @Autowired private IDataSyncService iDataSyncService; + /** + * 根据配置文件设置是否开启定时器 + */ + + @Value("${isNotScheduled}") + private boolean isNotScheduled; //是否开启定时器 //每天凌晨两点执行 @Scheduled(cron="0 0 2 * * ?") - @Async public void syncSchedulingTasks() { - log.info("======================================开始同步基础数据========================================"); - iDataSyncService.orgDataSync(); //时间短 - iDataSyncService.dataSync(); //时间长 - log.info("======================================结束同步基础数据========================================"); + if(isNotScheduled){ + log.info("======================================开始同步基础数据========================================"); + iDataSyncService.orgDataSync(); //时间短 + iDataSyncService.dataSync(); //时间长 + log.info("======================================结束同步基础数据========================================"); + } } } From 1735f95b4a05fbc5fd09a8f761ed1ebe768f7f78 Mon Sep 17 00:00:00 2001 From: super_liu <396572590@qq.com> Date: Wed, 8 Jun 2022 11:40:47 +0800 Subject: [PATCH 7/7] feat: There is no way the, Es --- .../service/impl/SearchCenterServiceImpl.java | 2 +- .../server/UpdateStateBussSyncFz.java | 6 +++++- .../server/UpdateStateBussSyncSsAndYx.java | 6 +++++- .../server/UpdateStateStandSyncFz.java | 6 +++++- .../server/UpdateStateStandSyncSsAndYx.java | 6 +++++- .../search/server/ResetSearchCenterService.java | 17 ++++++++++++++--- .../impl/SarBussionessStandServiceImpl.java | 6 +++++- .../impl/SarLawsStandInfoServiceImpl.java | 6 +++++- .../impl/SarStandardsInfoServiceImpl.java | 5 ++++- .../main/java/com/adc/da/utils/util/Utils.java | 11 +++++++++++ 10 files changed, 60 insertions(+), 11 deletions(-) diff --git a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java index ac066a0d..05b5f948 100644 --- a/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java +++ b/adc-da-search/src/main/java/com/adc/da/search/service/impl/SearchCenterServiceImpl.java @@ -1411,7 +1411,7 @@ public class SearchCenterServiceImpl implements SearchCenterService { // .addSort(new ScoreSortBuilder().order(SortOrder.DESC)) .addSort("standTypeOrder",SortOrder.ASC) .addSort("standSortOrder",SortOrder.ASC) - .addSort("numberTitle",SortOrder.ASC) + .addSort("numberTitle.keyword",SortOrder.ASC) .addSort("yearOrder",SortOrder.DESC) .addSort("sortTitle.keyword",SortOrder.ASC) .setFrom((searchInfoEO.getPage()-1)*searchInfoEO.getPageSize()) diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateBussSyncFz.java b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateBussSyncFz.java index 20a9e073..bdcce2e5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateBussSyncFz.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateBussSyncFz.java @@ -14,6 +14,7 @@ import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao; import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.Utils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; @@ -179,7 +180,10 @@ public class UpdateStateBussSyncFz implements Runnable { List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { if(org.apache.commons.lang.StringUtils.isNotBlank(entry.getValue().toString())){ - Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if(json instanceof org.json.JSONArray){ valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); }else { diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateBussSyncSsAndYx.java b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateBussSyncSsAndYx.java index 4defb29c..4e92432d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateBussSyncSsAndYx.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateBussSyncSsAndYx.java @@ -14,6 +14,7 @@ import com.adc.da.slrs.sarStandItems.dao.SarStandItemsDao; import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.Utils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; @@ -204,7 +205,10 @@ public class UpdateStateBussSyncSsAndYx implements Runnable { List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { if(org.apache.commons.lang.StringUtils.isNotBlank(entry.getValue().toString())){ - Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if(json instanceof org.json.JSONArray){ valArr = JSONObject.parseArray(entry.getValue().toString(),String.class); }else { diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncFz.java b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncFz.java index 36555485..74d8cf18 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncFz.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncFz.java @@ -16,6 +16,7 @@ import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.Utils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; @@ -289,7 +290,10 @@ public class UpdateStateStandSyncFz implements Runnable { List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { if (StringUtils.isNotBlank(entry.getValue().toString())) { - Object json = new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if (json instanceof org.json.JSONArray) { valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(), String.class); } else { diff --git a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncSsAndYx.java b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncSsAndYx.java index 72a8afec..4721244c 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncSsAndYx.java +++ b/adc-da-slrs/src/main/java/com/adc/da/scheduledState/server/UpdateStateStandSyncSsAndYx.java @@ -16,6 +16,7 @@ import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; import com.adc.da.sys.dao.DicTypeEODao; import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.Utils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; @@ -238,7 +239,10 @@ public class UpdateStateStandSyncSsAndYx implements Runnable { List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { if (StringUtils.isNotBlank(entry.getValue().toString())) { - Object json = new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if (json instanceof org.json.JSONArray) { valArr = JSONObject.parseArray(entry.getValue().toString(), String.class); } else { diff --git a/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java b/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java index 6e75567b..ce54fe20 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/search/server/ResetSearchCenterService.java @@ -31,8 +31,10 @@ import com.adc.da.util.http.Result; import com.adc.da.utils.util.DateUtil; import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.InitStandAttrUtil; +import com.adc.da.utils.util.Utils; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.elasticsearch.client.transport.TransportClient; import org.json.JSONTokener; @@ -504,7 +506,10 @@ public class ResetSearchCenterService { List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { if (StringUtils.isNotBlank(entry.getValue().toString())) { - Object json = new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if (json instanceof org.json.JSONArray) { valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(), String.class); } else { @@ -825,7 +830,10 @@ public class ResetSearchCenterService { List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { if(org.apache.commons.lang.StringUtils.isNotBlank(entry.getValue().toString())){ - Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if(json instanceof org.json.JSONArray){ valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); }else { @@ -1071,7 +1079,10 @@ public class ResetSearchCenterService { List valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { if(org.apache.commons.lang.StringUtils.isNotBlank(entry.getValue().toString())){ - Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if(json instanceof org.json.JSONArray){ valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); }else { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java index fdd6f412..5db4e83d 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarBussionessStand/service/impl/SarBussionessStandServiceImpl.java @@ -54,6 +54,7 @@ import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.InitStandAttrUtil; import com.adc.da.utils.util.SarAdvanceSearchUtil; +import com.adc.da.utils.util.Utils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import net.sf.json.JSONObject; @@ -1466,7 +1467,10 @@ public class SarBussionessStandServiceImpl extends ServiceImpl valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListBuss != null && InitStandAttrUtil.selectionFieldListBuss.size() > 0 && InitStandAttrUtil.selectionFieldListBuss.contains(name)) { if(StringUtils.isNotBlank(entry.getValue().toString())){ - Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if(json instanceof org.json.JSONArray){ valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); }else { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java index ddd92ac9..c3435ac4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsStandInfo/service/impl/SarLawsStandInfoServiceImpl.java @@ -58,6 +58,7 @@ import com.adc.da.util.UUIDUtils; import com.adc.da.utils.util.FieldConvertUtil; import com.adc.da.utils.util.InitStandAttrUtil; import com.adc.da.utils.util.SarAdvanceSearchUtil; +import com.adc.da.utils.util.Utils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import net.sf.json.JSONObject; @@ -769,7 +770,10 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) { if(StringUtils.isNotBlank(entry.getValue().toString())){ - Object json= new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if(json instanceof org.json.JSONArray){ valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(),String.class); }else { diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java index 6c6aa130..75f2d18f 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarStandardsInfo/service/impl/SarStandardsInfoServiceImpl.java @@ -1025,7 +1025,10 @@ public class SarStandardsInfoServiceImpl extends ServiceImpl valArr = new ArrayList<>(); if (entry.getValue() != null && InitStandAttrUtil.selectionFieldList != null && InitStandAttrUtil.selectionFieldList.size() > 0 && InitStandAttrUtil.selectionFieldList.contains(name)) { if (StringUtils.isNotBlank(entry.getValue().toString())) { - Object json = new JSONTokener(entry.getValue().toString()).nextValue(); + Object json = null; + if(Utils.isJson(entry.getValue().toString())){ + json = new JSONTokener(entry.getValue().toString()).nextValue(); + } if (json instanceof JSONArray) { valArr = com.alibaba.fastjson.JSONObject.parseArray(entry.getValue().toString(), String.class); } else { diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/Utils.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/Utils.java index f43dfae9..7ec77930 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/Utils.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/Utils.java @@ -1,5 +1,6 @@ package com.adc.da.utils.util; +import com.alibaba.fastjson.JSONObject; import org.apache.commons.lang3.StringUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; @@ -18,6 +19,16 @@ public class Utils { return MessageFormat.format(value, paras); } + + public static boolean isJson(String string) { + try { + JSONObject.parseObject(string); + return true; + } catch (Exception e) { + return false; + } + } + //判断row是否为空 空返回true public static boolean isRowEmpty(Row row) { if (null == row) {