he2802 4 سال پیش
والد
کامیت
914e2eb32e

+ 103 - 0
zhongzheng-admin/src/main/java/com/zhongzheng/controller/order/OrderGoodsController.java

@@ -0,0 +1,103 @@
+package com.zhongzheng.controller.order;
+
+import java.util.List;
+import java.util.Arrays;
+
+import com.zhongzheng.modules.bank.vo.QuestionBankVo;
+import com.zhongzheng.modules.order.bo.OrderGoodsAddBo;
+import com.zhongzheng.modules.order.bo.OrderGoodsEditBo;
+import com.zhongzheng.modules.order.bo.OrderGoodsQueryBo;
+import com.zhongzheng.modules.order.domain.OrderGoods;
+import com.zhongzheng.modules.order.service.IOrderGoodsService;
+import com.zhongzheng.modules.order.vo.OrderGoodsVo;
+import lombok.RequiredArgsConstructor;
+import org.springframework.security.access.prepost.PreAuthorize;
+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.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+
+/**
+ * 订单商品Controller
+ *
+ * @author hjl
+ * @date 2021-07-20
+ */
+@Api(value = "订单商品控制器", tags = {"订单商品管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/order/goods")
+public class OrderGoodsController extends BaseController {
+
+    private final IOrderGoodsService iOrderGoodsService;
+
+    /**
+     * 查询订单商品列表
+     */
+    @ApiOperation("查询订单商品列表")
+    @PreAuthorize("@ss.hasPermi('order:goods:list')")
+    @GetMapping("/list")
+    public AjaxResult<List<OrderGoods>> list(OrderGoodsQueryBo bo) {
+        List<OrderGoods> list = iOrderGoodsService.queryOrderGoodsList(bo);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * 导出订单商品列表
+     */
+   /* @ApiOperation("导出订单商品列表")
+    @PreAuthorize("@ss.hasPermi('system:goods:export')")
+    @Log(title = "订单商品", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult<OrderGoodsVo> export(OrderGoodsQueryBo bo) {
+        List<OrderGoodsVo> list = iOrderGoodsService.queryList(bo);
+        ExcelUtil<OrderGoodsVo> util = new ExcelUtil<OrderGoodsVo>(OrderGoodsVo.class);
+        return util.exportExcel(list, "订单商品");
+    }*/
+
+    /**
+     * 获取订单商品详细信息
+     */
+    @ApiOperation("获取订单商品详细信息")
+    @PreAuthorize("@ss.hasPermi('order:goods:query')")
+    @GetMapping("/{id}")
+    public AjaxResult<OrderGoodsVo> getInfo(@PathVariable("id" ) Long id) {
+        return AjaxResult.success(iOrderGoodsService.queryById(id));
+    }
+
+    /**
+     * 新增订单商品
+     */
+    /* @ApiOperation("新增订单商品")
+    @PreAuthorize("@ss.hasPermi('order:goods:add')")
+    @Log(title = "订单商品", businessType = BusinessType.INSERT)
+    @PostMapping()
+    public AjaxResult<Void> add(@RequestBody OrderGoodsAddBo bo) {
+        return toAjax(iOrderGoodsService.insertByAddBo(bo) ? 1 : 0);
+    }*/
+
+    /**
+     * 修改订单商品
+     */
+  /*  @ApiOperation("修改订单商品")
+    @PreAuthorize("@ss.hasPermi('order:goods:edit')")
+    @Log(title = "订单商品", businessType = BusinessType.UPDATE)
+    @PutMapping()
+    public AjaxResult<Void> edit(@RequestBody OrderGoodsEditBo bo) {
+        return toAjax(iOrderGoodsService.updateByEditBo(bo) ? 1 : 0);
+    }*/
+
+}

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderGoods.java

@@ -47,4 +47,16 @@ private static final long serialVersionUID=1L;
     @TableField(fill = FieldFill.INSERT)
     private Long createTime;
 
+    /** 商品主图 */
+    @TableField(exist = false)
+    private String coverUrl;
+
+    /** 商品名称 */
+    @TableField(exist = false)
+    private String goodsName;
+
+    /** 商品类名 */
+    @TableField(exist = false)
+    private String categoryName;
+
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderGoodsMapper.java

@@ -1,8 +1,11 @@
 package com.zhongzheng.modules.order.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.order.bo.OrderGoodsQueryBo;
 import com.zhongzheng.modules.order.domain.OrderGoods;
 
+import java.util.List;
+
 /**
  * 订单商品Mapper接口
  *
@@ -10,5 +13,6 @@ import com.zhongzheng.modules.order.domain.OrderGoods;
  * @date 2021-06-30
  */
 public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
+    List<OrderGoods> queryOrderGoodsList(OrderGoodsQueryBo bo);
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderGoodsService.java

@@ -28,6 +28,8 @@ public interface IOrderGoodsService extends IService<OrderGoods> {
 	 */
 	List<OrderGoodsVo> queryList(OrderGoodsQueryBo bo);
 
+	List<OrderGoods> queryOrderGoodsList(OrderGoodsQueryBo bo);
+
 	/**
 	 * 根据新增业务对象插入订单商品
 	 * @param bo 订单商品新增业务对象

+ 8 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsServiceImpl.java

@@ -8,6 +8,7 @@ import com.zhongzheng.modules.order.bo.OrderGoodsEditBo;
 import com.zhongzheng.modules.order.bo.OrderGoodsQueryBo;
 import com.zhongzheng.modules.order.domain.OrderGoods;
 import com.zhongzheng.modules.order.mapper.OrderGoodsMapper;
+import com.zhongzheng.modules.order.mapper.OrderMapper;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
 import com.zhongzheng.modules.order.vo.OrderGoodsVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,7 +31,8 @@ import java.util.stream.Collectors;
 @Service
 public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGoods> implements IOrderGoodsService {
 
-
+    @Autowired
+    private OrderGoodsMapper orderGoodsMapper;
 
     @Override
     public OrderGoodsVo queryById(Long id){
@@ -49,6 +51,11 @@ public class OrderGoodsServiceImpl extends ServiceImpl<OrderGoodsMapper, OrderGo
         return entity2Vo(this.list(lqw));
     }
 
+    @Override
+    public List<OrderGoods> queryOrderGoodsList(OrderGoodsQueryBo bo) {
+        return orderGoodsMapper.queryOrderGoodsList(bo);
+    }
+
     /**
     * 实体类转化成视图对象
     *

+ 53 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -12,7 +12,60 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="goodsPrice" column="goods_price"/>
         <result property="num" column="num"/>
         <result property="createTime" column="create_time"/>
+        <result property="coverUrl" column="cover_url"/>
+        <result property="goodsName" column="goods_name"/>
+        <result property="categoryName" column="category_name"/>
     </resultMap>
 
+    <select id="queryOrderGoodsList" resultMap="OrderGoodsResult">
+        SELECT
+            temp.*,
+            mc.category_name
+        FROM
+            (
+                SELECT
+                    og.*,
+                    CASE
+
+                        WHEN og.goods_type = 1 THEN
+                            c.course_name
+                        WHEN og.goods_type = 2 THEN
+                            qb.bank_name
+                        WHEN og.goods_type = 3 THEN
+                            en.`name` ELSE '充值商品'
+                        END goods_name,
+                    CASE
+
+                        WHEN og.goods_type = 1 THEN
+                            c.category_id
+                        WHEN og.goods_type = 2 THEN
+                            qb.category_id
+                        WHEN og.goods_type = 3 THEN
+                            en.category_id ELSE 0
+                        END category_id,
+                    CASE
+
+                        WHEN og.goods_type = 1 THEN
+                            c.cover_url
+                        WHEN og.goods_type = 2 THEN
+                            qb.cover_url
+                        WHEN og.goods_type = 3 THEN
+                            en.cover_url ELSE NULL
+                        END cover_url
+                FROM
+                    order_goods og
+                        LEFT JOIN course c ON og.goods_id = c.course_id
+                        AND og.goods_type = 1
+                        LEFT JOIN question_bank qb ON og.goods_id = qb.bank_id
+                        AND og.goods_type = 2
+                        LEFT JOIN exam_note en ON og.goods_id = en.file_id
+                        AND og.goods_type = 3
+            ) temp
+                LEFT JOIN major_category mc ON temp.category_id = mc.category_id
+        <if test="orderSn != null and orderSn != ''" >
+            WHERE
+            temp.order_sn = #{orderSn}
+        </if>
+    </select>
 
 </mapper>