提交 44d19908 authored 作者: Whispa's avatar Whispa

commit

上级 06ea64ad
package com.example.afrishop_v3.controllers; package com.example.afrishop_v3.controllers;
import com.example.afrishop_v3.base.Result;
import com.example.afrishop_v3.enums.OrderStatusEnum;
import com.example.afrishop_v3.enums.ResultCodeEnum;
import com.example.afrishop_v3.models.*; import com.example.afrishop_v3.models.*;
import com.example.afrishop_v3.repository.*; import com.example.afrishop_v3.repository.*;
import com.example.afrishop_v3.security.services.AuthenticationUser; import com.example.afrishop_v3.security.services.AuthenticationUser;
...@@ -8,8 +11,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -8,8 +11,6 @@ import org.springframework.web.bind.annotation.*;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.Query; import javax.persistence.Query;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.*; import java.util.*;
...@@ -24,8 +25,9 @@ public class BonusController extends Controller { ...@@ -24,8 +25,9 @@ public class BonusController extends Controller {
private final NetworkRepository networkRepository; private final NetworkRepository networkRepository;
private final EntityManager entityManager; private final EntityManager entityManager;
private final AuthenticationUser user; private final AuthenticationUser user;
private final TbCfOrderRepository orderRepository;
public BonusController(BonusRepository repository, TbCfStationItemRepository itemRepository, UserRepository userRepository, PostRepository postRepository, NetworkRepository networkRepository, EntityManager entityManager, AuthenticationUser user) { public BonusController(BonusRepository repository, TbCfStationItemRepository itemRepository, UserRepository userRepository, PostRepository postRepository, NetworkRepository networkRepository, EntityManager entityManager, AuthenticationUser user, TbCfOrderRepository orderRepository) {
this.repository = repository; this.repository = repository;
this.itemRepository = itemRepository; this.itemRepository = itemRepository;
this.userRepository = userRepository; this.userRepository = userRepository;
...@@ -33,6 +35,7 @@ public class BonusController extends Controller { ...@@ -33,6 +35,7 @@ public class BonusController extends Controller {
this.networkRepository = networkRepository; this.networkRepository = networkRepository;
this.entityManager = entityManager; this.entityManager = entityManager;
this.user = user; this.user = user;
this.orderRepository = orderRepository;
} }
@Deprecated @Deprecated
...@@ -169,12 +172,33 @@ public class BonusController extends Controller { ...@@ -169,12 +172,33 @@ public class BonusController extends Controller {
} }
@PostMapping(value = "/saveNetworkMarketing") @PostMapping(value = "/saveNetworkMarketing")
public Bonus saveNetworkMarketing(@ModelAttribute("Bonus") Bonus bonus) { public Result saveNetworkMarketing(@ModelAttribute("Bonus") Bonus bonus) {
TbCfUserInfo info = user.user(); TbCfUserInfo info = user.user();
Optional<String> userIdOptional = bonus.userId(); Optional<String> userIdOptional = bonus.userId();
String orderId = bonus.getOrderId();
if( orderId == null )
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(),"Order is missing !!!");
Optional<TbCfOrder> orderOptional = orderRepository.findById(orderId);
if( !orderOptional.isPresent() )
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(),"Order is missing !!!");
TbCfOrder order = orderOptional.get();
if( !OrderStatusEnum.PAID.getValue().equals(order.getPayStatus()) ){
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(),"Invalid order status");
}
if( repository.existsById(orderId) ){
return new Result(ResultCodeEnum.VALIDATE_ERROR.getCode(),"Transaction already done !!!");
}
double amount = bonus.getAmount(); double amount = bonus.getAmount();
if (userIdOptional.isPresent()) { if (userIdOptional.isPresent()) {
...@@ -210,13 +234,13 @@ public class BonusController extends Controller { ...@@ -210,13 +234,13 @@ public class BonusController extends Controller {
} }
TbCfUserInfo bonusInc = runBonusInc(user, amount, 5,false,bonus.getOrderId()); TbCfUserInfo bonusInc = runBonusInc(user, amount, 5,false, orderId);
runBonusInc(sharer.orElseGet(() -> postOptional.isPresent() ? postOptional.get().getRealUser() : bonusInc), amount, 5,postOptional.isPresent() || sharer.isPresent(),bonus.getOrderId()); runBonusInc(sharer.orElseGet(() -> postOptional.isPresent() ? postOptional.get().getRealUser() : bonusInc), amount, 5,postOptional.isPresent() || sharer.isPresent(), orderId);
//runBonusInc(bonusInc, amount, 0); //runBonusInc(bonusInc, amount, 0);
} }
} }
return bonus; return new Result<>(bonus);
} }
private TbCfUserInfo runBonusInc(TbCfUserInfo user, double amount, int percent,boolean direct,String orderId) { private TbCfUserInfo runBonusInc(TbCfUserInfo user, double amount, int percent,boolean direct,String orderId) {
......
...@@ -23,6 +23,8 @@ public interface BonusRepository extends JpaRepository<Bonus,String> { ...@@ -23,6 +23,8 @@ public interface BonusRepository extends JpaRepository<Bonus,String> {
@Transactional @Transactional
void removeByPost_Id(@Param("post") String post_id); void removeByPost_Id(@Param("post") String post_id);
boolean existsByOrderId(String orderId);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论