From 2cfe5c6a0323b82fd4cae92709792047383cf37a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=95=B8=E9=9D=9E?= <13281114856@qq.com> Date: Tue, 28 Feb 2023 17:40:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=9A=E5=8A=A1=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E9=80=9A=E7=9F=A5php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/system/message/MessageService.java | 14 +++ .../message/impl/MessageServiceImpl.java | 37 ++++++ .../xhx/busiz/req/ApiThirdPartyReq.java | 23 ++++ .../xhx/busiz/req/BussinessThirdPartyReq.java | 50 ++++++++ .../xhx/common/code/MessageTypeEnum.java | 61 +++++++++ .../xhx/common/code/ThirdPartyStatusEnum.java | 66 ++++++++++ .../xhx/common/code/ThirdPartyTypeEnum.java | 65 ++++++++++ .../mortals/xhx/common/utils/SendTask.java | 47 +++++++ .../xhx/common/utils/SendTaskThreadPool.java | 68 ++++++++++ .../service/impl/BusinessServiceImpl.java | 119 +++++++++++++++--- 10 files changed, 535 insertions(+), 15 deletions(-) create mode 100644 base-manager/src/main/java/com/mortals/xhx/base/system/message/MessageService.java create mode 100644 base-manager/src/main/java/com/mortals/xhx/base/system/message/impl/MessageServiceImpl.java create mode 100644 base-manager/src/main/java/com/mortals/xhx/busiz/req/ApiThirdPartyReq.java create mode 100644 base-manager/src/main/java/com/mortals/xhx/busiz/req/BussinessThirdPartyReq.java create mode 100644 base-manager/src/main/java/com/mortals/xhx/common/code/MessageTypeEnum.java create mode 100644 base-manager/src/main/java/com/mortals/xhx/common/code/ThirdPartyStatusEnum.java create mode 100644 base-manager/src/main/java/com/mortals/xhx/common/code/ThirdPartyTypeEnum.java create mode 100644 base-manager/src/main/java/com/mortals/xhx/common/utils/SendTask.java create mode 100644 base-manager/src/main/java/com/mortals/xhx/common/utils/SendTaskThreadPool.java diff --git a/base-manager/src/main/java/com/mortals/xhx/base/system/message/MessageService.java b/base-manager/src/main/java/com/mortals/xhx/base/system/message/MessageService.java new file mode 100644 index 00000000..bb580981 --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/base/system/message/MessageService.java @@ -0,0 +1,14 @@ +package com.mortals.xhx.base.system.message; + +public interface MessageService { + + /** + * 鍙戦€佺涓夋柟骞冲彴鍥涗簩鐝€忎紶娑堟伅 + * + * @param sendUrl + * @param content + * @return + */ + void sendThirdParty(String sendUrl, String content); + +} \ No newline at end of file diff --git a/base-manager/src/main/java/com/mortals/xhx/base/system/message/impl/MessageServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/base/system/message/impl/MessageServiceImpl.java new file mode 100644 index 00000000..b211f62a --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/base/system/message/impl/MessageServiceImpl.java @@ -0,0 +1,37 @@ +package com.mortals.xhx.base.system.message.impl; + +import cn.hutool.core.exceptions.ExceptionUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.mortals.framework.service.ICacheService; +import com.mortals.xhx.base.system.message.MessageService; +import com.mortals.xhx.common.utils.SendTask; +import com.mortals.xhx.common.utils.SendTaskThreadPool; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +/** + * DeviceService + * 璁惧 service瀹炵幇 + * + * @author zxfei + * @date 2022-03-09 + */ +@Service("messageService") +@Slf4j +public class MessageServiceImpl implements MessageService { + + @Autowired + private SendTaskThreadPool sendTaskThreadPool; + + + @Override + public void sendThirdParty(String sendUrl, String content) { + SendTask sendTask = new SendTask(sendUrl, content); + sendTaskThreadPool.execute(sendTask); + } + + public static void main(String[] args) { + } +} \ No newline at end of file diff --git a/base-manager/src/main/java/com/mortals/xhx/busiz/req/ApiThirdPartyReq.java b/base-manager/src/main/java/com/mortals/xhx/busiz/req/ApiThirdPartyReq.java new file mode 100644 index 00000000..1778e1e9 --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/busiz/req/ApiThirdPartyReq.java @@ -0,0 +1,23 @@ +package com.mortals.xhx.busiz.req; + +import lombok.Data; + + +@Data +public class ApiThirdPartyReq<T> { + /** + * 缁撴灉缂栫爜 + */ + private int code; + /** + * 缁撴灉鎻忚堪 + */ + private String msg; + + private Integer type; + + + private Integer status; + + private T data; +} diff --git a/base-manager/src/main/java/com/mortals/xhx/busiz/req/BussinessThirdPartyReq.java b/base-manager/src/main/java/com/mortals/xhx/busiz/req/BussinessThirdPartyReq.java new file mode 100644 index 00000000..d3e81ac6 --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/busiz/req/BussinessThirdPartyReq.java @@ -0,0 +1,50 @@ +package com.mortals.xhx.busiz.req; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; + +/** + * 涓氬姟绫� + * + * @author: + * @date: 2022/9/7 14:35 + */ +@Data +public class BussinessThirdPartyReq { + + private Long id; + + /** + * 涓氬姟鍚嶇О + */ + private String name; + /** + * 澶囨敞 + */ + private String remark; + /** + * 鏄惁鍏佽棰勭害锛�1.鍏佽锛�0.涓嶅厑璁革級 + */ + private Integer canorder; + /** + * 鏄惁鍏佽鍙栧彿锛�1.鍏佽锛�0.涓嶅厑璁革級 + */ + private Integer cantake; + /** + * 澶у巺鎯呭喌灞曠ず 锛�1.灞曠ず锛�0.涓嶅睍绀猴級 + */ + private Integer datashow; + /** + * 鑻辫涓氬姟鍚� + */ + private String englishname; + + /** + * 涓氬姟鐘舵€� (0.鍋滅敤锛�1.姝e父) + */ + private Integer status; + + + +} diff --git a/base-manager/src/main/java/com/mortals/xhx/common/code/MessageTypeEnum.java b/base-manager/src/main/java/com/mortals/xhx/common/code/MessageTypeEnum.java new file mode 100644 index 00000000..994fbac5 --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/common/code/MessageTypeEnum.java @@ -0,0 +1,61 @@ +package com.mortals.xhx.common.code; + +import java.util.LinkedHashMap; +import java.util.Map; + + +public enum MessageTypeEnum { + CRUD(0, "璁惧澧炲垹鏀规煡"), + TRANSACTION(1, "璁惧娑堟伅绫伙紝鏁版嵁鍩熼€忎紶璁惧涓婅娑堟伅浣�"); + private Integer value; + private String desc; + + MessageTypeEnum(Integer value, String desc) { + this.value = value; + this.desc = desc; + } + + public Integer getValue() { + return this.value; + } + + public String getDesc() { + return this.desc; + } + + public static MessageTypeEnum getByValue(Integer value) { + for (MessageTypeEnum sendMsgTypeEnum : MessageTypeEnum.values()) { + if (sendMsgTypeEnum.getValue() == value) { + return sendMsgTypeEnum; + } + } + return null; + } + + /** + * 鑾峰彇Map闆嗗悎 + * + * @param eItem 涓嶅寘鍚」 + * @return + */ + public static Map<String, String> getEnumMap(Integer... eItem) { + Map<String, String> resultMap = new LinkedHashMap<>(); + for (MessageTypeEnum item : MessageTypeEnum.values()) { + try { + boolean hasE = false; + for (Integer e : eItem) { + if (item.getValue() == e) { + hasE = true; + break; + } + } + if (!hasE) { + resultMap.put(item.getValue() + "", item.getDesc()); + } + } catch (Exception ex) { + + } + } + return resultMap; + } +} \ No newline at end of file diff --git a/base-manager/src/main/java/com/mortals/xhx/common/code/ThirdPartyStatusEnum.java b/base-manager/src/main/java/com/mortals/xhx/common/code/ThirdPartyStatusEnum.java new file mode 100644 index 00000000..5c22f720 --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/common/code/ThirdPartyStatusEnum.java @@ -0,0 +1,66 @@ +package com.mortals.xhx.common.code; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** +* 鍚敤鐘舵€� (0.鍋滄锛�1.鍚敤)鏋氫妇绫� +* +* @author zxfei +*/ +public enum ThirdPartyStatusEnum { + 鏂板(1, "鏂板"), + 淇敼(2, "淇敼"), + 鍒犻櫎(3, "鍒犻櫎"); + private Integer value; + private String desc; + + ThirdPartyStatusEnum(Integer value, String desc) { + this.value = value; + this.desc = desc; + } + + public Integer getValue() { + return this.value; + } + + public String getDesc() { + return this.desc; + } + + public static ThirdPartyStatusEnum getByValue(Integer value) { + for (ThirdPartyStatusEnum statusEnum : ThirdPartyStatusEnum.values()) { + if (statusEnum.getValue() == value) { + return statusEnum; + } + } + return null; + } + + /** + * 鑾峰彇Map闆嗗悎 + * + * @param eItem 涓嶅寘鍚」 + * @return + */ + public static Map<String, String> getEnumMap(Integer... eItem) { + Map<String, String> resultMap = new LinkedHashMap<>(); + for (ThirdPartyStatusEnum item : ThirdPartyStatusEnum.values()) { + try { + boolean hasE = false; + for (Integer e : eItem) { + if (item.getValue() == e) { + hasE = true; + break; + } + } + if (!hasE) { + resultMap.put(item.getValue() + "", item.getDesc()); + } + } catch (Exception ex) { + + } + } + return resultMap; + } +} \ No newline at end of file diff --git a/base-manager/src/main/java/com/mortals/xhx/common/code/ThirdPartyTypeEnum.java b/base-manager/src/main/java/com/mortals/xhx/common/code/ThirdPartyTypeEnum.java new file mode 100644 index 00000000..1980209e --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/common/code/ThirdPartyTypeEnum.java @@ -0,0 +1,65 @@ +package com.mortals.xhx.common.code; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** +* 鍚敤鐘舵€� (0.鍋滄锛�1.鍚敤)鏋氫妇绫� +* +* @author zxfei +*/ +public enum ThirdPartyTypeEnum { + 涓氬姟(1, "涓氬姟淇℃伅鍙樻洿"), + 鍚敤(2, "鍚敤"); + private Integer value; + private String desc; + + ThirdPartyTypeEnum(Integer value, String desc) { + this.value = value; + this.desc = desc; + } + + public Integer getValue() { + return this.value; + } + + public String getDesc() { + return this.desc; + } + + public static ThirdPartyTypeEnum getByValue(Integer value) { + for (ThirdPartyTypeEnum statusEnum : ThirdPartyTypeEnum.values()) { + if (statusEnum.getValue() == value) { + return statusEnum; + } + } + return null; + } + + /** + * 鑾峰彇Map闆嗗悎 + * + * @param eItem 涓嶅寘鍚」 + * @return + */ + public static Map<String, String> getEnumMap(Integer... eItem) { + Map<String, String> resultMap = new LinkedHashMap<>(); + for (ThirdPartyTypeEnum item : ThirdPartyTypeEnum.values()) { + try { + boolean hasE = false; + for (Integer e : eItem) { + if (item.getValue() == e) { + hasE = true; + break; + } + } + if (!hasE) { + resultMap.put(item.getValue() + "", item.getDesc()); + } + } catch (Exception ex) { + + } + } + return resultMap; + } +} \ No newline at end of file diff --git a/base-manager/src/main/java/com/mortals/xhx/common/utils/SendTask.java b/base-manager/src/main/java/com/mortals/xhx/common/utils/SendTask.java new file mode 100644 index 00000000..54e84119 --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/common/utils/SendTask.java @@ -0,0 +1,47 @@ +package com.mortals.xhx.common.utils; + +import com.alibaba.fastjson.JSON; +import com.mortals.framework.util.HttpUtil; +import com.mortals.xhx.busiz.req.ApiThirdPartyReq; +import com.mortals.xhx.common.code.MessageTypeEnum; +import com.mortals.xhx.common.code.YesNoEnum; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; + +import java.util.HashMap; +import java.util.Map; + +import static com.mortals.framework.util.HttpUtil.HEADER_CONTENT_TYPE; + +/** + * 鍙戦€氱煡绗笁鏂� + * + * @author: zxfei + * @date: 2022/4/28 10:56 + * @description: + **/ +@Slf4j +@AllArgsConstructor +public class SendTask implements Runnable { + private String sendUrl; + private String content; + + @Override + public void run() { + ApiThirdPartyReq<String> apiThirdPartyReq = new ApiThirdPartyReq<>(); + apiThirdPartyReq.setCode(YesNoEnum.YES.getValue()); + apiThirdPartyReq.setType(MessageTypeEnum.TRANSACTION.getValue()); + apiThirdPartyReq.setData(content); + String resp = null; + try { + Map<String, String> header = new HashMap<>(); + header.put(HEADER_CONTENT_TYPE, "application/json"); + String reqStr = JSON.toJSONString(apiThirdPartyReq); + log.info("sendUrl:{} \n sendMessageReq:{}",sendUrl, reqStr); + resp = HttpUtil.doPost(sendUrl, header, reqStr); + log.debug("sendMessageResp:{}", resp); + } catch (Exception e) { + log.error("寮傚父:", e); + } + } +} diff --git a/base-manager/src/main/java/com/mortals/xhx/common/utils/SendTaskThreadPool.java b/base-manager/src/main/java/com/mortals/xhx/common/utils/SendTaskThreadPool.java new file mode 100644 index 00000000..c38dd9c8 --- /dev/null +++ b/base-manager/src/main/java/com/mortals/xhx/common/utils/SendTaskThreadPool.java @@ -0,0 +1,68 @@ +package com.mortals.xhx.common.utils; + +import org.springframework.stereotype.Component; + +import java.util.concurrent.Executors; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * 鍙戦€佷换鍔$嚎绋嬫睜 + * + * @author: zxfei + * @date: 2022/4/28 10:52 + */ +@Component +public class SendTaskThreadPool { + + /** + * 绾跨▼姹� + */ + private ThreadPoolExecutor threadPool; + + private int poolSize; + + private volatile boolean isInit = false; + + private Object lock = new Object(); + + + public void init(Integer threadNum) { + if (poolSize < 0) { + throw new IllegalArgumentException(); + } + if (poolSize < Runtime.getRuntime().availableProcessors()) { + poolSize = Runtime.getRuntime().availableProcessors() + 1; + } + if (!isInit) { + synchronized (lock) { + if (!isInit) { + threadPool = (ThreadPoolExecutor) Executors.newFixedThreadPool(threadNum); + + isInit = true; + } + } + + } + } + + public void execute(Runnable command) { + threadPool.execute(command); + } + + public void setPoolSize(int poolSize) { + threadPool.setCorePoolSize(poolSize); + threadPool.setMaximumPoolSize(poolSize); + } + + public void incrementPoolSize(int delta) { + setPoolSize(threadPool.getCorePoolSize() + delta); + } + + public synchronized void close() { + if (threadPool != null) { + threadPool.shutdown(); + threadPool = null; + isInit = false; + } + } +} diff --git a/base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessServiceImpl.java index 4bcef90d..b7705534 100644 --- a/base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessServiceImpl.java +++ b/base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessServiceImpl.java @@ -1,34 +1,42 @@ package com.mortals.xhx.module.business.service.impl; -import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.mortals.framework.ap.GlobalSysInfo; +import com.mortals.framework.exception.AppException; +import com.mortals.framework.model.Context; import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.Result; import com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl; +import com.mortals.xhx.base.system.message.MessageService; +import com.mortals.xhx.busiz.req.ApiThirdPartyReq; +import com.mortals.xhx.busiz.req.BussinessThirdPartyReq; import com.mortals.xhx.common.code.IsBusinessEnum; +import com.mortals.xhx.common.code.ThirdPartyStatusEnum; +import com.mortals.xhx.common.code.ThirdPartyTypeEnum; +import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.utils.BeanUtil; -import com.mortals.xhx.module.business.model.*; -import com.mortals.xhx.module.business.service.BusinessMatterService; +import com.mortals.xhx.module.business.dao.BusinessDao; +import com.mortals.xhx.module.business.model.BusinessEntity; +import com.mortals.xhx.module.business.model.BusinessQuery; +import com.mortals.xhx.module.business.service.BusinessService; import com.mortals.xhx.module.site.model.SiteBusinessEntity; import com.mortals.xhx.module.site.model.SiteBusinessQuery; import com.mortals.xhx.module.site.model.SiteEntity; import com.mortals.xhx.module.site.service.SiteBusinessService; import com.mortals.xhx.module.site.service.SiteService; +import com.mortals.xhx.module.window.model.WindowBusinessEntity; +import com.mortals.xhx.module.window.model.WindowBusinessQuery; +import com.mortals.xhx.module.window.service.WindowBusinessService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.mortals.framework.exception.AppException; -import com.mortals.framework.model.Context; -import com.mortals.xhx.common.code.SatusEnum; -import com.mortals.framework.service.impl.AbstractCRUDServiceImpl; -import com.mortals.xhx.module.business.dao.BusinessDao; -import com.mortals.xhx.module.business.service.BusinessService; import org.springframework.util.ObjectUtils; import java.util.*; import java.util.stream.Collectors; -import static com.mortals.framework.ap.SysConstains.RESULT_KEY; +import static com.mortals.xhx.common.key.Constant.PARAM_SERVER_PHP_HTTP_URL; /** * BusinessService @@ -38,11 +46,17 @@ import static com.mortals.framework.ap.SysConstains.RESULT_KEY; * @date 2022-01-13 */ @Service("businessService") +@Slf4j public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDao, BusinessEntity, Long> implements BusinessService { @Autowired private SiteBusinessService siteBusinessService; @Autowired + private WindowBusinessService windowBusinessService; + @Autowired private SiteService siteService; + @Autowired + private MessageService messageService; + @Override protected void findAfter(BusinessEntity params, PageInfo pageInfo, Context context, List<BusinessEntity> list) throws AppException { @@ -87,21 +101,97 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa .filter(item -> !item.getBusinessName().equals(entity.getName())) .peek(item -> item.setBusinessName(entity.getName())) .collect(Collectors.toList()); - if(!ObjectUtils.isEmpty(siteBusinessEntities)){ - siteBusinessService.update(siteBusinessEntities,context); + if (!ObjectUtils.isEmpty(siteBusinessEntities)) { + siteBusinessService.update(siteBusinessEntities, context); } + + //閫氱煡绗笁鏂瑰钩鍙� + String phpUrl = GlobalSysInfo.getParamValue(PARAM_SERVER_PHP_HTTP_URL, "http://172.15.28.116:8090"); + phpUrl += "/inter/device/baseDataSave"; + BussinessThirdPartyReq bussinessThirdPartyReq = new BussinessThirdPartyReq(); + BeanUtils.copyProperties(entity, bussinessThirdPartyReq, BeanUtil.getNullPropertyNames(entity)); + ApiThirdPartyReq<BussinessThirdPartyReq> apiThirdPartyReq = new ApiThirdPartyReq<>(); + apiThirdPartyReq.setCode(YesNoEnum.YES.getValue()); + apiThirdPartyReq.setType(ThirdPartyTypeEnum.涓氬姟.getValue()); + apiThirdPartyReq.setStatus(ThirdPartyStatusEnum.淇敼.getValue()); + apiThirdPartyReq.setData(bussinessThirdPartyReq); + messageService.sendThirdParty(phpUrl, JSON.toJSONString(apiThirdPartyReq)); super.updateAfter(entity, context); } @Override protected void removeBefore(Long[] ids, Context context) throws AppException { + + Set<Long> idSet = Arrays.asList(ids).stream().collect(Collectors.toSet()); + List<BusinessEntity> businessEntities = this.get(ids, context); //鏈夊瓙鑺傜偣 绂佹鍒犻櫎 + List<BusinessEntity> collect = businessEntities.stream().filter(f -> IsBusinessEnum.涓€绾т笟鍔�.getValue() == f.getIsBusiness()).collect(Collectors.toList()); + if (!ObjectUtils.isEmpty(collect)) { + //鍒犻櫎鑺傜偣鍖呭惈涓€绾ц妭鐐癸紝鏌ヨ鍒犻櫎鐨勫瓙鑺傜偣 鏄惁鍖呭惈鍦ㄦ墍鏈� + for (BusinessEntity businessEntity : collect) { + List<BusinessEntity> childList = this.find(new BusinessQuery().parentId(businessEntity.getId())); + boolean bool = false; + for (BusinessEntity child : childList) { + if (!idSet.contains(child.getId())) { + bool = true; + break; + } + if (bool) { + throw new AppException("鍒犻櫎鐨勭埗涓氬姟瀛樺湪瀛愪笟鍔★紝涓嶈兘鍒犻櫎"); + } + } + } + } + + String phpUrl = GlobalSysInfo.getParamValue(PARAM_SERVER_PHP_HTTP_URL, "http://172.15.28.116:8090"); + phpUrl += "/inter/device/baseDataSave"; + for (BusinessEntity entity : businessEntities) { + BussinessThirdPartyReq bussinessThirdPartyReq = new BussinessThirdPartyReq(); + BeanUtils.copyProperties(entity, bussinessThirdPartyReq, BeanUtil.getNullPropertyNames(entity)); + ApiThirdPartyReq<BussinessThirdPartyReq> apiThirdPartyReq = new ApiThirdPartyReq<>(); + apiThirdPartyReq.setCode(YesNoEnum.YES.getValue()); + apiThirdPartyReq.setType(ThirdPartyTypeEnum.涓氬姟.getValue()); + apiThirdPartyReq.setStatus(ThirdPartyStatusEnum.鍒犻櫎.getValue()); + apiThirdPartyReq.setData(bussinessThirdPartyReq); + messageService.sendThirdParty(phpUrl, JSON.toJSONString(apiThirdPartyReq)); + } + super.removeBefore(ids, context); } + /** + * @param ids + * @param context + * @param result + * @throws AppException + */ + @Override + protected void removeAfter(Long[] ids, Context context, int result) throws AppException { + super.removeAfter(ids, context, result); + if (!ObjectUtils.isEmpty(ids)) { + //绾ц仈鍒犻櫎绐楀彛涓氬姟 + WindowBusinessQuery windowBusinessQuery = new WindowBusinessQuery(); + windowBusinessQuery.setSiteBusinessIdList(Arrays.asList(ids)); + List<WindowBusinessEntity> windowBusinessEntities = windowBusinessService.find(windowBusinessQuery); + log.info("remove windowBusinessEntities size:{}", windowBusinessEntities.size()); + if (!ObjectUtils.isEmpty(windowBusinessEntities)) { + Long[] idList = windowBusinessEntities.stream().map(item -> item.getId()).toArray(Long[]::new); + windowBusinessService.remove(idList, context); + } + SiteBusinessQuery siteBusinessQuery = new SiteBusinessQuery(); + siteBusinessQuery.setBusinessIdList(Arrays.asList(ids)); + List<SiteBusinessEntity> siteBusinessEntities = siteBusinessService.find(siteBusinessQuery); + log.info("remove siteBusinessEntities size:{}", siteBusinessEntities.size()); + if (!ObjectUtils.isEmpty(siteBusinessEntities)) { + Long[] idList = siteBusinessEntities.stream().map(item -> item.getId()).toArray(Long[]::new); + siteBusinessService.remove(idList, context); + } + } + } + @Override public void addBusinessToSite(String businessIds, Long siteId, Context context) { @@ -129,7 +219,7 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa } @Override - public Result<BusinessEntity> flatList(BusinessEntity query,PageInfo pageInfo, Context context) { + public Result<BusinessEntity> flatList(BusinessEntity query, PageInfo pageInfo, Context context) { Result<BusinessEntity> result = this.dao.getList(query, pageInfo); return result; } @@ -138,7 +228,7 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa SiteBusinessEntity siteBusinessEntity = new SiteBusinessEntity(); BeanUtils.copyProperties(item, siteBusinessEntity, BeanUtil.getNullPropertyNames(item)); SiteEntity siteEntity = siteService.get(siteId); - if(ObjectUtils.isEmpty(siteEntity)){ + if (ObjectUtils.isEmpty(siteEntity)) { throw new AppException("鏈壘鍒扮浉搴旂珯鐐癸紒"); } siteBusinessEntity.setSiteId(siteEntity.getId()); @@ -182,6 +272,5 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa System.out.println(JSON.toJSONString(siteBusinessQuery)); - } } \ No newline at end of file -- 2.24.3