From 2039385fa4b4ac688907134ee7c7025fb2aea1fb Mon Sep 17 00:00:00 2001 From: whywhyo <1511349576@qq.com> Date: 星期日, 16 七月 2023 12:59:17 +0800 Subject: [PATCH] 666 --- zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java | 542 +++++++++++++++++++++++++++++++++++------------------ 1 files changed, 353 insertions(+), 189 deletions(-) diff --git a/zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java b/zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java index a684a63..4015611 100644 --- a/zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java +++ b/zhang-content/src/main/java/com/ruoyi/service/impl/IZfPropertyServiceImpl.java @@ -10,12 +10,11 @@ import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.domain.ZInfoUser; -import com.ruoyi.domain.ZfEquipment; -import com.ruoyi.domain.ZfEvent; -import com.ruoyi.domain.ZfProperty; +import com.ruoyi.constant.MenuAuthority; +import com.ruoyi.domain.*; import com.ruoyi.mapper.ZfPropertyMapper; import com.ruoyi.service.IZfPropertyService; +import com.ruoyi.service.ZAuthorityService; import com.ruoyi.service.ZInfoUserService; import com.ruoyi.util.ArraysUtil; import lombok.extern.slf4j.Slf4j; @@ -29,7 +28,7 @@ import java.util.*; import java.util.stream.Collectors; -import static com.ruoyi.constant.MenuAuthority.PROPERTY_LIST; +import static com.ruoyi.constant.MenuAuthority.*; /** @@ -47,8 +46,25 @@ @Resource ZInfoUserService zInfoUserService; + @Resource + ZAuthorityService zAuthorityService; - private LambdaQueryWrapper<ZfProperty> buildCondition(ZfProperty zfProperty) { + +// private LambdaQueryWrapper<ZfProperty> buildCondition(ZfProperty zfProperty) { +// LambdaQueryWrapper<ZfProperty> lqw = new LambdaQueryWrapper<>(); +// +// lqw.like(!StringUtils.isEmpty(zfProperty.getType()), ZfProperty::getType, zfProperty.getType()) +// .like(!StringUtils.isEmpty(zfProperty.getTitle()), ZfProperty::getTitle, zfProperty.getTitle()) +// .like(!StringUtils.isEmpty(zfProperty.getLocation()), ZfProperty::getLocation, zfProperty.getLocation()) +// .like(!StringUtils.isEmpty(zfProperty.getHolder()), ZfProperty::getHolder, zfProperty.getHolder()) +// .like(!StringUtils.isEmpty(zfProperty.getAddress()), ZfProperty::getAddress, zfProperty.getAddress()) +// .like(!StringUtils.isEmpty(zfProperty.getRemark()), ZfProperty::getRemark, zfProperty.getRemark()) +// .eq(zfProperty.getHappenTime()!=null,ZfProperty::getHappenTime,zfProperty.getHappenTime()) +// .between(zfProperty.getHappenStartTime() != null && zfProperty.getHappenEndTime() != null, ZfProperty::getHappenTime, zfProperty.getHappenStartTime(), zfProperty.getHappenEndTime()); +// return lqw; +// } + + private LambdaQueryWrapper<ZfProperty> buildCondition(ZfProperty zfProperty,List<Long> familyIdList){ LambdaQueryWrapper<ZfProperty> lqw = new LambdaQueryWrapper<>(); lqw.like(!StringUtils.isEmpty(zfProperty.getType()), ZfProperty::getType, zfProperty.getType()) @@ -57,175 +73,209 @@ .like(!StringUtils.isEmpty(zfProperty.getHolder()), ZfProperty::getHolder, zfProperty.getHolder()) .like(!StringUtils.isEmpty(zfProperty.getAddress()), ZfProperty::getAddress, zfProperty.getAddress()) .like(!StringUtils.isEmpty(zfProperty.getRemark()), ZfProperty::getRemark, zfProperty.getRemark()) + .eq(zfProperty.getFamilyId()!=null,ZfProperty::getFamilyId,zfProperty.getFamilyId()) + .in(ZfProperty::getFamilyId,familyIdList) .eq(zfProperty.getHappenTime()!=null,ZfProperty::getHappenTime,zfProperty.getHappenTime()) .between(zfProperty.getHappenStartTime() != null && zfProperty.getHappenEndTime() != null, ZfProperty::getHappenTime, zfProperty.getHappenStartTime(), zfProperty.getHappenEndTime()); - return lqw; - } - - private LambdaQueryWrapper<ZfProperty> buildCondition(ZfProperty zfProperty, String familyIds, String secondFamilyAuthority) { - //妯$硦鏌ヨ鐨勬潯浠� - LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty); - - //瀹氫箟涓�涓竷灏旀爣璁帮紝鏍囪绗竴瀹跺涵鍙锋槸鍚︽湁閫楀彿 - boolean flag = false; - - StringBuilder secondFamilyIdsBuffer = new StringBuilder(); - - //澶勭悊浼犲叆鐨剆econdFamilyAuthority 3{2007 2018 2015},4{2007 2019} - - if (StringUtils.isNotEmpty(secondFamilyAuthority)) { - - if (secondFamilyAuthority.contains(",")) { - //閫楀彿闅斿紑寰楀埌濡備笅涓诧細3{2007 2018 2015} - String[] authorityList = secondFamilyAuthority.split(","); - for (String authorityAndId : authorityList) { - setSecondFamilyAuthority(secondFamilyIdsBuffer, authorityAndId); - } - - //鎶婂悗闈㈢殑閫楀彿鍘绘帀 - if (secondFamilyIdsBuffer.length() > 1) { - secondFamilyIdsBuffer.deleteCharAt(secondFamilyIdsBuffer.length() - 1); - } - - } else { - setSecondFamilyAuthority(secondFamilyIdsBuffer, secondFamilyAuthority); - //鎶婂悗闈㈢殑閫楀彿鍘绘帀 - if (secondFamilyIdsBuffer.length() > 1) { - secondFamilyIdsBuffer.deleteCharAt(secondFamilyIdsBuffer.length() - 1); - } - } - } - //灏哠tringBuffer杞垚String - String secondFamilyIds = secondFamilyIdsBuffer.toString(); - - //绗竴瀹跺涵鍙风殑鏉′欢 - if (familyIds.contains(",")) { - flag = true; - } - - //绗簩瀹跺涵鍙风殑鏉′欢 - if (StringUtils.isNotEmpty(secondFamilyIds)) { - if (secondFamilyIds.contains(",")) { - String[] secondFamilyIdList = secondFamilyIds.split(","); - if (flag) { - //濡傛灉绗竴瀹跺涵鍙峰拰绗簩瀹跺涵鍙烽兘鏈夐�楀彿 - String[] familyList = familyIds.split(","); - String[] totalFamilyIdList = ArraysUtil.appendToArray(familyList, secondFamilyIdList); - lqw.in(ZfProperty::getFamilyId, totalFamilyIdList); - } else { - //濡傛灉绗竴瀹跺涵鍙锋病鏈夐�楀彿浣嗘槸绗簩瀹跺涵鍙锋湁閫楀彿 - String[] totalFamilyIdList = ArraysUtil.appendToArray(secondFamilyIdList, familyIds); - lqw.in(ZfProperty::getFamilyId, totalFamilyIdList); - } - - } else { - if (flag) { - //濡傛灉绗竴瀹跺涵鍙锋湁閫楀彿浣嗙浜屽搴彿娌℃湁閫楀彿 - String[] familyList = familyIds.split(","); - String[] totalFamilyIdList = ArraysUtil.appendToArray(familyList, secondFamilyIds); - lqw.in(ZfProperty::getFamilyId, totalFamilyIdList); - } else { - //濡傛灉绗竴瀹跺涵鍙峰拰绗簩瀹跺涵鍙烽兘娌℃湁閫楀彿 - String[] totalFamilyIdList = ArraysUtil.appendToArray(familyIds, secondFamilyIds); - lqw.in(ZfProperty::getFamilyId, totalFamilyIdList); - } - } - } else { - //濡傛灉娌℃湁绗簩瀹跺涵鍙� - if (flag) { - String[] familyList = familyIds.split(","); - lqw.in(ZfProperty::getFamilyId, familyList); - } else { - lqw.eq(ZfProperty::getFamilyId, familyIds); - } - - } lqw.orderByDesc(ZfProperty::getCreateTime); return lqw; + } - private void setSecondFamilyAuthority(StringBuilder secondFamilyIdsBuffer, String authorityAndId) { - //寰楀埌鏉冮檺涓� - String authorities = authorityAndId.substring(2, authorityAndId.length() - 1); +// private LambdaQueryWrapper<ZfProperty> buildCondition(ZfProperty zfProperty, String familyIds, String secondFamilyAuthority) { +// //妯$硦鏌ヨ鐨勬潯浠� +// LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty); +// +// //瀹氫箟涓�涓竷灏旀爣璁帮紝鏍囪绗竴瀹跺涵鍙锋槸鍚︽湁閫楀彿 +// boolean flag = false; +// +// StringBuilder secondFamilyIdsBuffer = new StringBuilder(); +// +// //澶勭悊浼犲叆鐨剆econdFamilyAuthority 3{2007 2018 2015},4{2007 2019} +// +// if (StringUtils.isNotEmpty(secondFamilyAuthority)) { +// +// if (secondFamilyAuthority.contains(",")) { +// //閫楀彿闅斿紑寰楀埌濡備笅涓诧細3{2007 2018 2015} +// String[] authorityList = secondFamilyAuthority.split(","); +// for (String authorityAndId : authorityList) { +// setSecondFamilyAuthority(secondFamilyIdsBuffer, authorityAndId); +// } +// +// //鎶婂悗闈㈢殑閫楀彿鍘绘帀 +// if (secondFamilyIdsBuffer.length() > 1) { +// secondFamilyIdsBuffer.deleteCharAt(secondFamilyIdsBuffer.length() - 1); +// } +// +// } else { +// setSecondFamilyAuthority(secondFamilyIdsBuffer, secondFamilyAuthority); +// //鎶婂悗闈㈢殑閫楀彿鍘绘帀 +// if (secondFamilyIdsBuffer.length() > 1) { +// secondFamilyIdsBuffer.deleteCharAt(secondFamilyIdsBuffer.length() - 1); +// } +// } +// } +// //灏哠tringBuffer杞垚String +// String secondFamilyIds = secondFamilyIdsBuffer.toString(); +// +// //绗竴瀹跺涵鍙风殑鏉′欢 +// if (familyIds.contains(",")) { +// flag = true; +// } +// +// //绗簩瀹跺涵鍙风殑鏉′欢 +// if (StringUtils.isNotEmpty(secondFamilyIds)) { +// if (secondFamilyIds.contains(",")) { +// String[] secondFamilyIdList = secondFamilyIds.split(","); +// if (flag) { +// //濡傛灉绗竴瀹跺涵鍙峰拰绗簩瀹跺涵鍙烽兘鏈夐�楀彿 +// String[] familyList = familyIds.split(","); +// String[] totalFamilyIdList = ArraysUtil.appendToArray(familyList, secondFamilyIdList); +// lqw.in(ZfProperty::getFamilyId, totalFamilyIdList); +// } else { +// //濡傛灉绗竴瀹跺涵鍙锋病鏈夐�楀彿浣嗘槸绗簩瀹跺涵鍙锋湁閫楀彿 +// String[] totalFamilyIdList = ArraysUtil.appendToArray(secondFamilyIdList, familyIds); +// lqw.in(ZfProperty::getFamilyId, totalFamilyIdList); +// } +// +// } else { +// if (flag) { +// //濡傛灉绗竴瀹跺涵鍙锋湁閫楀彿浣嗙浜屽搴彿娌℃湁閫楀彿 +// String[] familyList = familyIds.split(","); +// String[] totalFamilyIdList = ArraysUtil.appendToArray(familyList, secondFamilyIds); +// lqw.in(ZfProperty::getFamilyId, totalFamilyIdList); +// } else { +// //濡傛灉绗竴瀹跺涵鍙峰拰绗簩瀹跺涵鍙烽兘娌℃湁閫楀彿 +// String[] totalFamilyIdList = ArraysUtil.appendToArray(familyIds, secondFamilyIds); +// lqw.in(ZfProperty::getFamilyId, totalFamilyIdList); +// } +// } +// } else { +// //濡傛灉娌℃湁绗簩瀹跺涵鍙� +// if (flag) { +// String[] familyList = familyIds.split(","); +// lqw.in(ZfProperty::getFamilyId, familyList); +// } else { +// lqw.eq(ZfProperty::getFamilyId, familyIds); +// } +// +// } +// +// lqw.orderByDesc(ZfProperty::getCreateTime); +// return lqw; +// } - if (authorities.contains(" ")) { - //绌烘牸闅斿紑寰楀埌鑿滃崟id锛岀湅鏄惁鏈夊搴旂殑鏉冮檺 - String[] authorityIdList = authorities.split(" "); - for (String s : authorityIdList) { - if (s.equals(PROPERTY_LIST)) { - secondFamilyIdsBuffer.append(authorityAndId.charAt(0)).append(","); - break; - } - } - } else { - if (authorities.equals(PROPERTY_LIST)) { - secondFamilyIdsBuffer.append(authorityAndId.charAt(0)).append(","); - } - } - } +// private void setSecondFamilyAuthority(StringBuilder secondFamilyIdsBuffer, String authorityAndId) { +// //寰楀埌鏉冮檺涓� +// String authorities = authorityAndId.substring(2, authorityAndId.length() - 1); +// +// if (authorities.contains(" ")) { +// //绌烘牸闅斿紑寰楀埌鑿滃崟id锛岀湅鏄惁鏈夊搴旂殑鏉冮檺 +// String[] authorityIdList = authorities.split(" "); +// for (String s : authorityIdList) { +// if (s.equals(PROPERTY_LIST)) { +// secondFamilyIdsBuffer.append(authorityAndId.charAt(0)).append(","); +// break; +// } +// } +// } else { +// if (authorities.equals(PROPERTY_LIST)) { +// secondFamilyIdsBuffer.append(authorityAndId.charAt(0)).append(","); +// } +// } +// } - private ZInfoUser getMySelf() { - SysUser user = SecurityUtils.getLoginUser().getUser(); - Long userId = user.getUserId(); - LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); - zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId, userId); - return zInfoUserService.getOne(zInfoUserLambdaQueryWrapper); - } +// private ZInfoUser getMySelf() { +// SysUser user = SecurityUtils.getLoginUser().getUser(); +// Long userId = user.getUserId(); +// LambdaQueryWrapper<ZInfoUser> zInfoUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); +// zInfoUserLambdaQueryWrapper.eq(ZInfoUser::getUserId, userId); +// return zInfoUserService.getOne(zInfoUserLambdaQueryWrapper); +// } - private String listFamilyIds() { - ZInfoUser mySelf = getMySelf(); - return mySelf.getFamilyId(); - } - - private String listSecondFamilyIds() { - ZInfoUser mySelf = getMySelf(); - return mySelf.getSecondFamilyId(); - } +// private Long listFamilyIds() { +// ZInfoUser mySelf = getMySelf(); +// return mySelf.getFamilyId(); +// } +// +// private String listSecondFamilyIds() { +// ZInfoUser mySelf = getMySelf(); +// return mySelf.getSecondFamilyId(); +// } @Override public List<ZfProperty> selectByCondition(ZfProperty zfProperty) { - String familyIds = listFamilyIds(); - String secondFamilyIds = listSecondFamilyIds(); - LambdaQueryWrapper<ZfProperty> lambdaQueryWrapper = buildCondition(zfProperty, familyIds, secondFamilyIds); - List<ZfProperty> beanRecords = list(lambdaQueryWrapper); + //瑕佹煡鑷繁瀹跺涵鐨� + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + //涔熻鏌ュ埆浜烘巿鏉冪殑 + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(PROPERTY_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); + //鍔犱笂鑷繁瀹跺涵鐨刬d + idList.add(familyId); +// String familyIds = listFamilyIds(); +// String secondFamilyAuthority = listSecondFamilyIds(); + LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty, idList); + List<ZfProperty> beanRecords = list(lqw); log.info("浠庢暟鎹簱涓煡鍒扮殑涓�:{}", beanRecords); - return markOwnData(familyIds, beanRecords); + return markOwnData(familyId, beanRecords); } - private static List<ZfProperty> markOwnData(String familyIds, List<ZfProperty> beanRecords) { - return beanRecords.stream().peek(record -> { - String recordFamilyId = record.getFamilyId(); - if (familyIds.contains(",")) { - String[] familyIdList = familyIds.split(","); - for (String familyId : familyIdList) { - if (familyId.equals(recordFamilyId)) { - record.setOwnData(1); - } - } - } else { - if (familyIds.equals(recordFamilyId)) { - record.setOwnData(1); - } - } - }).collect(Collectors.toList()); - } +// private static List<ZfProperty> markOwnData(String familyIds, List<ZfProperty> beanRecords) { +// return beanRecords.stream().peek(record -> { +// String recordFamilyId = record.getFamilyId(); +// if (familyIds.contains(",")) { +// String[] familyIdList = familyIds.split(","); +// for (String familyId : familyIdList) { +// if (familyId.equals(recordFamilyId)) { +// record.setOwnData(1); +// } +// } +// } else { +// if (familyIds.equals(recordFamilyId)) { +// record.setOwnData(1); +// } +// } +// }).collect(Collectors.toList()); +// } @Override - public AjaxResult selectPropertyList(ZfProperty zfProperty, Integer pageNum, Integer pageSize) { - String familyIds = listFamilyIds(); - String secondFamilyAuthority = listSecondFamilyIds(); - LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty, familyIds, secondFamilyAuthority); + public AjaxResult selectDataList(ZfProperty zfProperty, Integer pageNum, Integer pageSize) { + + //瑕佹煡鑷繁瀹跺涵鐨� + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + //涔熻鏌ュ埆浜烘巿鏉冪殑 + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(PROPERTY_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); + //鍔犱笂鑷繁瀹跺涵鐨刬d + idList.add(familyId); +// String familyIds = listFamilyIds(); +// String secondFamilyAuthority = listSecondFamilyIds(); + LambdaQueryWrapper<ZfProperty> lqw = buildCondition(zfProperty, idList); Page<ZfProperty> zfPropertyPage = new Page<>(pageNum, pageSize); Page<ZfProperty> pageResult = page(zfPropertyPage, lqw); List<ZfProperty> beanRecords = pageResult.getRecords();//寰楀埌鏌ヨ鍑烘潵鐨勬暟鎹� - List<ZfProperty> dtoResult = markOwnData(familyIds, beanRecords); + List<ZfProperty> dtoResult = markOwnData(familyId, beanRecords); HashMap<String, Object> data = MapUtils.getResult(pageResult, dtoResult); return AjaxResult.success(data); + } + + public List<ZfProperty> markOwnData(Long familyId,List<ZfProperty> beanRecords){ + return beanRecords.stream().peek( + bean -> { + if (bean.getFamilyId() == familyId) { + bean.setOwnData(1); + } else { + bean.setOwnData(0); + } + } + ).collect(Collectors.toList()); } @Override @@ -239,58 +289,86 @@ } @Override - public AjaxResult addData(ZfProperty zfProperty) { - - String familyIds = listFamilyIds(); - boolean flag = false;//鍒ゆ柇褰撳墠鐢ㄦ埛鐨刬d鏄惁鏈夋潈鍔犲叆褰撳墠瀹跺涵id鐨勫璞� - if (familyIds.contains(",")) { - String[] familyList = familyIds.split(","); - for (String familyId : familyList) { - if (familyId.equals(zfProperty.getFamilyId())) { - flag = true; - } - } - } else { - if (zfProperty.getFamilyId().equals(familyIds)) { - flag = true; - } - } - if (flag) { - if (save(zfProperty)) { - return AjaxResult.success(); - } else { - return AjaxResult.error(); - } - - } else { - throw new RuntimeException("浣犳病鏈夋搷浣滆瀹跺涵鍙蜂负" + zfProperty.getFamilyId() + "鏁版嵁鐨勬潈闄�"); - } + public List<ZfProperty> selectByFamilyIds(Long[] familyIds) { + LambdaQueryWrapper<ZfProperty> lqw = new LambdaQueryWrapper<>(); + lqw.in(ZfProperty::getFamilyId,familyIds); + return list(lqw); } +// @Override +// public AjaxResult addData(ZfProperty zfProperty) { +// +// String familyIds = listFamilyIds(); +// boolean flag = false;//鍒ゆ柇褰撳墠鐢ㄦ埛鐨刬d鏄惁鏈夋潈鍔犲叆褰撳墠瀹跺涵id鐨勫璞� +// if (familyIds.contains(",")) { +// String[] familyList = familyIds.split(","); +// for (String familyId : familyList) { +// if (familyId.equals(zfProperty.getFamilyId())) { +// flag = true; +// } +// } +// } else { +// if (zfProperty.getFamilyId().equals(familyIds)) { +// flag = true; +// } +// } +// if (flag) { +// if (save(zfProperty)) { +// return AjaxResult.success(); +// } else { +// return AjaxResult.error(); +// } +// +// } else { +// throw new RuntimeException("浣犳病鏈夋搷浣滆瀹跺涵鍙蜂负" + zfProperty.getFamilyId() + "鏁版嵁鐨勬潈闄�"); +// } +// } + +// public Boolean checkAuthority(ZfProperty zfProperty, String code){ +// ZInfoUser myself = zInfoUserService.getMyself(); +// Long familyId = myself.getFamilyId(); +// +// List<ZAuthority> authority = zAuthorityService.getAuthority(); +// List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(code)).map(ZAuthority::getFid).collect(Collectors.toList()); +// familyIdList.add(familyId); +// +// if(zfProperty.getFamilyId() == null){ +// return false; +// } +// +// if (!familyIdList.contains(zfProperty.getFamilyId())) { +// throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滃搴�"+zfProperty.getFamilyId()+"鐨勬暟鎹�"); +// } +// return true; +// } + @Override - public AjaxResult addData2(ZfProperty zfProperty) { - ZInfoUser mySelf = getMySelf(); - String myFamilyId = mySelf.getFamilyId(); + public AjaxResult addData(ZfProperty zfProperty){ + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); - if (StringUtils.isNotEmpty(zfProperty.getFamilyId())) { - throw new RuntimeException("瀵煎叆鏁版嵁鏃舵偍涓嶈兘鎸囧畾瀹跺涵鍙�"); - } - - if (StringUtils.isEmpty(myFamilyId)) { + if(familyId == null){ throw new RuntimeException("鎮ㄨ繕鏈姞鍏ヤ换浣曞搴�"); } - if (myFamilyId.contains(",")) { - String[] myFamilyIds = myFamilyId.split(","); - //榛樿娣诲姞绗竴涓搴殑鏁版嵁 - zfProperty.setFamilyId(myFamilyIds[0]); - } else { - zfProperty.setFamilyId(myFamilyId); + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(PROPERTY_LIST_ADD)).map(ZAuthority::getFid).collect(Collectors.toList()); + familyIdList.add(familyId); + + if (zfProperty.getFamilyId()!=null && !familyIdList.contains(zfProperty.getFamilyId())) { + throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); + } + + + if(zfProperty.getFamilyId() == null){ + //榛樿娣诲姞鑷繁瀹跺涵鐨勬暟鎹� + zfProperty.setFamilyId(familyId); } //鍒ゆ柇鏄惁鏈夐噸澶嶆暟鎹� LambdaQueryWrapper<ZfProperty> lqw = uniqueCondition(zfProperty); List<ZfProperty> list = list(lqw); + if(list.size()>0){ throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁"); } @@ -302,9 +380,95 @@ } } + @Override + public AjaxResult updateData(ZfProperty zfProperty) { + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + + //鍏堟牴鎹甶d鏌ヨ鍑烘暟鎹殑familyId锛岀湅鐪嬫湁娌℃湁鏉冮檺鎿嶄綔 + Long dataFamilyId = getById(zfProperty.getId()).getFamilyId(); + + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(PROPERTY_LIST_UPDATE)).map(ZAuthority::getFid).collect(Collectors.toList()); + familyIdList.add(familyId); + + if (dataFamilyId!=null && !familyIdList.contains(dataFamilyId)) { + throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); + } + + if(updateById(zfProperty)){ + return AjaxResult.success(); + }else { + return AjaxResult.error(); + } + + } + + @Override + @Transactional + public AjaxResult deleteData(Long[] ids) { + List<ZfProperty> dataList = zfPropertyService.listByIds(Arrays.asList(ids)); + + ZInfoUser myself = zInfoUserService.getMyself(); + Long familyId = myself.getFamilyId(); + + List<ZAuthority> authority = zAuthorityService.getAuthority(); + List<Long> familyIdList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(PROPERTY_LIST_REMOVE)).map(ZAuthority::getFid).collect(Collectors.toList()); + familyIdList.add(familyId); + + for (ZfProperty data : dataList) { + if (!familyIdList.contains(data.getFamilyId())){ + throw new RuntimeException("浣犳病鏈夋潈闄愭搷浣滄瀹跺涵鐨勬暟鎹�"); + } + } + + if (zfPropertyService.removeByIds(Arrays.asList(ids))) { + return AjaxResult.success(); + }else { + return AjaxResult.error(); + } + + } + +// @Override +// public AjaxResult addData2(ZfProperty zfProperty) { +// ZInfoUser mySelf = getMySelf(); +// String myFamilyId = mySelf.getFamilyId(); +// +// if (StringUtils.isNotEmpty(zfProperty.getFamilyId())) { +// throw new RuntimeException("瀵煎叆鏁版嵁鏃舵偍涓嶈兘鎸囧畾瀹跺涵鍙�"); +// } +// +// if (StringUtils.isEmpty(myFamilyId)) { +// throw new RuntimeException("鎮ㄨ繕鏈姞鍏ヤ换浣曞搴�"); +// } +// +// if (myFamilyId.contains(",")) { +// String[] myFamilyIds = myFamilyId.split(","); +// //榛樿娣诲姞绗竴涓搴殑鏁版嵁 +// zfProperty.setFamilyId(myFamilyIds[0]); +// } else { +// zfProperty.setFamilyId(myFamilyId); +// } +// +// //鍒ゆ柇鏄惁鏈夐噸澶嶆暟鎹� +// LambdaQueryWrapper<ZfProperty> lqw = uniqueCondition(zfProperty); +// List<ZfProperty> list = list(lqw); +// if(list.size()>0){ +// throw new RuntimeException("璇峰嬁鏂板閲嶅鏁版嵁"); +// } +// +// if (save(zfProperty)) { +// return AjaxResult.success(); +// } else { +// return AjaxResult.error(); +// } +// } + private LambdaQueryWrapper<ZfProperty> uniqueCondition(ZfProperty zfProperty) { LambdaQueryWrapper<ZfProperty> lqw = new LambdaQueryWrapper<>(); lqw.eq(!StringUtils.isEmpty(zfProperty.getType()), ZfProperty::getType, zfProperty.getType()) + .eq(zfProperty.getFamilyId()!=null,ZfProperty::getFamilyId,zfProperty.getFamilyId()) .eq(!StringUtils.isEmpty(zfProperty.getTitle()), ZfProperty::getTitle, zfProperty.getTitle()) .eq(!StringUtils.isEmpty(zfProperty.getLocation()), ZfProperty::getLocation, zfProperty.getLocation()) .eq(!StringUtils.isEmpty(zfProperty.getHolder()), ZfProperty::getHolder, zfProperty.getHolder()) @@ -328,7 +492,7 @@ log.info("璧勪骇鍒楄〃涓猴細{}", propertyList); for (ZfProperty zfProperty : propertyList) { - zfPropertyService.addData2(zfProperty); + zfPropertyService.addData(zfProperty); } return AjaxResult.success("瀵煎叆鏁版嵁鎴愬姛"); -- Gitblit v1.9.1