From 7951fd5bee53d163a5a5b01755d6993b6005c8f4 Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 10 Dec 2024 11:06:57 +0800 Subject: [PATCH] =?UTF-8?q?feat(goods):=20=E6=A8=A1=E6=9D=BF=E5=8F=AF?= =?UTF-8?q?=E8=A7=81=E8=8C=83=E5=9B=B4=E6=8B=A6=E6=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serve/controller/util/SyKeyLoginUtil.java | 3 +- .../my/BazMyVisitInstanceController.java | 3 +- .../bms/controller/BmsSupplierController.java | 17 ++ .../my/BmsChannelPointMyController.java | 2 + .../serve/modules/bms/entity/BmsSupplier.java | 12 ++ .../service/impl/BmsSupplierServiceImpl.java | 2 +- .../oms/controller/api/OmsOrderApi.java | 43 ++-- .../modules/oms/entity/bo/OmsOrderSkuBo.java | 4 +- .../modules/seeyon/SeeYonController.java | 5 - .../TbsCostApplyCheckController.java | 16 ++ .../tbs/service/TbsCostApplyService.java | 18 ++ .../service/impl/TbsCostApplyServiceImpl.java | 190 ++++++++++++++++-- src/main/resources/application-dev.yml | 6 +- src/main/resources/application.yml | 3 +- 14 files changed, 280 insertions(+), 44 deletions(-) diff --git a/src/main/java/com/qs/serve/controller/util/SyKeyLoginUtil.java b/src/main/java/com/qs/serve/controller/util/SyKeyLoginUtil.java index 6489ce23..ac914a41 100644 --- a/src/main/java/com/qs/serve/controller/util/SyKeyLoginUtil.java +++ b/src/main/java/com/qs/serve/controller/util/SyKeyLoginUtil.java @@ -73,8 +73,7 @@ public class SyKeyLoginUtil { +"&approvalId=0"; } if(templateCode.equals(TbsSeeYonConst.PolicyConf.Code())){ - return "my-policy-application-approval-approved-detail?policyApplicationId=" + targetId + - "&approvalId=0"; + return "my-channel-discount-policy-application-approval-pending-detail?channelDiscountPolicyApplicationId="+targetId+"&approvalId=0"; } return "404"; } diff --git a/src/main/java/com/qs/serve/modules/baz/controller/my/BazMyVisitInstanceController.java b/src/main/java/com/qs/serve/modules/baz/controller/my/BazMyVisitInstanceController.java index 208c1afc..e7ffd66d 100644 --- a/src/main/java/com/qs/serve/modules/baz/controller/my/BazMyVisitInstanceController.java +++ b/src/main/java/com/qs/serve/modules/baz/controller/my/BazMyVisitInstanceController.java @@ -131,8 +131,9 @@ public class BazMyVisitInstanceController { if(userIds.size()<1){ return R.ok(); } + String userId = AuthContextUtils.getSysUserId(); - PageUtil.startPage(); + //PageUtil.startPage(); query.setQueryUserIds(userIds); query.setIgnoreUserId(userId); List list = bazVisitInstanceService.selectBazVisitInstanceList(query); diff --git a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java index 7e11e095..71b55828 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java @@ -37,8 +37,11 @@ import com.qs.serve.modules.sys.service.SysAttachService; import com.qs.serve.modules.sys.service.SysPostUserService; import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsCenterType; +import com.qs.serve.modules.tbs.entity.TbsActivityTemplate; import com.qs.serve.modules.tbs.entity.TbsBudget; +import com.qs.serve.modules.tbs.service.TbsActivityTemplateService; import com.qs.serve.modules.tbs.service.TbsBudgetService; +import com.qs.serve.modules.tbs.service.TbsCostApplyService; import lombok.AllArgsConstructor; import lombok.Data; import lombok.extern.slf4j.Slf4j; @@ -62,6 +65,7 @@ import java.util.stream.Collectors; @RequestMapping("bms/supplier") public class BmsSupplierController { + private TbsActivityTemplateService tbsActivityTemplateService; private BmsSupplierService bmsSupplierService; private BmsSupplierComRegionMapper supplierComRegionMapper; private BmsSupplierAddressService bmsSupplierAddressService; @@ -81,6 +85,7 @@ public class BmsSupplierController { private BirBudgetTargetService birBudgetTargetService; private HisUserSupplierServiceImpl hisUserSupplierServiceImpl; private BmsSupplierMapper supplierMapper; + private TbsCostApplyService tbsCostApplyService; /** @@ -173,6 +178,18 @@ public class BmsSupplierController { List list = bmsSupplierService.selectSupplierList(param); initSupplierList(list); initParentList(list); + //拦截活动模板不可选的客户 + if(param.getActivityTemplateId()!=null){ + TbsActivityTemplate template = tbsActivityTemplateService.getById(param.getActivityTemplateId()); + if(template!=null && list.size()>0){ + List supplierIds = tbsCostApplyService.checkTemplateId(list,template); + for (BmsSupplier supplier : list) { + if(supplierIds.stream().noneMatch(a->a.equals(supplier.getId()))){ + supplier.setDisableFlag(1); + } + } + } + } return R.byPageHelperList(list); } diff --git a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java index 8451df93..68478f8a 100644 --- a/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java +++ b/src/main/java/com/qs/serve/modules/bms/controller/my/BmsChannelPointMyController.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.bms.controller.my; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.qs.serve.common.model.annotation.LimitSubmit; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.model.dto.R; @@ -221,6 +222,7 @@ public class BmsChannelPointMyController { * @param param * @return */ + @LimitSubmit(interval = 60000) @GetMapping("/page4Under") public R> getPage4Under(BmsChannelPoint param){ String loginUserId = AuthContextUtils.getSysUserId(); diff --git a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java index e1e9f9fc..24940559 100644 --- a/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java +++ b/src/main/java/com/qs/serve/modules/bms/entity/BmsSupplier.java @@ -391,6 +391,18 @@ public class BmsSupplier implements Serializable { @TableField(exist = false) List tagQueryList; + /** + * 过滤活动模板的可选范围时必传 + */ + @TableField(exist = false) + private Long activityTemplateId; + + /** + * 根据activityTemplateId更新值 + */ + @TableField(exist = false) + private Integer disableFlag = 0; + /** * 对应是supplierFlag */ diff --git a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java index 638f6dcb..925fea9e 100644 --- a/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bms/service/impl/BmsSupplierServiceImpl.java @@ -150,7 +150,7 @@ public class BmsSupplierServiceImpl extends ServiceImpl lqw = new LambdaQueryWrapper<>(); lqw.eq(BmsSupplier::getName,value).or().eq(BmsSupplier::getCode,value); - return this.getOne(lqw,true); + return this.getOne(lqw,false); } @Override diff --git a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java index 2088e783..a219267e 100644 --- a/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java +++ b/src/main/java/com/qs/serve/modules/oms/controller/api/OmsOrderApi.java @@ -43,9 +43,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -179,7 +177,7 @@ public class OmsOrderApi { Assert.throwEx("审批状态不支持取消操作"); } } - omsOrderService.checkMsOrderStatus(omsOrder); + //omsOrderService.checkMsOrderStatus(omsOrder); if(omsOrder.getStatus().equals(0)||omsOrder.getStatus().equals(1)){ //去执行取消 omsOrderService.cancelOrder(omsOrder.getOrderSn()); @@ -302,20 +300,33 @@ public class OmsOrderApi { orderWrapper.in(OmsOrder::getUserId,userIds); orderWrapper.orderByDesc(OmsOrder::getId); List list = omsOrderService.list(orderWrapper); - for (OmsOrder order : list) { - omsOrderService.checkMsOrderStatus(order); - BmsSupplierAddress supplierAddress = bmsSupplierAddressService.getById(order.getSupplierAddrId()); - order.setAddressInfo(supplierAddress); - SysUser sysUser = sysUserService.getById(order.getCheckUserId()); - if(sysUser!=null){ - order.setCheckUserInfo(sysUser.toSysUserVo()); - } - LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); - lqw.eq(OmsOrderItem::getOrderId,order.getId()); - List items = omsOrderItemService.list(lqw); - order.setOrderItems(items); + Set addrIds = list.stream().map(OmsOrder::getSupplierAddrId).filter(Objects::nonNull).collect(Collectors.toSet()); + List supplierAddressList = bmsSupplierAddressService.listByIds(addrIds); + + Set checkUserIds = list.stream().map(OmsOrder::getCheckUserId).filter(Objects::nonNull).collect(Collectors.toSet()); + List sysUsers = sysUserService.listByIds(checkUserIds); + Set orderIds = list.stream().map(OmsOrder::getId).filter(Objects::nonNull).collect(Collectors.toSet()); + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.in(OmsOrderItem::getOrderId,orderIds); + List items = omsOrderItemService.list(lqw); + Map> orderItemMap = items.stream().collect(Collectors.groupingBy(OmsOrderItem::getOrderId)); + for (OmsOrder order : list) { + if(order.getSupplierAddrId()!=null){ + for (BmsSupplierAddress address : supplierAddressList) { + if(order.getSupplierAddrId().equals(address.getId())){ + order.setAddressInfo(address); + } + } + } + for (SysUser sysUser : sysUsers) { + if(sysUser.getId().equals(order.getCheckUserId())){ + order.setCheckUserInfo(sysUser.toSysUserVo()); + break; + } + } + order.setOrderItems(orderItemMap.get(order.getId())); } return R.byPageHelperList(list); } diff --git a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderSkuBo.java b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderSkuBo.java index 3865ed77..aac164bb 100644 --- a/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderSkuBo.java +++ b/src/main/java/com/qs/serve/modules/oms/entity/bo/OmsOrderSkuBo.java @@ -33,7 +33,7 @@ public class OmsOrderSkuBo { /** 立刻下单标识 */ private Integer instantFlag; - + /** CD单据备注 */ private String cdOrderRemark; @@ -48,7 +48,7 @@ public class OmsOrderSkuBo { private Long skuId; - private Long skuCode; + private String skuCode; /** 数量 */ private Integer qty; diff --git a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java index c59c9489..368e76d7 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java +++ b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java @@ -167,11 +167,6 @@ public class SeeYonController { String fontUrl = "/#/jump?code=001&token="+token+"&jumpTo="+jumpUrl; //String fontUrl = projectProperties.getWebUrl() + "/#/jump?code=001&token="+token+"&jumpTo="+jumpUrl; log.warn("fontUrl:{}",fontUrl); - /*try { - response.sendRedirect(fontUrl); - } catch (IOException e) { - e.printStackTrace(); - }*/ return R.ok(fontUrl,"ok"); } diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java index a34a76e1..b1f5fd81 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java @@ -55,8 +55,10 @@ import java.util.stream.Collectors; @RequestMapping("tbs/costApply") public class TbsCostApplyCheckController { + private BmsSupplierService bmsSupplierService; private TbsCostApplyService tbsCostApplyService; private TbsCostApplyOperationServiceImpl tbsCostApplyOperationServiceImpl; + private TbsActivityTemplateService tbsActivityTemplateService; private TbsActivityService activityService; private TbsBudgetManagerService budgetManagerService; @@ -83,6 +85,20 @@ public class TbsCostApplyCheckController { return R.ok(data); } + /** + * 核对客户可用费用模板 + * @param supplierId + * @param templateId + * @return + */ + @GetMapping("/checkTemplate") + public R checkTemplate(String supplierId,String templateId){ + BmsSupplier supplier = bmsSupplierService.getById(supplierId); + TbsActivityTemplate template = tbsActivityTemplateService.getById(templateId); + boolean rs = tbsCostApplyService.checkTemplateId(supplier,template); + return R.isTrue(rs); + } + /** * 提交费用申请 * @param id diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java index 46038044..db0fa0d4 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.common.model.dto.R; import com.qs.serve.modules.bms.entity.BmsApplyMessage; +import com.qs.serve.modules.bms.entity.BmsSupplier; +import com.qs.serve.modules.tbs.entity.TbsActivityTemplate; import com.qs.serve.modules.tbs.entity.TbsCostApply; import org.apache.ibatis.annotations.Param; @@ -57,6 +59,22 @@ public interface TbsCostApplyService extends IService { */ void commitApply(String id); + /** + * 校验模板是否正确 + * @param supplier + * @param template + * @return 是否正确 + */ + boolean checkTemplateId(BmsSupplier supplier, TbsActivityTemplate template); + + /** + * 批量关了客户校验后,可用的模板结果 + * @param supplier + * @param template + * @return 可用的客户id + */ + List checkTemplateId(List supplier, TbsActivityTemplate template); + /** * 事故修复方法,替换原来的审批流程(仅支持无核销的审批) * @param id diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index 0a510043..fa067920 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.tbs.service.impl; +import cn.hutool.core.collection.CollUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -34,11 +35,17 @@ import com.qs.serve.modules.bms.mapper.BmsApplyMessageMapper; import com.qs.serve.modules.bms.mapper.BmsRegion2Mapper; import com.qs.serve.modules.bms.mapper.BmsRegionMapper; import com.qs.serve.modules.bms.mapper.BmsSupplierTargetMapper; +import com.qs.serve.modules.bms.service.BmsSubjectRegionService; import com.qs.serve.modules.bms.service.BmsSubjectService; import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.erp.entity.dto.ErpDispatchSumVo; import com.qs.serve.modules.erp.mapper.ErpDispatchDataMapper; import com.qs.serve.modules.goods.common.GoodsType; +import com.qs.serve.modules.goods.entity.GoodsCategory; +import com.qs.serve.modules.goods.entity.GoodsSpu; +import com.qs.serve.modules.goods.mapper.GoodsCategoryMapper; +import com.qs.serve.modules.goods.mapper.GoodsSkuMapper; +import com.qs.serve.modules.goods.mapper.GoodsSpuMapper; import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo; import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; import com.qs.serve.modules.seeyon.service.SeeYonRequestService; @@ -95,6 +102,8 @@ public class TbsCostApplyServiceImpl extends ServiceImpl regionList = tbsActivityTemplateRegionMapper.selectList( + new LambdaQueryWrapper() + .eq(TbsActivityTemplateRegion::getTemplateId,templateId)); + List bizRegionIds = supplier.listBizRegionIds(); + List saleRegionIds = supplier.listSaleRegionIds(); + boolean isPass = false; + for (TbsActivityTemplateRegion templateRegion : regionList) { + if(templateRegion.getType().equals("sale")&&template.getSaleRegionFlag().equals(1)){ + if(saleRegionIds.contains(templateRegion.getRegionId())){ + isPass = true; + break; + } + } + if (templateRegion.getType().equals("biz")&&template.getBizRegionFlag().equals(1)){ + if(bizRegionIds.contains(templateRegion.getRegionId())){ + isPass = true; + break; + } + } + } + if(!isPass){ + return false; + } + } + return true; + } + + @Override + public List checkTemplateId(List supplierList, TbsActivityTemplate template) { + Long templateId = template.getId(); + boolean isIgnore = template.getSaleRegionFlag().equals(0)&&template.getBizRegionFlag().equals(0); + boolean isStop = template.getSaleRegionFlag().equals(2)&&template.getBizRegionFlag().equals(2); + if(isStop){ + return new ArrayList<>(); + } + if(! isIgnore){ + List regionList = tbsActivityTemplateRegionMapper.selectList( + new LambdaQueryWrapper() + .eq(TbsActivityTemplateRegion::getTemplateId,templateId)); + List passSupplierIdList = new ArrayList<>(); + for (BmsSupplier supplier : supplierList) { + List bizRegionIds = supplier.listBizRegionIds(); + List saleRegionIds = supplier.listSaleRegionIds(); + boolean isPass = false; + for (TbsActivityTemplateRegion templateRegion : regionList) { + if(templateRegion.getType().equals("sale")&&template.getSaleRegionFlag().equals(1)){ + if(saleRegionIds.contains(templateRegion.getRegionId())){ + passSupplierIdList.add(supplier.getId()); + break; + } + } + if (templateRegion.getType().equals("biz")&&template.getBizRegionFlag().equals(1)){ + if(bizRegionIds.contains(templateRegion.getRegionId())){ + passSupplierIdList.add(supplier.getId()); + break; + } + } + } + } + return passSupplierIdList; + } + return supplierList.stream().map(BmsSupplier::getId).collect(Collectors.toList()); + } + @Override @Transactional(rollbackFor = Exception.class) public void commitApply(String id) { TbsCostApply tbsCostApply = this.getById(id); redisService.throwResLock(TbsCostApply.class.getSimpleName(),id); - seeYonService.testConnection(); + + BmsSupplier supplier = bmsSupplierService.getById(tbsCostApply.getSupplierId()); + if(supplier.getCostFlag().equals(0)||supplier.getStopFlag().equals(1)){ + Assert.throwEx("["+supplier.getName()+"]无投放费用权限"); + } + + // 商品拦截 + List activityCenterGoodsList = tbsActivityGoodsService.listByCostApplyId(Long.parseLong(id)); + this.validActivityGoods(activityCenterGoodsList); + if(!tbsCostApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode()) &&!tbsCostApply.getChargeState().equals(TbsCostApplyState.State_4_refused.getCode())){ Assert.throwEx("操作失败,申请费用状态不支持"); @@ -556,19 +652,52 @@ public class TbsCostApplyServiceImpl extends ServiceImpl activitySubjects = tbsActivitySubjectService.listByCostApplyId(tbsCostApply.getId()); + List subjectList = subjectService.listByIds( + activitySubjects.stream().map(TbsActivitySubject::getSubjectId).collect(Collectors.toList())); if(tbsCostApply.getContractFlag()!=null&&tbsCostApply.getContractFlag().equals(2)){ if (activityList.size()>1){ Assert.throwEx("进场费类型只能有一个活动"); } - List activitySubjects = tbsActivitySubjectService.listByCostApplyId(tbsCostApply.getId()); - List subjectIds = activitySubjects.stream().map(TbsActivitySubject::getSubjectId).collect(Collectors.toList()); - LambdaQueryWrapper subjectLqw = new LambdaQueryWrapper<>(); - subjectLqw.in(BmsSubject::getId,subjectIds); - subjectLqw.eq(BmsSubject::getSlottingFlag,0); - long count = subjectService.count(subjectLqw); - if(count>0){ - Assert.throwEx("改申请含非进场费类型科目"); + if(subjectList.stream().anyMatch(s->s.getSlottingFlag().equals(0))){ + Assert.throwEx("当前申请含非进场费类型科目"); + } + } + //模板拦截 + boolean isIgnoreSubject = false; + if(activityList.size()==1){ + Long templateId = activityList.get(0).getTemplateId(); + if (templateId!=null){ + // 模板不拦截科目范围 + isIgnoreSubject = true; + // 拦截模板的可见范围 + TbsActivityTemplate activityTemplate = tbsActivityTemplateService.getById(tbsCostApply.getTemplateId()); + boolean isPass = this.checkTemplateId(supplier,activityTemplate); + if(!isPass){ + Assert.throwEx("当前申请模板不可用"); + } + } + } + // 使用模板的忽略科目拦截 + if(!isIgnoreSubject){ + List subjectBizRegionList = bmsSubjectRegionService.listByRegionIds(supplier.listBizRegionIds(),1); + List subjectSaleRegionList = bmsSubjectRegionService.listByRegionIds(supplier.listSaleRegionIds(),0); + for (BmsSubject subject : subjectList) { + if(subject.getBizRegionFlag().equals(0)&&subject.getSaleRegionFlag().equals(0)){ + continue; + } + if(subject.getBizRegionFlag().equals(1)){ + if(subjectBizRegionList.stream().anyMatch(s->s.getSubjectId().equals(subject.getId()))){ + continue; + } + } + if(subject.getSaleRegionFlag().equals(1)){ + if(subjectSaleRegionList.stream().anyMatch(s->s.getSubjectId().equals(subject.getId()))){ + continue; + } + } + Assert.throwEx("当前申请含非业务区域科目:"+subject.getSubjectCode()); } } @@ -605,7 +734,6 @@ public class TbsCostApplyServiceImpl extends ServiceImpl activityCenterGoodsList) { + List spuGoods = activityCenterGoodsList.stream() + .filter(a->a.getTargetType().equals("spu")).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(spuGoods)){ + List spuIds = spuGoods.stream().map(TbsActivityGoods::getTargetId).collect(Collectors.toList()); + List skuList = goodsSpuMapper.selectBatchIds(spuIds); + for (GoodsSpu spu : skuList) { + if(spu.getShelf().equals(0)){ + Assert.throwEx("【"+spu.getName()+"】已下架,请重新选择"); + } + if(spu.getCostFlag().equals(0)){ + Assert.throwEx("【"+spu.getName()+"】未启用费用,请重新选择"); + } + } + } + List cateGoods = activityCenterGoodsList.stream() + .filter(a->!a.getTargetType().equals("spu")).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(cateGoods)){ + List cateIds = cateGoods.stream().map(TbsActivityGoods::getTargetId).collect(Collectors.toList()); + List cateList = goodsCategoryMapper.selectBatchIds(cateIds); + for (GoodsCategory cate : cateList) { + if(cate.getCostFlag().equals(0)){ + Assert.throwEx("【"+cate.getName()+"】未启用费用,请重新选择"); + } + if(cate.getEnable().equals(0)){ + Assert.throwEx("【"+cate.getName()+"】已下架,请重新选择"); + } + } + } + } + /** * 创建协议类的申请DATA * @param id diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 6ec63fef..31a47c61 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -83,9 +83,10 @@ spring: datasource: crm_db: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://192.168.0.9:3306/jsl_mall_qs_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true + url: jdbc:mysql://192.168.0.9:3306/jsl_mall_qs_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true username: kpjsl password: 123456 + qisheng: url: jdbc:sqlserver://192.168.10.11:1433;DatabaseName=JSL_COST_QS username: sa @@ -108,6 +109,9 @@ spring: # 数据库连接超时时间,默认30秒,即30000 connection-timeout: 30000 connection-test-query: SELECT 1 + validation-timeout: 1 + login-timeout: 5 + redis: database: 1 host: 127.0.0.1 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 0dd7005e..88612de6 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -30,6 +30,7 @@ project: - /portal/flushToken #第三方接口 - /common/upload #支持API上传调整 - /common/validToken #验证token + - /sys/attach/listByIds/** - /api/** - /static/** - /web/** @@ -58,7 +59,7 @@ logging: level: ROOT: info com.qs.serve: debug - #com.qs.serve.modules.his: info + com.qs.serve.modules.his: info com.qs.serve.modules.sys: info com.qs.serve.modules.tag: info org.xnio.nio: info