|
|
@@ -124,6 +124,24 @@ public class CmsGroupRelationController {
|
|
|
return relationIds;
|
|
|
}
|
|
|
|
|
|
+ private OrderDon getMultiQuantityOrderByRelationId(Long relationId) {
|
|
|
+ if (relationId == null || relationId <= 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ OrderDonTicketRecord ticketRecord = orderDonTicketRecordMapper.selectOne(
|
|
|
+ Wrappers.lambdaQuery(OrderDonTicketRecord.class)
|
|
|
+ .eq(OrderDonTicketRecord::getRelationId, relationId)
|
|
|
+ .eq(OrderDonTicketRecord::getStatus, OrderDonTicketRecord.Status.success)
|
|
|
+ .orderByDesc(OrderDonTicketRecord::getId)
|
|
|
+ .last("limit 1"));
|
|
|
+ if (ticketRecord == null) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ OrderDon orderDon = orderDonMapper.selectById(ticketRecord.getOrderId());
|
|
|
+ return orderDon != null && orderDon.getNum() != null && orderDon.getNum() > 1
|
|
|
+ ? orderDon : null;
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping("/get")
|
|
|
public Result<List<GroupsRelationBackView>> get(){
|
|
|
List<GroupsRelationBackView> search = beanSearcher.searchAll(GroupsRelationBackView.class, MapUtils.flatBuilder(request.getParameterMap())
|
|
|
@@ -289,12 +307,15 @@ public class CmsGroupRelationController {
|
|
|
OrderDon orderDon = null;
|
|
|
if (rechargeStatus == GroupsRelation.RechargeStatus.complete) {
|
|
|
relation.setSendTime(DateTime.now());
|
|
|
- orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
|
|
|
- .eq(OrderDon::getUserId, relation.getUserId())
|
|
|
- .eq(OrderDon::getRelationId, relationId)
|
|
|
- .notIn(OrderDon::getStatus, Constant.noOrderAllStatus)
|
|
|
- .orderByDesc(OrderDon::getId)
|
|
|
- .last("limit 1"));
|
|
|
+ orderDon = getMultiQuantityOrderByRelationId(relationId);
|
|
|
+ if (orderDon == null) {
|
|
|
+ orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
|
|
|
+ .eq(OrderDon::getUserId, relation.getUserId())
|
|
|
+ .eq(OrderDon::getRelationId, relationId)
|
|
|
+ .notIn(OrderDon::getStatus, Constant.noOrderAllStatus)
|
|
|
+ .orderByDesc(OrderDon::getId)
|
|
|
+ .last("limit 1"));
|
|
|
+ }
|
|
|
if (orderDon == null){
|
|
|
orderDon = orderDonMapper.selectOne(Wrappers.lambdaQuery(OrderDon.class)
|
|
|
.eq(OrderDon::getUserId, relation.getUserId())
|