瀏覽代碼

商城点餐订单

gqx 2 年之前
父節點
當前提交
5825790a17

+ 211 - 42
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/HotelController.java

@@ -1,6 +1,5 @@
 package org.jeecg.modules.bus.controller;
 import cn.hutool.core.date.DateTime;
-import com.alibaba.druid.support.json.JSONUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -12,63 +11,47 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import net.sf.json.JSON;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.annotation.ApiLogin;
 import org.jeecg.com.util.ThirdSessionHolder;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.exception.JeecgBootException;
-import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.util.JwtUtil;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.common.util.RedisUtil;
 import org.jeecg.common.util.TenantContextHolder;
-import org.jeecg.common.util.TokenUtils;
 import org.jeecg.config.ApiVersion;
 import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.config.WebConfig;
-import org.jeecg.modules.bus.vo.BusServiceRepairCategoryVo;
 import org.jeecg.modules.bus.vo.CesStockTypeVo;
 import org.jeecg.modules.business.dto.BookingLayoutRoomsDto;
 import org.jeecg.modules.business.dto.BookingOrderSaveDto;
 import org.jeecg.modules.business.entity.*;
 import org.jeecg.modules.business.enums.CheckInTypeEnum;
 import org.jeecg.modules.business.service.*;
-import org.jeecg.modules.business.util.MapUtil;
 import org.jeecg.modules.business.vo.KeLiItemVo;
 import org.jeecg.modules.mall.entity.MallHotelOrder;
+import org.jeecg.modules.mall.entity.MallOrderGoods;
+import org.jeecg.modules.mall.entity.MallOrderGoodsDetail;
 import org.jeecg.modules.mall.service.IMallHotelOrderService;
+import org.jeecg.modules.mall.service.IMallOrderGoodsDetailService;
+import org.jeecg.modules.mall.service.IMallOrderGoodsService;
 import org.jeecg.modules.order.entity.CesOrderComment;
 import org.jeecg.modules.order.service.impl.CesOrderCommentServiceImpl;
-import org.jeecg.modules.pos.entity.PosSellClearGoods;
 import org.jeecg.modules.rooms.DTO.CanUseRequestParamDto;
 import org.jeecg.modules.rooms.Vo.CanUseResultVo;
 import org.jeecg.modules.rooms.entity.*;
 import org.jeecg.modules.rooms.service.*;
-import org.jeecg.modules.system.entity.SysTenant;
-import org.jeecg.modules.system.service.ISysTenantService;
-import org.jeecg.modules.wxuser.entity.MallUserInfo;
-import org.jeecg.modules.wxuser.entity.ThirdSession;
+import org.jeecg.modules.mall.entity.MallUserInfo;
 import org.jeecg.modules.wxuser.service.IUserInfoService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import java.math.BigDecimal;
