package com.ruoyi.order.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.api.dto.GiveVipDto; import com.ruoyi.account.api.feignClient.AppUserClient; import com.ruoyi.account.api.model.TAppUser; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.order.api.model.TShoppingOrder; import com.ruoyi.order.api.model.TVipOrder; import com.ruoyi.order.api.query.VipShoppingOrderQuery; import com.ruoyi.order.dto.SixVipDto; import com.ruoyi.order.mapper.TVipOrderMapper; import com.ruoyi.order.service.TVipOrderService; import com.ruoyi.other.api.domain.TVip; import com.ruoyi.other.api.feignClient.VipClient; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; import java.math.BigDecimal; import java.time.LocalDate; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; /** *

* 服务实现类 *

* * @author xiaochen * @since 2024-08-07 */ @Service public class TVipOrderServiceImpl extends ServiceImpl implements TVipOrderService { @Resource private VipClient vipClient; @Resource private AppUserClient appUserClient; @Override public PageInfo pageList(VipShoppingOrderQuery query) { String startTime1 = null; String startTime2 = null; if (StringUtils.hasLength(query.getStartTime())){ String[] split = query.getStartTime().split(" - "); startTime1 = split[0]; startTime2 = split[1]; } PageInfo pageInfo = new PageInfo<>(query.getPageCurr(),query.getPageSize()); List list = this.baseMapper.pageList(pageInfo,query,startTime1,startTime2); for (TVipOrder tVipOrder : list) { tVipOrder.setUid(tVipOrder.getId().toString()); tVipOrder.setUserUid(tVipOrder.getAppUserId().toString()); TVip data = vipClient.getInfo1(tVipOrder.getVipId()).getData(); if (data!=null){ tVipOrder.setName(data.getName()); } if (StringUtils.hasLength(tVipOrder.getTitle())) { // 去除最后两个字符 tVipOrder.setName(tVipOrder.getTitle().substring(0, tVipOrder.getTitle().length() - 2)); } TAppUser data1 = appUserClient.getUserById(tVipOrder.getAppUserId()).getData(); if (data1!=null)tVipOrder.setUserPhone(data1.getPhone()); } pageInfo.setRecords(list); return pageInfo; } @Override public List sixBefore(LocalDate sixBefore) { return this.baseMapper.sixBefore(sixBefore); } @Override public BigDecimal getSumAmout(LocalDate sixBefore) { return this.baseMapper.getSumAmout(sixBefore); } @Override public void payBack(String outTradeNo) { //将vip订单改为已完成 TVipOrder tVipOrder = this.baseMapper.selectOne(Wrappers.lambdaQuery(TVipOrder.class).eq(TVipOrder::getCode, outTradeNo)); tVipOrder.setPaymentStatus(2); this.baseMapper.updateById(tVipOrder); //赠送会员 GiveVipDto giveVipDto = new GiveVipDto(); giveVipDto.setUserIds(tVipOrder.getAppUserId().toString()); giveVipDto.setVipId(tVipOrder.getVipId()); giveVipDto.setType(tVipOrder.getVipType()); vipClient.giveVip(giveVipDto); } }