From 4351e71d782741143a98f86f6648acd16689165f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 27 May 2022 19:48:02 +0800
Subject: [PATCH] Merge branch 'developer' into hive2.0

---
 zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java |  147 +++++++++++++++++++++++++++----------------------
 1 files changed, 81 insertions(+), 66 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
index 375256d..2b8dd86 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
@@ -1,5 +1,6 @@
 package com.matrix.system.hive.action;
 
+import cn.hutool.core.util.StrUtil;
 import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.AjaxResult;
@@ -12,20 +13,17 @@
 import com.matrix.core.tools.excl.ExcelUtil;
 import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.constance.Dictionary;
-import com.matrix.system.hive.bean.MoneyCardUse;
-import com.matrix.system.hive.bean.ShoppingGoods;
-import com.matrix.system.hive.bean.SysProjUse;
-import com.matrix.system.hive.bean.SysVipInfo;
+import com.matrix.system.hive.bean.*;
 import com.matrix.system.hive.dao.MoneyCardUseDao;
 import com.matrix.system.hive.dao.ShoppingGoodsDao;
 import com.matrix.system.hive.dao.SysProjUseDao;
 import com.matrix.system.hive.dao.SysVipInfoDao;
-import com.matrix.system.hive.plugin.message.StringUtil;
 import com.matrix.system.hive.plugin.util.CollectionUtils;
 import com.matrix.system.hive.service.MoneyCardUseService;
 import com.matrix.system.hive.service.SysProjUseService;
 import com.matrix.system.hive.service.SysProjuseFreezeService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Controller;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -60,6 +58,25 @@
     @Resource
     private MoneyCardUseService moneyCardUseService;
 
+    @Resource
+    private  SysProjUseDao projUseDao;
+
+    @Autowired
+    SysVipInfoDao vipInfoDao;
+
+    @Autowired
+    ShoppingGoodsDao shoppingGoodsDao;
+
+    @Autowired
+    MoneyCardUseDao moneyCardUseDao;
+
+    @Value("${default.vip.photo.woman}")
+    String defaultWoman;
+
+    @Value("${default.vip.photo.man}")
+    String defaultman;
+
+
 
     public static final String fnCode = "projUse";
     public static final String search = fnCode + ":search";
@@ -85,6 +102,18 @@
                 projUseService.findInPage(sysProjUse, pageVo), projUseService.findTotal(sysProjUse));
     }
 
+    /**
+     * 查看会员项目使用情况
+     *
+     * @author jiangyouyao
+     * @date 2016-09-03
+     */
+    @RequestMapping(value = "/findProjUseFlow")
+    public @ResponseBody
+    AjaxResult findProjUseFlow(PaginationVO pageVo, SysProjUseFlow projUseFlow) {
+        return new AjaxResult(AjaxResult.STATUS_SUCCESS,
+                projUseDao.selectProjUseFlow(projUseFlow, pageVo), projUseDao.selectProjUseFlowTotal(projUseFlow));
+    }
 
     /**
      * 将项目设置为有效
@@ -139,21 +168,7 @@
         return new AjaxResult(AjaxResult.STATUS_FAIL, "项目转让失败");
     }
 
-    @RequestMapping(value = "/returnProj")
-    public @ResponseBody
-    AjaxResult returnTc(SysProjUse sysProjUse, Long moneyCardUseId, String tcRemark, Long shopId, Double money, String tcName) {
 
-        MoneyCardUse card = null;
-        if (moneyCardUseId != null) {
-            card = moneyCardUseService.findById(moneyCardUseId);
-        }
-        int i = projUseService.returnMoneyProj(sysProjUse, card, moneyCardUseId);
-        if (i > 0) {
-
-            return new AjaxResult(AjaxResult.STATUS_SUCCESS, "退款成功");
-        }
-        return new AjaxResult(AjaxResult.STATUS_FAIL, "退款失败");
-    }
 
 
     /**
@@ -174,31 +189,6 @@
     }
 
 
-    /**
-     * 退款
-     *
-     * @return
-     */
-    @RequestMapping(value = "/getEffectCard")
-    public @ResponseBody
-    AjaxResult getEffectCard(SysProjUse sysProjUse) {
-        MoneyCardUse cardUse = moneyCardUseService.findByVipId(sysProjUse.getVipId());
-        double money = projUseService.getTotalMoneyProj(sysProjUse);
-        if (cardUse != null) {
-            cardUse.setRealMoney(money);
-            List<MoneyCardUse> list = new ArrayList<MoneyCardUse>();
-            list.add(cardUse);
-            return new AjaxResult(AjaxResult.STATUS_SUCCESS, null, "有有效会籍卡", list, null);
-        } else {
-            //无会员卡则new一个,为了把钱传递到前台
-            cardUse = new MoneyCardUse();
-            cardUse.setRealMoney(money);
-            List<MoneyCardUse> list = new ArrayList<MoneyCardUse>();
-            list.add(cardUse);
-            return new AjaxResult(AjaxResult.STATUS_SUCCESS, null, "无有效会籍卡", list, null);
-        }
-
-    }
 
     /**
      * 冻结会员项目
@@ -217,10 +207,29 @@
     /**
      * 添加或修改会员項目信息
      */
