Ver Fonte

Merge branch 'information-27' into dev

# Conflicts:
#	netflix-service/src/main/java/com/cyksj/redis/RedisService.java
#	netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java
#	netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java
#	netflix-service/src/main/java/com/cyksj/service/template/impl/TemplateCommonServiceImpl.java
#	netflix-web/src/main/java/com/cyksj/web/controller/goods/GoodsDonController.java
zoujiajian há 2 anos atrás
pai
commit
7ab6712fca

+ 4 - 0
netflix-common/src/main/java/com/cyksj/common/constant/Constant.java

@@ -252,6 +252,10 @@ public interface Constant {
 	 */
 	Integer CORP_LINK_JOB_ID = 192;
 
+	String ACCOUNT_PWD_UPDATE_SYS_MSG_NOTIFY = "您购买的%s账号,密码已修改";
+
+	String ACCOUNT_SET_SYS_MSG_NOTIFY = "您购买的%s账号,账号已配置";
+
 	String DUTY_SERVICE_CHANGE_MSG = "%s值班人员不足三人【银河录像局】";
 
 	/**

+ 1 - 1
netflix-service/src/main/java/com/cyksj/redis/RedisService.java

@@ -667,8 +667,8 @@ public class RedisService {
 
         WEEKEND_DUTY_UNDERSTAFFED_NOTIFY("weekend_duty_understaffed_notify","周末值班人员不足短信通知key",60*60),
         DOUBLE_VERIFY_CODE_VIEW_MINUTES_KEY("double_verify_code_view_minutes_key","双重验证码查看同时间段人数限制",60),
-        WX_INDENT_BIND_KEY("wx_indent_bind:key:", "微信身份授权绑定key", 60 * 60 * 24),
 
+        WX_INDENT_BIND_KEY("wx_indent_bind:key:", "微信身份授权绑定key", 60 * 60 * 24),
         INFORMATION_KEY("information_key:", "文章", 30 * 60L),
         ;
 

+ 15 - 7
netflix-service/src/main/java/com/cyksj/service/mange/impl/CmsOrderDonServiceImpl.java

@@ -332,7 +332,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
         String outNo = orderRefundService.centerRefund(refundReq, orderDon);
         orderDon.setRefundDesc(refundReq.getRefundDesc());
         //记录退款信息
-        commonRefund(orderDon, refundReq.getRefundMoney(), refundReq.getOperator(), goodsDon, sku, outNo, refundType);
+        commonRefund(orderDon, refundReq.getRefundMoney(), refundReq.getOperator(), goodsDon, sku, outNo, refundType, refundReq.getIsOnly(), refundReq.getRefundBalance());
         //修改订单状态
         orderDon.setStatus(OrderDon.Status.refund);
         orderDonMapper.updateById(orderDon);
@@ -695,7 +695,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
     /**
      * 退款后 处理关联
      */
-    public void commonRefund(OrderDon orderDon, BigDecimal refundMoney,String operator, GoodsDon goodsDon, GoodsDonSku sku, String outNo, String refundType) {
+    public void commonRefund(OrderDon orderDon, BigDecimal refundMoney, String operator, GoodsDon goodsDon, GoodsDonSku sku, String outNo, String refundType, Boolean isOnly, BigDecimal refundBalance) {
         TASK_POOL.execute(() -> {
             orderRefundService.refundRecord(orderDon, refundMoney, operator, goodsDon, sku, outNo, refundType);
             //退款一次
@@ -710,10 +710,18 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
             if (orderDon.getCouponUserId() != 0) {
                 couponFontService.updateOrderDonCouponStatus(orderDon);
             }
+            //退等比例
+            if (isOnly != null && isOnly) {
+	            userBenefitsService.addUserBalance(orderDon.getUserId(), refundBalance, UserBalanceSourceRecord.Source.refund, orderDon.getYhsId(), orderDon.getId(), goodsDon.getTitle() + UserBalanceSourceRecord.Source.refund.getDesc(), true);
+                BigDecimal orderDonRefundBalance = Optional.ofNullable(orderDon.getRefundBalance()).orElse(BigDecimal.ZERO);
+                orderDon.setRefundBalance(orderDonRefundBalance.add(refundBalance));
+            }
+
             //若存在余额支付,退还余额
-            if (orderDon.getBalance().compareTo(BigDecimal.ZERO) > 0) {
+            if (isOnly == null && orderDon.getBalance().compareTo(BigDecimal.ZERO) > 0) {
                 userBenefitsService.addUserBalance(orderDon.getUserId(), orderDon.getBalance(), UserBalanceSourceRecord.Source.refund, orderDon.getYhsId(), orderDon.getId(), goodsDon.getTitle() + UserBalanceSourceRecord.Source.refund.getDesc(), true);
             }
+
             try {
                 marketFrontService.subSpecificChanceNum(orderDon.getUserId(), orderDon.getId(), orderDon.getGoodsId(), orderDon.getUpdateTime());
                 if (goodsDon.getType() == 2) {
@@ -725,7 +733,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
                 log.error("wx减少抽奖机会错误,orderId:{},error:{}", orderDon.getId(), e);
             }
             if (OrderDon.Type.BALANCE.getType().equals(refundType)) {
-                if (orderDon.getMoney().compareTo(BigDecimal.ZERO) > 0) {
+                if (isOnly == null && orderDon.getMoney().compareTo(BigDecimal.ZERO) > 0) {
                     userBenefitsService.addUserBalance(orderDon.getUserId(), orderDon.getRefundBalance(), UserBalanceSourceRecord.Source.refund, orderDon.getYhsId(), orderDon.getId(), goodsDon.getTitle() + UserBalanceSourceRecord.Source.refund.getDesc(), true);
                 }
             } else {
@@ -783,7 +791,7 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
                             List<OrderDon> relate_orderDons = orderDonMapper.selectList(Wrappers.lambdaQuery(OrderDon.class)
                                     .in(OrderDon::getId, plusOrderIdList)
                                     .notIn(OrderDon::getStatus, Constant.noOrderStatus));
-                            relate_orderDons.forEach(relate_o->{
+                            relate_orderDons.forEach(relate_o -> {
                                 //扣除用户自身实物权益
                                 userRealOrderBenefitsService.deductUserRealGoodsBenefits(relate_o.getId());
                             });
@@ -803,10 +811,10 @@ public class CmsOrderDonServiceImpl extends ServiceImpl<OrderDonMapper,OrderDon>
                         .in(GroupsRelationExpiryRecord::getReBuyOrderId, orderDon.getId())
                         .eq(GroupsRelationExpiryRecord::getRelationId, orderDon.getRelationId()).last("limit 1"));
                 if (groupsRelationExpiryRecord == null) {
-                    log.info("订单orderId:{}退款,同步是否有重购记录不是直接续费车票",orderDon.getId());
+                    log.info("订单orderId:{}退款,同步是否有重购记录不是直接续费车票", orderDon.getId());
                     List<GroupsRelationExpiryRecord> groupsRelationExpiryRecords = groupsRelationExpiryRecordService.list(Wrappers.lambdaQuery(GroupsRelationExpiryRecord.class)
                             .in(GroupsRelationExpiryRecord::getReBuyOrderId, orderDon.getId()));
-                    log.info("订单orderId:{}退款,重购记录不是直接续费车票大小:{}",groupsRelationExpiryRecords.size());
+                    log.info("订单orderId:{}退款,重购记录不是直接续费车票大小:{}", groupsRelationExpiryRecords.size());
                     if (CollUtil.isNotEmpty(groupsRelationExpiryRecords)) {
                         groupsRelationExpiryRecords.forEach(data -> {
                             data.setIsReBuy(false);

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

@@ -54,7 +54,6 @@ import com.cyksj.model.dto.*;
 import com.cyksj.model.entity.*;
 import com.cyksj.model.manage.dto.ChannelBaiDuDiscountDto;
 import com.cyksj.model.manage.dto.GiftCardDto;
-import com.cyksj.model.manage.request.ReqGoodsSkuSpec;
 import com.cyksj.model.manage.views.GroupsRelationView;
 import com.cyksj.model.manage.views.OrderDonView;
 import com.cyksj.model.request.*;
@@ -132,8 +131,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 	private final GoodsDonMapper goodsDonMapper;
 
-	private final GoodsDonSpecMapper goodsDonSpecMapper;
-
 	private final GroupsRelationMapper groupsRelationMapper;
 
 	private final BeanSearcher beanSearcher;
@@ -264,8 +261,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 	private final EquipmentActivityReduceMapper equipmentActivityReduceMapper;
 
-	private final UserCertRecordMapper userCertRecordMapper;
-
 	private final InformationClickUserRecordMapper informationClickUserRecordMapper;
 
 	private final List<String> noChekGoodsTemp = List.of("Apple One", "Youtube", "Spotify");
@@ -406,23 +401,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			payRequest.setDonMoney(sku.getPrice());
 		}
 
-		//租赁商品
-		if (goodsDon.getType() == 4) {
-			//是否已实名认证过
-			List<Long> userIdList = userBindRelationService.getRelationUserIdList(userId, user);
-			Integer count = userCertRecordMapper.selectCount(Wrappers.lambdaQuery(UserCertRecord.class).in(UserCertRecord::getUserId, userIdList));
-			if (count == 0) throw BusinessRuntimeException.getInstance("请您先完成实名认证..");
-
-			//租赁商品押金
-			BigDecimal rentGoodsDonDeposit = getRentGoodsDonDeposit(goodsId, sku.getSpecIds());
-			if (rentGoodsDonDeposit == null) throw BusinessRuntimeException.getInstance("应付押金异常..");
-			BigDecimal sPay = rentGoodsDonDeposit.add(sku.getPrice());
-			if (payRequest.getDonMoney().compareTo(sPay) < 0) {
-				payRequest.setDonMoney(sPay);
-			}
-			orderDon.setDeposit(rentGoodsDonDeposit);
-		}
-
 		orderDon.setMoney(payRequest.getDonMoney());
 		orderDon.setRealMoney(payRequest.getDonMoney());
 		orderDon.setOriMoney(sku.getPrice());
@@ -468,7 +446,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		orderDon.setCouponExCode(payRequest.getCouponExCode());
 		//店铺id
 		orderDon.setYhsId(yhsId);
-		orderDon.setInfoId(payRequest.getInfoId());
 		if (relation != null && relation.getStatus() == GroupsRelation.Status.outside) {
 			orderDon.setIsOt(true);
 		}
@@ -482,8 +459,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				throw BusinessRuntimeException.getInstance("车位与车队规格不一致");
 			}
 		}
-		//租赁商品不参与优惠
-		if (sku != null && goodsDon.getType() != 4) {
+		if (sku != null) {
 			//扣除使用优惠券、余额的订单金额
 			deductOrderMoney(orderDon, couponUser, payRequest.getBalance(), user, sku.getPrice(), goodsDon.getType(), payRequest.getGcCash(), payRequest.getGcpIds(), payRequest.getIsAcReduce());
 		}
@@ -2367,7 +2343,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 
 		TASK_POOL.execute(()->{
 			try {
-				orderDonPostService.postData((orderDon.getId()), orderDon.getGoodsId(), orderDon.getPopularizeId());
+				orderDonPostService.postData(orderDon.getId(), orderDon.getGoodsId(), orderDon.getPopularizeId());
 			} catch (Exception e) {
 				log.error("回传错误 {}",StringUtil.getErrorText(e));
 			}
@@ -2756,7 +2732,7 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		clearUserLockingRelation(groupsRelationMapper.selectById(orderDon.getRelationId()), orderDon);
 
 		//记录退款
-		orderRefundService.refundRecord(orderDon, orderRefundReq.getRefundMoney(), orderRefundReq.getOperator(), goodsDon, sku, outNo, orderDon.getType().getType());
+		orderRefundService.refundRecord(orderDon, orderRefundReq.getRefundMoney(), null, goodsDon, sku, outNo, orderDon.getType().getType());
 		return;
 	}
 
@@ -2812,26 +2788,4 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			orderDon.setBalance(subBalance);
 		}
 	}
-
-	/**
-	 * 获取租赁商品的应付押金
-	 */
-	private BigDecimal getRentGoodsDonDeposit(Long goodsId, String specIdsStr) throws Exception {
-		GoodsDonSpec rentGoodsDonSpec = goodsDonSpecMapper.selectOne(Wrappers.lambdaQuery(GoodsDonSpec.class)
-				.eq(GoodsDonSpec::getGoodsId, goodsId)
-				.last("limit 1"));
-		List<Integer> specIds = Jsons.parseList(specIdsStr, Integer.class);
-		String specsJson = rentGoodsDonSpec.getSpecsJson();
-		List<ReqGoodsSkuSpec> reqGoodsSkuSpec = Jsons.parseList(specsJson, ReqGoodsSkuSpec.class);
-		for (ReqGoodsSkuSpec spec : reqGoodsSkuSpec) {
-			if (spec.getKey().contains("版本")) {
-				for (ReqGoodsSkuSpec.Node value : spec.getValues()) {
-					if (specIds.contains(value.getId())) {
-						return value.getDeposit();
-					}
-				}
-			}
-		}
-		return null;
-	}
 }

+ 1 - 2
netflix-service/src/main/java/com/cyksj/service/template/impl/TemplateCommonServiceImpl.java

@@ -220,7 +220,6 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
 		if (CollUtil.isEmpty(relations)) {
 			return;
 		}
-		Boolean isPrdEnv = envCommonService.isPrdEnv();
 		GoodsDon goodsDon = goodsDonMapper.selectById(account.getGoodsId());
 		String title = goodsDon != null ? goodsDon.getTitle() : "车票";
 		DateTime now = DateTime.now();
@@ -239,7 +238,7 @@ public class TemplateCommonServiceImpl implements TemplateCommonService {
 			if (Constant.CHANGE_ACCOUNT_PWD_FILTER_GIDS.get(1) == account.getGoodsId()) {
 				return;
 			}
-			if (relation.getUserId() != 0 && isPrdEnv && relation.getYhsId() == 0 && isPrd) {
+			if (relation.getUserId() != 0 && relation.getYhsId() == 0 && isPrd) {
 				String msg = String.format(Constant.CHANGE_GROUPS_TRIPS_ACCOUNT, title);
 				smsService.sendSmsToRelationUser(relation.getUserId(), msg);
 			}

+ 0 - 3
netflix-service/src/main/java/com/cyksj/service/user/impl/UserIdentCertServiceImpl.java

@@ -16,7 +16,6 @@ import com.cyksj.model.entity.UserCertRecord;
 import com.cyksj.model.request.UserIndentCertReq;
 import com.cyksj.model.response.WxCertAuthTokenResp;
 import com.cyksj.redis.RedisService;
-import com.cyksj.service.market.task.BindTaskService;
 import com.cyksj.service.user.UserBindRelationService;
 import com.cyksj.service.user.UserIdentCertService;
 import com.tencentcloudapi.common.Credential;
@@ -44,8 +43,6 @@ public class UserIdentCertServiceImpl implements UserIdentCertService {
 
 	private final UserCertRecordMapper userCertRecordMapper;
 
-	private final BindTaskService bindTaskService;
-
 	private final UserMapper userMapper;
 
 	private final RedisService redisService;

+ 0 - 24
netflix-web/src/main/java/com/cyksj/web/controller/goods/GoodsDonController.java

@@ -1086,28 +1086,4 @@ public class GoodsDonController {
 		}
 		return GatewayResponse.SUCCESS.newBuilder().toResult(list);
 	}
-
-	/**
-	 * 获取租赁商品列表
-	 */
-	@GetMapping("/get/deposit")
-	public Result<? extends Object> getDepositGoods() {
-		String depositGoodsKey = RedisService.key.YH_HOME_PAGHE_CACHE.getEnvName() + "deposit";
-		Object o = redisService.get(depositGoodsKey);
-		if (o == null) {
-			List<GoodsDon> depositList = beanSearcher.searchAll(GoodsDon.class, MapUtils.builder()
-					.field(GoodsDon::getType, 4)
-					.field(GoodsDon::getStatus, true)
-					.field(GoodsDon::getDeleted, true)
-					.onlySelect(GoodsDon::getId, GoodsDon::getTitle, GoodsDon::getLogo)
-					.build());
-			if (CollUtil.isEmpty(depositList)) {
-				return GatewayResponse.SUCCESS.newBuilder().toResult();
-			}
-			redisService.setNx(depositGoodsKey, depositList, RedisService.key.YH_HOME_PAGHE_CACHE.getTimeout() + 60 * RandomUtil.randomInt(10));
-			o = redisService.get(depositGoodsKey);
-		}
-		List<GoodsDon> depositList = Jsons.parseList(o, GoodsDon.class);
-		return GatewayResponse.SUCCESS.newBuilder().toResult(depositList);
-	}
 }