| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package com.sqx.modules.callBack.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
- import com.sqx.common.constant.RedisKey;
- import com.sqx.common.exception.SqxException;
- import com.sqx.modules.app.entity.UserEntity;
- import com.sqx.modules.app.service.UserService;
- import com.sqx.modules.callBack.dto.CallBackDto;
- import com.sqx.modules.errand.entity.TbIndent;
- import com.sqx.modules.errand.service.TbIndentService;
- import com.sqx.modules.order.entity.TbOrder;
- import com.sqx.modules.order.service.AppOrderService;
- import lombok.extern.slf4j.Slf4j;
- import org.checkerframework.checker.units.qual.A;
- import org.redisson.api.RLock;
- import org.redisson.api.RedissonClient;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- @RestController
- @RequestMapping("/back")
- @Slf4j
- public class CallBackController {
- @Autowired
- TbIndentService tbIndentService;
- @Autowired
- UserService userService;
- @Autowired
- AppOrderService appOrderService;
- /**
- * 回调
- */
- @PostMapping("/open")
- public String back(String expire_time, String sign, String trade_no, String order_no, String state, String note, String courier, String longitude, String latitude, String tel, String update_time) {
- UserEntity userEntity = userService.queryByPhone(tel);
- if (ObjectUtils.isEmpty(userEntity)) {
- log.info("不存在该手机号的骑手:" + tel);
- return "success";
- }
- // 获取骑手订单
- TbIndent tbIndent = tbIndentService.findIndentByIndentNumber(order_no);
- if (ObjectUtils.isEmpty(tbIndent)) {
- log.info("不存在该配送订单:" + order_no);
- return "success";
- }
- // 获取订单id
- TbOrder tbOrder = appOrderService.getOne(new QueryWrapper<TbOrder>().eq("order_number", order_no));
- if (ObjectUtils.isEmpty(tbOrder)) {
- log.info("不存在该订单:" + order_no);
- return "success";
- }
- // 状态
- if ("4".equals(state)) {//接单
- log.info("骑手接单:" + order_no);
- tbOrder.setStatus(3);
- appOrderService.updateOrder(tbOrder);
- tbIndentService.orderIndentReceiving(userEntity.getUserId(), tbOrder.getOrderId()+"");
- } else if ("5".equals(state)) {//取餐
- log.info("骑手取餐:" + order_no);
- tbIndentService.riderBuyGoods(tbIndent);
- } else if ("6".equals(state)) {//完成订单
- log.info("骑手完成订单:" + order_no);
- tbIndentService.finalizeOrder(userEntity.getUserId(), tbIndent);
- }
- return "success";
- }
- }
|