Browse Source

1.门店app,经销商app,pc用户等bug修改

纪新园 3 months ago
parent
commit
6e413eb15e
14 changed files with 169 additions and 376 deletions
  1. 53 52
      blade-service-api/gubersail-shop-app-api/src/main/java/com/gubersail/shop/app/api/insurance/entity/ShopAppTireInsuranceRecord.java
  2. 8 0
      blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java
  3. 0 4
      blade-service/blade-user/src/main/java/org/springblade/system/user/excel/UserExcel.java
  4. 10 8
      blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java
  5. 4 3
      blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/corp/service/impl/CorpsDescServiceImpl.java
  6. 1 1
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/claim/controller/AppClaimController.java
  7. 10 6
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/claim/service/impl/AppClaimServiceImpl.java
  8. 25 19
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/service/impl/AppCorpsAttnServiceImpl.java
  9. 2 2
      blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/service/impl/AppCorpsDescServiceImpl.java
  10. 0 94
      blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/claim/controller/ShopAppClaimController.java
  11. 0 14
      blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/claim/service/IShopAppClaimService.java
  12. 4 163
      blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/claim/service/impl/ShopAppClaimServiceImpl.java
  13. 26 2
      blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/insurance/controller/ShopAppTireInsuranceRegisterController.java
  14. 26 8
      blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/insurance/service/impl/ShopAppTireInsuranceRegisterServiceImpl.java

+ 53 - 52
blade-service-api/gubersail-shop-app-api/src/main/java/com/gubersail/shop/app/api/insurance/entity/ShopAppTireInsuranceRecord.java

@@ -24,6 +24,7 @@ import lombok.Data;
 import java.io.Serializable;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 /**
  * 轮胎理赔记录表实体类
@@ -40,70 +41,70 @@ public class ShopAppTireInsuranceRecord implements Serializable {
 
 	private Long id;
 	/**
-	* 保险单号
-	*/
-		@ApiModelProperty(value = "保险单号")
-		private String insuranceNo;
+	 * 保险单号
+	 */
+	@ApiModelProperty(value = "保险单号")
+	private String insuranceNo;
 	/**
-	* 保险单id
-	*/
-		@ApiModelProperty(value = "保险单id")
-		private Long insuranceId;
+	 * 保险单id
+	 */
+	@ApiModelProperty(value = "保险单id")
+	private Long insuranceId;
 	/**
-	* 备注(系统继承)
-	*/
-		@ApiModelProperty(value = "备注(系统继承)")
-		private String remark;
+	 * 备注(系统继承)
+	 */
+	@ApiModelProperty(value = "备注(系统继承)")
+	private String remark;
 	/**
-	* 创建人(系统继承)
-	*/
-		@ApiModelProperty(value = "创建人(系统继承)")
-		private Long createUser;
+	 * 创建人(系统继承)
+	 */
+	@ApiModelProperty(value = "创建人(系统继承)")
+	private Long createUser;
 	/**
-	* 创建部门(系统继承)
-	*/
-		@ApiModelProperty(value = "创建部门(系统继承)")
-		private Long createDept;
+	 * 创建部门(系统继承)
+	 */
+	@ApiModelProperty(value = "创建部门(系统继承)")
+	private Long createDept;
 	/**
-	* 创建时间(系统继承)
-	*/
-		@ApiModelProperty(value = "创建时间(系统继承)")
-		private LocalDateTime createTime;
+	 * 创建时间(系统继承)
+	 */
+	@ApiModelProperty(value = "创建时间(系统继承)")
+	private Date createTime;
 	/**
-	* 更新人(系统继承)
-	*/
-		@ApiModelProperty(value = "更新人(系统继承)")
-		private Long updateUser;
+	 * 更新人(系统继承)
+	 */
+	@ApiModelProperty(value = "更新人(系统继承)")
+	private Long updateUser;
 	/**
-	* 更新时间(系统继承)
-	*/
-		@ApiModelProperty(value = "更新时间(系统继承)")
-		private LocalDateTime updateTime;
+	 * 更新时间(系统继承)
+	 */
+	@ApiModelProperty(value = "更新时间(系统继承)")
+	private Date updateTime;
 	/**
-	* 是否已删除(系统继承)
-	*/
-		@ApiModelProperty(value = "是否已删除(系统继承)")
-		private Integer isDeleted;
+	 * 是否已删除(系统继承)
+	 */
+	@ApiModelProperty(value = "是否已删除(系统继承)")
+	private Integer isDeleted;
 	/**
-	* 理赔单ID
-	*/
-		@ApiModelProperty(value = "理赔单ID")
-		private Long claimId;
+	 * 理赔单ID
+	 */
+	@ApiModelProperty(value = "理赔单ID")
+	private Long claimId;
 	/**
-	* 理赔单号
-	*/
-		@ApiModelProperty(value = "理赔单号")
-		private String claimNo;
+	 * 理赔单号
+	 */
+	@ApiModelProperty(value = "理赔单号")
+	private String claimNo;
 	/**
-	* 故障描述/理赔原因
-	*/
-		@ApiModelProperty(value = "故障描述/理赔原因")
-		private String claimReason;
+	 * 故障描述/理赔原因
+	 */
+	@ApiModelProperty(value = "故障描述/理赔原因")
+	private String claimReason;
 	/**
-	* 理赔时间
-	*/
-		@ApiModelProperty(value = "理赔时间")
-		private LocalDate claimDate;
+	 * 理赔时间
+	 */
+	@ApiModelProperty(value = "理赔时间")
+	private Date claimDate;
 
 
 }

+ 8 - 0
blade-service/blade-system/src/main/java/org/springblade/system/service/impl/RoleServiceImpl.java

@@ -14,6 +14,7 @@ import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.core.tool.utils.ObjectUtil;
+import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.system.entity.Role;
 import org.springblade.system.entity.RoleMenu;
 import org.springblade.system.entity.RoleScope;
