From b8d50f6ad9d1ab407e5b2a6867cf47bc4640a43c Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 12 Apr 2021 18:11:55 +0800
Subject: [PATCH] modify taocanlist api

---
 zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java |    2 
 zq-erp/src/test/java/com/matrix/TcProjTest.java                                        |   33 +++++++++++
 zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java           |    8 +-
 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java                         |   12 ++++
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java     |    5 +
 zq-erp/src/main/java/com/matrix/system/hive/service/SysProjUseService.java             |    2 
 zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml                        |   74 ++++++++++++++++++++++++
 zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java                     |    2 
 8 files changed, 134 insertions(+), 4 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
index 01db2dd..818338b 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
@@ -125,13 +125,15 @@
 
         queryUse.setTaocanId(null);
         queryUse.setType(Dictionary.SHOPPING_GOODS_TYPE_TC);
-        List<SysProjUse> taoCanList = projUseService.findInPage(queryUse, null);
+//        List<SysProjUse> taoCanList = projUseService.findInPage(queryUse, null);
+        List<SysProjUse> taoCanList = projUseService.findTaocaoProjUseWithProj(queryUse);
         List<ServiceTcVo> serviceTcVos = SysProjUseMapper.INSTANCE.entityListToTcVoList(taoCanList);
 
         if (CollectionUtils.isNotEmpty(serviceTcVos)) {
             serviceTcVos.forEach(item -> {
-                List<SysProjUse> sysProjUses = projUseService.selectTaocanProjUse(item.getId(), queryUse.getStatus());
-                List<ServiceProjVo> taocanProj = SysProjUseMapper.INSTANCE.entityListToProjVoList(sysProjUses);
+//                List<SysProjUse> sysProjUses = projUseService.selectTaocanProjUse(item.getId(), queryUse.getStatus());
+                List<ServiceProjVo> taocanProj = SysProjUseMapper.INSTANCE.entityListToProjVoList(item.getTaocanProjUse());
+                item.setTaocanProjUse(null);
                 item.setProj(taocanProj);
             });
         }
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java
index 9c9cb10..1c61e6d 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java
@@ -2,6 +2,7 @@
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.matrix.core.tools.DateUtil;
+import com.matrix.system.hive.bean.SysProjUse;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -42,6 +43,17 @@
     @ApiModelProperty(value = "快过期 1-是 2-否")
     private String isInvalid;
 
+    @ApiModelProperty(hidden = true)
+    private List<SysProjUse> taocanProjUse;
+
+    public List<SysProjUse> getTaocanProjUse() {
+        return taocanProjUse;
+    }
+
+    public void setTaocanProjUse(List<SysProjUse> taocanProjUse) {
+        this.taocanProjUse = taocanProjUse;
+    }
+
     public String getIsInvalid() {
         Date date = DateUtil.getDateAfterMonth(new Date(), 1);
         if (invalidTime != null) {
diff --git a/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java b/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
index d3b8671..e21ef75 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
@@ -44,7 +44,7 @@
     @Override
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
     if ("dev".equals(evn)) {
-            SysUsers sysUsers = sysUsersDao.selectById(2L);
+            SysUsers sysUsers = sysUsersDao.selectById(1060L);
             request.getSession().setAttribute(MatrixConstance.LOGIN_KEY, sysUsers);
             return true;
         }
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java
index c064f18..cd06925 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysProjUseDao.java
@@ -132,4 +132,6 @@
 	List<SysProjUseFlow> selectProjUseFlow(@Param("record") SysProjUseFlow projUseFlow, @Param("pageVo")PaginationVO pageVo);
 
 	Integer selectProjUseFlowTotal(@Param("record") SysProjUseFlow projUseFlow);
+
+	List<SysProjUse> selectTaoCanListWithProj(@Param("record") SysProjUse sysProjUse);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjUseService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjUseService.java
index df034a0..0bf893a 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjUseService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysProjUseService.java
@@ -141,4 +141,6 @@
 
 
 	public List<SysProjUse> selectTaocanProjUse(Long id, String status);
+
+	public List<SysProjUse> findTaocaoProjUseWithProj(SysProjUse sysProjUse);
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java
index 30bd8c9..d113cc4 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjUseServiceImpl.java
@@ -599,4 +599,9 @@
         projUse.setStatus(status);
         return sysProjUseDao.selectByModel(projUse);
     }
+
+    @Override
+    public List<SysProjUse> findTaocaoProjUseWithProj(SysProjUse sysProjUse) {
+        return sysProjUseDao.selectTaoCanListWithProj(sysProjUse);
+    }
 }
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
index 3ba6f8c..295413f 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjUseDao.xml
@@ -859,5 +859,79 @@
         where date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') and STATUS='有效'
     </select>
 
