Pārlūkot izejas kodu

添加商家上菜优化,名称匹配图片库相应图片,添加骑手评论,更新订单详情

liu 11 mēneši atpakaļ
vecāks
revīzija
8776608b04
22 mainītis faili ar 394 papildinājumiem un 35 dzēšanām
  1. 13 0
      db/insert_250729.sql
  2. 1 0
      src/main/java/com/sqx/modules/errand/service/impl/TbIndentServiceImpl.java
  3. 19 6
      src/main/java/com/sqx/modules/goods/controller/GoodsController.java
  4. 18 0
      src/main/java/com/sqx/modules/goods/controller/app/AppGoodsController.java
  5. 6 0
      src/main/java/com/sqx/modules/goods/dao/GoodsDao.java
  6. 3 0
      src/main/java/com/sqx/modules/goods/entity/Goods.java
  7. 6 0
      src/main/java/com/sqx/modules/goods/service/GoodsService.java
  8. 45 19
      src/main/java/com/sqx/modules/goods/service/impl/GoodsServiceImpl.java
  9. 13 0
      src/main/java/com/sqx/modules/goods/vo/GoodsVo.java
  10. 19 0
      src/main/java/com/sqx/modules/order/controller/OrderController.java
  11. 14 0
      src/main/java/com/sqx/modules/order/dao/EvaluateRiderDao.java
  12. 12 0
      src/main/java/com/sqx/modules/order/entity/Evaluate.java
  13. 59 0
      src/main/java/com/sqx/modules/order/entity/EvaluateRider.java
  14. 8 0
      src/main/java/com/sqx/modules/order/entity/TbOrder.java
  15. 1 0
      src/main/java/com/sqx/modules/order/service/AppOrderService.java
  16. 9 0
      src/main/java/com/sqx/modules/order/service/EvaluateRiderService.java
  17. 37 9
      src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java
  18. 29 0
      src/main/java/com/sqx/modules/order/service/impl/EvaluateRiderServiceImpl.java
  19. 1 0
      src/main/java/com/sqx/modules/shop/service/impl/ShopMessageServiceImpl.java
  20. 38 0
      src/main/resources/mapper/goods/GoodsMapper.xml
  21. 42 0
      src/main/resources/mapper/order/EvaluateRiderMapper.xml
  22. 1 1
      src/main/resources/mapper/order/OrderMapper.xml

+ 13 - 0
db/insert_250729.sql

