Browse Source

门店非负责人无法查看轮胎保问题

liyuan 1 month ago
parent
commit
fd1d844e53

+ 20 - 2
blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/insurance/controller/ShopAppTireInsuranceRegisterController.java

@@ -23,11 +23,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.gubersail.shop.app.annotation.VersionControl;
 import com.gubersail.shop.app.api.claim.entity.ShopAppClaim;
+import com.gubersail.shop.app.api.corps.entity.ShopAppPjCorpsAttn;
 import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceRecord;
 import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceRegister;
 import com.gubersail.shop.app.api.insurance.vo.ShopAppTireInsuranceRecordVO;
 import com.gubersail.shop.app.api.insurance.vo.ShopAppTireInsuranceRegisterVO;
 import com.gubersail.shop.app.claim.service.IShopAppClaimService;
+import com.gubersail.shop.app.corp.service.IShopAppCorpsAttnService;
+import com.gubersail.shop.app.corp.service.impl.ShopAppCorpsAttnServiceImpl;
 import com.gubersail.shop.app.insurance.service.IShopAppTireInsuranceFilesService;
 import com.gubersail.shop.app.insurance.service.IShopAppTireInsuranceRecordService;
 import com.gubersail.shop.app.insurance.service.IShopAppTireInsuranceRegisterService;
@@ -47,11 +50,13 @@ import org.springblade.common.utils.U9DateUtils;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.resource.feign.IOssClient;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -84,6 +89,9 @@ public class ShopAppTireInsuranceRegisterController extends BladeController {
 
 	private final IOssClient ossClient;
 
+	private final IShopAppCorpsAttnService shopAppCorpsAttnService;
+
+
 	/**
 	 * 详情
 	 */
@@ -102,6 +110,7 @@ public class ShopAppTireInsuranceRegisterController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入tireInsuranceRegister")
 	public R<IPage<ShopAppTireInsuranceRegisterVO>> list(ShopAppTireInsuranceRegisterVO appTireInsuranceRegister, Query query) {
+		BladeUser nowSubmitUser = AuthUtil.getUser();
 		LambdaQueryWrapper<ShopAppTireInsuranceRegister> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(ShopAppTireInsuranceRegister::getIsDeleted, 0)
 			.eq(ObjectUtils.isNotNull(appTireInsuranceRegister.getStatus()), ShopAppTireInsuranceRegister::getStatus, appTireInsuranceRegister.getStatus())
@@ -111,9 +120,18 @@ public class ShopAppTireInsuranceRegisterController extends BladeController {
 				.like(ShopAppTireInsuranceRegister::getInsuranceNo, appTireInsuranceRegister.getSearchCriteria()))
 			.orderByDesc(ShopAppTireInsuranceRegister::getCreateTime);
 		if (AuthUtil.getUserRole().contains("store")) {
-			lambdaQueryWrapper.eq(ShopAppTireInsuranceRegister::getStoreId, AuthUtil.getUserId());
+			ShopAppPjCorpsAttn shopAppCorpsAttn = shopAppCorpsAttnService.getOne(new LambdaQueryWrapper<ShopAppPjCorpsAttn>()
+				.eq(ShopAppPjCorpsAttn::getUserId, nowSubmitUser.getUserId())
+				.last("LIMIT 1"));
+			if (Objects.isNull(shopAppCorpsAttn)) {
+				throw new RuntimeException("未查门店联系人信息");
+			}
+			List<ShopAppPjCorpsAttn> shopAppCorpsAttnList = shopAppCorpsAttnService.list(new LambdaQueryWrapper<ShopAppPjCorpsAttn>()
+				.eq(ShopAppPjCorpsAttn::getPid, shopAppCorpsAttn.getPid()));
+			List<Long> userIdList = shopAppCorpsAttnList.stream().map(ShopAppPjCorpsAttn::getUserId).collect(Collectors.toList());
+			lambdaQueryWrapper.in(ShopAppTireInsuranceRegister::getStoreId, userIdList);
 		} else {
-			lambdaQueryWrapper.eq(ShopAppTireInsuranceRegister::getCreateUser, AuthUtil.getUserId());
+			lambdaQueryWrapper.eq(ShopAppTireInsuranceRegister::getCreateUser, nowSubmitUser.getUserId());
 		}
 		IPage<ShopAppTireInsuranceRegister> pages = tireInsuranceRegisterService.page(Condition.getPage(query), lambdaQueryWrapper);
 		IPage<ShopAppTireInsuranceRegisterVO> voPage = new Page<>();