+    <resultMap type="SysProjUse" id="TaoCanWithProjMap">
+
+        <id property="id" column="ID"/>
+        <result property="createBy" column="create_by" />
+        <result property="createTime" column="create_time" />
+        <result property="updateBy" column="update_by" />
+        <result property="updateTime" column="update_time" />
+        <result property="orderItemId" column="ORDER_ITEM_ID"/>
+        <result property="projId" column="PROJ_ID"/>
+        <result property="surplusCount" column="SURPLUS_COUNT"/>
+        <result property="isOver" column="IS_OVER"/>
+        <result property="taocanId" column="TAOCAN_ID"/>
+        <result property="vipId" column="VIP_ID"/>
+        <result property="failTime" column="FAIL_TIME"/>
+        <result property="assembleId" column="ASSEMBLE_ID"/>
+        <result property="source" column="SOURCE"/>
+        <result property="status" column="STATUS"/>
+        <result property="platformFlag" column="PLATFORM_FLAG"/>
+        <result property="type" column="type"/>
+        <result property="balance" column="balance"/>
+        <result property="remark" column="remark"/>
+        <result property="price" column="price"/>
+        <result property="tcName" column="tcName"/>
+        <result property="projName" column="proj_name"/>
+        <result property="deductionNum" column="deductionNum"/>
+        <result property="isCourse" column="is_course"/>
+        <result property="timeLength" column="time_length"/>
+        <result property="orderId" column="orderId"/>
+
+        <collection property="taocanProjUse" ofType="com.matrix.system.hive.bean.SysProjUse">
+            <id property="id" column="proj_info_id" />
+            <result property="projName" column="proj_proj_name"/>
+            <result property="failTime" column="proj_FAIL_TIME"/>
+            <result property="surplusCount" column="proj_SURPLUS_COUNT"/>
+            <result property="timeLength" column="proj_time_length"/>
+            <result property="img" column="proj_img"/>
+            <result property="projId" column="proj_projId"/>
+        </collection>
+    </resultMap>
+
+    <select id="selectTaoCanListWithProj" resultMap="TaoCanWithProjMap">
+        select
+            a.*,
+            d.id as orderId,
+            b.TIME_LENGTH,
+            b.img,
+            b.code,
+            e.proj_name proj_proj_name,
+            e.FAIL_TIME proj_FAIL_TIME,
+            e.SURPLUS_COUNT proj_SURPLUS_COUNT,
+            e.id proj_info_id,
+            e.proj_id proj_projId,
+            f.time_length proj_time_length,
+            f.img proj_img
+        from sys_proj_use a
+            left join shopping_goods b on a.proj_id=b.id
+            left join sys_order_item c on a.ORDER_ITEM_ID=c.id
+            left join sys_order d on c.ORDER_ID=d.id
+            left join sys_proj_use e on a.id = e.TAOCAN_ID and e.VIP_ID=a.vip_id
+            left join shopping_goods f on e.proj_id=f.id
+        where 1=1 and a.type='套餐' and a.TAOCAN_ID IS NULL
+        <if test="record.queryKey != null and record.queryKey !='' ">
+            and (instr(b.name, #{record.queryKey}) or instr(b.zjm, #{record.queryKey}) or instr(goods_no, #{record.queryKey}))
+        </if>
+        <if test="record.isOver != null and record.isOver !='' ">
+            and a.IS_OVER = #{record.isOver}
+        </if>
+        <if test="record.status != null and record.status !='' ">
+            and a.STATUS = #{record.status}
+        </if>
+        <if test="record.vipId != null and record.vipId !='' ">
+            and a.VIP_ID = #{record.vipId}
+        </if>
+    </select>
 
 </mapper>
\ No newline at end of file
diff --git a/zq-erp/src/test/java/com/matrix/TcProjTest.java b/zq-erp/src/test/java/com/matrix/TcProjTest.java
new file mode 100644
index 0000000..a6c485c
--- /dev/null
+++ b/zq-erp/src/test/java/com/matrix/TcProjTest.java
@@ -0,0 +1,33 @@
+package com.matrix;
+
+import cn.hutool.core.collection.CollUtil;
+import com.matrix.system.hive.bean.SysProjUse;
+import com.matrix.system.hive.dao.SysProjUseDao;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.List;
+
+/**
+ * @author wzy
+ * @date 2021-04-12
+ **/
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = {ZqErpApplication.class},webEnvironment =SpringBootTest.WebEnvironment.RANDOM_PORT)
+public class TcProjTest {
+
+    @Autowired
+    private SysProjUseDao sysProjUseDao;
+
+    @Test
+    public void tcProjTest() {
+//        List<SysProjUse> projUses = sysProjUseDao.selectTaoCanListWithProj();
+//        if (CollUtil.isNotEmpty(projUses)) {
+//
+//        }
+    }
+}

--
Gitblit v1.9.1