-import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.time.LocalDate;
-import java.time.temporal.ChronoUnit;
-import java.time.temporal.Temporal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -115,6 +98,12 @@ public class HotelController extends WebConfig {
     private CesGoodsServiceImpl cesGoodsService;
     @Resource
     private CesStockTypeServiceImpl cesStockTypeService;
+    @Resource
+    private IMallOrderGoodsService mallOrderGoodsService;
+    @Resource
+    private IMallOrderGoodsDetailService mallOrderGoodsDetailService;
+    @Resource
+    private IBusMemberBalanceLogService busMemberBalanceLogService;
     /**
      * 酒店列表查询
      *
@@ -277,6 +266,7 @@ public class HotelController extends WebConfig {
 
     /**
      * 生成16位数字+prefix
+     *
      * @param prefix
      * @return
      */
@@ -330,22 +320,22 @@ public class HotelController extends WebConfig {
         SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
         Date four = null;
         try {
-            four = formatter2.parse(formatter.format(mallHotelOrder.getStartDate()) + " "+mallHotelOrder.getArriveTime());
+            four = formatter2.parse(formatter.format(mallHotelOrder.getStartDate()) + " " + mallHotelOrder.getArriveTime());
             mallHotelOrder.setStartDate(four);
         } catch (ParseException e) {
 
         }
-        CesHourRoomRule cesHourRoomRule=null;
+        CesHourRoomRule cesHourRoomRule = null;
         Calendar calendar = new GregorianCalendar();
-        if(mallHotelOrder.getBookingType().equals(2)) {
+        if (mallHotelOrder.getBookingType().equals(2)) {
             CesRoomLayoutPrice cesRoomLayoutPrice = cesRoomLayoutPriceService.getById(mallHotelOrder.getRoomLayoutPriceId());
             cesHourRoomRule = cesHourRoomRuleService.getById(cesRoomLayoutPrice.getSellerId());
             calendar.setTime(mallHotelOrder.getStartDate());
             calendar.add(Calendar.MINUTE, cesHourRoomRule.getAfterOpenRoom());
             mallHotelOrder.setEndDate(calendar.getTime());
         }
-        log.info("getStartDate---------------"+mallHotelOrder.getStartDate());
-        log.info("getEndDate---------------"+mallHotelOrder.getEndDate());
+        log.info("getStartDate---------------" + mallHotelOrder.getStartDate());
+        log.info("getEndDate---------------" + mallHotelOrder.getEndDate());
         mallHotelOrderService.save(mallHotelOrder);
 
         //增加临时坑位预定单
@@ -357,10 +347,10 @@ public class HotelController extends WebConfig {
         List<BusBookingLayoutDayPrice> layoutDayPrices = new ArrayList<>();
         long getTime = mallHotelOrder.getEndDate().getTime() - mallHotelOrder.getStartDate().getTime();
         long day = getTime / (1000 * 60 * 60 * 24);
-        if(day==0) {
+        if (day == 0) {
             day = 1;
         }
-        log.info("day---------------"+day);
+        log.info("day---------------" + day);
         BigDecimal sCouponMoney = couponMoney;
         for (Integer i = 0; i < day; i++) {
             calendar.setTime(mallHotelOrder.getStartDate());
@@ -411,7 +401,7 @@ public class HotelController extends WebConfig {
         bookingOrders.setOuterOrdersNo(mallHotelOrder.getCode());
         bookingOrders.setBookingStatus(3);
         bookingOrders.setBookingType(mallHotelOrder.getBookingType());
-        if(mallHotelOrder.getBookingType().equals(2)) {
+        if (mallHotelOrder.getBookingType().equals(2)) {
             bookingOrders.setHourRoomId(cesHourRoomRule.getId());
         }
         busRoomBookingOrders.setOrderInfo(bookingOrders);
@@ -515,6 +505,7 @@ public class HotelController extends WebConfig {
 
     /**
      * 酒店预定订单列表
+     *
      * @param mallHotelOrder
      * @param pageNo
      * @param pageSize
@@ -526,9 +517,9 @@ public class HotelController extends WebConfig {
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     @ApiLogin
     public Result<IPage<MallHotelOrder>> getHotelOrderPageList(MallHotelOrder mallHotelOrder,
-                                                             @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                             HttpServletRequest req) {
+                                                               @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                               HttpServletRequest req) {
         String tenantId = TenantContextHolder.getTenantId();
         String userId = ThirdSessionHolder.getUserId();
         LambdaQueryWrapper<MallHotelOrder> queryWrapper = QueryGenerator.initQueryWrapper(mallHotelOrder, req.getParameterMap()).lambda();
@@ -564,7 +555,7 @@ public class HotelController extends WebConfig {
         return Result.OK(pageList);
     }
 
-    @ApiOperation(value="酒店订单确认入住", notes="酒店订单确认入住")
+    @ApiOperation(value = "酒店订单确认入住", notes = "酒店订单确认入住")
     @PostMapping(value = "/confirm-move")
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     @ApiLogin
@@ -577,19 +568,19 @@ public class HotelController extends WebConfig {
         mallHotelOrderService.updateById(order);
 
         LambdaUpdateWrapper<BusRoomBookingOrders> updateWrapper = new UpdateWrapper().lambda();
-        updateWrapper.set(BusRoomBookingOrders::getBookingStatus,1);
+        updateWrapper.set(BusRoomBookingOrders::getBookingStatus, 1);
         updateWrapper.eq(BusRoomBookingOrders::getOuterOrdersNo, order.getCode());
         busRoomBookingOrdersService.update(updateWrapper);
         return Result.OK("确认入住成功!");
     }
 
-    @ApiOperation(value="酒店订单取消", notes="酒店订单取消")
+    @ApiOperation(value = "酒店订单取消", notes = "酒店订单取消")
     @PostMapping(value = "/confirm-cancel")
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     @ApiLogin
     public Result<String> confirmCancel(@RequestBody MallHotelOrder mallHotelOrder) {
         MallHotelOrder order = mallHotelOrderService.getById(mallHotelOrder.getId());
-        if (order.getStatus().equals(4)||order.getStatus().equals(6)) {
+        if (order.getStatus().equals(4) || order.getStatus().equals(6)) {
             return Result.error("订单已完成/已入住状态");
         }
         order.setStatus(3);
@@ -603,18 +594,18 @@ public class HotelController extends WebConfig {
      * @param id
      * @return
      */
-    @ApiOperation(value="通过id查询酒店预定订单详情", notes="通过id查询酒店预定订单详情")
+    @ApiOperation(value = "通过id查询酒店预定订单详情", notes = "通过id查询酒店预定订单详情")
     @GetMapping(value = "/hotel_order-info")
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     @ApiLogin
-    public Result<MallHotelOrder> getHotelOrderInfo(@RequestParam(name="id",required=true) String id) {
+    public Result<MallHotelOrder> getHotelOrderInfo(@RequestParam(name = "id", required = true) String id) {
         MallHotelOrder mallHotelOrder = mallHotelOrderService.getById(id);
         if (mallHotelOrder == null) {
             return Result.error("未找到对应数据");
         }
-        log.info("mallHotelOrder--------"+mallHotelOrder.toString());
+        log.info("mallHotelOrder--------" + mallHotelOrder.toString());
         String userId = ThirdSessionHolder.getUserId();
-        log.info("userId--------"+userId);
+        log.info("userId--------" + userId);
         if (!mallHotelOrder.getMallUserId().equals(userId)) {
             return Result.error("未找到对应数据");
         }
@@ -650,10 +641,11 @@ public class HotelController extends WebConfig {
 
     /**
      * 根据类型分组外卖商品列表
+     *
      * @param cesGoods
      * @return
      */
-    @ApiOperation(value="根据类型分组外卖商品列表", notes="根据类型分组外卖商品列表")
+    @ApiOperation(value = "根据类型分组外卖商品列表", notes = "根据类型分组外卖商品列表")
     @GetMapping(value = "/type_group_goods_list")
     @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
     @ApiLogin
@@ -686,4 +678,181 @@ public class HotelController extends WebConfig {
         });
         return Result.OK(voList);
     }
+
+    /**
+     * 对应酒店用户绑定会员卡信息
+     *
+     * @param memberCard
+     * @return
+     */
+    @ApiOperation(value = "对应酒店用户绑定会员卡信息", notes = "对应酒店用户绑定会员卡信息")
+    @GetMapping(value = "/memeber-card-info")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    @ApiLogin
+    public Result<BusMemberCard> getMemeberCard(BusMemberCard memberCard) {
+        String tenantId = TenantContextHolder.getTenantId();
+        String userId = ThirdSessionHolder.getUserId();
+        LambdaQueryWrapper<BusMemberCard> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(BusMemberCard::getUserId, userId);
+        lambdaQueryWrapper.eq(BusMemberCard::getHotelId, memberCard.getHotelId()).last("limit 1");
+        BusMemberCard busMemberCard = busMemberCardService.getOne(lambdaQueryWrapper);
+        return Result.ok(busMemberCard);
+    }
+
+    /**
+     * 提交外卖订单
+     *
+     * @param mallOrderGoods
+     * @return
+     */
+    @ApiOperation(value = "提交外卖订单", notes = "提交外卖订单")
+    @PostMapping(value = "/save-goods-order")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    @ApiLogin
+    @Transactional(rollbackFor = Exception.class)
+    public Result<BusMemberCard> saveGoodsOrder(@RequestBody MallOrderGoods mallOrderGoods) {
+        String tenantId = TenantContextHolder.getTenantId();
+        String userId = ThirdSessionHolder.getUserId();
+
+        if (ObjectUtils.isEmpty(mallOrderGoods.getDetailList())) {
+            return Result.error("订单商品列表不能为空");
+        }
+        if (mallOrderGoods.getIsBalancePay()) {
+            if (StringUtils.isBlank(mallOrderGoods.getBalancePwd())) {
+                return Result.error("请输入会员卡密码");
+            }
+            if (StringUtils.isBlank(mallOrderGoods.getMemberId())) {
+                return Result.error("启用余额支付时,会员卡不能为空");
+            }
+            BusMemberCard busMemberCard = busMemberCardService.getById(mallOrderGoods.getMemberId());
+            if (busMemberCard == null) {
+                return Result.error("会员卡不存在");
+            }
+            if (!busMemberCard.getConsumePassword().equals(mallOrderGoods.getBalancePwd())) {
+                return Result.error("会员卡密码不对");
+            }
+            if (busMemberCard.getBalance().compareTo(mallOrderGoods.getMoney()) < 0) {
+                return Result.error("会员卡余额不够");
+            }
+            BusMemberBalanceLog busMemberBalanceLog = new BusMemberBalanceLog();
+            busMemberBalanceLog.setMoney(mallOrderGoods.getMoney());
+            busMemberBalanceLog.setMemberId(mallOrderGoods.getMemberId());
+            busMemberBalanceLog.setHotelId(mallOrderGoods.getHotelId());
+            busMemberBalanceLog.setPaymentMethod("");
+            busMemberBalanceLog.setType(2);
+            busMemberBalanceLog.setGiveMoney(BigDecimal.ZERO);
+            busMemberBalanceLog.setPayMoney(BigDecimal.ZERO);
+            busMemberBalanceLogService.saveBalance(busMemberBalanceLog);
+        }
+
+        mallOrderGoods.setTenantId(tenantId);
+        mallOrderGoods.setMallUserId(userId);
+        mallOrderGoods.setCreateTime(DateTime.now());
+        mallOrderGoods.setPayStatus(0);
+        mallOrderGoods.setStatus(1);
+        mallOrderGoods.setPaymentMethod(1);
+        mallOrderGoods.setIntegralPayMoney(BigDecimal.ZERO);
+        String prefix = "WM";
+        mallOrderGoods.setCode(randomNumber(prefix));
+        mallOrderGoodsService.save(mallOrderGoods);
+        mallOrderGoods.getDetailList().forEach(t -> {
+            t.setHotelId(mallOrderGoods.getHotelId());
+            t.setTenantId(mallOrderGoods.getTenantId());
+            t.setOrderCode(mallOrderGoods.getCode());
+        });
+        mallOrderGoodsDetailService.saveBatch(mallOrderGoods.getDetailList());
+
+        return Result.ok("提交成功");
+    }
+
+    /**
+     * 酒店外卖订单列表
+     * @param mallOrderGoods
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @ApiOperation(value = "酒店外卖订单列表", notes = "酒店外卖订单列表")
+    @GetMapping(value = "/hotel-goods-order-list")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    @ApiLogin
+    public Result<IPage<MallOrderGoods>> getHotelGoodsOrderPageList(MallOrderGoods mallOrderGoods,
+                                                               @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                               HttpServletRequest req) {
+        String tenantId = TenantContextHolder.getTenantId();
+        String userId = ThirdSessionHolder.getUserId();
+        LambdaQueryWrapper<MallOrderGoods> queryWrapper = QueryGenerator.initQueryWrapper(mallOrderGoods, req.getParameterMap()).lambda();
+        queryWrapper.eq(MallOrderGoods::getTenantId, tenantId);
+        queryWrapper.eq(MallOrderGoods::getMallUserId, userId);
+        Page<MallOrderGoods> page = new Page<MallOrderGoods>(pageNo, pageSize);
+        IPage<MallOrderGoods> pageList = mallOrderGoodsService.page(page, queryWrapper);
+        pageList.getRecords().forEach(t -> {
+            if (t.getStatus().equals(1)) {
+                t.setStatusName("待发货");
+            } else if (t.getStatus().equals(2)) {
+                t.setStatusName("待收货");
+            } else if (t.getStatus().equals(3)) {
+                t.setStatusName("已完成");
+            } else if (t.getStatus().equals(4)) {
+                t.setStatusName("已拒绝");
+            } else if (t.getStatus().equals(5)) {
+                t.setStatusName("已取消");
+            }
+            BusHotel hotel = busHotelService.getById(t.getHotelId());
+            if (hotel != null) {
+                t.setHotelName(hotel.getName());
+            }
+            LambdaQueryWrapper<MallOrderGoodsDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+            lambdaQueryWrapper.eq(MallOrderGoodsDetail::getOrderCode, t.getCode());
+            List<MallOrderGoodsDetail> list=mallOrderGoodsDetailService.list(lambdaQueryWrapper);
+            if(ObjectUtils.isNotEmpty(list)){
+                list.forEach(i->{
+                    i.setGoodsInfo(cesGoodsService.getById(i.getGoodsId()));
+                });
+            }
+            t.setDetailList(list);
+        });
+        return Result.OK(pageList);
+    }
+
+    /**
+     * 通过id查询酒店外卖订单列表
+     *
+     * @param id
+     * @return
+     */
+    @ApiOperation(value = "通过id查询酒店外卖订单列表", notes = "通过id查询酒店外卖订单列表")
+    @GetMapping(value = "/hotel-goods-order-info")
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    @ApiLogin
+    public Result<MallOrderGoods> getHotelGoodsOrderInfo(@RequestParam(name = "id", required = true) String id) {
+        MallOrderGoods mallOrderGoods = mallOrderGoodsService.getById(id);
+        if (mallOrderGoods.getStatus().equals(1)) {
+            mallOrderGoods.setStatusName("待发货");
+        } else if (mallOrderGoods.getStatus().equals(2)) {
+            mallOrderGoods.setStatusName("待收货");
+        } else if (mallOrderGoods.getStatus().equals(3)) {
+            mallOrderGoods.setStatusName("已完成");
+        } else if (mallOrderGoods.getStatus().equals(4)) {
+            mallOrderGoods.setStatusName("已拒绝");
+        } else if (mallOrderGoods.getStatus().equals(5)) {
+            mallOrderGoods.setStatusName("已取消");
+        }
+        BusHotel hotel = busHotelService.getById(mallOrderGoods.getHotelId());
+        if (hotel != null) {
+            mallOrderGoods.setHotelName(hotel.getName());
+        }
+        LambdaQueryWrapper<MallOrderGoodsDetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(MallOrderGoodsDetail::getOrderCode, mallOrderGoods.getCode());
+        List<MallOrderGoodsDetail> list=mallOrderGoodsDetailService.list(lambdaQueryWrapper);
+        if(ObjectUtils.isNotEmpty(list)){
+            list.forEach(i->{
+                i.setGoodsInfo(cesGoodsService.getById(i.getGoodsId()));
+            });
+        }
+        mallOrderGoods.setDetailList(list);
+        return Result.OK(mallOrderGoods);
+    }
 }

+ 1 - 14
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/OrderMessageController.java

@@ -2,25 +2,18 @@ package org.jeecg.modules.bus.controller;
 
 import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.annotation.ApiLogin;
 import org.jeecg.com.util.ThirdSessionHolder;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.util.TenantContextHolder;
 import org.jeecg.config.ApiVersion;
 import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.config.WebConfig;
 import org.jeecg.modules.business.entity.BusBookingRooms;
-import org.jeecg.modules.business.entity.BusHotel;
 import org.jeecg.modules.business.entity.BusRoomsLivingOrder;
 import org.jeecg.modules.business.service.IBusBookingRoomsService;
 import org.jeecg.modules.business.service.IBusHotelService;
@@ -30,17 +23,11 @@ import org.jeecg.modules.order.entity.CesOrderMessage;
 import org.jeecg.modules.order.service.ICesOrderMessageService;
 import org.jeecg.modules.rooms.entity.CesRooms;
 import org.jeecg.modules.rooms.service.CesRoomsServiceImpl;
-import org.jeecg.modules.wxuser.entity.MallUserInfo;
+import org.jeecg.modules.mall.entity.MallUserInfo;
 import org.jeecg.modules.wxuser.service.IUserInfoService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
 
 import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Arrays;
-import java.util.List;
 
 /**
  * @Description: ces_order_message

+ 37 - 2
jeecg-mall-api/src/main/java/org/jeecg/modules/bus/controller/OrderRepairController.java

@@ -2,9 +2,10 @@ package org.jeecg.modules.bus.controller;
 
 import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.lowagie.text.LargeElement;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -25,7 +26,7 @@ import org.jeecg.modules.order.entity.CesOrderRepair;
 import org.jeecg.modules.order.service.ICesOrderRepairService;
 import org.jeecg.modules.rooms.entity.CesRooms;
 import org.jeecg.modules.rooms.service.CesRoomsServiceImpl;
-import org.jeecg.modules.wxuser.entity.MallUserInfo;
+import org.jeecg.modules.mall.entity.MallUserInfo;
 import org.jeecg.modules.wxuser.service.IUserInfoService;
 import org.springframework.web.bind.annotation.*;
 
@@ -203,4 +204,38 @@ public class OrderRepairController extends WebConfig {
         });
         return Result.OK(voList);
     }
+
+    /**
+     * 更改状态
+     * @param dto
+     * @return
+     */
+    @AutoLog(value = "服务维修订单更改状态")
+    @ApiOperation(value="服务维修订单更改状态", notes="服务维修订单更改状态")
+    @RequestMapping(value = "/setStauts", method = {RequestMethod.PUT,RequestMethod.POST})
+    @ApiLogin
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    public Result<String> setStauts(@RequestBody CesOrderRepair dto) {
+        LambdaUpdateWrapper<CesOrderRepair> updateWrapper = new UpdateWrapper().lambda();
+        updateWrapper.set(CesOrderRepair::getStatus, dto.getStatus());
+        updateWrapper.eq(CesOrderRepair::getId, dto.getId());
+        cesOrderRepairService.update(updateWrapper);
+        return Result.OK("编辑成功!");
+    }
+
+    /**
+     *   通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "ces_order_repair-通过id删除")
+    @ApiOperation(value="ces_order_repair-通过id删除", notes="ces_order_repair-通过id删除")
+    @ApiLogin
+    @ApiVersion(group = ApiVersionConstant.FAP_MALLAPI101)
+    @PostMapping(value = "/delete")
+    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
+        cesOrderRepairService.removeById(id);
+        return Result.OK("删除成功!");
+    }
 }

+ 6 - 2
jeecg-mall-api/src/main/java/org/jeecg/modules/wxuser/controller/WxUserController.java

@@ -5,14 +5,13 @@ import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
-import org.jeecg.annotation.ApiLogin;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.config.ApiVersion;
 import org.jeecg.config.ApiVersionConstant;
 import org.jeecg.config.WebConfig;
 import org.jeecg.modules.wxuser.dto.LoginDto;
 import org.jeecg.modules.wxuser.dto.WxOpenDataDto;
-import org.jeecg.modules.wxuser.entity.MallUserInfo;
+import org.jeecg.modules.mall.entity.MallUserInfo;
 import org.jeecg.modules.wxuser.service.IUserInfoService;
 import org.springframework.web.bind.annotation.*;
 import springfox.documentation.swagger2.annotations.EnableSwagger2;
@@ -66,6 +65,11 @@ public class WxUserController extends WebConfig {
     public Result loginByPhoneMa(HttpServletRequest request, @RequestBody WxOpenDataDto dto) {
         try {
             String token = request.getHeader("third-session");
+//            String appId = request.getHeader("app-id");
+//            if (StringUtils.isBlank(appId)) {
+//                return Result.error("缺少appid");
+//            }
+//            dto.setAppId(appId);
             MallUserInfo userInfo = userInfoService.loginByPhoneMa(dto, token);
             return Result.ok(userInfo);
         } catch (Exception e) {

+ 1 - 1
jeecg-mall-api/src/main/java/org/jeecg/modules/wxuser/mapper/UserInfoMapper.java

@@ -1,7 +1,7 @@
 package org.jeecg.modules.wxuser.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.jeecg.modules.wxuser.entity.MallUserInfo;
+import org.jeecg.modules.mall.entity.MallUserInfo;
 
 /**
  * @Description: user_info

+ 1 - 1
jeecg-mall-api/src/main/java/org/jeecg/modules/wxuser/service/IUserInfoService.java

@@ -1,9 +1,9 @@
 package org.jeecg.modules.wxuser.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.mall.entity.MallUserInfo;
 import org.jeecg.modules.wxuser.dto.LoginDto;
 import org.jeecg.modules.wxuser.dto.WxOpenDataDto;
-import org.jeecg.modules.wxuser.entity.MallUserInfo;
 
 /**
  * @Description: user_info

+ 3 - 2
jeecg-mall-api/src/main/java/org/jeecg/modules/wxuser/service/impl/UserInfoServiceImpl.java

@@ -18,10 +18,10 @@ import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.util.RedisUtil;
 import org.jeecg.common.util.TenantContextHolder;
+import org.jeecg.modules.mall.entity.MallUserInfo;
 import org.jeecg.modules.wxuser.dto.LoginDto;
 import org.jeecg.modules.wxuser.dto.WxOpenDataDto;
 import org.jeecg.modules.wxuser.entity.ThirdSession;
-import org.jeecg.modules.wxuser.entity.MallUserInfo;
 import org.jeecg.modules.wxuser.entity.WxAppConfig;
 import org.jeecg.modules.wxuser.entity.WxUser;
 import org.jeecg.modules.wxuser.mapper.UserInfoMapper;
@@ -101,9 +101,10 @@ private IWxAppConfigService wxAppConfigService;
         MallUserInfo userInfo;
         if (wxUser == null || StrUtil.isBlank(wxUser.getId())) {
             //新增微信用户
-            wxUser.setAppId(wxApp.getId());
+            wxUser.setAppId(wxApp.getAppId());
             wxUser.setTenantId(TenantContextHolder.getTenantId());
             wxUser.setAppType(wxApp.getAppType());
+            wxUser.setNickName("微信用户");
             wxUserService.saveOrUpdate(wxUser);
         }
         System.out.println("【授权登录后】" + wxUser.toString());

+ 18 - 7
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusMemberCardController.java

@@ -3,11 +3,13 @@ package org.jeecg.modules.business.controller;
 import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.List;
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.IService;
 import org.apache.commons.lang3.ObjectUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.exception.JeecgBootException;
@@ -25,6 +27,7 @@ import lombok.extern.slf4j.Slf4j;
 
 import org.jeecg.modules.business.vo.MemberCardStatVo;
 import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.modules.mall.entity.MallUserInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
@@ -53,6 +56,8 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 	 private IBusMarketMemberGroupService busMarketMemberGroupService;
 	 @Autowired
 	 private IBusMarketMemberLableService busMarketMemberLableService;
+	 @Resource
+	 private IService<MallUserInfo> mallUserInfoIService;
 	/**
 	 * 分页列表查询
 	 *
@@ -123,7 +128,7 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 		 MemberCardStatVo vo = busMemberCardService.stat(hotelId);
 		 return Result.OK(vo);
 	 }
-	
+
 	/**
 	 *   添加
 	 *
@@ -143,16 +148,22 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 		}
 		LambdaQueryWrapper<BusMemberCard> queryWrapper = new LambdaQueryWrapper<>();
 		queryWrapper.eq(BusMemberCard::getMobile, busMemberCard.getMobile());
-		queryWrapper.eq(BusMemberCard::getHotelId,busMemberCard.getHotelId()).last("limit 1");
+		queryWrapper.eq(BusMemberCard::getHotelId, busMemberCard.getHotelId()).last("limit 1");
 		BusMemberCard memeber = busMemberCardService.getOne(queryWrapper);
 		if (memeber != null) {
 			return Result.error("该手机号已存在!");
 		}
-		busMemberCardService.getOne(queryWrapper);
+		LambdaQueryWrapper<MallUserInfo> queryWrapper2 = new LambdaQueryWrapper<>();
+		queryWrapper2.eq(MallUserInfo::getMobile, busMemberCard.getMobile());
+		queryWrapper2.eq(MallUserInfo::getTenantId, busMemberCard.getTenantId()).last("limit 1");
+		MallUserInfo mallUserInfo = mallUserInfoIService.getOne(queryWrapper2);
+		if (mallUserInfo != null) {
+			busMemberCard.setUserId(mallUserInfo.getId());
+		}
 		busMemberCardService.save(busMemberCard);
 		return Result.OK("添加成功!");
 	}
-	
+
 	/**
 	 *  编辑
 	 *
@@ -191,7 +202,7 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 		 Result res = busMemberCardService.lableBatch(dto);
 		 return res;
 	 }
-	
+
 	/**
 	 *   通过id删除
 	 *
@@ -215,7 +226,7 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 		busMemberCardService.removeById(id);
 		return Result.OK("删除成功!");
 	}
-	
+
 	/**
 	 *  批量删除
 	 *
@@ -244,7 +255,7 @@ public class BusMemberCardController extends JeecgController<BusMemberCard, IBus
 		this.busMemberCardService.removeByIds(idList);
 		return Result.OK("批量删除成功!");
 	}
-	
+
 	/**
 	 * 通过id查询
 	 *

+ 8 - 9
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/business/controller/BusRoomBookingOrdersController.java

@@ -21,10 +21,7 @@ import org.jeecg.modules.business.dto.BatchOrderSavaDto;
 import org.jeecg.modules.business.dto.BookingOrderSaveDto;
 import org.jeecg.modules.business.dto.UpdateOrderInfoDto;
 import org.jeecg.modules.business.dto.UpdateOrderPriceDto;
-import org.jeecg.modules.business.entity.BusBookingBatch;
-import org.jeecg.modules.business.entity.BusLivingCustomer;
-import org.jeecg.modules.business.entity.BusOrderFee;
-import org.jeecg.modules.business.entity.BusRoomBookingOrders;
+import org.jeecg.modules.business.entity.*;
 import org.jeecg.modules.business.service.IBusRoomBookingOrdersService;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -66,7 +63,7 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 
 	@Resource
 	private IBusRoomBookingOrdersService busRoomBookingOrdersService;
-	
+
 	/**
 	 * 分页列表查询
 	 *
@@ -88,7 +85,7 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 		IPage<BusRoomBookingOrders> pageList = busRoomBookingOrdersService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
-	
+
 	/**
 	 *   添加
 	 *
@@ -145,7 +142,7 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 		 BookingOrderEditVo reuslt =  service.getBookingInfoById(bookingOrderId, bookingNo);
 	 	return Result.ok(reuslt);
 	}
-	
+
 	/**
 	 *   通过id删除
 	 *
@@ -190,7 +187,7 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 		this.busRoomBookingOrdersService.removeByIds(Arrays.asList(ids.split(",")));
 		return Result.OK("批量删除成功!");
 	}
-	
+
 	/**
 	 * 通过id查询
 	 *
@@ -429,10 +426,12 @@ public class BusRoomBookingOrdersController extends JeecgController<BusRoomBooki
 	  */
 	 @ApiOperation(value="酒店预定订单-客历", notes="酒店预定订单-客历")
 	 @RequestMapping(value = "/kedan-orders",method = RequestMethod.GET)
-	 public Result<IPage<KeLiItemVo>> keli(Page<KeLiItemVo> page,String thirdUserId, String keyw, Integer livingStatus,String hotelId,Integer type,Integer bookingStatus){
+	 public Result<IPage<KeLiItemVo>> keli(@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+										   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,String thirdUserId, String keyw, Integer livingStatus,String hotelId,Integer type,Integer bookingStatus){
 	 	if(type == null) throw new JeecgBootException("参数错误");
 	 	if( type == 1 && livingStatus  == null ) throw new JeecgBootException("参数错误");
 	 	if(type == 2 && bookingStatus == null) throw new JeecgBootException("参数错误");
+		 Page<KeLiItemVo> page = new Page<KeLiItemVo>(pageNo, pageSize);
 	 	if(type == 1 ) return Result.OK(service.getLivingOrderKL(livingStatus,keyw,hotelId,thirdUserId,page));
 	 	if(type == 2) return  Result.OK(service.getBookingOrderKL(bookingStatus,keyw,hotelId,thirdUserId,page));
 	 	return  null;

+ 93 - 40
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/entity/MallOrderGoods.java

@@ -4,10 +4,9 @@ import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -32,73 +31,127 @@ import lombok.experimental.Accessors;
 public class MallOrderGoods implements Serializable {
     private static final long serialVersionUID = 1L;
 
-	/**主键*/
-	@TableId(type = IdType.ASSIGN_ID)
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.ASSIGN_ID)
     @ApiModelProperty(value = "主键")
     private String id;
-	/**关联租户*/
-	@Excel(name = "关联租户", width = 15)
+    /**
+     * 关联租户
+     */
+    @Excel(name = "关联租户", width = 15)
     @ApiModelProperty(value = "关联租户")
     private String tenantId;
-	/**关联酒店*/
-	@Excel(name = "关联酒店", width = 15)
+    /**
+     * 关联酒店
+     */
+    @Excel(name = "关联酒店", width = 15)
     @ApiModelProperty(value = "关联酒店")
     private String hotelId;
-	/**会员卡id*/
-	@Excel(name = "会员卡id", width = 15)
+    /**
+     * 会员卡id
+     */
+    @Excel(name = "会员卡id", width = 15)
     @ApiModelProperty(value = "会员卡id")
     private String memberId;
-	/**订单号*/
-	@Excel(name = "订单号", width = 15)
+    /**
+     * 订单号
+     */
+    @Excel(name = "订单号", width = 15)
     @ApiModelProperty(value = "订单号")
     private String code;
-	/**商城用户id*/
-	@Excel(name = "商城用户id", width = 15)
+    /**
+     * 商城用户id
+     */
+    @Excel(name = "商城用户id", width = 15)
     @ApiModelProperty(value = "商城用户id")
     private String mallUserId;
-	/**客户姓名*/
-	@Excel(name = "客户姓名", width = 15)
+    /**
+     * 客户姓名
+     */
+    @Excel(name = "客户姓名", width = 15)
     @ApiModelProperty(value = "客户姓名")
     private String contactName;
-	/**联系电话*/
-	@Excel(name = "联系电话", width = 15)
+    /**
+     * 联系电话
+     */
+    @Excel(name = "联系电话", width = 15)
     @ApiModelProperty(value = "联系电话")
     private String mobile;
-	/**房号*/
-	@Excel(name = "房号", width = 15)
+    /**
+     * 房号
+     */
+    @Excel(name = "房号", width = 15)
     @ApiModelProperty(value = "房号")
     private String roomNo;
-	/**备注*/
-	@Excel(name = "备注", width = 15)
+    /**
+     * 备注
+     */
+    @Excel(name = "备注", width = 15)
     @ApiModelProperty(value = "备注")
     private String remarks;
-	/**支付方式 1会员卡 2积分 3微信*/
-	@Excel(name = "支付方式 1会员卡 2积分 3微信", width = 15)
+    /**
+     * 支付方式 1会员卡 2积分 3微信
+     */
+    @Excel(name = "支付方式 1会员卡 2积分 3微信", width = 15)
     @ApiModelProperty(value = "支付方式 1会员卡 2积分 3微信")
     private Integer paymentMethod;
-	/**积分支付价格*/
-	@Excel(name = "积分支付价格", width = 15)
+    /**
+     * 积分支付价格
+     */
+    @Excel(name = "积分支付价格", width = 15)
     @ApiModelProperty(value = "积分支付价格")
     private BigDecimal integralPayMoney;
-	/**价格*/
-	@Excel(name = "价格", width = 15)
+    /**
+     * 价格
+     */
+    @Excel(name = "价格", width = 15)
     @ApiModelProperty(value = "价格")
     private BigDecimal money;
-	/**付款状态 0未付款 1已付款*/
-	@Excel(name = "付款状态 0未付款 1已付款", width = 15)
+    /**
+     * 付款状态 0未付款 1已付款
+     */
+    @Excel(name = "付款状态 0未付款 1已付款", width = 15)
     @ApiModelProperty(value = "付款状态 0未付款 1已付款")
     private Integer payStatus;
-	/**订单状态 1待发货 2待收货 3已完成 4已拒绝 5已取消 6 已完成*/
-	@Excel(name = "订单状态 1待发货 2待收货 3已完成 4已拒绝 5已取消 6 已完成", width = 15)
-    @ApiModelProperty(value = "订单状态 1待发货 2待收货 3已完成 4已拒绝 5已取消 6 已完成")
+    /**
+     * 订单状态 1待发货 2待收货 3已完成 4已拒绝 5已取消 6 已完成
+     */
+    @Excel(name = "订单状态 1待发货 2待收货 3已完成 4已拒绝 5已取消", width = 15)
+    @ApiModelProperty(value = "订单状态 1待发货 2待收货 3已完成 4已拒绝 5已取消")
     private Integer status;
-	/**第三方支付单号*/
-	@Excel(name = "第三方支付单号", width = 15)
+    /**
+     * 第三方支付单号
+     */
+    @Excel(name = "第三方支付单号", width = 15)
     @ApiModelProperty(value = "第三方支付单号")
     private String thirdOrderNo;
-	/**创建时间*/
-	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern="yyyy-MM-dd")
+    /**
+     * 创建时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty(value = "创建时间")
     private Date createTime;
+
+    @ApiModelProperty(value = "订单商品列表")
+    @TableField(exist = false)
+    private List<MallOrderGoodsDetail> detailList;
+
+    @ApiModelProperty(value = "是否余额支付")
+    @TableField(exist = false)
+    private Boolean isBalancePay;
+
+    @ApiModelProperty(value = "余额支付密码")
+    @TableField(exist = false)
+    private String balancePwd;
+
+    @ApiModelProperty(value = "状态描述")
+    @TableField(exist = false)
+    private String statusName;
+
+    @ApiModelProperty(value = "酒店名称")
+    @TableField(exist = false)
+    private String hotelName;
 }

+ 8 - 4
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/mall/entity/MallOrderGoodsDetail.java

@@ -4,12 +4,11 @@ import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.util.Date;
 import java.math.BigDecimal;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.TableLogic;
+
+import com.baomidou.mybatisplus.annotation.*;
 import lombok.Data;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import org.jeecg.modules.rooms.entity.CesGoods;
 import org.springframework.format.annotation.DateTimeFormat;
 import org.jeecgframework.poi.excel.annotation.Excel;
 import org.jeecg.common.aspect.annotation.Dict;
@@ -60,4 +59,9 @@ public class MallOrderGoodsDetail implements Serializable {
 	@Excel(name = "价格", width = 15)
     @ApiModelProperty(value = "价格")
     private BigDecimal money;
+
+	@TableField(exist = false)
+	private CesGoods goodsInfo;
+
+
 }

+ 1 - 1
jeecg-mall-api/src/main/java/org/jeecg/modules/wxuser/entity/MallUserInfo.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.wxuser.entity;
+package org.jeecg.modules.mall.entity;
 
 import java.io.Serializable;
 import java.io.UnsupportedEncodingException;