@@ -0,0 +1,13 @@
+-- 创建骑手评价表
+DROP TABLE IF EXISTS `evaluate_rider`;
+CREATE TABLE `evaluate_rider`  (
+                                   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '评价骑手',
+                                   `user_id` int(11) NULL DEFAULT NULL COMMENT '用户id',
+                                   `order_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '订单号',
+                                   `shop_id` int(11) NULL DEFAULT NULL COMMENT '商户id',
+                                   `rider_user_id` int(11) NULL DEFAULT NULL COMMENT '骑手id',
+                                   `evaluate_rider_message` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '评价内容',
+                                   `rider_score` int(11) NULL DEFAULT NULL COMMENT '骑手评分',
+                                   `create_time` datetime(0) NULL DEFAULT NULL COMMENT '评论时间',
+                                   PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

+ 1 - 0
src/main/java/com/sqx/modules/errand/service/impl/TbIndentServiceImpl.java

@@ -1990,6 +1990,7 @@ public class TbIndentServiceImpl extends ServiceImpl<TbIndentDao, TbIndent> impl
 
     @Override
     public PageUtils selectIndentPage(Integer page, Integer limit, String acquireCode, Long userId) {
+//        2:已支付3:骑手已接单4:骑手已取货/购买
         List<Integer> states = new ArrayList<>();
         states.add(2);
         states.add(3);

+ 19 - 6
src/main/java/com/sqx/modules/goods/controller/GoodsController.java

@@ -15,11 +15,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-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 org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -191,11 +187,28 @@ public class GoodsController extends AbstractController {
     public Result updateBatchInventory(String goodsIds, Integer inventory) {
         return goodsService.updateBatchInventory(goodsIds, inventory);
     }
-    @ApiOperation(value = "修改商品排序")
+    @ApiOperation("修改商品排序")
     @GetMapping("/updateSort")
     public Result updateSort(Long goodsId,Integer sort) {
         return goodsService.updateSort(goodsId,sort);
     }
 
+    @ApiOperation("查询商品封面图")
+    @GetMapping(value = "/goodsCoverList")
+    public Result goodsCoverList(Integer page,Integer limit, String name) {
+        return goodsService.goodsCoverList(page,limit,name);
+    }
+
+    @ApiOperation("查询商品图")
+    @GetMapping(value = "/goodsPictureList")
+    public Result goodsPictureList(Integer page, Integer limit, String name) {
+        return goodsService.goodsPictureList(page,limit,name);
+    }
+
+    @ApiOperation("查询商品详情图")
+    @GetMapping(value = "/goodsParticularsPictureList")
+    public Result goodsParticularsPictureList(Integer page, Integer limit, String name) {
+        return goodsService.goodsParticularsPictureList(page,limit,name);
+    }
 
 }

+ 18 - 0
src/main/java/com/sqx/modules/goods/controller/app/AppGoodsController.java

@@ -116,4 +116,22 @@ public class AppGoodsController {
         return goodsService.updateGoodShop(goodsShop);
     }
 
+    @ApiOperation("查询商品封面图")
+    @GetMapping(value = "/goodsCoverList")
+    public Result goodsCoverList(Integer page,Integer limit, String name) {
+        return goodsService.goodsCoverList(page,limit,name);
+    }
+
+    @ApiOperation("查询商品图")
+    @GetMapping(value = "/goodsPictureList")
+    public Result goodsPictureList(Integer page, Integer limit, String name) {
+        return goodsService.goodsPictureList(page,limit,name);
+    }
+
+    @ApiOperation("查询商品详情图")
+    @GetMapping(value = "/goodsParticularsPictureList")
+    public Result goodsParticularsPictureList(Integer page, Integer limit, String name) {
+        return goodsService.goodsParticularsPictureList(page,limit,name);
+    }
+
 }

+ 6 - 0
src/main/java/com/sqx/modules/goods/dao/GoodsDao.java

@@ -37,4 +37,10 @@ public interface GoodsDao extends BaseMapper<Goods> {
     Goods selectGoodsById(Long goodsId);
 
     List<Long> getByAllGoodsIdByShopId(@Param("shopId") Long shopId);
+
+    IPage<Goods> goodsCoverList(Page<Goods> pages,@Param("name") String name,@Param("total") Integer total);
+
+    IPage<Goods> goodsPictureList(Page<Goods> pages,@Param("name") String name,@Param("total") Integer total);
+
+    IPage<Goods> goodsParticularsPictureList(Page<Goods> pages,@Param("name") String name,@Param("total") Integer total);
 }

+ 3 - 0
src/main/java/com/sqx/modules/goods/entity/Goods.java

@@ -117,4 +117,7 @@ public class Goods implements Serializable {
 
     private Integer sort;
 
+    @ApiModelProperty("自动生成的序号")
+    @TableField(exist = false)
+    private Long id;
 }

+ 6 - 0
src/main/java/com/sqx/modules/goods/service/GoodsService.java

@@ -69,4 +69,10 @@ public interface GoodsService extends IService<Goods> {
     Result selectGoodShop(Long shopId);
 
     Result updateGoodShop(GoodsShop goodsShop);
+
+    Result goodsCoverList(Integer page, Integer limit, String name);
+
+    Result goodsPictureList(Integer page, Integer limit, String name);
+
+    Result goodsParticularsPictureList(Integer page, Integer limit, String name);
 }

+ 45 - 19
src/main/java/com/sqx/modules/goods/service/impl/GoodsServiceImpl.java

@@ -36,6 +36,7 @@ import com.sqx.modules.goods.service.GoodsAttrValueService;
 import com.sqx.modules.goods.service.GoodsService;
 import com.sqx.modules.goods.service.GoodsSkuService;
 import com.sqx.modules.goods.utils.SkuUtil;
+import com.sqx.modules.goods.vo.GoodsVo;
 import com.sqx.modules.order.entity.Evaluate;
 import com.sqx.modules.shop.dao.ShopMessageDao;
 import com.sqx.modules.sys.dao.SysUserRoleDao;
@@ -45,14 +46,11 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -118,20 +116,20 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
             }
         }
         List<GoodsSku> sku = goods.getSku();
-        if(sku==null || sku.size()==0){
-            GoodsSku goodsSku=new GoodsSku();
+        if (sku == null || sku.size() == 0) {
+            GoodsSku goodsSku = new GoodsSku();
             goodsSku.setSkuImg(goods.getGoodsCover());
             goodsSku.setSkuOriginalPrice(goods.getOriginalMoney());
             goodsSku.setSkuPrice(goods.getGoodsMoney());
             goodsSku.setGoodsId(goods.getGoodsId());
             goodsSkuService.save(goodsSku);
-        }else{
+        } else {
             for (GoodsSku v : sku) {
                 v.setGoodsId(goods.getGoodsId());
-                if(v.getSkuOriginalPrice()==null){
+                if (v.getSkuOriginalPrice() == null) {
                     v.setSkuOriginalPrice(goods.getOriginalMoney());
                 }
-                if(v.getSkuPrice()==null){
+                if (v.getSkuPrice() == null) {
                     v.setSkuPrice(goods.getGoodsMoney());
                 }
                 goodsSkuService.save(v);
@@ -205,20 +203,20 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
         goodsSkuService.deleteGoodsSkuByGoodsId(goods.getGoodsId());
         List<GoodsSku> sku = goods.getSku();
 
-        if(sku==null || sku.size()==0){
-            GoodsSku goodsSku=new GoodsSku();
+        if (sku == null || sku.size() == 0) {
+            GoodsSku goodsSku = new GoodsSku();
             goodsSku.setSkuImg(goods.getGoodsCover());
             goodsSku.setSkuOriginalPrice(goods.getOriginalMoney());
             goodsSku.setSkuPrice(goods.getGoodsMoney());
             goodsSku.setGoodsId(goods.getGoodsId());
             goodsSkuService.save(goodsSku);
-        }else{
+        } else {
             for (GoodsSku goodsSku : sku) {
                 goodsSku.setGoodsId(goods.getGoodsId());
-                if(goodsSku.getSkuOriginalPrice()==null){
+                if (goodsSku.getSkuOriginalPrice() == null) {
                     goodsSku.setSkuOriginalPrice(goods.getOriginalMoney());
                 }
-                if(goodsSku.getSkuPrice()==null){
+                if (goodsSku.getSkuPrice() == null) {
                     goodsSku.setSkuPrice(goods.getGoodsMoney());
                 }
                 goodsSkuService.save(goodsSku);
@@ -231,7 +229,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
         goodsShopRelevancy.setStatus(goods.getStatus());
         goodsShopRelevancy.setSales(goods.getSales());
         QueryWrapper<GoodsShopRelevancy> wrapper = new QueryWrapper<GoodsShopRelevancy>().eq("goods_id", goods.getGoodsId());
-        if (goods.getShopId()!=null){
+        if (goods.getShopId() != null) {
             wrapper.eq("shop_id", goods.getShopId());
         }
         goodsShopRelevancyDao.update(goodsShopRelevancy, wrapper);
@@ -563,6 +561,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
 
     /**
      * 根据经纬度查询城市
+     *
      * @param lat lat
      * @param lng lng
      * @return 城市
@@ -616,7 +615,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
     public Result selectSearch(Integer page, Integer limit, String impotr, Double lng, Double lat) {
         Page<GoodsShop> pages = new Page<>(page, limit);
         String way = commonInfoService.findOne(416).getValue();
-        if("1".equals(way)){
+        if ("1".equals(way)) {
             CommonInfo one = commonInfoService.findOne(235);
             String url = "https://apis.map.qq.com/ws/geocoder/v1/";
             Map<String, String> maps = new HashMap<>();
@@ -634,7 +633,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
             } else {
                 log.error("转换失败!!!原因:" + jsonObject.getString("message"));
             }
-        }else {
+        } else {
             String value = commonInfoService.findOne(417).getValue();
             String url = "http://api.tianditu.gov.cn/geocoder";
             Map<String, String> param = new HashMap<>();
@@ -816,7 +815,7 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
     public Result selectGoodShop(Long shopId) {
         GoodsShop goodsShop = goodsShopDao.selectById(shopId);
 
-        return Result.success().put("data",goodsShop);
+        return Result.success().put("data", goodsShop);
     }
 
     @Override
@@ -836,4 +835,31 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsDao, Goods> implements Go
         return Result.success();
     }
 
+    @Override
+    public Result goodsCoverList(Integer page,Integer limit,String name) {
+        Page<Goods> pages = new Page<>(page, limit);
+        Integer total=(page-1)*limit;
+        IPage<Goods> goodsIPage = goodsDao.goodsCoverList(pages, name,total);
+        PageUtils pageUtils = new PageUtils(goodsIPage);
+        return Result.success().put("data", pageUtils);
+    }
+
+    @Override
+    public Result goodsPictureList(Integer page, Integer limit, String name) {
+        Page<Goods> pages = new Page<>(page, limit);
+        Integer total=(page-1)*limit;
+        IPage<Goods> goodsIPage = goodsDao.goodsPictureList(pages, name,total);
+        PageUtils pageUtils = new PageUtils(goodsIPage);
+        return Result.success().put("data", pageUtils);
+    }
+
+    @Override
+    public Result goodsParticularsPictureList(Integer page, Integer limit, String name) {
+        Page<Goods> pages = new Page<>(page, limit);
+        Integer total=(page-1)*limit;
+        IPage<Goods> goodsIPage = goodsDao.goodsParticularsPictureList(pages, name,total);
+        PageUtils pageUtils = new PageUtils(goodsIPage);
+        return Result.success().put("data", pageUtils);
+    }
+
 }

+ 13 - 0
src/main/java/com/sqx/modules/goods/vo/GoodsVo.java

@@ -0,0 +1,13 @@
+package com.sqx.modules.goods.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class GoodsVo {
+    private String name;
+    private List<String> coverList;
+    private List<String> pictureList;
+    private List<String> particularsPictureList;
+}

+ 19 - 0
src/main/java/com/sqx/modules/order/controller/OrderController.java

@@ -6,6 +6,7 @@ import com.sqx.modules.order.dto.OrderQueryDto;
 import com.sqx.modules.order.entity.Evaluate;
 import com.sqx.modules.order.entity.TbOrder;
 import com.sqx.modules.order.service.AppOrderService;
+import com.sqx.modules.order.service.EvaluateRiderService;
 import com.sqx.modules.order.service.EvaluateService;
 import com.sqx.modules.sys.controller.AbstractController;
 import com.sqx.modules.utils.excel.ExcelData;
@@ -15,6 +16,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.A;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -37,6 +39,9 @@ public class OrderController extends AbstractController {
     @Autowired
     private EvaluateService evaluateService;
 
+    @Autowired
+    private EvaluateRiderService evaluateRiderService;
+
     @ApiOperation("条件查询所有订单")
     @GetMapping(value = "selectAllOrder")
     public Result selectAllOrder(Integer page, Integer limit, Integer status, String phone, Long shopId, String userName, String orderNumber, Integer orderType, String shopName, String transactionId) {
@@ -121,4 +126,18 @@ public class OrderController extends AbstractController {
         return appOrderService.selectAllOrderTotalPrice(queryDto);
     }
 
+    @ApiOperation("骑手评价展示")
+    @GetMapping(value = "/evaluateRiderPage")
+    public Result evaluateRiderPage(String riderName,String phone,String orderNumber,String userName,String shopName,Integer riderScore,String start,String end,Integer page, Integer limit) {
+        return evaluateRiderService.evaluateRiderPage(riderName,phone,orderNumber,userName,shopName,riderScore,start,end,page,limit);
+    }
+
+    @ApiOperation("删除骑手评价")
+    @GetMapping(value = "/delete")
+    public Result delete(Integer evaluateRiderId) {
+        evaluateRiderService.removeById(evaluateRiderId);
+        return Result.success();
+    }
+
+
 }

+ 14 - 0
src/main/java/com/sqx/modules/order/dao/EvaluateRiderDao.java

@@ -0,0 +1,14 @@
+package com.sqx.modules.order.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.sqx.modules.order.entity.EvaluateRider;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+@Mapper
+public interface EvaluateRiderDao extends BaseMapper<EvaluateRider> {
+    IPage<EvaluateRider> evaluateRiderPage(Page<EvaluateRider> evaluateRiderPage, @Param("riderName") String riderName,@Param("phone") String phone,@Param("orderNumber") String orderNumber,@Param("userName") String userName,@Param("shopName") String shopName,@Param("riderScore") Integer riderScore,@Param("start") String start,@Param("end") String end);
+
+}

+ 12 - 0
src/main/java/com/sqx/modules/order/entity/Evaluate.java

@@ -76,7 +76,19 @@ public class Evaluate implements Serializable {
     @TableField(exist = false)
     private String avatar;
 
+    @ApiModelProperty("骑手id")
+    @TableField(exist = false)
+    private Long riderUserId;
+
+    @ApiModelProperty("评价骑手内容")
+    @TableField(exist = false)
+    private String evaluateRiderMessage;
 
+    @ApiModelProperty("评分")
+    @TableField(exist = false)
+    private Integer riderScore;
     public Evaluate() {
     }
+
+
 }

+ 59 - 0
src/main/java/com/sqx/modules/order/entity/EvaluateRider.java

@@ -0,0 +1,59 @@
+package com.sqx.modules.order.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("evaluate_rider")
+public class EvaluateRider {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty("用户id")
+    private Long userId;
+
+    @ApiModelProperty("订单号")
+    private String orderNumber;
+
+    @ApiModelProperty("商户id")
+    private Long shopId;
+
+    @ApiModelProperty("骑手id")
+    private Long riderUserId;
+
+    @ApiModelProperty("评价骑手内容")
+    private String evaluateRiderMessage;
+
+    @ApiModelProperty("评分")
+    private Integer riderScore;
+
+    @ApiModelProperty("创建时间")
+    private String createTime;
+
+    @TableField(exist = false)
+    @ApiModelProperty("头像")
+    private String avatar;
+
+    @TableField(exist = false)
+    @ApiModelProperty("用户名称")
+    private String userName;
+
+    @TableField(exist = false)
+    @ApiModelProperty("用户名称")
+    private String riderName;
+
+    @TableField(exist = false)
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @TableField(exist = false)
+    @ApiModelProperty("店铺名称")
+    private String shopName;
+}

+ 8 - 0
src/main/java/com/sqx/modules/order/entity/TbOrder.java

@@ -298,4 +298,12 @@ public class TbOrder implements Serializable {
     @ApiModelProperty("pay_details 状态")
     @TableField(exist = false)
     private Integer state;
+
+    @ApiModelProperty("接单时间")
+    @TableField(exist = false)
+    private String receivingTime;
+
+    @ApiModelProperty("完成订单时间")
+    @TableField(exist = false)
+    private String finishTime;
 }

+ 1 - 0
src/main/java/com/sqx/modules/order/service/AppOrderService.java

@@ -186,4 +186,5 @@ public interface AppOrderService extends IService<TbOrder> {
 
 
     List<TbOrder> changeTimeOutOrder(long time);
+
 }

+ 9 - 0
src/main/java/com/sqx/modules/order/service/EvaluateRiderService.java

@@ -0,0 +1,9 @@
+package com.sqx.modules.order.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.sqx.common.utils.Result;
+import com.sqx.modules.order.entity.EvaluateRider;
+
+public interface EvaluateRiderService extends IService<EvaluateRider> {
+    Result evaluateRiderPage(String riderName, String phone, String orderNumber, String userName, String shopName,Integer riderScore, String start, String end, Integer page, Integer limit);
+}

+ 37 - 9
src/main/java/com/sqx/modules/order/service/impl/AppAppOrderServiceImpl.java

@@ -67,9 +67,11 @@ import com.sqx.modules.order.dao.OrderGoodsDao;
 import com.sqx.modules.order.dto.OrderFinishByShopDTO;
 import com.sqx.modules.order.dto.OrderQueryDto;
 import com.sqx.modules.order.entity.Evaluate;
+import com.sqx.modules.order.entity.EvaluateRider;
 import com.sqx.modules.order.entity.OrderGoods;
 import com.sqx.modules.order.entity.TbOrder;
 import com.sqx.modules.order.service.AppOrderService;
+import com.sqx.modules.order.service.EvaluateRiderService;
 import com.sqx.modules.pay.config.WXConfig;
 import com.sqx.modules.pay.config.WechatPayConfig;
 import com.sqx.modules.pay.controller.app.AliPayController;
@@ -190,6 +192,9 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
     @Autowired
     private UserIntegralDetailsDao userIntegralDetailsDao;
 
+    @Autowired
+    private EvaluateRiderService evaluateRiderService;
+
     @Resource
     private RedissonClient redissonClient;
 
@@ -1638,6 +1643,12 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
         }
         List<OrderGoods> orderGoodsList = orderGoodsDao.selectList(new QueryWrapper<OrderGoods>().eq("order_id", tbOrder.getOrderId()));
         tbOrder.setOrderGoodsList(orderGoodsList);
+        TbIndent tbIndent = tbIndentService.getOne(new QueryWrapper<TbIndent>().eq("order_id", tbOrder.getOrderId()));
+        if (ObjectUtils.isNotEmpty(tbIndent)) {
+            tbOrder.setReceivingTime(tbIndent.getReceivingTime());
+            tbOrder.setFinishTime(tbIndent.getFinishTime());
+        }
+
         return Result.success().put("data", tbOrder);
     }
 
@@ -2327,18 +2338,34 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
     @Transactional
     @Override
     public Result insertEvaluate(Evaluate evaluate) {
-        evaluate.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-        evaluateDao.insert(evaluate);
         TbOrder tbOrder = new TbOrder();
         tbOrder.setCommentFlag(1);
         appOrderDao.update(tbOrder, new QueryWrapper<TbOrder>().eq("order_number", evaluate.getOrderNumber()));
-        //重新计算并修改该商铺评分
-        Evaluate evaluate1 = evaluateDao.selectScoreByShopId(evaluate.getShopId());
-        Double score = evaluate1.getAllScore() / Double.valueOf(evaluate1.getEvaluatecount());
-        GoodsShop goodsShop = new GoodsShop();
-        goodsShop.setShopId(evaluate.getShopId());
-        goodsShop.setShopScore(score);
-        goodsShopDao.updateById(goodsShop);
+//        判断是否有评价商家字段
+        if (ObjectUtils.isNotEmpty(evaluate.getEvaluateMessage())&&ObjectUtils.isNotEmpty(evaluate.getScore())) {
+            evaluate.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+            evaluateDao.insert(evaluate);
+            //重新计算并修改该商铺评分
+            Evaluate evaluate1 = evaluateDao.selectScoreByShopId(evaluate.getShopId());
+            Double score = evaluate1.getAllScore() / Double.valueOf(evaluate1.getEvaluatecount());
+            GoodsShop goodsShop = new GoodsShop();
+            goodsShop.setShopId(evaluate.getShopId());
+            goodsShop.setShopScore(score);
+            goodsShopDao.updateById(goodsShop);
+        }
+//        判断是否有评价骑手字段
+        if (ObjectUtils.isNotEmpty(evaluate.getEvaluateRiderMessage())&&ObjectUtils.isNotEmpty(evaluate.getRiderScore())) {
+//        添加骑手评价
+            EvaluateRider evaluateRider = new EvaluateRider();
+            evaluateRider.setUserId(evaluate.getUserId());
+            evaluateRider.setOrderNumber(evaluate.getOrderNumber());
+            evaluateRider.setShopId(evaluate.getShopId());
+            evaluateRider.setRiderUserId(evaluate.getRiderUserId());
+            evaluateRider.setEvaluateRiderMessage(evaluate.getEvaluateRiderMessage());
+            evaluateRider.setRiderScore(evaluate.getRiderScore());
+            evaluateRider.setCreateTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+            evaluateRiderService.save(evaluateRider);
+        }
         return Result.success();
     }
 
@@ -2919,6 +2946,7 @@ public class AppAppOrderServiceImpl extends ServiceImpl<AppOrderDao, TbOrder> im
         return appOrderDao.changeTimeOutOrder(time);
     }
 
+
     /**
      * 更新订单状态和支付顺序
      *

+ 29 - 0
src/main/java/com/sqx/modules/order/service/impl/EvaluateRiderServiceImpl.java

@@ -0,0 +1,29 @@
+package com.sqx.modules.order.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.sqx.common.utils.PageUtils;
+import com.sqx.common.utils.Result;
+import com.sqx.modules.order.dao.EvaluateRiderDao;
+import com.sqx.modules.order.entity.EvaluateRider;
+import com.sqx.modules.order.service.EvaluateRiderService;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class EvaluateRiderServiceImpl extends ServiceImpl<EvaluateRiderDao, EvaluateRider> implements EvaluateRiderService {
+    @Autowired
+    private EvaluateRiderDao evaluateRiderDao;
+
+    @Override
+    public Result evaluateRiderPage(String riderName, String phone, String orderNumber, String userName, String shopName, Integer riderScore, String start, String end, Integer page, Integer limit) {
+        Page<EvaluateRider> evaluateRiderPage = new Page<>(page,limit);
+        IPage<EvaluateRider> riderPage =evaluateRiderDao.evaluateRiderPage(evaluateRiderPage,riderName,phone,orderNumber,userName,shopName,riderScore,start,end);
+        PageUtils pageUtils = new PageUtils(riderPage);
+        return Result.success().put("data", pageUtils);
+    }
+}
+
+

+ 1 - 0
src/main/java/com/sqx/modules/shop/service/impl/ShopMessageServiceImpl.java

@@ -238,6 +238,7 @@ public class ShopMessageServiceImpl extends ServiceImpl<ShopMessageDao, GoodsSho
 
     @Override
     public GoodsShop selectShopId(Long shopId) {
+//        TODO  查询主键是不是用selectById()方法更好一点
         GoodsShop goodsShop = baseMapper.selectOne(new QueryWrapper<GoodsShop>().eq("shop_id", shopId));
         if(goodsShop.getShopRate()==null){
             String value = commonInfoService.findOne(300).getValue();

+ 38 - 0
src/main/resources/mapper/goods/GoodsMapper.xml

@@ -154,5 +154,43 @@
     <select id="getByAllGoodsIdByShopId" resultType="java.lang.Long">
         select goods_id from goods where shop_id = #{shopId}
     </select>
+    <select id="goodsCoverList" resultType="com.sqx.modules.goods.entity.Goods">
+        SELECT
+            ( @i := @i + 1 ) AS id,
+            goods_name,
+            goods_cover
+        FROM
+            goods,
+            ( SELECT @i := #{total} ) AS itable
+        WHERE
+            goods_name LIKE concat('%',#{name},'%')
+    </select>
+    <select id="goodsPictureList" resultType="com.sqx.modules.goods.entity.Goods">
+        SELECT
+            ( @i := @i + 1 ) AS id,
+            goods_name,
+            SUBSTRING_INDEX( SUBSTRING_INDEX( goods_picture, ',', n ), ',', - 1 ) AS goods_picture
+        FROM
+            goods,
+            ( SELECT @rownum := @rownum + 1 AS n FROM ( SELECT @rownum := 0 ) r, goods ) x,
+            ( SELECT @i := #{total} ) AS itable
+        WHERE
+            goods_name LIKE concat('%',#{name},'%')
+            AND ( LENGTH( goods_picture ) - LENGTH( REPLACE ( goods_picture, ',', '' ) ) + 1 ) >= n
+    </select>
+    <select id="goodsParticularsPictureList" resultType="com.sqx.modules.goods.entity.Goods">
+        SELECT
+            ( @i := @i + 1 ) AS id,
+            goods_name,
+            SUBSTRING_INDEX( SUBSTRING_INDEX( goods_particulars_picture, ',', n ), ',', - 1 ) AS goods_particulars_picture
+        FROM
+            goods,
+            ( SELECT @rownum := @rownum + 1 AS n FROM ( SELECT @rownum := 0 ) r, goods ) x,
+            ( SELECT @i := #{total} ) AS itable
+        WHERE
+            goods_name LIKE concat('%',#{name},'%')
+            AND ( LENGTH( goods_particulars_picture ) - LENGTH( REPLACE ( goods_particulars_picture, ',', '' ) ) + 1 ) >= n
+
+    </select>
 
 </mapper>

+ 42 - 0
src/main/resources/mapper/order/EvaluateRiderMapper.xml

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sqx.modules.order.dao.EvaluateRiderDao">
+
+
+    <select id="evaluateRiderPage" resultType="com.sqx.modules.order.entity.EvaluateRider">
+        SELECT
+        er.*,
+        u1.user_name as userName,
+        u1.avatar,
+        u2.user_name as riderName,
+        u2.phone,
+        gs.shop_name as shopName
+        FROM
+        `evaluate_rider` er
+        LEFT JOIN tb_user u1 ON er.user_id = u1.user_id
+        LEFT JOIN tb_user u2 ON er.rider_user_id = u1.user_id
+        LEFT JOIN goods_shop gs ON er.shop_id = gs.shop_id
+        where 1 = 1
+        <if test="riderName!=null and riderName!=''">
+            and u2.user_name like concat('%',#{riderName},'%')
+        </if>
+        <if test="phone!=null and phone!=''">
+            and u2.phone like concat('%',#{phone},'%')
+        </if>
+        <if test="orderNumber!=null and orderNumber!=''">
+            and er.order_number like concat('%',#{orderNumber},'%')
+        </if>
+        <if test="userName!=null and userName!=''">
+            and u1.user_name like concat('%',#{userName},'%')
+        </if>
+        <if test="shopName!=null and shopName!=''">
+            and gs.shop_name like concat('%',#{shopName},'%')
+        </if>
+        <if test="riderScore!=null and riderScore!=''">
+            and er.rider_score = #{riderScore}
+        </if>
+        <if test="start != null and start != ''and end != null and end != ''">
+            and er.create_time >= #{start} and #{end} >= er.create_time
+        </if>
+    </select>
+</mapper>

+ 1 - 1
src/main/resources/mapper/order/OrderMapper.xml

@@ -443,7 +443,7 @@
     <select id="waitTakeFood" resultType="com.sqx.modules.order.entity.TbOrder">
         select tor.*, tu.avatar as avatar, ti.rider_user_id as riderUserId, gs.shop_name as shopName, gs.shop_cover as
         shopCover, gs.detailed_address as detailedAddress,tu1.phone as riderPhone,gs.phone as shopPhone,ti.indent_state
-        as indentState,
+        as indentState,tu1.user_name as riderNickName,
         (select count(*) from tb_order where order_type = 1 and status in (6, 3) and pay_time &lt; tor.pay_time
         and shop_id = tor.shop_id) as countOrder
         from tb_order tor