@@ -21,6 +22,7 @@ import org.springblade.system.mapper.RoleMapper;
 import org.springblade.system.service.IRoleMenuService;
 import org.springblade.system.service.IRoleScopeService;
 import org.springblade.system.service.IRoleService;
+import org.springblade.system.user.entity.User;
 import org.springblade.system.vo.RoleVO;
 import org.springblade.system.wrapper.RoleWrapper;
 import org.springframework.stereotype.Service;
@@ -202,6 +204,12 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
 			role.setTenantId(parent.getTenantId());
 		}
 		role.setIsDeleted(BladeConstant.DB_NOT_DELETED);
+		Integer roleCount = baseMapper.selectCount(Wrappers.<Role>query().lambda().eq(Role::getTenantId, AuthUtil.getTenantId())
+			.eq(Role::getRoleName, role.getRoleName())
+		);
+		if (roleCount > 0 && Func.isEmpty(role.getId())) {
+			throw new RuntimeException(StringUtil.format("当前角色 [{}] 已存在!", role.getRoleName()));
+		}
 		return saveOrUpdate(role);
 	}
 

+ 0 - 4
blade-service/blade-user/src/main/java/org/springblade/system/user/excel/UserExcel.java

@@ -23,10 +23,6 @@ import java.util.Date;
 public class UserExcel implements Serializable {
 	private static final long serialVersionUID = 1L;
 
-	@ColumnWidth(15)
-	@ExcelProperty("租户编号")
-	private String tenantId;
-
 	@ExcelIgnore
 	@ExcelProperty("用户平台")
 	private String userType;

+ 10 - 8
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -89,7 +89,6 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 		}
 		Integer userCount = baseMapper.selectCount(Wrappers.<User>query().lambda().eq(User::getTenantId, tenantId)
 			.eq(User::getAccount, user.getAccount())
-			.eq(User::getAppletsId, user.getAppletsId())
 		);
 		if (userCount > 0 && Func.isEmpty(user.getId())) {
 			throw new RuntimeException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
@@ -316,24 +315,27 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void importUser(List<UserExcel> data, Boolean isCovered) {
+		if (data.isEmpty()){
+			throw new RuntimeException("导入用户数据不能为空");
+		}
 		data.forEach(userExcel -> {
 			User user = Objects.requireNonNull(BeanUtil.copy(userExcel, User.class));
 			// 设置用户平台
 			user.setUserType(Func.toInt(DictCache.getKey(DictEnum.USER_TYPE, userExcel.getUserTypeName()), 1));
-			// 设置部门ID
-			user.setDeptId(SysCache.getDeptIds(userExcel.getTenantId(), userExcel.getDeptName()));
-			// 设置岗位ID
-			user.setPostId(SysCache.getPostIds(userExcel.getTenantId(), userExcel.getPostName()));
-			// 设置角色ID
-			user.setRoleId(SysCache.getRoleIds(userExcel.getTenantId(), userExcel.getRoleName()));
 			// 设置租户ID
 			if (!AuthUtil.isAdministrator() || StringUtil.isBlank(user.getTenantId())) {
 				user.setTenantId(AuthUtil.getTenantId());
 			}
+			// 设置部门ID
+			user.setDeptId(SysCache.getDeptIds(user.getTenantId(), userExcel.getDeptName()));
+			// 设置岗位ID
+			user.setPostId(SysCache.getPostIds(user.getTenantId(), userExcel.getPostName()));
+			// 设置角色ID
+			user.setRoleId(SysCache.getRoleIds(user.getTenantId(), userExcel.getRoleName()));
 			// 覆盖数据
 			if (isCovered) {
 				// 查询用户是否存在
-				User oldUser = UserCache.getUser(userExcel.getTenantId(), userExcel.getAccount());
+				User oldUser = UserCache.getUser(user.getTenantId(), userExcel.getAccount());
 				if (oldUser != null && oldUser.getId() != null) {
 					user.setId(oldUser.getId());
 					this.updateUser(user);

+ 4 - 3
blade-service/gubersail-dealer-admin/src/main/java/com/gubersail/admin/corp/service/impl/CorpsDescServiceImpl.java

@@ -134,13 +134,13 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 		}
 		corpsDesc.setTenantId(AuthUtil.getTenantId());
 		corpsDesc.setIsDeleted(0);
-		corpsDesc.setStrTenantId(Arrays.asList(AuthUtil.getDeptId().split(",")));
-		if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")
+//		corpsDesc.setStrTenantId(Arrays.asList(AuthUtil.getDeptId().split(",")));
+		/*if (!AuthUtil.getUserRole().contains("admin") && !AuthUtil.getUserRole().contains("老板")
 			&& !AuthUtil.getUserRole().contains("销售总览")) {
 			if (AuthUtil.getUserRole().contains("业务员")) {
 				corpsDesc.setSalesmanId(AuthUtil.getUserId());
 			}
-		}
+		}*/
 		if (AuthUtil.getUserRole().contains("dealer")) {
 			corpsDesc.setSrcDistributorId(AuthUtil.getUserId());
 		}
@@ -187,6 +187,7 @@ public class CorpsDescServiceImpl extends ServiceImpl<CorpsDescMapper, PjCorpsDe
 			corpsDesc.setSalesCompanyId(Long.valueOf(AuthUtil.getDeptId()));
 			corpsDesc.setSalesCompanyName(sysClient.getDept(Long.valueOf(AuthUtil.getDeptId())).getData().getFullName());
 			corpsDesc.setEnableOrNot(0);
+			corpsDesc.setCorpType("KH");
 			//查询当前登录人信息
 			R<User> userR = userClient.userInfoById(AuthUtil.getUserId());
 			if (!userR.isSuccess() || ObjectUtils.isNull(userR.getData())) {

+ 1 - 1
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/claim/controller/AppClaimController.java

@@ -95,7 +95,7 @@ public class AppClaimController extends BladeController {
 			.like(ObjectUtils.isNotNull(bladeClaim.getConsumerPhone()), AppClaim::getConsumerPhone, bladeClaim.getConsumerPhone())
 			.like(ObjectUtils.isNotNull(bladeClaim.getTyreNo()), AppClaim::getTyreNo, bladeClaim.getTyreNo())
 			.like(ObjectUtils.isNotNull(bladeClaim.getTyreSpecs()), AppClaim::getTyreSpecs, bladeClaim.getTyreSpecs())
-			.orderByDesc(AppClaim::getSubmitTime);
+			.orderByDesc(AppClaim::getCreateTime);
 		if (AuthUtil.getUserRole().contains("dealer")) {
 			List<Long> deptIdList = DeptUtils.getUserFirstDeptId(Long.valueOf(AuthUtil.getDeptId()));
 			deptIdList.add(Long.valueOf(AuthUtil.getDeptId()));

+ 10 - 6
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/claim/service/impl/AppClaimServiceImpl.java

@@ -176,13 +176,17 @@ public class AppClaimServiceImpl extends ServiceImpl<AppClaimMapper, AppClaim> i
 		AppClaim claim = this.getById(bladeClaim.getId());
 		//数据实体类转换
 		AppClaimVO bladeClaimVO = AppClaimWrapper.build().entityVO(claim);
-		R<User> createUserR = userClient.userInfoById(claim.getCreateUser());
-		if (createUserR.isSuccess() && ObjectUtils.isNotNull(createUserR.getData())) {
-			bladeClaimVO.setCreateUserName(createUserR.getData().getRealName());
+		if (ObjectUtils.isNotNull(claim.getCreateUser())){
+			R<User> createUserR = userClient.userInfoById(claim.getCreateUser());
+			if (createUserR.isSuccess() && ObjectUtils.isNotNull(createUserR.getData())) {
+				bladeClaimVO.setCreateUserName(createUserR.getData().getRealName());
+			}
 		}
-		R<User> updateUserR = userClient.userInfoById(claim.getUpdateUser());
-		if (updateUserR.isSuccess() && ObjectUtils.isNotNull(updateUserR.getData())) {
-			bladeClaimVO.setUpdateUserName(updateUserR.getData().getRealName());
+		if (ObjectUtils.isNotNull(claim.getUpdateUser())){
+			R<User> updateUserR = userClient.userInfoById(claim.getUpdateUser());
+			if (updateUserR.isSuccess() && ObjectUtils.isNotNull(updateUserR.getData())) {
+				bladeClaimVO.setUpdateUserName(updateUserR.getData().getRealName());
+			}
 		}
 		//查询理赔附件数据
 		List<AppClaimAttachment> claimAttachmentList = bladeClaimAttachmentService.list(new LambdaQueryWrapper<AppClaimAttachment>()

+ 25 - 19
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/service/impl/AppCorpsAttnServiceImpl.java

@@ -16,14 +16,11 @@
  */
 package com.gubersail.app.corp.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gubersail.app.api.corps.entity.AppPjCorpsAttn;
 import com.gubersail.app.corp.mapper.AppCorpsAttnMapper;
 import com.gubersail.app.corp.service.IAppCorpsAttnService;
-import com.gubersail.app.api.corps.entity.AppPjCorpsAttn;
-import com.gubersail.app.api.corps.vo.AppCorpsAttnVO;
 import lombok.AllArgsConstructor;
 import org.springblade.common.constant.LandConstant;
 import org.springblade.core.log.exception.ServiceException;
@@ -32,6 +29,7 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.ObjectUtil;
 import org.springblade.system.feign.ISysClient;
 import org.springblade.system.user.entity.User;
+import org.springblade.system.user.entity.UserInfo;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -69,12 +67,12 @@ public class AppCorpsAttnServiceImpl extends ServiceImpl<AppCorpsAttnMapper, App
 		user.setUserType(1);
 		user.setPhone(attn.getTel());
 		user.setUserTypeRole(3);
-		R<String> resRole = sysClient.getRoleIds(AuthUtil.getTenantId(),"门店");
-		if (!resRole.isSuccess() || ObjectUtils.isNull(resRole.getData())){
+		R<String> resRole = sysClient.getRoleIds(AuthUtil.getTenantId(), "门店");
+		if (!resRole.isSuccess() || ObjectUtils.isNull(resRole.getData())) {
 			throw new RuntimeException("请先维护门店角色信息");
 		}
 		user.setRoleId(resRole.getData());
-		user.setDeptId(attn.getCreateDept()+"");
+		user.setDeptId(attn.getCreateDept() + "");
 		if (ObjectUtil.isNotEmpty(attn.getUserId())) {
 			R<User> userR = userClient.userInfoById(attn.getUserId());
 			if (ObjectUtil.isNotEmpty(userR.getData())) {
@@ -95,22 +93,30 @@ public class AppCorpsAttnServiceImpl extends ServiceImpl<AppCorpsAttnMapper, App
 					throw new ServiceException(userTemp.getMsg());
 				}
 				attn.setUserId(userTemp.getData().getId());
-				baseMapper.updateById(attn);
 			}
-
 		} else {
-			user.setPassword(LandConstant.USER_PASSWORD);
-			R<Boolean> result = userClient.saveUser(user);
-			if (!result.isSuccess()) {
-				throw new ServiceException(result.getMsg());
-			}
-			R<User> userTemp = userClient.userByAccount(AuthUtil.getTenantId(), attn.getTel());
-			if (!userTemp.isSuccess()) {
-				throw new ServiceException(userTemp.getMsg());
+			UserInfo userInfo = userClient.getUserInfoByPhone(attn.getTel(),"3");
+			if (ObjectUtil.isNotEmpty(userInfo)) {
+				user.setId(userInfo.getUser().getId());
+				R<Boolean> result = userClient.updateUser(user);
+
+				if (!result.isSuccess()) {
+					throw new ServiceException(result.getMsg());
+				}
+			} else {
+				user.setPassword(LandConstant.USER_PASSWORD);
+				R<Boolean> result = userClient.saveUser(user);
+				if (!result.isSuccess()) {
+					throw new ServiceException(result.getMsg());
+				}
+				R<User> userTemp = userClient.userByAccount(AuthUtil.getTenantId(), attn.getTel());
+				if (!userTemp.isSuccess()) {
+					throw new ServiceException(userTemp.getMsg());
+				}
+				attn.setUserId(userTemp.getData().getId());
 			}
-			attn.setUserId(userTemp.getData().getId());
-			baseMapper.updateById(attn);
 		}
+		baseMapper.updateById(attn);
 		return R.success("操作成功");
 	}
 

+ 2 - 2
blade-service/gubersail-dealer-app/src/main/java/com/gubersail/app/corp/service/impl/AppCorpsDescServiceImpl.java

@@ -115,12 +115,10 @@ public class AppCorpsDescServiceImpl extends ServiceImpl<AppCorpsDescMapper, App
 		List<AppPjCorpsDesc> pjCorpsDesc = baseMapper.selectList(new LambdaQueryWrapper<AppPjCorpsDesc>()
 			.eq(AppPjCorpsDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(AppPjCorpsDesc::getIsDeleted, 0)
-			.eq(AppPjCorpsDesc::getSalesCompanyId, AuthUtil.getTenantId())
 			.eq(AppPjCorpsDesc::getCname, corpsDesc.getCname()));
 		List<AppPjCorpsDesc> tel = baseMapper.selectList(new LambdaQueryWrapper<AppPjCorpsDesc>()
 			.eq(AppPjCorpsDesc::getTenantId, AuthUtil.getTenantId())
 			.eq(AppPjCorpsDesc::getIsDeleted, 0)
-			.eq(AppPjCorpsDesc::getSalesCompanyId, AuthUtil.getTenantId())
 			.eq(AppPjCorpsDesc::getTel, corpsDescVO.getContactsPhone()));
 		//保存客户信息
 		if (corpsDesc.getId() == null) {
@@ -137,7 +135,9 @@ public class AppCorpsDescServiceImpl extends ServiceImpl<AppCorpsDescMapper, App
 			corpsDesc.setSalesCompanyId(Long.valueOf(AuthUtil.getDeptId()));
 			corpsDesc.setSalesCompanyName(sysClient.getDept(Long.valueOf(AuthUtil.getDeptId())).getData().getFullName());
 			corpsDesc.setEnableOrNot(1);
+			corpsDesc.setCheckStatus("审核通过");
 			corpsDesc.setTel(corpsDescVO.getContactsPhone());
+			corpsDesc.setCorpType("KH");
 			//查询当前登录人信息
 			R<User> userR = userClient.userInfoById(AuthUtil.getUserId());
 			if (!userR.isSuccess() || ObjectUtils.isNull(userR.getData())) {

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

@@ -60,8 +60,6 @@ public class ShopAppClaimController extends BladeController {
 
 	private final IShopAppClaimService bladeClaimService;
 
-	private final IUserClient userClient;
-
 	/**
 	 * 详情
 	 */
@@ -74,69 +72,6 @@ public class ShopAppClaimController extends BladeController {
 	}
 
 	/**
-	 * 分页 理赔申请主表
-	 */
-	@GetMapping("/list")
-	@ApiOperationSupport(order = 2)
-	@ApiOperation(value = "分页", notes = "传入bladeClaim")
-	public R<IPage<ShopAppClaimVO>> list(ShopAppClaimVO bladeClaim, Query query) {
-		LambdaQueryWrapper<ShopAppClaim> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(ShopAppClaim::getIsDeleted, 0)
-			.eq(ObjectUtils.isNotNull(bladeClaim.getAuditStatus()), ShopAppClaim::getAuditStatus, bladeClaim.getAuditStatus())
-			.like(ObjectUtils.isNotNull(bladeClaim.getClaimNo()), ShopAppClaim::getClaimNo, bladeClaim.getClaimNo())
-			.eq(ObjectUtils.isNotNull(bladeClaim.getClaimSourceType()), ShopAppClaim::getClaimSourceType, bladeClaim.getClaimSourceType())
-			.like(ObjectUtils.isNotNull(bladeClaim.getSourceCode()), ShopAppClaim::getSourceCode, bladeClaim.getSourceCode())
-			.like(ObjectUtils.isNotNull(bladeClaim.getSourceName()), ShopAppClaim::getSourceName, bladeClaim.getSourceName())
-			.like(ObjectUtils.isNotNull(bladeClaim.getConsumerName()), ShopAppClaim::getConsumerName, bladeClaim.getConsumerName())
-			.like(ObjectUtils.isNotNull(bladeClaim.getConsumerPhone()), ShopAppClaim::getConsumerPhone, bladeClaim.getConsumerPhone())
-			.like(ObjectUtils.isNotNull(bladeClaim.getTyreNo()), ShopAppClaim::getTyreNo, bladeClaim.getTyreNo())
-			.like(ObjectUtils.isNotNull(bladeClaim.getTyreSpecs()), ShopAppClaim::getTyreSpecs, bladeClaim.getTyreSpecs())
-			.orderByDesc(ShopAppClaim::getSubmitTime);
-		if (AuthUtil.getUserRole().contains("dealer")) {
-			List<Long> deptIdList = DeptUtils.getUserFirstDeptId(Long.valueOf(AuthUtil.getDeptId()));
-			deptIdList.add(Long.valueOf(AuthUtil.getDeptId()));
-			lambdaQueryWrapper.in(ShopAppClaim::getCreateDept,deptIdList);
-		}
-		IPage<ShopAppClaim> pages = bladeClaimService.page(Condition.getPage(query), lambdaQueryWrapper);
-		IPage<ShopAppClaimVO> voPage = new Page<>();
-		if (!pages.getRecords().isEmpty()) {
-			//查询数据返回实体转换
-			voPage = ShopAppClaimWrapper.build().pageVO(pages);
-			//获取返回数据创建人,修改人id
-			List<Long> userIdList = new ArrayList<>();
-			List<Long> createUserList = pages.getRecords().stream().map(ShopAppClaim::getCreateUser).filter(Objects::nonNull)
-				.distinct().collect(Collectors.toList());
-			//创建人id
-			if (!createUserList.isEmpty()){
-				userIdList.addAll(createUserList);
-			}
-			List<Long> updateUserList = pages.getRecords().stream().map(ShopAppClaim::getUpdateUser).filter(Objects::nonNull)
-				.distinct().collect(Collectors.toList());
-			//修改人id
-			if (!updateUserList.isEmpty()){
-				userIdList.addAll(updateUserList);
-			}
-			if (!userIdList.isEmpty()){
-				//获取id对应用户数据
-				List<User> userList = userClient.userListGetByIds(userIdList);
-				for (ShopAppClaimVO item : voPage.getRecords()) {
-					if (!userList.isEmpty()){
-						//赋值创建人名称
-						if (ObjectUtils.isNotNull(item.getCreateUser())){
-                            userList.stream().filter(e -> e.getId().equals(item.getCreateUser())).findFirst().ifPresent(user -> item.setCreateUserName(user.getRealName()));
-                        }
-						//赋值修改人名称
-						if (ObjectUtils.isNotNull(item.getUpdateUser())){
-							userList.stream().filter(e -> e.getId().equals(item.getUpdateUser())).findFirst().ifPresent(user -> item.setUpdateUserName(user.getRealName()));
-						}
-					}
-				}
-			}
-		}
-		return R.data(voPage);
-	}
-
-	/**
 	 * 新增或修改 理赔申请主表
 	 */
 	@PostMapping("/submit")
@@ -146,33 +81,4 @@ public class ShopAppClaimController extends BladeController {
 		return bladeClaimService.submit(bladeClaim);
 	}
 
-
-	/**
-	 * 删除 理赔申请主表
-	 */
-	@PostMapping("/remove")
-	@ApiOperationSupport(order = 8)
-	@ApiOperation(value = "删除", notes = "传入ids")
-	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return bladeClaimService.deleteByIds(Func.toLongList(ids));
-	}
-
-
-	/**
-	 * 提交审批
-	 */
-	@GetMapping("/submitApproval")
-	public R submitApproval(@RequestParam("id")Long id) {
-		return bladeClaimService.submitApproval(id);
-	}
-
-	/**
-	 * 撤销审批
-	 */
-	@GetMapping("/revokeApproval")
-	public R revokeApproval(@RequestParam("id")Long id) {
-		return bladeClaimService.revokeApproval(id);
-	}
-
-
 }

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

@@ -32,22 +32,8 @@ import java.util.List;
  */
 public interface IShopAppClaimService extends IService<ShopAppClaim> {
 
-	/**
-	 * 自定义分页
-	 *
-	 * @param page
-	 * @param bladeClaim
-	 * @return
-	 */
-	IPage<ShopAppClaimVO> selectBladeClaimPage(IPage<ShopAppClaimVO> page, ShopAppClaimVO bladeClaim);
-
 	R submit(ShopAppClaimVO bladeClaim);
 
 	ShopAppClaimVO detail(ShopAppClaim bladeClaim);
 
-	R submitApproval(Long id);
-
-	R revokeApproval(Long id);
-
-	R deleteByIds(List<Long> longList);
 }

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

@@ -24,28 +24,21 @@ 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.entity.ShopAppClaimAudit;
 import com.gubersail.shop.app.api.claim.vo.ShopAppClaimVO;
-import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceRegister;
-import com.gubersail.shop.app.api.zcrm.customer.entity.ShopAppViewCustomerSel;
 import com.gubersail.shop.app.claim.mapper.ShopAppClaimMapper;
 import com.gubersail.shop.app.claim.service.IShopAppClaimAttachmentService;
 import com.gubersail.shop.app.claim.service.IShopAppClaimAuditService;
 import com.gubersail.shop.app.claim.service.IShopAppClaimService;
 import com.gubersail.shop.app.insurance.mapper.ShopAppTireInsuranceRegisterMapper;
-import com.gubersail.shop.app.util.BillCodeUtil;
 import com.gubersail.shop.app.wrapper.ShopAppClaimWrapper;
 import com.gubersail.shop.app.zcrm.customer.service.IShopAppCustomerSelService;
 import lombok.AllArgsConstructor;
-import org.springblade.common.enums.NumberEnum;
 import org.springblade.core.secure.utils.AuthUtil;
-import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
-import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.StringUtils;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -69,101 +62,16 @@ public class ShopAppClaimServiceImpl extends ServiceImpl<ShopAppClaimMapper, Sho
 
 	private final IUserClient userClient;
 
-	private final IShopAppCustomerSelService viewCustomerSelService;
-
-	private final ShopAppTireInsuranceRegisterMapper shopAppTireInsuranceRegisterMapper;
-
-	@Override
-	public IPage<ShopAppClaimVO> selectBladeClaimPage(IPage<ShopAppClaimVO> page, ShopAppClaimVO bladeClaim) {
-		return page.setRecords(baseMapper.selectBladeClaimPage(page, bladeClaim));
-	}
-
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public R submit(ShopAppClaimVO bladeClaim) {
 		ShopAppClaim claim = new ShopAppClaim();
 		BeanUtil.copyProperties(bladeClaim, claim);
-		//判断是否是第一次保存
-		if (claim.getId() == null) {
-			// 获取 流水号
-			String billNo = BillCodeUtil.getBillCodeByType(SecureUtil.getTenantId(), "LP");
-			if (!StringUtils.hasText(billNo) || billNo.length() < NumberEnum.FIFTEEN.number) {
-				return R.fail(HttpStatus.INTERNAL_SERVER_ERROR.value(), "生成系统编号失败");
-			}
-			claim.setClaimNo(billNo);
-			claim.setCreateTime(new Date());
-			claim.setCreateUser(AuthUtil.getUserId());
-			claim.setClaimSourceType(1);
-			//查询当前登录人信息
-			R<User> userR = userClient.userInfoById(AuthUtil.getUserId());
-			if (!userR.isSuccess() || ObjectUtils.isNull(userR.getData())) {
-				throw new RuntimeException("未查到当前登录人用户信息");
-			}
-			//判断当前登录人角色是否是管理员
-			if (AuthUtil.getUserRole().contains("admin")) {
-				claim.setSourceId(AuthUtil.getUserId());
-				claim.setSourceCode("");
-				claim.setSourceName(userR.getData().getRealName());
-				claim.setCreateDept(Long.valueOf(userR.getData().getDeptId()));
-			} else {
-				//不是管理员角色需要按照用户信息中客户id查询客户信息
-				ShopAppViewCustomerSel customerSel = viewCustomerSelService.getOne(new LambdaQueryWrapper<ShopAppViewCustomerSel>()
-					.eq(ShopAppViewCustomerSel::getIsDeleted, 0)
-					.eq(ShopAppViewCustomerSel::getCustomerId, userR.getData().getCustomerId())
-					.orderByDesc(ShopAppViewCustomerSel::getCreateTime).last("LIMIT 1"));
-				if (customerSel == null) {
-					throw new RuntimeException("未查到客户档案信息");
-				}
-				claim.setSourceId(customerSel.getCustomerId());
-				claim.setSourceCode(customerSel.getCustomerCode());
-				claim.setSourceName(customerSel.getCustomerName());
-			}
-		} else {
-			ShopAppClaim dataSourceClaim = baseMapper.selectOne(new LambdaQueryWrapper<ShopAppClaim>().select(ShopAppClaim::getId, ShopAppClaim::getVersion)
-				.eq(ShopAppClaim::getId, claim.getId()));
-			if (!Objects.equals(dataSourceClaim.getVersion(), claim.getVersion())) {
-				return R.fail(601, "数据已被其他用户更新,请等待刷新后重试");
-			}
-			// 每更新一次往上累加一次版本
-			// 旧数据处理
-			int version = dataSourceClaim.getVersion() == null ? 1 : dataSourceClaim.getVersion();
-			claim.setVersion(version + 1);
-			claim.setUpdateUser(AuthUtil.getUserId());
-			claim.setUpdateTime(new Date());
-		}
-		if (ObjectUtils.isNotNull(claim.getTyreNo())) {
-			ShopAppTireInsuranceRegister tireInsuranceRegister = shopAppTireInsuranceRegisterMapper.selectOne(new LambdaQueryWrapper<ShopAppTireInsuranceRegister>()
-				.eq(ShopAppTireInsuranceRegister::getInsuranceNo, claim.getTyreNo())
-				.eq(ShopAppTireInsuranceRegister::getIsDeleted, 0)
-				.last("LIMIT 1"));
-			if (tireInsuranceRegister == null) {
-				throw new RuntimeException("未查到对应轮胎宝单据信息");
-			}
-			if (tireInsuranceRegister.getTireQuantity() < claim.getTireQuantity()) {
-				throw new RuntimeException("理赔轮胎数量大于轮胎保轮胎数量");
-			}
-		}
+		claim.setVersion(claim.getVersion() == null ? 1 : claim.getVersion() + 1);
+		claim.setUpdateUser(AuthUtil.getUserId());
+		claim.setUpdateTime(new Date());
 		//保存数据
-		this.saveOrUpdate(claim);
-		//判断是否存在理赔审核结果及客户反馈数据
-		if (ObjectUtils.isNotNull(bladeClaim.getBladeClaimAuditList()) && !bladeClaim.getBladeClaimAuditList().isEmpty()) {
-			for (ShopAppClaimAudit item : bladeClaim.getBladeClaimAuditList()) {
-				//添加理赔主表关联数据
-				item.setClaimId(claim.getId());
-				item.setClaimNo(claim.getClaimNo());
-				//判断是否是第一次保存
-				if (item.getId() == null) {
-					item.setCreateTime(new Date());
-					item.setCreateUser(AuthUtil.getUserId());
-					item.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
-				} else {
-					item.setUpdateUser(AuthUtil.getUserId());
-					item.setUpdateTime(new Date());
-				}
-			}
-			//批量保存理赔审核结果及客户反馈数据
-			bladeClaimAuditService.saveOrUpdateBatch(bladeClaim.getBladeClaimAuditList());
-		}
+		this.updateById(claim);
 		//判断是否存在理赔附件数据
 		if (ObjectUtils.isNotNull(bladeClaim.getClaimAttachmentList()) && !bladeClaim.getClaimAttachmentList().isEmpty()) {
 			for (ShopAppClaimAttachment item : bladeClaim.getClaimAttachmentList()) {
@@ -204,74 +112,7 @@ public class ShopAppClaimServiceImpl extends ServiceImpl<ShopAppClaimMapper, Sho
 			.eq(ShopAppClaimAttachment::getClaimId, claim.getId())
 			.eq(ShopAppClaimAttachment::getIsDeleted, 0));
 		bladeClaimVO.setClaimAttachmentList(claimAttachmentList.isEmpty() ? new ArrayList<>() : claimAttachmentList);
-		//查询理赔审核结果及客户反馈数据
-		List<ShopAppClaimAudit> claimAuditList = bladeClaimAuditService.list(new LambdaQueryWrapper<ShopAppClaimAudit>()
-			.eq(ShopAppClaimAudit::getClaimId, claim.getId())
-			.eq(ShopAppClaimAudit::getIsDeleted, 0));
-		bladeClaimVO.setBladeClaimAuditList(claimAuditList.isEmpty() ? new ArrayList<>() : claimAuditList);
 		return bladeClaimVO;
 	}
 
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public R submitApproval(Long id) {
-		//通过id查询理赔数据
-		ShopAppClaim claim = this.getById(id);
-		//判断审核状态是否是录入状态
-		if (claim.getAuditStatus() > 0) {
-			throw new RuntimeException("已提交审批,请勿重复审批");
-		}
-		claim.setAuditStatus(1);
-		claim.setUpdateTime(new Date());
-		claim.setUpdateUser(AuthUtil.getUserId());
-		int version = claim.getVersion() == null ? 1 : claim.getVersion();
-		claim.setVersion(version + 1);
-		this.updateById(claim);
-		return R.success("操作成功");
-	}
-
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public R revokeApproval(Long id) {
-		//通过id查询理赔数据
-		ShopAppClaim claim = this.getById(id);
-		//判断审核状态是否是审核中
-		if (claim.getAuditStatus() != 1) {
-			throw new RuntimeException("未提交审批,撤销失败");
-		}
-		claim.setAuditStatus(0);
-		claim.setUpdateTime(new Date());
-		claim.setUpdateUser(AuthUtil.getUserId());
-		int version = claim.getVersion() == null ? 1 : claim.getVersion();
-		claim.setVersion(version + 1);
-		this.updateById(claim);
-		return R.success("操作成功");
-	}
-
-	@Override
-	@Transactional(rollbackFor = Exception.class)
-	public R deleteByIds(List<Long> longList) {
-		//删除理赔主表
-		this.removeByIds(longList);
-		//查询理赔附件数据明细
-		List<ShopAppClaimAttachment> claimAttachmentList = bladeClaimAttachmentService.list(new LambdaQueryWrapper<ShopAppClaimAttachment>()
-			.in(ShopAppClaimAttachment::getClaimId, longList)
-			.eq(ShopAppClaimAttachment::getIsDeleted, 0));
-		//判断是否存在理赔附件数据明细  true 删除明细数据
-		if (!claimAttachmentList.isEmpty()) {
-			bladeClaimAttachmentService.removeByIds(claimAttachmentList.stream().map(ShopAppClaimAttachment::getId)
-				.collect(Collectors.toList()));
-		}
-		//查询理赔审核结果及客户反馈数据明细
-		List<ShopAppClaimAudit> claimAuditList = bladeClaimAuditService.list(new LambdaQueryWrapper<ShopAppClaimAudit>()
-			.in(ShopAppClaimAudit::getClaimId, longList)
-			.eq(ShopAppClaimAudit::getIsDeleted, 0));
-		//判断是否存在理赔审核结果及客户反馈数据明细  true 删除明细数据
-		if (!claimAttachmentList.isEmpty()) {
-			bladeClaimAuditService.removeByIds(claimAuditList.stream().map(ShopAppClaimAudit::getId)
-				.collect(Collectors.toList()));
-		}
-		return R.success("操作成功");
-	}
-
 }

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

@@ -16,11 +16,15 @@
  */
 package com.gubersail.shop.app.insurance.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.api.insurance.entity.ShopAppTireInsuranceRecord;
 import com.gubersail.shop.app.api.insurance.entity.ShopAppTireInsuranceRegister;
 import com.gubersail.shop.app.api.insurance.vo.ShopAppTireInsuranceRegisterVO;
+import com.gubersail.shop.app.insurance.service.IShopAppTireInsuranceRecordService;
 import com.gubersail.shop.app.insurance.service.IShopAppTireInsuranceRegisterService;
 import com.gubersail.shop.app.wrapper.ShopAppTireInsuranceWrapper;
 import io.swagger.annotations.Api;
@@ -35,6 +39,7 @@ import org.springblade.core.tool.utils.Func;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * 轮胎保险注册表 控制器
@@ -50,6 +55,8 @@ public class ShopAppTireInsuranceRegisterController extends BladeController {
 
 	private final IShopAppTireInsuranceRegisterService tireInsuranceRegisterService;
 
+	private final IShopAppTireInsuranceRecordService appTireInsuranceRecordService;
+
 	/**
 	 * 详情
 	 */
@@ -68,7 +75,15 @@ public class ShopAppTireInsuranceRegisterController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入tireInsuranceRegister")
 	public R<IPage<ShopAppTireInsuranceRegisterVO>> list(ShopAppTireInsuranceRegisterVO appTireInsuranceRegister, Query query) {
-		IPage<ShopAppTireInsuranceRegister> pages = tireInsuranceRegisterService.page(Condition.getPage(query), Condition.getQueryWrapper(appTireInsuranceRegister));
+		LambdaQueryWrapper<ShopAppTireInsuranceRegister> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(ShopAppTireInsuranceRegister::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(appTireInsuranceRegister.getStatus()), ShopAppTireInsuranceRegister::getStatus, appTireInsuranceRegister.getStatus())
+			.like(ObjectUtils.isNotNull(appTireInsuranceRegister.getConsumerName()), ShopAppTireInsuranceRegister::getConsumerName, appTireInsuranceRegister.getConsumerName())
+			.like(ObjectUtils.isNotNull(appTireInsuranceRegister.getConsumerPhone()), ShopAppTireInsuranceRegister::getConsumerPhone, appTireInsuranceRegister.getConsumerPhone())
+			.like(ObjectUtils.isNotNull(appTireInsuranceRegister.getInsuranceNo()), ShopAppTireInsuranceRegister::getInsuranceNo, appTireInsuranceRegister.getInsuranceNo())
+			.like(ObjectUtils.isNotNull(appTireInsuranceRegister.getTyreSpecs()), ShopAppTireInsuranceRegister::getTyreSpecs, appTireInsuranceRegister.getTyreSpecs())
+			.orderByDesc(ShopAppTireInsuranceRegister::getCreateTime);
+		IPage<ShopAppTireInsuranceRegister> pages = tireInsuranceRegisterService.page(Condition.getPage(query), lambdaQueryWrapper);
 		IPage<ShopAppTireInsuranceRegisterVO> voPage = new Page<>();
 		if (!pages.getRecords().isEmpty()) {
 			//查询数据返回实体转换
@@ -142,9 +157,18 @@ public class ShopAppTireInsuranceRegisterController extends BladeController {
 	 * 撤销提交
 	 */
 	@GetMapping("/revokeTireInsurance")
-	public R revokeTireInsurance(@RequestParam("id")Long id) {
+	public R revokeTireInsurance(@RequestParam("id") Long id) {
 		return tireInsuranceRegisterService.revokeTireInsurance(id);
 	}
 
+	/**
+	 * 轮胎理赔记录
+	 */
+	@GetMapping("/itemList")
+	public R<List<ShopAppTireInsuranceRecord>> itemList(ShopAppTireInsuranceRecord shopAppTireInsuranceRecord) {
+		List<ShopAppTireInsuranceRecord> list = appTireInsuranceRecordService.list(Condition.getQueryWrapper(shopAppTireInsuranceRecord));
+		return R.data(list);
+	}
+
 
 }

+ 26 - 8
blade-service/gubersail-shop-app/src/main/java/com/gubersail/shop/app/insurance/service/impl/ShopAppTireInsuranceRegisterServiceImpl.java

@@ -49,6 +49,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
+import java.time.LocalDate;
+import java.time.ZoneId;
 import java.util.*;
 
 /**
@@ -104,6 +106,8 @@ public class ShopAppTireInsuranceRegisterServiceImpl extends ServiceImpl<ShopApp
 			if (!StringUtils.hasText(billNo) || billNo.length() < NumberEnum.FIFTEEN.number) {
 				return R.fail(HttpStatus.INTERNAL_SERVER_ERROR.value(), "生成系统编号失败");
 			}
+			LocalDate currentDate = LocalDate.now();
+			tireInsuranceRegister.setInsuranceTime(Date.from(currentDate.plusYears(1).atStartOfDay(ZoneId.systemDefault()).toInstant()));
 			tireInsuranceRegister.setInsuranceNo(billNo);
 			tireInsuranceRegister.setCreateTime(new Date());
 			tireInsuranceRegister.setCreateUser(AuthUtil.getUserId());
@@ -129,6 +133,7 @@ public class ShopAppTireInsuranceRegisterServiceImpl extends ServiceImpl<ShopApp
 	 * @throws RuntimeException 当查询门店信息失败时抛出异常
 	 */
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public R submitTireInsurance(ShopAppTireInsuranceRegisterVO appTireInsuranceRegister) {
 		// 1. 创建轮胎保险注册实体并复制属性
 		ShopAppTireInsuranceRegister tireInsuranceRegister = new ShopAppTireInsuranceRegister();
@@ -137,7 +142,7 @@ public class ShopAppTireInsuranceRegisterServiceImpl extends ServiceImpl<ShopApp
 		// 2. 设置更新信息
 		tireInsuranceRegister.setUpdateUser(AuthUtil.getUserId());  // 设置更新人ID
 		tireInsuranceRegister.setUpdateTime(new Date());           // 设置更新时间
-		tireInsuranceRegister.setStatus(1);                        // 设置状态为1(已提交)
+		tireInsuranceRegister.setStatus(2);                        // 设置状态为1(已提交)
 
 		// 3. 更新轮胎保险注册信息
 		this.updateById(tireInsuranceRegister);
@@ -234,21 +239,33 @@ public class ShopAppTireInsuranceRegisterServiceImpl extends ServiceImpl<ShopApp
 		// 10. 批量保存理赔附件
 		bladeClaimAttachmentService.saveBatch(claimAttachmentList);
 
+		ShopAppTireInsuranceRecord tireInsuranceRecord = new ShopAppTireInsuranceRecord();
+		tireInsuranceRecord.setInsuranceNo(tireInsuranceRegister.getInsuranceNo());
+		tireInsuranceRecord.setInsuranceId(tireInsuranceRegister.getId());
+		tireInsuranceRecord.setCreateUser(AuthUtil.getUserId());
+		tireInsuranceRecord.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+		tireInsuranceRecord.setCreateTime(new Date());
+		tireInsuranceRecord.setClaimId(claim.getId());
+		tireInsuranceRecord.setClaimNo(claim.getClaimNo());
+		tireInsuranceRecord.setClaimReason(claim.getClaimReason());
+		tireInsuranceRecord.setClaimDate(new Date());
+		appTireInsuranceRecordService.save(tireInsuranceRecord);
 		// 11. 返回处理结果
 		return R.data(appTireInsuranceRegister);
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public R revokeTireInsurance(Long id) {
 		ShopAppTireInsuranceRegister tireInsuranceRegister = baseMapper.selectById(id);
 
 		// 2. 设置更新信息
 		tireInsuranceRegister.setUpdateUser(AuthUtil.getUserId());  // 设置更新人ID
 		tireInsuranceRegister.setUpdateTime(new Date());           // 设置更新时间
-		if (1 != tireInsuranceRegister.getStatus()) {
+		if (2 != tireInsuranceRegister.getStatus()) {
 			throw new RuntimeException("工厂已受理/审核通过,撤销失败!");
 		}
-		tireInsuranceRegister.setStatus(0);                        // 设置状态为1(已提交)
+		tireInsuranceRegister.setStatus(1);                        // 设置状态为1(已提交)
 
 		// 3. 更新轮胎保险注册信息
 		this.updateById(tireInsuranceRegister);
@@ -258,11 +275,12 @@ public class ShopAppTireInsuranceRegisterServiceImpl extends ServiceImpl<ShopApp
 			.eq(ShopAppClaim::getIsDeleted, 0)
 			.eq(ShopAppClaim::getAuditStatus, 0)
 			.last("LIMIT 1"));
-		bladeClaimService.removeById(claim.getId());
-		Map<String, Object> map = new HashMap<>();
-		map.put("claim_id",claim.getId());
-		bladeClaimAttachmentService.removeByMap(map);
-
+		if(claim != null){
+			bladeClaimService.removeById(claim.getId());
+			Map<String, Object> map = new HashMap<>();
+			map.put("claim_id", claim.getId());
+			bladeClaimAttachmentService.removeByMap(map);
+		}
 		return R.data(tireInsuranceRegister);
 	}