|
|
- package com.ruoyi.applet.contoller;
-
-
- import com.cyl.h5.pojo.vo.H5OrderVO;
- import com.cyl.h5.service.H5OrderService;
- import com.cyl.h5.service.H5PetCareService;
- import com.cyl.h5.service.H5PetService;
- import com.cyl.manager.oms.domain.OmsOrderService;
- import com.cyl.manager.oms.service.OrderService;
- import com.cyl.manager.ums.domain.PetCare;
- import com.cyl.manager.ums.pojo.vo.PetVO;
- import com.ruoyi.applet.service.IMallOrderService;
- import com.ruoyi.common.core.controller.BaseController;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.core.page.TableDataInfo;
- import com.ruoyi.model.domain.*;
- import com.ruoyi.model.service.*;
- import com.ruoyi.model.service.impl.AppletOrderItemServiceImpl;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
-
- import java.math.BigDecimal;
- import java.time.LocalDateTime;
- import java.util.*;
-
- @Api(description = "订单模块 - 接单大厅流程")
- @RestController
- @RequestMapping("/applet/order")
- public class ApiAppletOrderController extends BaseController {
-
- @Autowired
- private IAppletOrderService appletOrderService;
- @Autowired
- private IAppletOrderItemService appletOrderItemService;
- @Autowired
- private IAppUsersService appUsersService;
- @Autowired
- private IAppletUsersTeacherService appletUsersTeacherService;
- @Autowired
- private IAppletConfigService configService;
- @Autowired
- private IMallOrderService mallOrderService;
- //下单小程序:那边来的订单信息
- @Autowired
- private H5OrderService h5OrderService;
- @Autowired
- private OrderService service;
- @Autowired
- private AppletOrderItemServiceImpl appletOrderItemServiceImpl;
- @Autowired
- private H5PetService h5PetService;
- @Autowired
- private H5PetCareService petCareService;
-
-
- @ApiOperation("接单大厅列表-带分页")
- @GetMapping("/list")
- public AjaxResult outDateList(AppletOrder appletOrder){
- if(appletOrder.getType()==null){
- return AjaxResult.error("type状态不能为空");
- }
- if(appletOrder.getUserIdJson() == null){
- return AjaxResult.error("userIdJson用户信息标识不能为空");
- }
- startPage();
-
- List<AppletOrder> list = null;
- List<AppletOrderItem> itemList = null;
- if(appletOrder.getType().equals("0")){
- list = appletOrderService.selectAppletOrderListLikeUserIdJson(appletOrder);
- // for (AppletOrder order:list){
- // H5OrderVO h5OrderVO = h5OrderService.orderDetail(order.getOrderId());
- // //得到服务信息
- // List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
- // List<PetVO> petVOList = new ArrayList<>();
- // for (OmsOrderService service1:service){
- // //宠物标识不为空的时候查询数据
- // if(service1.getPetId()!=null){
- // PetVO petVO = h5PetService.selectPetById(service1.getPetId());
- // service1.setPetVo(petVO);
- // petVOList.add(petVO);
- // }
- // }
- // h5OrderVO.setPetVOList(petVOList);
- // order.setH5OrderVO(h5OrderVO);
- // }
- for (AppletOrder order : list) {
- H5OrderVO h5OrderVO = h5OrderService.orderDetail(order.getOrderId());
- // 得到服务信息
- List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
-
- // 使用一个 Set 来跟踪已经添加的 PetVO 的 id
- Set<Integer> addedPetIds = new HashSet<>();
- List<PetVO> petVOList = new ArrayList<>();
-
- for (OmsOrderService service1 : service) {
- // 宠物标识不为空的时候查询数据
- if (service1.getPetId() != null) {
- PetVO petVO = h5PetService.selectPetById(service1.getPetId());
-
- // 检查 petVO 的 id 是否已经添加过
- if (petVO != null && !addedPetIds.contains(petVO.getId())) {
- service1.setPetVo(petVO);
- petVOList.add(petVO);
- addedPetIds.add(petVO.getId()); // 标记该 id 已添加
- }
- }
- }
-
- h5OrderVO.setPetVOList(petVOList);
- order.setH5OrderVO(h5OrderVO);
- }
- TableDataInfo dataTable = getDataTable(list);
- return AjaxResult.success(dataTable);
- }
- if (appletOrder.getType().equals("1")){
- list = appletOrderService.selectAppletOrderList(appletOrder);
- // for (AppletOrder order:list){
- // H5OrderVO h5OrderVO = h5OrderService.orderDetail(order.getOrderId());
- // //得到服务信息
- // List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
- // List<PetVO> petVOList = new ArrayList<>();
- // for (OmsOrderService service1:service){
- // //宠物标识不为空的时候查询数据
- // if(service1.getPetId()!=null){
- // PetVO petVO = h5PetService.selectPetById(service1.getPetId());
- // service1.setPetVo(petVO);
- // petVOList.add(petVO);
- // }
- // }
- // h5OrderVO.setPetVOList(petVOList);
- // order.setH5OrderVO(h5OrderVO);
- // }
- for (AppletOrder order : list) {
- H5OrderVO h5OrderVO = h5OrderService.orderDetail(order.getOrderId());
- // 得到服务信息
- List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
-
- // 使用一个 Set 来跟踪已经添加的 PetVO 的 id
- Set<Integer> addedPetIds = new HashSet<>();
- List<PetVO> petVOList = new ArrayList<>();
-
- for (OmsOrderService service1 : service) {
- // 宠物标识不为空的时候查询数据
- if (service1.getPetId() != null) {
- PetVO petVO = h5PetService.selectPetById(service1.getPetId());
-
- // 检查 petVO 的 id 是否已经添加过
- if (petVO != null && !addedPetIds.contains(petVO.getId())) {
- service1.setPetVo(petVO);
- petVOList.add(petVO);
- addedPetIds.add(petVO.getId()); // 标记该 id 已添加
- }
- }
- }
-
- h5OrderVO.setPetVOList(petVOList);
- order.setH5OrderVO(h5OrderVO);
- }
- TableDataInfo dataTable = getDataTable(list);
- return AjaxResult.success(dataTable);
- }
- if (appletOrder.getType().equals("2")){
- AppletOrderItem appletOrderItem = new AppletOrderItem();
- appletOrderItem.setStatus(2);
- appletOrderItem.setUserId(appletOrder.getUserId());
- itemList = appletOrderItemService.selectAppletOrderItemList(appletOrderItem);
- // for (AppletOrderItem orderItem:itemList){
- // H5OrderVO h5OrderVO = h5OrderService.orderDetail(orderItem.getOrderId());
- // //得到服务信息
- // List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
- // List<PetVO> petVOList = new ArrayList<>();
- // for (OmsOrderService service1:service){
- // //宠物标识不为空的时候查询数据
- // if(service1.getPetId()!=null){
- // PetVO petVO = h5PetService.selectPetById(service1.getPetId());
- // service1.setPetVo(petVO);
- // petVOList.add(petVO);
- // }
- // }
- // h5OrderVO.setPetVOList(petVOList);
- // orderItem.setH5OrderVO(h5OrderVO);
- // }
- for (AppletOrderItem orderItem:itemList){
- H5OrderVO h5OrderVO = h5OrderService.orderDetail(orderItem.getOrderId());
- // 得到服务信息
- List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
-
- // 使用一个 Set 来跟踪已经添加的 PetVO 的 id
- Set<Integer> addedPetIds = new HashSet<>();
- List<PetVO> petVOList = new ArrayList<>();
-
- for (OmsOrderService service1 : service) {
- // 宠物标识不为空的时候查询数据
- if (service1.getPetId() != null) {
- PetVO petVO = h5PetService.selectPetById(service1.getPetId());
-
- // 检查 petVO 的 id 是否已经添加过
- if (petVO != null && !addedPetIds.contains(petVO.getId())) {
- service1.setPetVo(petVO);
- petVOList.add(petVO);
- addedPetIds.add(petVO.getId()); // 标记该 id 已添加
- }
- }
- }
-
- h5OrderVO.setPetVOList(petVOList);
- orderItem.setH5OrderVO(h5OrderVO);
- }
- TableDataInfo dataTable = getDataTable(itemList);
- return AjaxResult.success(dataTable);
- }
- return AjaxResult.success();
- }
-
-
-
-
- //接单大厅 - 根据订单标识查询订单详情的接口
- @ApiOperation("接单大厅 - 根据订单标识查询订单详情的接口")
- @GetMapping("/getByOrderId")
- public AjaxResult getByOrderId(AppletOrder appletOrder){
- if(appletOrder.getId() == null){
- return AjaxResult.error("订单标识不能为空");
- }
- // if(appletOrder.getUserId() == null){
- // return AjaxResult.error("用户标识不能为空");
- // }
- AppletOrder order = appletOrderService.selectAppletOrderById(appletOrder.getId());
- order.setH5OrderVO(h5OrderService.orderDetail(order.getOrderId()));
- order.setManagerOrderDetailVO(service.selectById(order.getOrderId()));
- Map<String, Object> map = new HashMap();
- map.put("order",order);
- AppletConfig config = new AppletConfig();
- config.setParamClass("pet_payment_bcs");
- List<AppletConfig> appletConfigs = configService.selectAppletConfigList(config);
- map.put("pet_payment_bcs",appletConfigs);
- return AjaxResult.success("接单大厅查看详情",map);
- }
-
-
- //接单大厅 - 拒绝、无法接单
- @ApiOperation("接单大厅 - 拒绝、无法接单")
- @PostMapping("/endByOrderId")
- public AjaxResult endByOrderId(@RequestBody AppletOrder appletOrder){
- if(appletOrder.getId() == null){
- return AjaxResult.error("订单标识不能为空");
- }
- if(appletOrder.getUserId() == null){
- return AjaxResult.error("userId用户信息标识不能为空");
- }
- if(appletOrder.getReason() == null){
- return AjaxResult.error("无法接单原因不能为空");
- }
- AppletOrder order = appletOrderService.selectAppletOrderById(appletOrder.getId());
- //生成我的订单信息
- AppletOrderItem appletOrderItem = new AppletOrderItem();
- appletOrderItem.setCreateTime(order.getCreateTime());
- appletOrderItem.setType(order.getType());
- appletOrderItem.setStatus(2);
- appletOrderItem.setReason(appletOrder.getReason());
- // appletOrderItem.setStartTime(LocalDateTime.now());
- appletOrderItem.setUserId(appletOrder.getUserId());
- //根据用户标识查询用户认证信息
- AppUsers appUsers = appUsersService.selectAppUsersByUserId(appletOrder.getUserId());
- AppletUsersTeacher appletUsersTeacher = appletUsersTeacherService.selectAppletUsersTeacherByUserId(appletOrder.getUserId());
- appletOrderItem.setName(appletUsersTeacher.getName());
- appletOrderItem.setPhone(appletUsersTeacher.getPhone());
- appletOrderItem.setOrderStatus(3); //相当于已经取消
-
- //得到当前用户的伴宠师等级
- Integer userBcs = appUsers.getUserBcs();
- //查询用户的当前分配比例
- AppletConfig petPaymentBcs = configService.selectAppletConfigByClassAndNum("pet_payment_bcs", userBcs);
- //得到配置百分比
- BigDecimal percent = petPaymentBcs.getParamValueNo();
- //得到订单支付金额
- BigDecimal orderPrice = order.getPrice();
- //计算订单佣金 = 支付金额 * 百分比
- BigDecimal orderGivePrice = orderPrice.multiply(percent);
- appletOrderItem.setPrice(orderPrice);
- appletOrderItem.setOrderGiveProportion(percent);
- appletOrderItem.setOrderGivePrice(orderGivePrice);
- appletOrderItem.setAddress(order.getAddress());
- appletOrderItem.setOrderSn(order.getOrderSn());
- appletOrderItem.setOrderId(order.getOrderId());
- appletOrderItem.setIsPet(0);
- appletOrderItem.setIsDate(0);
- appletOrderItem.setIsAddress(0);
-
-
- appletOrderItemService.insertAppletOrderItem(appletOrderItem);
-
-
-
- appletOrder.setType("0");//派单归为派单中
- appletOrder.setStatus(0);
- appletOrder.setNum(order.getNum()+1);
- appletOrder.setUpdateTime(LocalDateTime.now());
- //根据系统派单规则给到所有的接单者 、、还需要修改现在给所有人
-
- //appletUserId 用json形式储存 == 》这个地方还需要调优
- AppUsers usersGo = new AppUsers();
- usersGo.setUserBcs(1);
- List<AppUsers> appUsersList = appUsersService.selectAppUsersList(usersGo);
- //得到所有的伴宠师id
- String appletUserId = "";
- for (AppUsers users : appUsersList) {
- appletUserId += users.getUserId()+",";
- }
- appletOrder.setUserIdJson(appletUserId);
-
- //清空接单人字段
- appletOrder.setUserIdJson("");
-
- appletOrderService.updateAppletOrder(appletOrder);
- return AjaxResult.success("拒单成功",appletOrder);
- }
-
-
-
- //接单大厅 - 立即接单
- @ApiOperation("接单大厅 - 立即接单")
- @PostMapping("/startByOrderId")
- public AjaxResult startByOrderId(@RequestBody AppletOrder appletOrder){
- if(appletOrder.getId() == null){
- return AjaxResult.error("订单标识不能为空");
- }
- if(appletOrder.getUserId() == null){
- return AjaxResult.error("userId用户信息标识不能为空");
- }
-
- AppletOrder order = appletOrderService.selectAppletOrderById(appletOrder.getId());
- //生成我的订单信息
- AppletOrderItem appletOrderItem = new AppletOrderItem();
- appletOrderItem.setCreateTime(order.getCreateTime());
- appletOrderItem.setType(order.getType());
- appletOrderItem.setStatus(1);
- // appletOrderItem.setReason(appletOrder.getReason());
- appletOrderItem.setStartTime(LocalDateTime.now());
- appletOrderItem.setUserId(appletOrder.getUserId());
- //根据用户标识查询用户认证信息
- AppUsers appUsers = appUsersService.selectAppUsersByUserId(appletOrder.getUserId());
- AppletUsersTeacher appletUsersTeacher = appletUsersTeacherService.selectAppletUsersTeacherByUserId(appletOrder.getUserId());
- appletOrderItem.setName(appletUsersTeacher.getName());
- appletOrderItem.setPhone(appletUsersTeacher.getPhone());
- appletOrderItem.setOrderStatus(0);
-
- //得到当前用户的伴宠师等级
- Integer userBcs = appUsers.getUserBcs();
- //查询用户的当前分配比例
- AppletConfig petPaymentBcs = configService.selectAppletConfigByClassAndNum("pet_payment_bcs", userBcs);
- //得到配置百分比
- BigDecimal percent = petPaymentBcs.getParamValueNo();
- //得到订单支付金额
- BigDecimal orderPrice = order.getPrice();
- //计算订单佣金 = 支付金额 * 百分比
- BigDecimal orderGivePrice = orderPrice.multiply(percent);
- appletOrderItem.setPrice(orderPrice);
- appletOrderItem.setOrderGiveProportion(percent);
- appletOrderItem.setOrderGivePrice(orderGivePrice);
- appletOrderItem.setAddress(order.getAddress());
- appletOrderItem.setOrderSn(order.getOrderSn());
- appletOrderItem.setOrderId(order.getOrderId());
- appletOrderItem.setIsPet(1);
- appletOrderItem.setIsDate(1);
- appletOrderItem.setIsAddress(1);
-
-
- appletOrderItemService.insertAppletOrderItem(appletOrderItem);
-
-
-
-
- appletOrder.setStatus(1);
- appletOrderService.updateAppletOrder(appletOrder);
- return AjaxResult.success("接单成功",appletOrder);
- }
-
-
-
- //我的订单流程
- @ApiOperation("小程序-我的订单流程-总订单")
- @GetMapping("/myList")
- public AjaxResult myList(AppletOrderItem orderItem){
- if(orderItem.getType()==null){
- return AjaxResult.error("type状态不能为空");
- }
- if(orderItem.getUserId() == null){
- return AjaxResult.error("userId用户信息标识不能为空");
- }
- List<AppletOrderItem> itemList = appletOrderItemService.selectAppletOrderItemList(orderItem);
- // for (AppletOrderItem item:itemList){
- // H5OrderVO h5OrderVO = h5OrderService.orderDetail(item.getOrderId());
- // //得到服务信息
- // List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
- // List<PetVO> petVOList = new ArrayList<>();
- // for (OmsOrderService service1:service){
- // //宠物标识不为空的时候查询数据
- // if(service1.getPetId()!=null){
- // PetVO petVO = h5PetService.selectPetById(service1.getPetId());
- // service1.setPetVo(petVO);
- // petVOList.add(petVO);
- // }
- // }
- // h5OrderVO.setPetVOList(petVOList);
- // item.setH5OrderVO(h5OrderVO);
- // }
- for (AppletOrderItem item:itemList){
- H5OrderVO h5OrderVO = h5OrderService.orderDetail(item.getOrderId());
- // 得到服务信息
- List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
-
- // 使用一个 Set 来跟踪已经添加的 PetVO 的 id
- Set<Integer> addedPetIds = new HashSet<>();
- List<PetVO> petVOList = new ArrayList<>();
-
- for (OmsOrderService service1 : service) {
- // 宠物标识不为空的时候查询数据
- if (service1.getPetId() != null) {
- PetVO petVO = h5PetService.selectPetById(service1.getPetId());
-
- // 检查 petVO 的 id 是否已经添加过
- if (petVO != null && !addedPetIds.contains(petVO.getId())) {
- service1.setPetVo(petVO);
- petVOList.add(petVO);
- addedPetIds.add(petVO.getId()); // 标记该 id 已添加
- }
- }
- }
-
- h5OrderVO.setPetVOList(petVOList);
- item.setH5OrderVO(h5OrderVO);
- }
- TableDataInfo dataTable = getDataTable(itemList);
- return AjaxResult.success("我的订单数据列表",dataTable);
- }
-
-
-
-
-
- //我的订单流程
- @ApiOperation("小程序-我的订单流程订单详情")
- @GetMapping("/getOrderItemById")
- public AjaxResult getOrderItemById(AppletOrderItem orderItem){
- if(orderItem.getId() == null){
- return AjaxResult.error("订单标识不能为空");
- }
- if(orderItem.getUserId() == null){
- return AjaxResult.error("用户标识不能为空");
- }
- AppletOrderItem order = appletOrderItemService.selectAppletOrderItemById(orderItem.getId());
- // H5OrderVO h5OrderVO1 = h5OrderService.orderDetail(order.getOrderId());
-
- H5OrderVO h5OrderVO = h5OrderService.orderDetail(order.getOrderId());
- //得到服务信息
- List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
- List<PetVO> petVOList = new ArrayList<>();
- for (OmsOrderService service1:service){
- //宠物标识不为空的时候查询数据
- if(service1.getPetId()!=null){
- PetVO petVO = h5PetService.selectPetById(service1.getPetId());
- service1.setPetVo(petVO);
- petVOList.add(petVO);
- }
- h5OrderVO.setPetVOList(petVOList);
- }
- order.setH5OrderVO(h5OrderVO);
- // order.setManagerOrderDetailVO(service.selectById(order.getOrderId()));
- Map<String, Object> map = new HashMap();
- map.put("order",order);
- AppletConfig config = new AppletConfig();
- config.setParamClass("pet_payment_bcs");
- List<AppletConfig> appletConfigs = configService.selectAppletConfigList(config);
- map.put("pet_payment_bcs",appletConfigs);
- return AjaxResult.success("我的订单流程订单详情",map);
- }
-
-
-
-
- //订单里面的宠物档案里面数据
- @ApiOperation("订单里面的宠物档案里面数据")
- @GetMapping("/getOrderPetById/{orderId}")
- public AjaxResult getOrderPetById(@PathVariable("orderId") Long orderId){
- H5OrderVO h5OrderVO = h5OrderService.orderDetail(orderId);
- // 得到服务信息
- List<OmsOrderService> service = h5OrderVO.getOrderServiceList();
- List<PetVO> petVOList = new ArrayList<>();
- Set<Long> addedPetIds = new HashSet<>(); // 用于跟踪已经添加的 PetVO 的 id
-
- for (OmsOrderService service1 : service) {
- // 宠物标识不为空的时候查询数据
- if (service1.getPetId() != null) {
- PetVO petVO = h5PetService.selectPetById(service1.getPetId());
-
- // 检查 petVO 的 id 是否已经添加过
- if (petVO != null && !addedPetIds.contains(petVO.getId())) {
- service1.setPetVo(petVO);
- petVOList.add(petVO);
- addedPetIds.add(Long.valueOf(petVO.getId())); // 标记该 id 已添加
- }
- }
- }
-
- return AjaxResult.success("订单里面的宠物档案里面数据",petVOList);
- }
-
-
- //根据宠物标识查询重新宠物信息
- @ApiOperation("根据宠物标识查询重新宠物信息")
- @GetMapping("/getPetById/{petId}")
- public AjaxResult getPetById(@PathVariable("petId") Integer petId){
- PetVO petVO = h5PetService.selectPetById(petId);
- return AjaxResult.success("根据宠物标识查询重新宠物信息",petVO);
- }
-
-
-
- //根据宠物信息标识查询宠物档案信息列表带分页
- @ApiOperation("根据宠物信息标识查询宠物档案信息列表带分页")
- @GetMapping("/petList")
- public TableDataInfo petList(PetCare petCare) {
- startPage();
- List<PetCare> list = petCareService.selectPetCareList(petCare);
- return getDataTable(list);
- }
-
-
-
-
-
-
-
-
-
-
- // //测试派单
- // @ApiOperation("派单")
- // @GetMapping("/dispatch/{orderId}")
- // public AjaxResult dispatch(@PathVariable("orderId")Long orderId){
- // mallOrderService.dispatch(orderId);
- // return AjaxResult.success("派单成功");
- // }
-
-
-
-
-
-
-
-
-
-
- }
|