+    @Transactional
     @RequestMapping(value = "/addOrModify")
     public @ResponseBody
     AjaxResult addOrModify(SysProjUse sysProjUse) {
         if (sysProjUse.getId() != null) {
+            SysUsers user=getMe();
+            //插入修改记录
+            SysProjUse oldProjUse = projUseService.findById(sysProjUse.getId());
+            SysProjUseFlow projUseFlow=new SysProjUseFlow();
+            projUseFlow.setProjUseId(sysProjUse.getId());
+            projUseFlow.setOptionType("人工修改");
+            projUseFlow.setProjName(oldProjUse.getProjName());
+            projUseFlow.setCreateBy(user.getSuName());
+            projUseFlow.setUpdateBy(user.getSuName());
+            projUseFlow.setPrice(sysProjUse.getPrice());
+            projUseFlow.setStatus(sysProjUse.getStatus());
+            projUseFlow.setBalance(sysProjUse.getBalance());
+            projUseFlow.setFailTime(sysProjUse.getFailTime());
+            projUseFlow.setIsOver(sysProjUse.getIsOver());
+            projUseFlow.setRemark(sysProjUse.getUpdateRemark());
+            projUseFlow.setSurplusCount(sysProjUse.getSurplusCount());
+            projUseDao.insertFlow(projUseFlow);
+
             return modify(projUseService, sysProjUse, "项目");
         } else {
             return add(projUseService, sysProjUse, "项目");
@@ -228,17 +237,9 @@
     }
 
 
-    @Autowired
-    SysVipInfoDao vipInfoDao;
+    @Value("${file_storage_path}")
+    private String fileStoragePath;
 
-    @Autowired
-    ShoppingGoodsDao shoppingGoodsDao;
-
-    @Autowired
-    SysProjUseDao projUseDao;
-
-    @Autowired
-    MoneyCardUseDao moneyCardUseDao;
 
 
     @RequestMapping(value = "/importProjUse")
@@ -247,17 +248,24 @@
     public AjaxResult importVipInfo(HttpServletResponse response, HttpServletRequest request, @RequestParam(value = "file", required = false) MultipartFile file) throws IOException {
 
         String fileName = file.getOriginalFilename();
-        String dirPath = "E:";
-        //PropertiesUtil.getString(AppConstance.FILES_TORAGE_PATH);
+//       String dirPath = "E:";
+       String dirPath =  fileStoragePath;
 
-        File saveFile = new File(dirPath + "/" + fileName);
-        file.transferTo(saveFile);
+        File saveFile =new File (new File(dirPath).getAbsolutePath() + File.separator + fileName);
+        if (!saveFile.exists())
+        {
+            if (!saveFile.getParentFile().exists())
+            {
+                saveFile.getParentFile().mkdirs();
+            }
+        }
+        file.transferTo(saveFile.getAbsoluteFile());
 
         SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
 
         List<ExcelSheetPO> excelSheetPOList = ExcelUtil.readExcel(saveFile, null, null);
 
-/*
+
         //项目资料导入
         List<List<Object>> dataList = excelSheetPOList.get(0).getDataList();
         List<SysProjUse> projUseList = new ArrayList<>();
@@ -282,7 +290,7 @@
                 List<Object> objects = taocanDataList.get(j);
                 LogUtil.info("导入套餐第" + j + "行" + objects);
                 Object vipName = objects.get(0);
-                String vipNameStr = vipName.toString();
+                String vipNameStr = vipName==null?"":vipName.toString();
                 if (taocan == null
                         || (taocan != null && StringUtils.isNotBlank(vipNameStr))) {
                     //切换下一个套餐
@@ -301,7 +309,6 @@
         //套餐资料导入=======end===
 
 
-*/
         //充值卡资料导入
         List<List<Object>> cardList = excelSheetPOList.get(2).getDataList();
         List<MoneyCardUse> cardUseArrayList = new ArrayList<>();
@@ -324,12 +331,14 @@
         Object tel = objects.get(1);
         if (tel != null) {
             String telStr = tel.toString();
-            SysVipInfo vipInfo = vipInfoDao.selectByPhone(telStr);
+            SysVipInfo vipInfo = vipInfoDao.selectByPhone(StrUtil.trim(telStr),sysUsers.getCompanyId());
             if (vipInfo == null) {
                 vipInfo = new SysVipInfo();
                 vipInfo.setShopId(sysUsers.getShopId());
                 vipInfo.setPhone(telStr);
+                vipInfo.setPhoto(defaultWoman);
                 vipInfo.setName(objects.get(0).toString());
+                vipInfo.setIsDelete(Dictionary.DELETED_N);
                 vipInfoDao.insert(vipInfo);
             }
 
@@ -380,19 +389,25 @@
         Object tel = objects.get(1);
         if (tel != null) {
             String telStr = tel.toString();
-            SysVipInfo vipInfo = vipInfoDao.selectByPhone(telStr);
+            SysVipInfo vipInfo = vipInfoDao.selectByPhone(StrUtil.trim(telStr),sysUsers.getCompanyId());
             if (vipInfo == null) {
                 vipInfo = new SysVipInfo();
                 vipInfo.setShopId(sysUsers.getShopId());
                 vipInfo.setPhone(telStr);
+                vipInfo.setPhoto(defaultWoman);
                 vipInfo.setName(objects.get(0).toString());
+                vipInfo.setIsDelete(Dictionary.DELETED_N);
                 vipInfoDao.insert(vipInfo);
             }
             String goodNo = String.valueOf(objects.get(3));
-            String goodName = String.valueOf(objects.get(2)).trim();
-
-
             ShoppingGoods goods = shoppingGoodsDao.findByCode(goodNo);
+
+            String goodName = String.valueOf(objects.get(2)).trim();
+            if("储值卡".equals(goodName)){
+                goods= shoppingGoodsDao.selectVipCzGoods();
+            }
+
+
             if (goods != null || "储值卡".equals(goodName)) {
 
                 moneyCardUse.setVipId(vipInfo.getId());

--
Gitblit v1.9.1