|
@@ -5,10 +5,12 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -93,6 +95,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
|
|
+import java.io.Serializable;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
@@ -1490,6 +1493,27 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
|
|
|
@Override
|
|
@Override
|
|
|
public Result selectOrderById(Long orderId) {
|
|
public Result selectOrderById(Long orderId) {
|
|
|
TbOrder tbOrder = appOrderDao.selectByOrderId(orderId);
|
|
TbOrder tbOrder = appOrderDao.selectByOrderId(orderId);
|
|
|
|
|
+// 短信的orderId对应骑手订单id
|
|
|
|
|
+ LambdaQueryWrapper<TbIndent> wrapperTBI=new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapperTBI.eq(TbIndent::getOrderId,tbOrder.getOrderId());
|
|
|
|
|
+ TbIndent tbIndent = tbIndentService.getOne(wrapperTBI);
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(tbIndent)) {
|
|
|
|
|
+ // 只能单独去搜索短信发送结果
|
|
|
|
|
+ LambdaQueryWrapper<TbIndentSmsSendLog> wrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapper.eq(TbIndentSmsSendLog::getOrderId,tbIndent.getIndentId())
|
|
|
|
|
+ .eq(TbIndentSmsSendLog::getSuccessFlag,"1");
|
|
|
|
|
+ List<TbIndentSmsSendLog> list = smsSendLogService.list(wrapper);
|
|
|
|
|
+ // 只要有发送成功记录就是成功
|
|
|
|
|
+ if (list.size()>0) {
|
|
|
|
|
+ tbOrder.setSuccessFlag("1");
|
|
|
|
|
+ }else {
|
|
|
|
|
+ tbOrder.setSuccessFlag("0");
|
|
|
|
|
+ }
|
|
|
|
|
+ }else {
|
|
|
|
|
+ tbOrder.setSuccessFlag("0");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
int i = appOrderDao.selectCountOrderByTime(tbOrder.getPayTime(), tbOrder.getShopId());
|
|
int i = appOrderDao.selectCountOrderByTime(tbOrder.getPayTime(), tbOrder.getShopId());
|
|
|
tbOrder.setCountOrder(i);
|
|
tbOrder.setCountOrder(i);
|
|
|
if (tbOrder.getCouponId() != null) {
|
|
if (tbOrder.getCouponId() != null) {
|
|
@@ -2523,6 +2547,58 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
|
|
|
return baseMapper.selectMakeOrdersList(minusMinutes);
|
|
return baseMapper.selectMakeOrdersList(minusMinutes);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Result selectOrder(Long userId, Integer orderId,Integer page, Integer limit) {
|
|
|
|
|
+ HashMap hashMap = new HashMap();
|
|
|
|
|
+ Page<TbOrder> pages = new Page(page, limit);
|
|
|
|
|
+ LambdaQueryWrapper<TbOrder> wrapper=new LambdaQueryWrapper<>();
|
|
|
|
|
+ wrapper.eq(TbOrder::getOrderId,orderId)
|
|
|
|
|
+ .eq(TbOrder::getUserId,userId);
|
|
|
|
|
+ IPage<TbOrder> tbOrderList = baseMapper.selectPage(pages, wrapper);
|
|
|
|
|
+ BigDecimal money = new BigDecimal(0);
|
|
|
|
|
+ ArrayList list = new ArrayList();
|
|
|
|
|
+ for (int i = 0; i < tbOrderList.getRecords().size(); i++) {
|
|
|
|
|
+ List<OrderGoods> orderGoodsList = orderGoodsDao.selectList(new QueryWrapper<OrderGoods>()
|
|
|
|
|
+ .eq("order_id", tbOrderList.getRecords().get(i).getOrderId()));
|
|
|
|
|
+ for (int a = 0; a < orderGoodsList.size(); a++) {
|
|
|
|
|
+ BigDecimal goodsPrice = orderGoodsList.get(a).getGoodsPrice();
|
|
|
|
|
+ Integer goodsNum = orderGoodsList.get(a).getGoodsNum();
|
|
|
|
|
+ BigDecimal multiply = goodsPrice.multiply(new BigDecimal(goodsNum));
|
|
|
|
|
+ money = money.add(multiply);
|
|
|
|
|
+ }
|
|
|
|
|
+ list.add(orderGoodsList);
|
|
|
|
|
+ tbOrderList.getRecords().get(i).setOrderGoodsList(list);
|
|
|
|
|
+ }
|
|
|
|
|
+ PageUtils pageUtils = new PageUtils(tbOrderList);
|
|
|
|
|
+ hashMap.put("pageUtils", pageUtils);
|
|
|
|
|
+ hashMap.put("money", money);
|
|
|
|
|
+ return Result.success().put("data", hashMap);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public Result updateTimeOutOrder(Long userId, Integer orderId) {
|
|
|
|
|
+ RLock lock = redissonClient.getLock(String.format(RedisKey.TIME_OUT_LOCK, orderId));
|
|
|
|
|
+ lock.lock();
|
|
|
|
|
+ try {
|
|
|
|
|
+ TbOrder tbOrder = baseMapper.selectById(orderId);
|
|
|
|
|
+ if (ObjectUtils.isEmpty(tbOrder)) {
|
|
|
|
|
+ return Result.error("该订单不存在");
|
|
|
|
|
+ }
|
|
|
|
|
+ Integer status = tbOrder.getStatus();
|
|
|
|
|
+ if (status!=0) {
|
|
|
|
|
+ return Result.error("当前订单不是待结算订单");
|
|
|
|
|
+ }
|
|
|
|
|
+ tbOrder.setStatus(5);
|
|
|
|
|
+ baseMapper.updateById(tbOrder);
|
|
|
|
|
+ return Result.success();
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ lock.unlock();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 获取当前店铺当前订单在已支付订单中的序号
|
|
* 获取当前店铺当前订单在已支付订单中的序号
|
|
|
* @param order 订单信息
|
|
* @param order 订单信息
|