Ver código fonte

fix 邀请制账号非必填

zoujiajian 1 ano atrás
pai
commit
b16221d72e

+ 8 - 3
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -1714,7 +1714,12 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 					relation.setRechargeStatus(GroupsRelation.RechargeStatus.waiting);
 					relation.setSubmitTime(DateTime.now());
 				}
-				if (GroupsTrips.Status.validity.equals(groupsTrips.getStatus()) || GroupsTrips.Status.down.equals(groupsTrips.getStatus())) {
+				GroupsTrips.Status tripsStatus = groupsTrips.getStatus();
+				//邀请制 不给车票设置时间
+				if (goodsDon.getSecondType() != null && goodsDon.getSecondType() == 1) {
+					tripsStatus = GroupsTrips.Status.waiting;
+				}
+				if (GroupsTrips.Status.validity.equals(tripsStatus) || GroupsTrips.Status.down.equals(tripsStatus)) {
 					//如果续费增加时间,如果首次则设置当前时间为初始时间
 					Date expiryTime = Optional.ofNullable(relation.getExpiryTime()).orElse(new Date());
 					GoodsDonSku donSku = goodsDonSkuMapper.selectById(order.getSkuId());
@@ -1744,7 +1749,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 					//镜像续费升级
 					handleMirrorRenew(sku, order, groupsTrips, relation.getId(), skuNewExpiryTime);
-				} else if (GroupsTrips.Status.waiting.equals(groupsTrips.getStatus())) {
+				} else if (GroupsTrips.Status.waiting.equals(tripsStatus)) {
 					log.info("车位groupsId:{}未发车,修改订单号orderNo:{}订单为已付款状态:{}", groupsTrips.getId(), order.getOrderNo());
 					order.setStatus(OrderDon.Status.hasPayment);
 					if (goodsDon.getSpecialType() != null && goodsDon.getSpecialType() == GoodsDon.SpecialType.courseware) {
@@ -1760,7 +1765,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 //				}
 				//独立车位下单后 车队下架
 				if (sku.getNum() != null && sku.getNum() == 1) {
-					if (groupsTrips.getAccountId() != null && groupsTrips.getStatus() == GroupsTrips.Status.validity) {
+					if (groupsTrips.getAccountId() != null && tripsStatus == GroupsTrips.Status.validity) {
 						groupsTrips.setStatus(GroupsTrips.Status.down);
 						groupsMapper.updateById(groupsTrips);
 					}

+ 2 - 2
netflix-web/src/main/java/com/cyksj/web/controller/group/GroupRelationController.java

@@ -190,8 +190,8 @@ public class GroupRelationController {
             if (re.getRechargeStatus() == GroupsRelation.RechargeStatus.complete) {
                 throw BusinessRuntimeException.getInstance("代充账号已充值");
             }
-            if (StrUtil.isEmpty(relation.getAccount()) || StrUtil.isEmpty(relation.getPassword())) {
-                throw BusinessRuntimeException.getInstance("请输入正确的账号密码信息");
+            if (StrUtil.isEmpty(relation.getAccount())) {
+                throw BusinessRuntimeException.getInstance("请输入正确的账号信息");
             }
             if (re.getRechargeStatus() == GroupsRelation.RechargeStatus.error) {
                 updateWrapper.set(GroupsRelation::getRechargeStatus, GroupsRelation.RechargeStatus.waiting);

+ 27 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/CmsOrderController.java

@@ -581,6 +581,8 @@ public class CmsOrderController {
 	 */
 	@PutMapping("/put/status/{orderId}")
 	public Result<String> updateOrderStatus(@PathVariable Long orderId) {
+		long adminId = StpUtil.getLoginIdAsLong();
+		CmsUser cmsUser = cmsUserMapper.selectById(adminId);
 		OrderDon orderDon = cmsOrderDonService.getById(orderId);
 		if (orderDon == null) {
 			throw BusinessRuntimeException.getInstance("该订单不存在");
@@ -593,6 +595,31 @@ public class CmsOrderController {
 		}
 		orderDon.setStatus(OrderDon.Status.complete);
 		cmsOrderDonService.updateById(orderDon);
+		Long relationId = orderDon.getRelationId();
+		Optional.ofNullable(relationMapper.selectOne(Wrappers.lambdaQuery(GroupsRelation.class)
+				.eq(GroupsRelation::getId, relationId)
+				.eq(GroupsRelation::getUserId, orderDon.getUserId())
+				.last("limit 1"))).ifPresent(relation->{
+			GroupsRelation.RechargeStatus rechargeStatus = relation.getRechargeStatus();
+			if (rechargeStatus != null && rechargeStatus == GroupsRelation.RechargeStatus.waiting) {
+				relation.setRechargeStatus(GroupsRelation.RechargeStatus.complete);
+				if (cmsUser != null) {
+					relation.setOperator(cmsUser.getNickname());
+				}
+				relation.setSendTime(DateTime.now());
+				relation.setStartTime(DateTime.now());
+				GoodsDonSku sku = skuMapper.selectById(orderDon.getSkuId());
+				DateTime expiryTime;
+				if (sku.getDays() != null && sku.getDays() > 0) {
+					expiryTime = DateUtil.offsetDay(relation.getStartTime(), sku.getDays());
+				} else {
+					expiryTime = DateUtil.offsetMonth(relation.getStartTime(), sku.getMonths());
+				}
+				relation.setExpiryTime(expiryTime);
+				relationMapper.updateById(relation);
+			}
+		});
+
 		return GatewayResponse.SUCCESS.newBuilder().toResult("修改订单状态成功");
 	}
 

+ 1 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/group/CmsGroupRelationController.java

@@ -97,6 +97,7 @@ public class CmsGroupRelationController {
         if (StrUtil.isEmpty(rechargeStatus)) {
             builder.field(GroupsRelationRechargeView::getRechargeStatus).op(Operator.NotNull);
         }
+        builder.field(GroupsRelationRechargeView::getAccount).op(Operator.NotNull);
         if (StrUtil.isNotBlank(orderNo)) {
             OrderDon orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
                     .eq(OrderDon::getOrderNo, orderNo)