|
@@ -912,6 +912,44 @@ public class FsPackageOrderServiceImpl implements IFsPackageOrderService
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public R validateOrderPurchaseConditions(FsPackageOrderCreateParam param) {
|
|
|
|
|
+ FsPackage fsPackage = fsPackageMapper.selectFsPackageByPackageId(param.getPackageId());
|
|
|
|
|
+ if (fsPackage == null) {
|
|
|
|
|
+ logger.error("未找到套餐包, 套餐包id: {}", param.getPackageId());
|
|
|
|
|
+ return R.error("未找到套餐包");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 套餐已下架
|
|
|
|
|
+ if (fsPackage.getStatus().equals(0)) {
|
|
|
|
|
+ return R.error("套餐已下架");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 私域套餐:需提供公司和销售用户信息
|
|
|
|
|
+ if (fsPackage.getIsShow() == 0) {
|
|
|
|
|
+ if (param.getCompanyId() == null || param.getCompanyUserId() == null) {
|
|
|
|
|
+ logger.error("入参信息缺失, 入参: {}", param);
|
|
|
|
|
+ return R.error("商品信息过期");
|
|
|
|
|
+ }
|
|
|
|
|
+ CompanyUser companyUser = companyUserMapper.selectCompanyUserById(param.getCompanyUserId());
|
|
|
|
|
+ if (companyUser == null) {
|
|
|
|
|
+ logger.error("未找到销售用户, 销售id: {}", param.getCompanyUserId());
|
|
|
|
|
+ return R.error("商品信息过期");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // 限购校验
|
|
|
|
|
+ Integer num = fsPackage.getNum();
|
|
|
|
|
+ if (num != null && num > 0) {
|
|
|
|
|
+ int purchasedCount = fsPackageMapper.selectFsPackageListByUser(param.getUserId(), fsPackage.getPackageId());
|
|
|
|
|
+ if (purchasedCount >= num) {
|
|
|
|
|
+ return R.error("超过限购次数");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ //套餐包所有校验通过
|
|
|
|
|
+ return R.ok();
|
|
|
|
|
+ }
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional
|
|
@Transactional
|
|
|
public R payOrder(FsPackageOrderPayParam param) {
|
|
public R payOrder(FsPackageOrderPayParam param) {
|