|
|
@@ -18,8 +18,10 @@ import com.cyksj.enums.GatewayResponse;
|
|
|
import com.cyksj.mapper.GoodsDonSkuMapper;
|
|
|
import com.cyksj.mapper.OrderDonMapper;
|
|
|
import com.cyksj.mapper.RegisterOrderDonMapper;
|
|
|
+import com.cyksj.mapper.manage.distribute.UserDistributeSharedMapper;
|
|
|
import com.cyksj.mapper.shop.YhShopGoodsSkuMapper;
|
|
|
import com.cyksj.mapper.sys.SysConfigMapper;
|
|
|
+import com.cyksj.model.dto.GoodsDonPriceDto;
|
|
|
import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.request.ClickRecordReq;
|
|
|
import com.cyksj.model.views.*;
|
|
|
@@ -80,6 +82,8 @@ public class GoodsDonController {
|
|
|
|
|
|
private final UserService userService;
|
|
|
|
|
|
+ private final UserDistributeSharedMapper userDistributeSharedMapper;
|
|
|
+
|
|
|
private final GoodsDonFrontService goodsDonFrontService;
|
|
|
|
|
|
private final UserBindRelationService userBindRelationService;
|
|
|
@@ -419,6 +423,26 @@ public class GoodsDonController {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if (fUid != null && Constant.SPECIAL_PRICE_SKU_IDS.contains(sku.getId())) {
|
|
|
+ UserDistributeShared distributeShared = userDistributeSharedMapper.selectOne(Wrappers.lambdaQuery(UserDistributeShared.class)
|
|
|
+ .eq(UserDistributeShared::getUserId, fUid)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (distributeShared != null) {
|
|
|
+ Optional.ofNullable(sysConfigMapper.selectOne(Wrappers.lambdaQuery(SysConfig.class)
|
|
|
+ .eq(SysConfig::getSysKey, Constant.MJ_SPECIAL_SKU_PRICE_KEY)
|
|
|
+ .last("limit 1"))).ifPresent(sysConfig -> {
|
|
|
+ if (StrUtil.isNotBlank(sysConfig.getSysValue())) {
|
|
|
+ try {
|
|
|
+ GoodsDonPriceDto goodsDonPriceDto = Jsons.parseObject(sysConfig.getSysValue(), GoodsDonPriceDto.class);
|
|
|
+ if (CollUtil.isNotEmpty(goodsDonPriceDto.getSharedId()) && goodsDonPriceDto.getSharedId().contains(distributeShared.getSharedId())) {
|
|
|
+ sku.setPrice(goodsDonPriceDto.getPrice());
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
return true;
|
|
|
}).collect(Collectors.toList()));
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(views);
|