huangzhiguo 2 rokov pred
rodič
commit
10064caf87
19 zmenil súbory, kde vykonal 303 pridanie a 20 odobranie
  1. 2 0
      src/main/java/com/caimei/modules/product/dao/ProductDao.java
  2. 18 0
      src/main/java/com/caimei/modules/product/entity/Product.java
  3. 13 0
      src/main/java/com/caimei/modules/product/service/ProductService.java
  4. 12 1
      src/main/java/com/caimei/modules/product/web/ProductNewController.java
  5. 7 0
      src/main/java/com/caimei/modules/user/dao/OperationsDao.java
  6. 39 1
      src/main/java/com/caimei/modules/user/entity/OperationalLogs.java
  7. 58 0
      src/main/java/com/caimei/modules/user/service/SysLogService.java
  8. 9 0
      src/main/java/com/caimei/modules/user/web/newUser/AgencyController.java
  9. 4 0
      src/main/java/com/caimei/modules/user/web/newUser/SpController.java
  10. 12 0
      src/main/resources/mappings/modules/product/ProductMapper.xml
  11. 8 0
      src/main/resources/mappings/modules/product/ProductNewMapper.xml
  12. 2 2
      src/main/resources/mappings/modules/user/NewCmClubMapper.xml
  13. 16 0
      src/main/resources/mappings/modules/user/OperationalLogsMapper.xml
  14. 11 7
      src/main/webapp/WEB-INF/views/modules/product-new/productEdit.jsp
  15. 29 2
      src/main/webapp/WEB-INF/views/modules/product-new/productList.jsp
  16. 6 0
      src/main/webapp/WEB-INF/views/modules/product-new/statusRemarksList.jsp
  17. 1 1
      src/main/webapp/WEB-INF/views/modules/product/cmSecondDetailForm.jsp
  18. 16 6
      src/main/webapp/WEB-INF/views/modules/userNew/cmAgencyList.jsp
  19. 40 0
      src/main/webapp/WEB-INF/views/modules/userNew/cmSpProviderLogs.jsp

+ 2 - 0
src/main/java/com/caimei/modules/product/dao/ProductDao.java

