فهرست منبع

fix 删除账号

zoujiajian 3 سال پیش
والد
کامیت
ceeaacc199

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/excel/ExcelExpiredAccountData.java

@@ -21,4 +21,7 @@ public class ExcelExpiredAccountData {
 
 	@ExcelProperty("密码")
 	private String password;
+
+	@ExcelProperty("是否封号")
+	private String remark;
 }

+ 67 - 61
netflix-web/src/main/java/com/cyksj/web/controller/manage/account/CmsAccountController.java

@@ -591,80 +591,86 @@ public class CmsAccountController {
 	 * 读取被封账号excel表格 删除账号以及车队
 	 */
 	private final GoodsDonMapper goodsDonMapper;
+
 	@GetMapping("/read/account/expired")
 	@Transactional(rollbackFor = Throwable.class)
 	public Result<String> readAccountExpired(MultipartFile file) throws IOException {
 		EasyExcel.read(file.getInputStream(), ExcelExpiredAccountData.class, new AnalysisEventListener<ExcelExpiredAccountData>() {
 			@Override
 			public void invoke(ExcelExpiredAccountData data, AnalysisContext analysisContext) {
-				String account = data.getAccount();
-				String title = data.getTitle();
-				GoodsDon goodsDon = goodsDonMapper.selectOne(Wrappers.lambdaQuery(GoodsDon.class)
-						.eq(GoodsDon::getTitle, title).last("limit 1"));
-				if (goodsDon == null) {
-					log.error("账号:{}平台不存在", account);
-					return;
-				}
-				Long goodsId = goodsDon.getId();
-				Account dbAccount = accountService.getOne(Wrappers.lambdaQuery(Account.class)
-						.eq(Account::getAccount, account.trim())
-						.eq(Account::getGoodsId, goodsId).last("limit 1"));
-				if (dbAccount == null) {
-					log.error("账号:{}不存在", account);
-					return;
-				}
-				//先记录
-				Long accountId = dbAccount.getId();
-				String password = dbAccount.getPassword();
-				Date accountStartTime = dbAccount.getStartTime();
-				Date accountExpiryTime = dbAccount.getExpiryTime();
-				Long groupId = null;
-				List<GroupsRelationView> relationViewList = beanSearcher.searchAll(GroupsRelationView.class, MapUtils.builder().field(GroupsRelationView::getAccountId, dbAccount.getId()).build());
-				if (!relationViewList.isEmpty()) {
-					groupId = relationViewList.get(0).getGroupsId();
+				String remark = data.getRemark();
+				if (StrUtil.isNotBlank(remark) && "是".equals(remark)) {
+					String account = data.getAccount();
+					String title = data.getTitle();
+
+					GoodsDon goodsDon = goodsDonMapper.selectOne(Wrappers.lambdaQuery(GoodsDon.class)
+							.eq(GoodsDon::getTitle, title).last("limit 1"));
+					if (goodsDon == null) {
+						log.error("账号:{}平台不存在", account);
+						return;
+					}
+					Long goodsId = goodsDon.getId();
+					Account dbAccount = accountService.getOne(Wrappers.lambdaQuery(Account.class)
+							.eq(Account::getAccount, account.trim())
+							.eq(Account::getGoodsId, goodsId).last("limit 1"));
+					if (dbAccount == null) {
+						log.error("账号:{}不存在", account);
+						return;
+					}
+					//先记录
+					Long accountId = dbAccount.getId();
+					String password = dbAccount.getPassword();
+					Date accountStartTime = dbAccount.getStartTime();
+					Date accountExpiryTime = dbAccount.getExpiryTime();
+					Long groupId = null;
+					List<GroupsRelationView> relationViewList = beanSearcher.searchAll(GroupsRelationView.class, MapUtils.builder().field(GroupsRelationView::getAccountId, dbAccount.getId()).build());
+					if (!relationViewList.isEmpty()) {
+						groupId = relationViewList.get(0).getGroupsId();
+					}
+					relationViewList.forEach(view -> {
+						Long relationId = view.getId();
+						Long userId = view.getUserId();
+						Long groupsId = view.getGroupsId();
+						Long skuId = view.getSkuId();
+						Date startTime = view.getStartTime();
+						Date expiryTime = view.getExpiryTime();
+						AccountDeletedRecord accountDeletedRecord = new AccountDeletedRecord();
+						accountDeletedRecord.setAccountId(accountId);
+						accountDeletedRecord.setGoodsId(goodsId);
+						accountDeletedRecord.setAccount(account);
+						accountDeletedRecord.setPassword(password);
+						accountDeletedRecord.setAccountStartTime(accountStartTime);
+						accountDeletedRecord.setAccountExpiryTime(accountExpiryTime);
+
+						accountDeletedRecord.setGroupsId(groupsId);
+						accountDeletedRecord.setSkuId(skuId);
+						accountDeletedRecord.setRelationId(relationId);
+						accountDeletedRecord.setUserId(userId);
+						accountDeletedRecord.setRelationStartTime(startTime);
+						accountDeletedRecord.setRelationExpireTime(expiryTime);
+						accountDeletedRecordMapper.insert(accountDeletedRecord);
+						log.info("记录用户:{}被删除车票入库", view.getUserId());
+					});
+					//后删除
+					//删除账号
+					accountService.removeById(accountId);
+
+					if (groupId != null) {
+						//删除车队
+						groupsMapper.deleteById(groupId);
+
+						//删除车位
+						relationMapper.delete(Wrappers.lambdaQuery(GroupsRelation.class)
+								.eq(GroupsRelation::getGroupsId, groupId));
+					}
 				}
-				relationViewList.forEach(view -> {
-					Long relationId = view.getId();
-					Long userId = view.getUserId();
-					Long groupsId = view.getGroupsId();
-					Long skuId = view.getSkuId();
-					Date startTime = view.getStartTime();
-					Date expiryTime = view.getExpiryTime();
-					AccountDeletedRecord accountDeletedRecord = new AccountDeletedRecord();
-					accountDeletedRecord.setAccountId(accountId);
-					accountDeletedRecord.setGoodsId(goodsId);
-					accountDeletedRecord.setAccount(account);
-					accountDeletedRecord.setPassword(password);
-					accountDeletedRecord.setAccountStartTime(accountStartTime);
-					accountDeletedRecord.setAccountExpiryTime(accountExpiryTime);
-
-					accountDeletedRecord.setGroupsId(groupsId);
-					accountDeletedRecord.setSkuId(skuId);
-					accountDeletedRecord.setRelationId(relationId);
-					accountDeletedRecord.setUserId(userId);
-					accountDeletedRecord.setRelationStartTime(startTime);
-					accountDeletedRecord.setRelationExpireTime(expiryTime);
-					accountDeletedRecordMapper.insert(accountDeletedRecord);
-					log.info("记录用户:{}被删除车票入库", view.getUserId());
-				});
-				//后删除
-				//删除账号
-				accountService.removeById(accountId);
-
-				//删除车队
-				groupsMapper.delete(Wrappers.lambdaQuery(GroupsTrips.class)
-						.eq(GroupsTrips::getId, groupId));
-
-				//删除车位
-				relationMapper.delete(Wrappers.lambdaQuery(GroupsRelation.class)
-						.eq(GroupsRelation::getGroupsId, groupId));
 			}
 
 			@Override
 			public void doAfterAllAnalysed(AnalysisContext analysisContext) {
 
 			}
-		});
+		}).sheet().doRead();
 		return GatewayResponse.SUCCESS.newBuilder().toResult();
 	}
 }