From c18037dc5de7f67175c2cf80cd04761d198739b5 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 12 Apr 2021 19:48:50 +0800
Subject: [PATCH] Merge branch 'score_shop' of http://120.27.238.55:7000/r/beauty-erp into score_shop

---
 zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java |    2 
 zq-erp/src/main/java/com/matrix/system/app/vo/ServiceTcVo.java                         |   12 ++
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java          |    6 
 zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java                              |    3 
 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 
 zq-erp/src/main/java/com/matrix/system/common/actions/MultipleFileUploadAction.java    |  169 ++++++++++++++++++++++++++++
 zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml                  |    6 
 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/hive/service/imp/SysProjUseServiceImpl.java     |    5 
 zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxMoneyCardUseAction.java    |    2 
 13 files changed, 314 insertions(+), 10 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
index 3c91072..5884118 100644
--- a/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
+++ b/zq-erp/src/main/java/com/matrix/config/MvcCoreConfig.java
@@ -77,7 +77,8 @@
 		registry.addInterceptor(suAuthorityInterceptor).addPathPatterns("/**/su/**");
 		//小程序公司与域名对应关系拦截
 		registry.addInterceptor(hostInterceptor).addPathPatterns("/**/wxapi/**")
-				.excludePathPatterns("/wxCommon/wxapi/wxpayCallback");
+				.excludePathPatterns("/wxCommon/wxapi/wxpayCallback")
+				.excludePathPatterns("/wxCommon/wxapi/rechargeCallBack");
 	}
 
 
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/actions/MultipleFileUploadAction.java b/zq-erp/src/main/java/com/matrix/system/common/actions/MultipleFileUploadAction.java
new file mode 100644
index 0000000..9c4f419
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/common/actions/MultipleFileUploadAction.java
@@ -0,0 +1,169 @@
+package com.matrix.system.common.actions;
+
+import com.alibaba.fastjson.JSONObject;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.UUIDUtil;
+import com.matrix.system.common.constance.AppConstance;
+import org.apache.commons.fileupload.FileUploadException;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Controller;
+import org.springframework.util.FileCopyUtils;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * 多文件上传控制器
+ * 
+ * @author jiangyouyao
+ * @email 512061637@qq.com
+ * @date 2019年2月25日
+ */
+@Controller
+@RequestMapping(value = "admin/multipleUploadFile")
+public class MultipleFileUploadAction {
+	Logger log = Logger.getLogger(MultipleFileUploadAction.class);
+
+	@Value("${file_storage_path}")
+	private String fileStoragePath;
+	@Value("${static_resource_url}")
+	private String nginxUrl;
+
+	/**
+	 * 最大值
+	 */
+	private Long maxSize = 1024*1024*100L;
+
+	/**
+	 * 多文件上传方法
+	 * 
+	 * @author jiangyouyao
+	 * @email 512061637@qq.com
+	 * @date 2019年2月25日
+	 * @param response
+	 * @param request
+	 * @return
+	 * @throws IOException
+	 * @throws FileUploadException
+	 */
+	@RequestMapping(value = "/doUpload")
+	public @ResponseBody JSONObject doFileUpload(HttpServletResponse response, MultipartHttpServletRequest request, Integer data)
+			throws IOException, FileUploadException {
+		// 文件保存目录路径
+		String savePath = fileStoragePath;
+		// 文件保存目录URL
+		String saveUrl = nginxUrl;
+		// String msgPag = "common/fileUploadResult";
+		JSONObject object = new JSONObject();
+		response.setContentType("text/html; charset=UTF-8");
+		request.setCharacterEncoding("UTF-8");
+
+		// 保存和访问路径检查
+		if (StringUtils.isBlank(saveUrl) || StringUtils.isBlank(savePath)) {
+			object.put("status", "err");
+			object.put("msg", "文件上传失败错误代码:001");
+			return object;
+		}
+		// 检查目录
+		File uploadDir = new File(savePath);
+		if (!uploadDir.isDirectory()) {
+			uploadDir.mkdir();
+		}
+		// 检查目录写权限
+//		if (!uploadDir.canWrite()) {
+//			object.put("status", "err");
+//			object.put("msg", "上传目录没有写权限");
+//			return object;
+//		}
+
+		Map<String, MultipartFile> fileMaps = request.getFileMap();
+		for (String key : fileMaps.keySet()) {
+			MultipartFile file = fileMaps.get(key);
+
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+			String ymd = sdf.format(new Date());
+			savePath += ymd + "/";
+			saveUrl += ymd + "/";
+			File dirFile = new File(savePath);
+			if (!dirFile.exists()) {
+				dirFile.mkdirs();
+			}
+			log.info("上传文件名:" + file.getOriginalFilename());
+			log.info("上传文件大小:" + file.getBytes().length);
+			log.info("上传文件大小限制:" + maxSize);
+			log.info("上传文件大小是否超过限制:" + (file.getBytes().length > maxSize));
+			if (file.getBytes().length > maxSize) {
+				object.put("status", "err");
+				object.put("msg", "上传文件大小超过限制");
+				return object;
+			}
+			String fileName = file.getOriginalFilename();
+			String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
+
+			fileName = fileName.replace("." + fileExt, "");
+			fileName = getSensitive(fileName);
+			String newFileName = UUIDUtil.getRandomID() + UUIDUtil.getRandomID() + "." + fileExt;
+			File uploadedFile = new File(savePath, newFileName);
+			try {
+				FileCopyUtils.copy(file.getBytes(), uploadedFile);
+			} catch (Exception e) {
+				object.put("status", "err");
+				object.put("msg", "上传文件失败 "+e.getMessage());
+				return object;
+			}
+			log.info("saveUrl:" + saveUrl);
+			String visitPath = saveUrl + newFileName;
+			log.info("上传一个文件:" + newFileName);
+			log.info("访问路径:" + visitPath);
+			// 获取回调函数
+			/*
+			 * String callBack = request.getParameter("callBack"); String inputId =
+			 * request.getParameter("inputId"); request.setAttribute("status", "200");
+			 * request.setAttribute("callBack", callBack); request.setAttribute("inputId",
+			 * inputId); request.setAttribute("url", visitPath);
+			 */
+			object.put("path", visitPath);
+			object.put("fileName", fileName);
+			object.put("status", 200);
+			if (data != null) {
+				object.put("index", data);
+			}
+		}
+		return object;
+	}
+
+	/**
+	 * 检查文件名,过滤特殊字符
+	 * 
+	 * @author jiangyouyao
+	 * @email 512061637@qq.com
+	 * @date 2019年2月25日
+	 * @param globWords
+	 * @return
+	 */
+	public String getSensitive(String globWords) {
+
+		String sensitive = "";
+		Pattern pattern = Pattern.compile(AppConstance.SPECIAL_CHARACTERS);
+		Matcher matcher = pattern.matcher(globWords);
+		while (matcher.find()) {
+			sensitive += matcher.group();
+		}
+		/*
+		 * if(sensitive=="" || sensitive.length()<3 ){
+		 * sensitive=StringUtils.getRandomString(8); }
+		 */
+		return sensitive;
+	}
+}
\ No newline at end of file
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/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
index 5246abe..8c31f22 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
@@ -307,7 +307,7 @@
 
                         if (moneyCardUseFlow.getCarUseId()==null) {
                             ShopPayLog payLog = new ShopPayLog();
-                            if(payMoney==moneyCardUseFlow.getTotal()){
+                            if(payMoney.equals(moneyCardUseFlow.getTotal())){
                                 threadResult.putInMap("status", "success");
                                 resXml = AppConstance.RESULT_XML_SUCCESS;
                                 MoneyCardUse moneyCardUse = moneyCardUseDao.selectVipCard(user.getId());
@@ -315,6 +315,10 @@
                                 moneyCardUseFlow.setCardName(moneyCardUse.getCardName());
                                 moneyCardUseFlow.setBalance(moneyCardUse.getGiftMoney() + moneyCardUse.getRealMoney());
                                 moneyCardUseFlowDao.update(moneyCardUseFlow);
+
+                                moneyCardUse.setRealMoney(moneyCardUse.getRealMoney()+payMoney.doubleValue());
+                                moneyCardUseDao.update(moneyCardUse);
+
                                 //充值记录
                                 recordPayLog(Integer.valueOf(moneyCardUseFlowId),2,moneyCardUseFlow.getPayNo(),new BigDecimal(payMoney),  payLog, "充值成功", ShopOrder.ORDER_PAY_STATUS_SUCCESS);
                             }else{
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxMoneyCardUseAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxMoneyCardUseAction.java
index 0993ccb..8bb4daa 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxMoneyCardUseAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxMoneyCardUseAction.java
@@ -86,7 +86,7 @@
 
         String rechargeAmount = param.get("rechargeAmount");
         if (StringUtils.isBlank(rechargeAmount)) {
-            return AjaxResult.buildFailInstance("去输入充值金额");
+            return AjaxResult.buildFailInstance("请输入充值金额");
         }
         double total = new BigDecimal(rechargeAmount).setScale(2, BigDecimal.ROUND_HALF_DOWN).doubleValue();
         if (total < 0.02) {
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml
index 0c36b69..9a30f8e 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseFlowDao.xml
@@ -98,7 +98,7 @@
 			<if test="content != null and content !='' ">
 				content = #{content},
 			</if>
-			<if test="createTime != null and createTime !='' ">
+			<if test="createTime != null  ">
 				create_time = #{createTime},
 			</if>
 			<if test="vipId != null and vipId !='' ">
@@ -113,8 +113,8 @@
 			<if test="type != null and type !='' ">
 				type = #{type},
 			</if>
-			<if test="taotal != null and taotal !='' ">
-				taotal = #{taotal},
+			<if test="total != null and total !='' ">
+				total = #{total},
 			</if>
 			<if test="times != null and times !='' ">
 				times = #{times},
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