@@ -150,6 +150,8 @@ public interface ProductDao extends CrudDao<Product> {
 
 
     ProductDetailInfo queryProductDetailInfo(@Param("productID") Integer productID);
     ProductDetailInfo queryProductDetailInfo(@Param("productID") Integer productID);
 
 
+    List<String> shopKeyword(@Param("productID") Integer productID);
+
     Product qualification(@Param("productID") Integer productID);
     Product qualification(@Param("productID") Integer productID);
 
 
     List<ProductLadderPrice> findProductLadderPrice(@Param("productId") Integer productId, @Param("userType") Integer userType);
     List<ProductLadderPrice> findProductLadderPrice(@Param("productId") Integer productId, @Param("userType") Integer userType);

+ 18 - 0
src/main/java/com/caimei/modules/product/entity/Product.java

@@ -169,6 +169,8 @@ public class Product extends DataEntity<Product> {
     private String dockingPeopleName; //对接人名称
     private String dockingPeopleName; //对接人名称
     private Integer floorId;//呵呵商城楼层id
     private Integer floorId;//呵呵商城楼层id
     private Integer insertStatus;
     private Integer insertStatus;
+    private Integer isRelevance;// 是否关联标签
+    private String keywords;//供应商关联标签
 
 
     /**
     /**
      * 商品别名
      * 商品别名
@@ -1773,4 +1775,20 @@ public class Product extends DataEntity<Product> {
     public void setInsertStatus(Integer insertStatus) {
     public void setInsertStatus(Integer insertStatus) {
         this.insertStatus = insertStatus;
         this.insertStatus = insertStatus;
     }
     }
+
+    public Integer getIsRelevance() {
+        return isRelevance;
+    }
+
+    public void setIsRelevance(Integer isRelevance) {
+        this.isRelevance = isRelevance;
+    }
+
+    public String getKeywords() {
+        return keywords;
+    }
+
+    public void setKeywords(String keywords) {
+        this.keywords = keywords;
+    }
 }
 }

+ 13 - 0
src/main/java/com/caimei/modules/product/service/ProductService.java

@@ -348,6 +348,19 @@ public class ProductService extends CrudService<ProductDao, Product> {
     public ProductDetailInfo getProductDetailInfo(Integer productID) {
     public ProductDetailInfo getProductDetailInfo(Integer productID) {
         return productDao.queryProductDetailInfo(productID);
         return productDao.queryProductDetailInfo(productID);
     }
     }
+    public String getShopKeyWord(Integer productID) {
+        String keys = "";
+        List<String> keyword = productDao.shopKeyword(productID);
+        if (keyword.size() > 0) {
+            for (int i = 0; i < keyword.size(); i++) {
+                keys += keyword.get(i);
+                if (i != keyword.size() - 1) {
+                    keys += ", ";
+                }
+            }
+        }
+        return keys;
+    }
 
 
     public Product qualification(Integer productID) {
     public Product qualification(Integer productID) {
         return productDao.qualification(productID);
         return productDao.qualification(productID);

+ 12 - 1
src/main/java/com/caimei/modules/product/web/ProductNewController.java

@@ -333,6 +333,10 @@ public class ProductNewController extends BaseController {
             product.setProductDescribe(productService.findProductDescribe(product.getProductID()));
             product.setProductDescribe(productService.findProductDescribe(product.getProductID()));
             product.setProductDetail(productService.findProductDetail(product.getProductID()));
             product.setProductDetail(productService.findProductDetail(product.getProductID()));
             product.setSkuList(productService.findSkuList(product.getProductID()));
             product.setSkuList(productService.findSkuList(product.getProductID()));
+            // 供应商信息
+            String shopKeyWord = productService.getShopKeyWord(product.getProductID());
+            product.setKeywords(shopKeyWord);
+
         } else {
         } else {
             //发布特殊商品给默认值
             //发布特殊商品给默认值
             product.setIncludedTax("2");
             product.setIncludedTax("2");
@@ -915,7 +919,14 @@ public class ProductNewController extends BaseController {
                     validFlag = "2";
                     validFlag = "2";
                 }
                 }
             }
             }
-
+            // 商品重新上架
+            if ("32".equals(validFlag)) {
+                validFlag = "2";
+            }
+            // 商品下架
+            if ("33".equals(validFlag)) {
+                validFlag = "3";
+            }
             productNewService.auditProduct(validFlag, newvalidFlag, showtime, beforeValidFlag, productID);
             productNewService.auditProduct(validFlag, newvalidFlag, showtime, beforeValidFlag, productID);
             SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             String current = dateFormat.format(new Date());
             String current = dateFormat.format(new Date());

+ 7 - 0
src/main/java/com/caimei/modules/user/dao/OperationsDao.java

@@ -3,6 +3,9 @@ package com.caimei.modules.user.dao;
 import com.caimei.modules.user.entity.*;
 import com.caimei.modules.user.entity.*;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 
 @MyBatisDao
 @MyBatisDao
 public interface OperationsDao extends CrudDao<OperationalLogs> {
 public interface OperationsDao extends CrudDao<OperationalLogs> {
@@ -28,5 +31,9 @@ public interface OperationsDao extends CrudDao<OperationalLogs> {
    CmClubinfo cmclubinfo(Integer clubId);
    CmClubinfo cmclubinfo(Integer clubId);
 
 
    ClubTemporary temPorary(String Id);
    ClubTemporary temPorary(String Id);
+
+   List<OperationalLogs> selOperationals(Integer clubID);
+
+   void inProvider(@Param("spId") Integer spId, @Param("clubId") Integer clubId, @Param("operator") String operator);
 }
 }
 
 

+ 39 - 1
src/main/java/com/caimei/modules/user/entity/OperationalLogs.java

@@ -3,6 +3,7 @@ package com.caimei.modules.user.entity;
 
 
 import com.thinkgem.jeesite.common.persistence.DataEntity;
 import com.thinkgem.jeesite.common.persistence.DataEntity;
 
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.Date;
 
 
 public class OperationalLogs extends DataEntity<OperationalLogs> {
 public class OperationalLogs extends DataEntity<OperationalLogs> {
@@ -10,11 +11,16 @@ public class OperationalLogs extends DataEntity<OperationalLogs> {
   private String institutionName;
   private String institutionName;
   private String Contact;
   private String Contact;
   private String operationtype;
   private String operationtype;
-  private String Actioncontent;
+  private String Actioncontent;   //内容
   private String Operator;
   private String Operator;
   private Date Operationtime;
   private Date Operationtime;
   private String startTime;     //添加时间开始 查询条件
   private String startTime;     //添加时间开始 查询条件
   private String endTime;        //添加时间结束  查询条件
   private String endTime;        //添加时间结束  查询条件
+  private String spName;        //协销名称
+  private String createTime;    //创建时间
+
+  private String year;
+  private ArrayList actioncontents; //跟换协销记录
 
 
   public String getStartTime() {
   public String getStartTime() {
     return startTime;
     return startTime;
@@ -82,4 +88,36 @@ public class OperationalLogs extends DataEntity<OperationalLogs> {
   public void setOperationtime(Date operationtime) {
   public void setOperationtime(Date operationtime) {
     Operationtime = operationtime;
     Operationtime = operationtime;
   }
   }
+
+  public String getSpName() {
+    return spName;
+  }
+
+  public void setSpName(String spName) {
+    this.spName = spName;
+  }
+
+  public String getCreateTime() {
+    return createTime;
+  }
+
+  public void setCreateTime(String createTime) {
+    this.createTime = createTime;
+  }
+
+  public String getYear() {
+    return year;
+  }
+
+  public void setYear(String year) {
+    this.year = year;
+  }
+
+  public ArrayList getActioncontents() {
+    return actioncontents;
+  }
+
+  public void setActioncontents(ArrayList actioncontents) {
+    this.actioncontents = actioncontents;
+  }
 }
 }

+ 58 - 0
src/main/java/com/caimei/modules/user/service/SysLogService.java

@@ -7,11 +7,13 @@ import com.caimei.modules.user.entity.NewCmClub;
 import com.caimei.modules.user.entity.OperationalLogs;
 import com.caimei.modules.user.entity.OperationalLogs;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.persistence.Page;
 import com.thinkgem.jeesite.common.service.CrudService;
 import com.thinkgem.jeesite.common.service.CrudService;
+import com.thinkgem.jeesite.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
 
 
 
 
@@ -89,4 +91,60 @@ public class SysLogService extends CrudService<OperationsDao, OperationalLogs> {
         return operationDao.insert(operationalLogs);
         return operationDao.insert(operationalLogs);
     }
     }
 
 
+    public Page<OperationalLogs> spListLog(Page<OperationalLogs> page, Integer clubID) {
+        List<OperationalLogs> logsList = operationDao.selOperationals(clubID);
+
+        ArrayList<String> yearDate = new ArrayList<>();
+        if (logsList.size() > 0) {
+            for (OperationalLogs logs : logsList) {
+                if (StringUtils.isNotBlank(logs.getCreateTime())) {
+                    // 获取年月时间
+                    String[] split = logs.getCreateTime().split(" ");
+                    if (split.length > 0) {
+                        String year = split[0].trim();
+                        String time = split[1].trim();
+                        // 拼接更换记录信息
+                        String count = "";
+                        Boolean bool = false;
+                        ArrayList<String> arrayList = new ArrayList<>();
+                        // 合并同一天更换记录
+                        for (int i = 0; i < logsList.size(); i++) {
+                            // 与外层时间比对,避免重复
+                            String[] splitStent = logsList.get(i).getCreateTime().split(" ");
+                            String newYear = splitStent[0].trim();
+                            if (newYear.equals(year)) {
+                                if ( i == 0) {
+                                    count = "目前协销为【" + logsList.get(i).getSpName() + "】";
+                                } else if (logsList.size() == 1 || i == logsList.size() - 1) {
+                                    count = "系统自动分配协销为【" + logsList.get(i).getSpName() + "】";
+                                } else {
+                                    count = "协销变更为【" + logsList.get(i).getSpName() + "】" + ",操作人为【" + logsList.get(i).getOperator() + "】,变更时间点【" + time + "】";
+                                }
+                                bool = !yearDate.contains(newYear);
+                                if (bool) {
+                                    arrayList.add(count);
+                                }
+                            }
+                        }
+                        // 排除空
+                        if (bool) {
+                            logs.setYear(year);
+                            logs.setActioncontents(arrayList);
+                            // 记录年月日时间,避免重复添加
+                            yearDate.add(year);
+                        }
+                    }
+                }
+            }
+        }
+        page.setList(logsList);
+        return page;
+    }
+
+    @Transactional(readOnly = false)
+    public void insetProvider(Integer spId, Integer clubId, String operator) {
+        // 插入协销修改记录
+        operationDao.inProvider(spId, clubId, operator);
+    }
+
 }
 }

+ 9 - 0
src/main/java/com/caimei/modules/user/web/newUser/AgencyController.java

@@ -1850,4 +1850,13 @@ public class AgencyController extends BaseController {
         model.addAttribute("newCmClub", newCmClub);
         model.addAttribute("newCmClub", newCmClub);
         return "modules/userNew/cmClubData";
         return "modules/userNew/cmClubData";
     }
     }
+
+    @RequestMapping("/spLogs")
+    public String spListLog(NewCmClub cmClub, Model model, HttpServletRequest request, HttpServletResponse response) {
+
+        Page<OperationalLogs> listLog = sysLogService.spListLog(new Page<OperationalLogs>(request, response), cmClub.getClubID());
+        model.addAttribute("page", listLog);
+        model.addAttribute("cmClub", cmClub);
+        return "modules/userNew/cmSpProviderLogs";
+    }
 }
 }

+ 4 - 0
src/main/java/com/caimei/modules/user/web/newUser/SpController.java

@@ -178,6 +178,10 @@ public class SpController extends BaseController {
                                 sysLogService.insert(sysLog);
                                 sysLogService.insert(sysLog);
                             }
                             }
                         }
                         }
+                        // 更换协销成功、添加机构更换协销记录
+                        if (null != serviceProvider.getServiceProviderID()) {
+                            sysLogService.insetProvider(serviceProvider.getServiceProviderID(), clubId, username);
+                        }
                     } else {
                     } else {
                         map.put("success", false);
                         map.put("success", false);
                         map.put("msg", "操作失败");
                         map.put("msg", "操作失败");

+ 12 - 0
src/main/resources/mappings/modules/product/ProductMapper.xml

@@ -1862,6 +1862,18 @@
         FROM productdetailinfo
         FROM productdetailinfo
         where productID = #{productID}
         where productID = #{productID}
     </select>
     </select>
+    <select id="shopKeyword" resultType="java.lang.String">
+        SELECT DISTINCT cusf.keyword FROM
+            cm_user_search_frequency cusf
+            LEFT JOIN cm_shop_label csl ON csl.keywordId = cusf.Id
+            LEFT JOIN cm_shop_relevance csr ON csr.id = csl.relevanceId
+            LEFT JOIN shop s ON s.shopID = csr.shopID
+            LEFT JOIN product p ON p.shopID = s.shopID
+        WHERE
+            csl.delFlag = 0
+          AND csr.delFlag = 0
+          AND p.productID = #{productID}
+    </select>
     <select id="qualification" resultType="com.caimei.modules.product.entity.Product">
     <select id="qualification" resultType="com.caimei.modules.product.entity.Product">
         SELECT qualificationNo, productName, qualificationTime, qualificationLink
         SELECT qualificationNo, productName, qualificationTime, qualificationLink
         FROM product
         FROM product

+ 8 - 0
src/main/resources/mappings/modules/product/ProductNewMapper.xml

@@ -256,6 +256,14 @@
                 AND (cshd.contactName LIKE concat('%',#{contactName},'%') or cshd.companyName LIKE
                 AND (cshd.contactName LIKE concat('%',#{contactName},'%') or cshd.companyName LIKE
                 concat('%',#{contactName},'%'))
                 concat('%',#{contactName},'%'))
             </if>
             </if>
+            <if test="isRelevance != null and isRelevance != ''">
+                <if test="isRelevance == 1">
+                    AND a.labelIds IS NOT NULL
+                </if>
+                <if test="isRelevance == 2">
+                    AND a.labelIds IS NULL
+                </if>
+            </if>
             <if test="sqlMap !=null and sqlMap !=''">
             <if test="sqlMap !=null and sqlMap !=''">
                 ${sqlMap.dsf}
                 ${sqlMap.dsf}
             </if>
             </if>

+ 2 - 2
src/main/resources/mappings/modules/user/NewCmClubMapper.xml

@@ -67,8 +67,8 @@
         LEFT JOIN cm_svip_user csu ON csu.userId = u.userID
         LEFT JOIN cm_svip_user csu ON csu.userId = u.userID
 		LEFT JOIN serviceprovider sp ON sp.serviceProviderID = a.spID
 		LEFT JOIN serviceprovider sp ON sp.serviceProviderID = a.spID
 		LEFT JOIN town b ON b.townID=a.townID
 		LEFT JOIN town b ON b.townID=a.townID
-		LEFT JOIN city c ON c.cityID=b.cityID
-		LEFT JOIN province d ON d.provinceID=c.provinceID
+		LEFT JOIN city c ON c.cityID=a.cityID
+		LEFT JOIN province d ON d.provinceID=a.provinceID
     </sql>
     </sql>
 
 
     <select id="get" resultType="NewCmClub">
     <select id="get" resultType="NewCmClub">

+ 16 - 0
src/main/resources/mappings/modules/user/OperationalLogsMapper.xml

@@ -107,4 +107,20 @@
         SELECT * FROM club_temporary
         SELECT * FROM club_temporary
         WHERE id = #{id}
         WHERE id = #{id}
     </select>
     </select>
+    <select id="selOperationals" resultType="com.caimei.modules.user.entity.OperationalLogs">
+        SELECT
+            cpr.id as providerId,
+            cpr.clubId,
+            cpr.operator,
+            cpr.createTime,
+            CASE sp.status WHEN 91 THEN '采美默认协销经理(官方账号)' ELSE sp.linkMan END AS "spName"
+        FROM cm_provider_record cpr
+        LEFT JOIN serviceprovider sp ON sp.serviceProviderID = cpr.spID
+        WHERE cpr.clubId = #{clubID}
+        order by createTime desc
+    </select>
+    <insert id="inProvider">
+        insert into cm_provider_record (spId, clubId, operator, createTime)
+        values (#{spId}, #{clubId}, #{operator}, now())
+    </insert>
 </mapper>
 </mapper>

+ 11 - 7
src/main/webapp/WEB-INF/views/modules/product-new/productEdit.jsp

@@ -354,7 +354,11 @@
                     <c:forEach items="${SearchFrequencyVo}" var="sea">
                     <c:forEach items="${SearchFrequencyVo}" var="sea">
                         <option value="${sea.id}">${sea.keyword}</option>
                         <option value="${sea.id}">${sea.keyword}</option>
                     </c:forEach>
                     </c:forEach>
-                </select>
+                </select>&nbsp;&nbsp;&nbsp;&nbsp;
+                <c:if test="${!empty product.keywords}">
+                    <span style="display: inline-block; width: 120px">供应商关联标签:(${product.shopName})</span>
+                    <span><textarea rows="5" style="width: 750px;">${product.keywords}</textarea></span>
+                </c:if>
             </td>
             </td>
         </tr>
         </tr>
         <tr>
         <tr>
@@ -668,7 +672,7 @@
                 <form:select path="visibility" class="input-large required">
                 <form:select path="visibility" class="input-large required">
                     <form:option value="3" label="所有人可见"/>
                     <form:option value="3" label="所有人可见"/>
                     <form:option value="2" label="所有机构可见"/>
                     <form:option value="2" label="所有机构可见"/>
-                    <form:option value="1" label="仅会员机构可见"/>
+                    <form:option value="1" label="仅资质机构可见"/>
                     <form:option value="4" label="仅医美机构可见"/>
                     <form:option value="4" label="仅医美机构可见"/>
                 </form:select>
                 </form:select>
             </td>
             </td>
@@ -677,10 +681,10 @@
             <th><span class="red">*</span>价格可见度:</th>
             <th><span class="red">*</span>价格可见度:</th>
             <td colspan="3">
             <td colspan="3">
                 <form:select path="priceFlag" class="input-large required">
                 <form:select path="priceFlag" class="input-large required">
-                    <form:option value="0" label="对所有机构公开"/>
-                    <form:option value="2" label="仅对会员机构公开"/>
-                    <form:option value="3" label="仅对医美机构公开"/>
-                    <form:option value="1" label="价格不公开"/>
+                    <form:option value="0" label="所有机构可见"/>
+                    <form:option value="2" label="仅资质机构可见"/>
+                    <form:option value="3" label="仅医美机构可见"/>
+                    <form:option value="1" label="价格不可见"/>
                 </form:select>
                 </form:select>
             </td>
             </td>
         </tr>
         </tr>
@@ -690,7 +694,7 @@
                 <form:select path="commodityDetailsFlag" class="input-large required">
                 <form:select path="commodityDetailsFlag" class="input-large required">
                     <form:option value="1" label="所有人可见"/>
                     <form:option value="1" label="所有人可见"/>
                     <form:option value="2" label="所有机构可见"/>
                     <form:option value="2" label="所有机构可见"/>
-                    <form:option value="3" label="仅会员机构可见"/>
+                    <form:option value="3" label="仅资质机构可见"/>
                     <form:option value="4" label="仅医美机构可见"/>
                     <form:option value="4" label="仅医美机构可见"/>
                 </form:select>
                 </form:select>
             </td>
             </td>

+ 29 - 2
src/main/webapp/WEB-INF/views/modules/product-new/productList.jsp

@@ -424,6 +424,14 @@
                     <form:option value="3" label="待审核"/>
                     <form:option value="3" label="待审核"/>
                 </form:select>
                 </form:select>
             </div>
             </div>
+            <div class="item">
+                <label>关联标签库:</label>
+                <form:select path="isRelevance" class="input-medium">
+                    <form:option value="" label="请选择"/>
+                    <form:option value="1" label="已关联"/>
+                    <form:option value="2" label="未关联"/>
+                </form:select>
+            </div>
             <div class="item">
             <div class="item">
                 <input id="searchValidFlag" value="${product.searchValidFlag}" style="display: none"/>
                 <input id="searchValidFlag" value="${product.searchValidFlag}" style="display: none"/>
                 <label>商品状态:</label>
                 <label>商品状态:</label>
@@ -473,6 +481,7 @@
         <th>商品状态</th>
         <th>商品状态</th>
         <th>新品参与状态</th>
         <th>新品参与状态</th>
         <th>新品审核状态</th>
         <th>新品审核状态</th>
+        <th>关联标签库</th>
         <th>提交时间</th>
         <th>提交时间</th>
         <shiro:hasPermission name="product:product:edit">
         <shiro:hasPermission name="product:product:edit">
             <th>操作</th>
             <th>操作</th>
@@ -622,6 +631,14 @@
                     <font color="red">___</font>
                     <font color="red">___</font>
                 </c:if>
                 </c:if>
             </td>
             </td>
+            <td>
+                <c:if test="${!empty product.labelIds}">
+                    已关联
+                </c:if>
+                <c:if test="${empty product.labelIds}">
+                    未关联
+                </c:if>
+            </td>
             <td>
             <td>
                 <c:if test="${empty product.addTime}">
                 <c:if test="${empty product.addTime}">
                     ---
                     ---
@@ -679,8 +696,8 @@
                                    onclick="auditThis(${product.id},'${product.brand.name}','${product.brand.status}','${product.costCheckFlag}','${product.costPrice}','${product.costProportional}','${product.newvalidFlag}','${product.showTime}','${product.addTime}','${product.newProductType}')">上架审核</a>
                                    onclick="auditThis(${product.id},'${product.brand.name}','${product.brand.status}','${product.costCheckFlag}','${product.costPrice}','${product.costProportional}','${product.newvalidFlag}','${product.showTime}','${product.addTime}','${product.newProductType}')">上架审核</a>
                             </c:if>
                             </c:if>
                             <c:if test="${product.newProductType eq 1 &&  product.newvalidFlag != 1 && product.validFlag == 2}"><a
                             <c:if test="${product.newProductType eq 1 &&  product.newvalidFlag != 1 && product.validFlag == 2}"><a
-                                    class="red" href="javascript:void(0);"
-                                    onclick="auditThis(${product.id},'${product.brand.name}','${product.brand.status}','${product.costCheckFlag}','${product.costPrice}','${product.costProportional}','${product.newvalidFlag}','${product.showTime}','${product.addTime}','${product.newProductType}','${product.validFlag}')">新品展示审核</a></c:if>
+                                    href="javascript:void(0);"
+                                    onclick="auditThis(${product.id},'${product.brand.name}','${product.brand.status}','${product.costCheckFlag}','${product.costPrice}','${product.costProportional}','${product.newvalidFlag}','${product.showTime}','${product.addTime}','${product.newProductType}','${product.validFlag}')">新品展示审核</a><br></c:if>
                             <c:if test="${product.validFlag ne 10 && product.validFlag ne 1 && product.validFlag ne 8}">
                             <c:if test="${product.validFlag ne 10 && product.validFlag ne 1 && product.validFlag ne 8}">
                                 <a class="red" href="javascript:void(0);"
                                 <a class="red" href="javascript:void(0);"
                                    onclick="validChange(${product.id}, 10)">冻结</a>
                                    onclick="validChange(${product.id}, 10)">冻结</a>
@@ -692,6 +709,12 @@
                             <c:if test="${product.validFlag eq 2}">
                             <c:if test="${product.validFlag eq 2}">
                                 <a class="red" href="javascript:void(0);" onclick="validChange(${product.id}, 9)">隐身</a>
                                 <a class="red" href="javascript:void(0);" onclick="validChange(${product.id}, 9)">隐身</a>
                             </c:if>
                             </c:if>
+                            <c:if test="${ product.validFlag eq 3}">
+                                <a class="red" href="javascript:void(0);" onclick="validChange(${product.id}, 32)">重新上架</a>
+                            </c:if>
+                            <c:if test="${ product.validFlag eq 2 || product.validFlag eq 9}">
+                                <a class="red" href="javascript:void(0);" onclick="validChange(${product.id}, 33)">下架</a>
+                            </c:if>
                             <c:if test="${product.validFlag eq 9}">
                             <c:if test="${product.validFlag eq 9}">
                                 <a class="red" href="javascript:void(0);" onclick="validChange(${product.id}, 2)">显身</a>
                                 <a class="red" href="javascript:void(0);" onclick="validChange(${product.id}, 2)">显身</a>
                             </c:if>
                             </c:if>
@@ -1072,6 +1095,10 @@
             msg = "确定显身此商品吗?";
             msg = "确定显身此商品吗?";
         } else if (flag == 0) {
         } else if (flag == 0) {
             msg = "确定删除该商品吗?";
             msg = "确定删除该商品吗?";
+        } else if (flag == 32) {
+            msg = "确定重新上架该商品吗?";
+        } else if (flag == 33) {
+            msg = "确定下架该商品吗?";
         }
         }
         $("#msg").text(msg);
         $("#msg").text(msg);
         $('.tips-popup-reason').show();
         $('.tips-popup-reason').show();

+ 6 - 0
src/main/webapp/WEB-INF/views/modules/product-new/statusRemarksList.jsp

@@ -117,6 +117,12 @@
                     <c:if test="${record.validFlag eq 22}">
                     <c:if test="${record.validFlag eq 22}">
                         <font color="#0099FF">取消冻结</font>
                         <font color="#0099FF">取消冻结</font>
                     </c:if>
                     </c:if>
+                    <c:if test="${record.validFlag eq 32}">
+                        <font color="#0099FF">重新上架</font>
+                    </c:if>
+                    <c:if test="${record.validFlag eq 33}">
+                        <font color="#0099FF">下架</font>
+                    </c:if>
                 </span>
                 </span>
             </div>
             </div>
             <br><br>
             <br><br>

+ 1 - 1
src/main/webapp/WEB-INF/views/modules/product/cmSecondDetailForm.jsp

@@ -379,7 +379,7 @@
         <label class="control-label"><font color="red">*</font>商品可见度:</label>
         <label class="control-label"><font color="red">*</font>商品可见度:</label>
         <div class="controls">
         <div class="controls">
             <form:select path="visibility" class="input-large required" id="visibility">
             <form:select path="visibility" class="input-large required" id="visibility">
-                <form:option value="1" label="仅会员机构可见"/>
+                <form:option value="1" label="仅资质机构可见"/>
                 <form:option value="3" label="所有人可见"/>
                 <form:option value="3" label="所有人可见"/>
                 <form:option value="2" label="所有机构可见"/>
                 <form:option value="2" label="所有机构可见"/>
                 <form:option value="4" label="仅医美机构可见"/>
                 <form:option value="4" label="仅医美机构可见"/>

+ 16 - 6
src/main/webapp/WEB-INF/views/modules/userNew/cmAgencyList.jsp

@@ -255,15 +255,24 @@
             <td>
             <td>
                 <c:if test="${newCmClubList.userIdentity eq 4}">
                 <c:if test="${newCmClubList.userIdentity eq 4}">
                     个人机构
                     个人机构
+                    <c:if test="${newCmClubList.svipUserFlag eq 1}">
+                        <font color="red">(超级会员)</font>
+                    </c:if>
+                    <c:if test="${newCmClubList.svipUserFlag ne 1}">
+                        <font color="red">(普通会员)</font>
+                    </c:if>
                 </c:if>
                 </c:if>
                 <c:if test="${newCmClubList.userIdentity eq 2}">
                 <c:if test="${newCmClubList.userIdentity eq 2}">
                     资质机构
                     资质机构
-                </c:if>
-                <c:if test="${newCmClubList.svipUserFlag eq 1}">
-                    <font color="red">(超级会员)</font>
-                </c:if>
-                <c:if test="${newCmClubList.userIdentity eq 2 and newCmClubList.svipUserFlag eq 0}">
-                    <font color="red">(普通会员)</font>
+                    <c:if test="${newCmClubList.svipUserFlag eq 1}">
+                        <font color="red">(超级会员)</font>
+                    </c:if>
+                    <c:if test="${empty newCmClubList.medicalPracticeLicenseImg and newCmClubList.svipUserFlag ne 1}">
+                        <font color="red">(高级会员)</font>
+                    </c:if>
+                    <c:if test="${!empty newCmClubList.medicalPracticeLicenseImg and newCmClubList.svipUserFlag ne 1}">
+                        <font color="red">(医美会员)</font>
+                    </c:if>
                 </c:if>
                 </c:if>
             </td>
             </td>
             <td>
             <td>
@@ -334,6 +343,7 @@
                         <a href="${ctx}/new/user/agency/operation?userOrganizeID=${newCmClubList.userOrganizeID}&clubID=${newCmClubList.clubID}&userID=${newCmClubList.userID}&name=${newCmClubList.name}">查看运营人员</a>
                         <a href="${ctx}/new/user/agency/operation?userOrganizeID=${newCmClubList.userOrganizeID}&clubID=${newCmClubList.clubID}&userID=${newCmClubList.userID}&name=${newCmClubList.name}">查看运营人员</a>
                     </shiro:hasPermission>
                     </shiro:hasPermission>
                 </c:if>
                 </c:if>
+                <a href="${ctx}/new/user/agency/spLogs?clubID=${newCmClubList.clubID}">协销更换记录</a>
                 <c:if test="${newCmClubList.status eq 1 || newCmClubList.status eq 92}">
                 <c:if test="${newCmClubList.status eq 1 || newCmClubList.status eq 92}">
                     <shiro:hasPermission name="club:cmAgency:audit">
                     <shiro:hasPermission name="club:cmAgency:audit">
                         <a href="javascript:void(0);" onclick="toAudit(${newCmClubList.clubID},'${newCmClubList.userName}','${newCmClubList.bindMobile}')">审核</a>
                         <a href="javascript:void(0);" onclick="toAudit(${newCmClubList.clubID},'${newCmClubList.userName}','${newCmClubList.bindMobile}')">审核</a>

+ 40 - 0
src/main/webapp/WEB-INF/views/modules/userNew/cmSpProviderLogs.jsp

@@ -0,0 +1,40 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/WEB-INF/views/include/taglib.jsp" %>
+<html>
+<head>
+    <title>协销更换记录</title>
+    <meta name="decorator" content="default"/>
+    <style></style>
+</head>
+<body>
+<ul class="nav nav-tabs">
+    <li><a href="${ctx}/new/user/agency/">机构基本资料列表</a></li>
+    <li class="active"><a href="${ctx}/new/user/agency/spLogs?clubID=${cmClub.clubID}">协销更换记录</a></li>
+</ul>
+
+<sys:message content="${message}"/>
+<table id="contentTable" class="table table-striped table-bordered table-condensed">
+    <thead>
+        <tr>
+            <th>日期</th>
+            <th>更换记录</th>
+        </tr>
+    </thead>
+    <tbody>
+        <c:forEach items="${page.list}" var="logs">
+            <c:if test="${!empty logs.actioncontents}">
+                <tr>
+                    <td>${logs.year}</td>
+                    <td>
+                        <c:forEach items="${logs.actioncontents}" var="provider" varStatus="status">
+                            ${provider}<br>
+                        </c:forEach>
+                    </td>
+                </tr>
+            </c:if>
+        </c:forEach>
+    </tbody>
+</table>
+
+</body>
+</html>