Browse Source

车主保单删除功能

liyuan 5 days ago
parent
commit
63c00b5bb7

+ 22 - 0
blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/claim/controller/ShopAppClaimController.java

@@ -17,19 +17,26 @@
 package com.gubersail.shop.app.claim.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 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.claim.vo.ShopAppClaimVO;
+import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceFiles;
+import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceRecord;
 import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceRegister;
 import com.gubersail.shop.app.claim.service.IShopAppClaimService;
+import com.gubersail.shop.app.insurance.service.IShopAppTireInsuranceFilesService;
+import com.gubersail.shop.app.insurance.service.IShopAppTireInsuranceRecordService;
 import com.gubersail.shop.app.wrapper.ShopAppClaimWrapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springblade.common.annotation.RepeatSubmit;
+import org.springblade.common.enums.CommonEnum;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -61,6 +68,10 @@ public class ShopAppClaimController extends BladeController {
 
 	private final IUserClient userClient;
 
+	private final IShopAppTireInsuranceFilesService shopAppTireInsuranceFilesService;
+
+	private final IShopAppTireInsuranceRecordService shopAppTireInsuranceRecordService;
+
 	/**
 	 * 详情
 	 */
@@ -165,4 +176,15 @@ public class ShopAppClaimController extends BladeController {
 		return bladeClaimService.revokeApproval(id);
 	}
 
+
+	/**
+	 * 撤销审批
+	 */
+	@PostMapping("/deleteAppClaim")
+	@RepeatSubmit
+	@VersionControl("shopAppClaimServiceImpl")
+	public R deleteAppClaim(@RequestBody ShopAppClaimVO appClaimVO) {
+		return bladeClaimService.deleteAppClaim(appClaimVO);
+	}
+
 }

+ 8 - 0
blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/claim/service/IShopAppClaimService.java

@@ -39,4 +39,12 @@ public interface IShopAppClaimService extends IService<ShopAppClaim> {
 	R submitApproval(Long id);
 
 	R revokeApproval(Long id);
+
+	/**
+	 * 车主删除保单
+	 *
+	 * @param appClaimVO 参数
+	 * @return 结果
+	 */
+	R deleteAppClaim(ShopAppClaimVO appClaimVO);
 }

+ 31 - 0
blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/claim/service/impl/ShopAppClaimServiceImpl.java

@@ -17,18 +17,24 @@
 package com.gubersail.shop.app.claim.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gubersail.shop.app.api.claim.entity.ShopAppClaim;
 import com.gubersail.shop.app.api.claim.entity.ShopAppClaimAttachment;
 import com.gubersail.shop.app.api.claim.vo.ShopAppClaimVO;
+import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceFiles;
+import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceRecord;
 import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceRegister;
 import com.gubersail.shop.app.claim.mapper.ShopAppClaimMapper;
 import com.gubersail.shop.app.claim.service.IShopAppClaimAttachmentService;
 import com.gubersail.shop.app.claim.service.IShopAppClaimService;
+import com.gubersail.shop.app.insurance.mapper.ShopAppTireInsuranceFilesMapper;
+import com.gubersail.shop.app.insurance.mapper.ShopAppTireInsuranceRecordMapper;
 import com.gubersail.shop.app.insurance.mapper.ShopAppTireInsuranceRegisterMapper;
 import com.gubersail.shop.app.wrapper.ShopAppClaimWrapper;
 import lombok.AllArgsConstructor;
+import org.springblade.common.enums.CommonEnum;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
@@ -59,6 +65,10 @@ public class ShopAppClaimServiceImpl extends ServiceImpl<ShopAppClaimMapper, Sho
 
 	private final ShopAppTireInsuranceRegisterMapper tireInsuranceRegisterMapper;
 
+	private final ShopAppTireInsuranceFilesMapper shopAppTireInsuranceFilesMapper;
+
+	private final ShopAppTireInsuranceRecordMapper shopAppTireInsuranceRecordMapper;
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public R submit(ShopAppClaimVO bladeClaim) {
@@ -173,4 +183,25 @@ public class ShopAppClaimServiceImpl extends ServiceImpl<ShopAppClaimMapper, Sho
 		return R.success("操作成功");
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public R deleteAppClaim(ShopAppClaimVO appClaimVO) {
+		ShopAppTireInsuranceRecord shopAppTireInsuranceRecord = shopAppTireInsuranceRecordMapper.selectOne(
+			new LambdaQueryWrapper<ShopAppTireInsuranceRecord>().eq(ShopAppTireInsuranceRecord::getClaimId, appClaimVO.getId())
+				.eq(ShopAppTireInsuranceRecord::getIsDeleted, 0).last("limit 1"));
+		if (org.springframework.util.ObjectUtils.isEmpty(shopAppTireInsuranceRecord)) {
+			return R.fail("缺少轮胎保信息,请联系门店人员");
+		}
+		ShopAppTireInsuranceFiles shopAppTireInsuranceFiles = new ShopAppTireInsuranceFiles();
+		shopAppTireInsuranceFiles.setClaimStatus(CommonEnum.ZERO.info);
+		shopAppTireInsuranceFilesMapper.update(shopAppTireInsuranceFiles, new LambdaUpdateWrapper<ShopAppTireInsuranceFiles>()
+			.eq(ShopAppTireInsuranceFiles::getRegisterId, shopAppTireInsuranceRecord.getInsuranceId()).eq(ShopAppTireInsuranceFiles::getIsDeleted, 0)
+			.eq(ShopAppTireInsuranceFiles::getTyreNo, appClaimVO.getTyreNo()));
+		ShopAppClaim updateVo = new ShopAppClaim();
+		updateVo.setIsDeleted(1);
+		updateVo.setUpdateTime(new Date());
+		updateVo.setUpdateUser(AuthUtil.getUserId());
+		return R.status(baseMapper.update(updateVo, new LambdaQueryWrapper<ShopAppClaim>().eq(ShopAppClaim::getId, appClaimVO.getId())) > 0);
+	}
+
 }