diff --git a/base-manager/src/main/java/com/mortals/xhx/module/business/service/BusinessMatterService.java b/base-manager/src/main/java/com/mortals/xhx/module/business/service/BusinessMatterService.java index 2f3ecbeefb858ea0ef651d176bdd042172d4ff96..e68da3d050d78b3220c2fb1adfc0c8ec25c1955a 100644 --- a/base-manager/src/main/java/com/mortals/xhx/module/business/service/BusinessMatterService.java +++ b/base-manager/src/main/java/com/mortals/xhx/module/business/service/BusinessMatterService.java @@ -1,21 +1,25 @@ package com.mortals.xhx.module.business.service; + import com.mortals.framework.model.Context; import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.Result; import com.mortals.framework.service.ICRUDService; +import com.mortals.xhx.module.business.dao.BusinessMatterDao; import com.mortals.xhx.module.business.model.BusinessMatterEntity; import com.mortals.xhx.module.business.model.BusinessMatterQuery; /** -* BusinessMatterService -* -* 涓氬姟浜嬮」鍏宠仈 service鎺ュ彛 -* -* @author zxfei -* @date 2022-01-12 -*/ -public interface BusinessMatterService extends ICRUDService<BusinessMatterEntity,Long>{ + * BusinessMatterService + * <p> + * 涓氬姟浜嬮」鍏宠仈 service鎺ュ彛 + * + * @author zxfei + * @date 2022-01-12 + */ +public interface BusinessMatterService extends ICRUDService<BusinessMatterEntity, Long> { + + BusinessMatterDao getDao(); Result<BusinessMatterEntity> getListByBusiness(BusinessMatterQuery query, PageInfo pageInfo, Context context); diff --git a/base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessMatterServiceImpl.java b/base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessMatterServiceImpl.java index b83d6c9b70252fcc14efcc12f30c7ee7f5d298e3..1ea8e8e81ff99f73a4be59a6e18acfed1a7086c4 100644 --- a/base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessMatterServiceImpl.java +++ b/base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessMatterServiceImpl.java @@ -24,6 +24,20 @@ import java.util.List; public class BusinessMatterServiceImpl extends AbstractCRUDServiceImpl<BusinessMatterDao, BusinessMatterEntity, Long> implements BusinessMatterService { + /** + * @param entity + * @param context + * @throws AppException + */ + @Override + protected void saveBefore(BusinessMatterEntity entity, Context context) throws AppException { + super.saveBefore(entity, context); + int count = this.getDao().getCount(new BusinessMatterQuery().siteBusinessId(entity.getSiteBusinessId()).matterId(entity.getMatterId())); + if(count>0){ + throw new AppException("褰撳墠涓氬姟浜嬮」宸插瓨鍦紝涓嶈兘鏂板"); + } + } + /** * @param list * @param context diff --git a/base-manager/src/main/java/com/mortals/xhx/module/business/web/BusinessMatterController.java b/base-manager/src/main/java/com/mortals/xhx/module/business/web/BusinessMatterController.java index e3b6df5a26f54259cfa4710626a6d10a02a2a498..88918e48821e545ed0e8783b2cd5c2bdce898cfd 100644 --- a/base-manager/src/main/java/com/mortals/xhx/module/business/web/BusinessMatterController.java +++ b/base-manager/src/main/java/com/mortals/xhx/module/business/web/BusinessMatterController.java @@ -1,6 +1,7 @@ package com.mortals.xhx.module.business.web; import com.alibaba.fastjson.JSONObject; +import com.mortals.framework.exception.AppException; import com.mortals.framework.model.Context; import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.Result; @@ -18,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; +import java.util.Iterator; +import java.util.List; import java.util.Map; import static com.mortals.framework.ap.SysConstains.*; @@ -119,5 +122,23 @@ public class BusinessMatterController extends BaseCRUDJsonBodyMappingController< } - + /** + * @param list + * @param model + * @param context + * @throws AppException + */ + @Override + protected void batchSaveBefore(List<BusinessMatterEntity> list, Map<String, Object> model, Context context) throws AppException { + //鎵归噺鏍¢獙鍒楄〃 濡傛灉瀛樺湪 鍒欏墧闄� + Iterator<BusinessMatterEntity> iterator = list.iterator(); + while (iterator.hasNext()) { + BusinessMatterEntity next = iterator.next(); + int count = this.service.getDao().getCount(new BusinessMatterQuery().siteBusinessId(next.getSiteBusinessId()).matterId(next.getMatterId())); + if(count>0){ + iterator.remove(); + } + } + super.batchSaveBefore(list, model, context); + } } \ No newline at end of file diff --git a/base-manager/src/test/java/com/mortals/httpclient/business/BusinessMatterController.http b/base-manager/src/test/java/com/mortals/httpclient/business/BusinessMatterController.http index d2b743a3b64eb7cb67f18d98b0e99d254356c54e..25c7fb6d7a68f6f8ff54a6e16586b359110916aa 100644 --- a/base-manager/src/test/java/com/mortals/httpclient/business/BusinessMatterController.http +++ b/base-manager/src/test/java/com/mortals/httpclient/business/BusinessMatterController.http @@ -29,14 +29,15 @@ Content-Type: application/json ###涓氬姟浜嬮」鍏宠仈鏇存柊涓庝繚瀛� POST {{baseUrl}}/business/matter/save +Authorization: {{authToken}} Content-Type: application/json { - "siteId":9255, + "siteId":1, "siteName":"w19oxc", - "siteBusinessId":7038, + "siteBusinessId":11, "siteBusinessName":"ujaud2", - "matterId":3913, + "matterId":34034, "matterName":"iajw6p" }