Переглянути джерело

Merge remote-tracking branch 'origin/developerL' into developer

# Conflicts:
#	src/main/webapp/WEB-INF/views/modules/order/shopOrderDetail.jsp
kaick 1 рік тому
батько
коміт
b8d8554b75
38 змінених файлів з 1719 додано та 444 видалено
  1. 33 26
      src/main/java/com/caimei/modules/baike/entity/CmBaikeProduct.java
  2. 13 14
      src/main/java/com/caimei/modules/baike/service/CmBaikeProductService.java
  3. 18 19
      src/main/java/com/caimei/modules/info/service/InfoTypeService.java
  4. 34 0
      src/main/java/com/caimei/modules/info/web/InfoTypeController.java
  5. 197 2
      src/main/java/com/caimei/modules/landing/domain/CmBrandLanding.java
  6. 14 2
      src/main/java/com/caimei/modules/landing/web/CmBrandLandingController.java
  7. 36 13
      src/main/java/com/caimei/modules/landing/web/CmQuestionnaireController.java
  8. 12 5
      src/main/java/com/caimei/modules/order/service/NewOrderService.java
  9. 92 0
      src/main/java/com/caimei/modules/user/dao/CmAdminMobileMapper.java
  10. 9 3
      src/main/java/com/caimei/modules/user/dao/CmReportingClubMapper.java
  11. 1 0
      src/main/java/com/caimei/modules/user/dao/CmUserDao.java
  12. 114 0
      src/main/java/com/caimei/modules/user/entity/CmAdminMobile.java
  13. 111 0
      src/main/java/com/caimei/modules/user/service/CmAdminMobileService.java
  14. 5 1
      src/main/resources/mappings/modules/baike/CmBaikeProductMapper.xml
  15. 17 17
      src/main/resources/mappings/modules/info/InfoAdMapper.xml
  16. 0 1
      src/main/resources/mappings/modules/info/InfoTypeMapper.xml
  17. 51 45
      src/main/resources/mappings/modules/landing/CmBrandLandingMapper.xml
  18. 159 0
      src/main/resources/mappings/modules/user/CmAdminMobileMapper.xml
  19. 9 1
      src/main/resources/mappings/modules/user/CmReportingClubMapper.xml
  20. 6 0
      src/main/resources/mappings/modules/user/CmUserMapper.xml
  21. 28 4
      src/main/webapp/WEB-INF/views/modules/baikePage/auditBaikeProductPage.jsp
  22. 29 4
      src/main/webapp/WEB-INF/views/modules/baikePage/checkBaikePage.jsp
  23. 39 16
      src/main/webapp/WEB-INF/views/modules/baikePage/cmBaikeProductForm.jsp
  24. 6 2
      src/main/webapp/WEB-INF/views/modules/baikePage/shopBaikeProductList.jsp
  25. 17 1
      src/main/webapp/WEB-INF/views/modules/cmpage/cmPageBeautyForm.jsp
  26. 17 1
      src/main/webapp/WEB-INF/views/modules/cmpage/cmPageShortcutForm.jsp
  27. 6 0
      src/main/webapp/WEB-INF/views/modules/info/auditInfoPage.jsp
  28. 6 0
      src/main/webapp/WEB-INF/views/modules/info/checkInfoPage.jsp
  29. 6 3
      src/main/webapp/WEB-INF/views/modules/info/infoAdForm.jsp
  30. 191 191
      src/main/webapp/WEB-INF/views/modules/info/infoTypeForm.jsp
  31. 153 0
      src/main/webapp/WEB-INF/views/modules/info/infoTypeLandingList.jsp
  32. 9 1
      src/main/webapp/WEB-INF/views/modules/info/shopInfoList.jsp
  33. 158 0
      src/main/webapp/WEB-INF/views/modules/landing/cmAdminMobileList.jsp
  34. 2 0
      src/main/webapp/WEB-INF/views/modules/landing/cmQuestionnaireList.jsp
  35. 3 7
      src/main/webapp/WEB-INF/views/modules/landing/newPageCmBrandLandingList.jsp
  36. 41 10
      src/main/webapp/WEB-INF/views/modules/landing/newPageCmbrandLandingForm.jsp
  37. 76 54
      src/main/webapp/WEB-INF/views/modules/order/shopOrderDetail.jsp
  38. 1 1
      src/main/webapp/static/content-edit.js

+ 33 - 26
src/main/java/com/caimei/modules/baike/entity/CmBaikeProduct.java

@@ -1,21 +1,19 @@
 package com.caimei.modules.baike.entity;
 
 import com.caimei.modules.user.entity.NewCmShop;
-import org.hibernate.validator.constraints.Length;
-import java.util.Date;
-import java.util.List;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
-
 import com.thinkgem.jeesite.common.persistence.DataEntity;
 
+import java.util.Date;
+import java.util.List;
+
 /**
  * 采美百科产品/仪器Entity
  * @author Aslee
  * @version 2021-11-19
  */
 public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
-	
+
 	private static final long serialVersionUID = 1L;
 	private Integer commodityType;		// 分类:1产品,2仪器
 	private Integer publishSource;		// 百科发布来源:1采美,2供应商
@@ -25,6 +23,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	private String alias;		// 别名
 	private String discription;		// 描述
 	private String seoKeyword;		// seo关键词
+	private String banner;		// banner
 	private String image;		// 图片
     private String authLink;    // 认证链接
     private String authQrCode;  // 认证二维码
@@ -55,6 +54,14 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	private String labelStr; //关联标签库
 	private String  referenceImgUrl;
 
+	public String getBanner() {
+		return banner;
+	}
+
+	public void setBanner(String banner) {
+		this.banner = banner;
+	}
+
 	public String getLabelStr() {
 		return labelStr;
 	}
@@ -162,7 +169,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setCommodityType(Integer commodityType) {
 		this.commodityType = commodityType;
 	}
-	
+
 	public String getName() {
 		return name;
 	}
@@ -170,7 +177,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setName(String name) {
 		this.name = name;
 	}
-	
+
 	public String getAlias() {
 		return alias;
 	}
@@ -178,7 +185,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setAlias(String alias) {
 		this.alias = alias;
 	}
-	
+
 	public String getDiscription() {
 		return discription;
 	}
@@ -186,7 +193,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setDiscription(String discription) {
 		this.discription = discription;
 	}
-	
+
 	public String getImage() {
 		return image;
 	}
@@ -194,7 +201,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setImage(String image) {
 		this.image = image;
 	}
-	
+
 	public String getAdvantage() {
 		return advantage;
 	}
@@ -202,7 +209,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setAdvantage(String advantage) {
 		this.advantage = advantage;
 	}
-	
+
 	public String getDisadvantage() {
 		return disadvantage;
 	}
@@ -210,7 +217,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setDisadvantage(String disadvantage) {
 		this.disadvantage = disadvantage;
 	}
-	
+
 	public String getPrinciple() {
 		return principle;
 	}
@@ -218,7 +225,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setPrinciple(String principle) {
 		this.principle = principle;
 	}
-	
+
 	public String getBrand() {
 		return brand;
 	}
@@ -226,7 +233,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setBrand(String brand) {
 		this.brand = brand;
 	}
-	
+
 	public String getProducePlace() {
 		return producePlace;
 	}
@@ -234,7 +241,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setProducePlace(String producePlace) {
 		this.producePlace = producePlace;
 	}
-	
+
 	public String getCompany() {
 		return company;
 	}
@@ -266,7 +273,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setAdaptiveMan(String adaptiveMan) {
 		this.adaptiveMan = adaptiveMan;
 	}
-	
+
 	public String getUnAdaptiveMan() {
 		return unAdaptiveMan;
 	}
@@ -274,7 +281,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setUnAdaptiveMan(String unAdaptiveMan) {
 		this.unAdaptiveMan = unAdaptiveMan;
 	}
-	
+
 	public String getAroundOperation() {
 		return aroundOperation;
 	}
@@ -282,7 +289,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setAroundOperation(String aroundOperation) {
 		this.aroundOperation = aroundOperation;
 	}
-	
+
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	public Date getPublishTime() {
 		return publishTime;
@@ -291,7 +298,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setPublishTime(Date publishTime) {
 		this.publishTime = publishTime;
 	}
-	
+
 	public Integer getBasePv() {
 		return basePv;
 	}
@@ -299,7 +306,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setBasePv(Integer basePv) {
 		this.basePv = basePv;
 	}
-	
+
 	public Integer getActualPv() {
 		return actualPv;
 	}
@@ -307,7 +314,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setActualPv(Integer actualPv) {
 		this.actualPv = actualPv;
 	}
-	
+
 	public Integer getTypeId() {
 		return typeId;
 	}
@@ -315,7 +322,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setTypeId(Integer typeId) {
 		this.typeId = typeId;
 	}
-	
+
 	public Integer getTopPosition() {
 		return topPosition;
 	}
@@ -323,7 +330,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setTopPosition(Integer topPosition) {
 		this.topPosition = topPosition;
 	}
-	
+
 	public Integer getStatus() {
 		return status;
 	}
@@ -331,7 +338,7 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setStatus(Integer status) {
 		this.status = status;
 	}
-	
+
 	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	public Date getAddTime() {
 		return addTime;
@@ -580,4 +587,4 @@ public class CmBaikeProduct extends DataEntity<CmBaikeProduct> {
 	public void setRecommendParams(String[] recommendParams) {
 		this.recommendParams = recommendParams;
 	}
-}
+}

+ 13 - 14
src/main/java/com/caimei/modules/baike/service/CmBaikeProductService.java

@@ -1,35 +1,28 @@
 package com.caimei.modules.baike.service;
 
-import java.io.File;
-import java.util.*;
-
-import com.alibaba.fastjson.JSONObject;
-import com.caimei.modules.archive.entity.CmOrderArchiveFile;
 import com.caimei.modules.archive.utils.OssArchiveUtil;
+import com.caimei.modules.baike.dao.CmBaikeProductDao;
 import com.caimei.modules.baike.dao.CmBaikeProductRecommendDao;
 import com.caimei.modules.baike.entity.*;
 import com.caimei.modules.basesetting.dao.KeywordDao;
 import com.caimei.modules.hehe.util.UploadPicUtils;
-import com.caimei.modules.info.entity.Info;
 import com.caimei.modules.order.utils.OSSUtils;
 import com.caimei.modules.utils.MessageUtil;
-import com.caimei.modules.utils.RequestUtil;
 import com.caimei.modules.utils.message.InsideMessage;
 import com.caimei.modules.utils.message.MessageModel;
 import com.caimei.modules.utils.message.MqInfo;
 import com.caimei.modules.utils.message.enums.MessageType;
 import com.caimei.utils.StringUtil;
-import com.thinkgem.jeesite.common.config.Global;
+import com.thinkgem.jeesite.common.persistence.Page;
+import com.thinkgem.jeesite.common.service.CrudService;
 import com.thinkgem.jeesite.common.utils.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-
-import com.thinkgem.jeesite.common.persistence.Page;
-import com.thinkgem.jeesite.common.service.CrudService;
-import com.caimei.modules.baike.dao.CmBaikeProductDao;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
+import java.io.File;
+import java.util.*;
 
 /**
  * 采美百科产品/仪器Service
@@ -127,7 +120,11 @@ public class CmBaikeProductService extends CrudService<CmBaikeProductDao, CmBaik
     @Transactional(readOnly = false)
     public void save(CmBaikeProduct cmBaikeProduct) {
         // 保存商品图片
+        String banner = cmBaikeProduct.getBanner();
         String mainImage = cmBaikeProduct.getImage();
+        if (StringUtils.isNotEmpty(banner) && !banner.startsWith("http:")) {
+            cmBaikeProduct.setBanner(UploadPicUtils.saveImageToServer(banner));
+        }
         if (StringUtils.isNotEmpty(mainImage) && !mainImage.startsWith("http:")) {
             cmBaikeProduct.setImage(UploadPicUtils.saveImageToServer(mainImage));
         }
@@ -268,8 +265,10 @@ public class CmBaikeProductService extends CrudService<CmBaikeProductDao, CmBaik
         List<CmBaikeTextInfo> textInfolist = cmBaikeProduct.getTextInfolist();
         if (null != textInfolist && textInfolist.size() > 0) {
             textInfolist.forEach(param -> {
-                param.setProductId(productId);
-                cmBaikeProductDao.insertText(param);
+                if(null!=param.getDictionaryContent()){
+                    param.setProductId(productId);
+                    cmBaikeProductDao.insertText(param);
+                }
             });
         }
         // 保存问题

+ 18 - 19
src/main/java/com/caimei/modules/info/service/InfoTypeService.java

@@ -1,20 +1,18 @@
 package com.caimei.modules.info.service;
 
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
 import com.caimei.modules.hehe.util.UploadPicUtils;
+import com.caimei.modules.info.dao.InfoTypeDao;
+import com.caimei.modules.info.entity.InfoType;
 import com.caimei.modules.landing.mapper.CmBrandLandingMapper;
+import com.thinkgem.jeesite.common.persistence.Page;
+import com.thinkgem.jeesite.common.service.CrudService;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import com.thinkgem.jeesite.common.persistence.Page;
-import com.thinkgem.jeesite.common.service.CrudService;
-import com.caimei.modules.info.entity.InfoType;
-import com.caimei.modules.info.dao.InfoTypeDao;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 信息分类Service
@@ -51,17 +49,18 @@ public class InfoTypeService extends CrudService<InfoTypeDao, InfoType> {
 			infoType.setParentIds(infoType1.getParentIds() + "," + infoType.getParentId());
 		}
 		super.save(infoType);
-		cmBrandLandingMapper.delCmBrandLandingByAuthorId(infoType.getId());
 		//封装数据
-		infoType.getCmBrandLandingList().forEach(cmBrandLanding -> {
-			cmBrandLanding.setHeadPcBanner(UploadPicUtils.saveImageToServer(cmBrandLanding.getHeadPcBanner()));
-			cmBrandLanding.setHeadAppBanner(UploadPicUtils.saveImageToServer(cmBrandLanding.getHeadAppBanner()));
-			cmBrandLanding.setType(4);
-			cmBrandLanding.setAuthorId(infoType.getId());
-			cmBrandLanding.setAddTime(new Date());
-			cmBrandLandingMapper.insertCmBrandLanding(cmBrandLanding);
-		});
-
+		if(CollectionUtils.isNotEmpty(infoType.getCmBrandLandingList())){
+			cmBrandLandingMapper.delCmBrandLandingByAuthorId(infoType.getId());
+			infoType.getCmBrandLandingList().forEach(cmBrandLanding -> {
+				cmBrandLanding.setHeadPcBanner(UploadPicUtils.saveImageToServer(cmBrandLanding.getHeadPcBanner()));
+				cmBrandLanding.setHeadAppBanner(UploadPicUtils.saveImageToServer(cmBrandLanding.getHeadAppBanner()));
+				cmBrandLanding.setType(4);
+				cmBrandLanding.setAuthorId(infoType.getId());
+				cmBrandLanding.setAddTime(new Date());
+				cmBrandLandingMapper.insertCmBrandLanding(cmBrandLanding);
+			});
+		}
 	}
 
 	@Transactional(readOnly = false)

+ 34 - 0
src/main/java/com/caimei/modules/info/web/InfoTypeController.java

@@ -55,6 +55,9 @@ public class InfoTypeController extends BaseController {
 		InfoType entity = null;
 		if (StringUtils.isNotBlank(id)) {
 			entity = infoTypeService.get(id);
+			if (entity == null){
+				entity = new InfoType();
+			}
 			CmBrandLanding cmBrandLanding = new CmBrandLanding();
 			cmBrandLanding.setType(4);
 			cmBrandLanding.setAuthorId(id);
@@ -177,4 +180,35 @@ public class InfoTypeController extends BaseController {
 		}
         return map;
 	}
+
+
+	@RequestMapping(value = {"infoTypeLandingList" })
+	public String list(CmBrandLanding cmBrandLanding, HttpServletRequest request, HttpServletResponse response, Model model) {
+		cmBrandLanding.setType(5);
+		Page<CmBrandLanding> page = cmBrandLandingService.findPage(new Page<CmBrandLanding>(request, response), cmBrandLanding);
+		model.addAttribute("cmBrandLanding", cmBrandLanding);
+		model.addAttribute("page", page);
+		return "modules/info/infoTypeLandingList";
+	}
+
+	@ResponseBody
+	@RequestMapping(value="updateLanDingStatus")
+	public Map<String, Object> updateLanDingStatus(CmBrandLanding cmBrandLanding,HttpServletRequest request,HttpServletResponse response){
+		Map<String, Object> map =Maps.newLinkedHashMap();
+		try {
+			cmBrandLandingService.updateCmBrandLanding(new CmBrandLanding()
+					.id(cmBrandLanding.id())
+					.appStatus(cmBrandLanding.appStatus())
+					.pcStatus(cmBrandLanding.pcStatus())
+					.sort(cmBrandLanding.sort())
+			);
+			map.put("success",true);
+			map.put("msg", "修改成功");
+		} catch (Exception e) {
+			logger.debug(e.toString(),e);
+			map.put("success",false);
+			map.put("msg", "修改失败");
+		}
+		return map;
+	}
 }

+ 197 - 2
src/main/java/com/caimei/modules/landing/domain/CmBrandLanding.java

@@ -4,6 +4,7 @@ import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.thinkgem.jeesite.common.persistence.DataEntity;
 import lombok.Data;
+import lombok.experimental.Accessors;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import org.apache.ibatis.type.Alias;
@@ -17,6 +18,7 @@ import java.util.List;
  * @author Kaick
  * @date 2023-05-24
  */
+@Accessors(fluent  = true )
 @Data
 @Alias("CmBrandLanding")
 public class CmBrandLanding extends DataEntity<CmBrandLanding> implements Serializable
@@ -28,10 +30,10 @@ public class CmBrandLanding extends DataEntity<CmBrandLanding> implements Serial
     /** 供应商id */
     private Integer authUserId;
 
-    /** 分类:1成功案例,2增长社区-视频列表,3增长社区-文章列表, 4信息中心导航栏(info_type) */
+    /** 分类:1成功案例,2增长社区-视频列表,3增长社区-文章列表, 4信息中心导航栏(info_type)(已弃用) , 5信息中心首页轮播图 */
     private Integer type;
 
-    /** 子级分类: 信息中心导航栏(info_type):{1 大图,2小图} */
+    /** 子级分类: (type=4){1 大图,2小图}(已弃用),(type=5){1 大图,2小图,2小图}  */
     private Integer levelType;
 
     /** 归属者Id(type字段表Id) */
@@ -54,6 +56,9 @@ public class CmBrandLanding extends DataEntity<CmBrandLanding> implements Serial
     /** picture跳转链接 */
     private String jumpLink;
 
+    /** pictureApp跳转链接 */
+    private String jumpAppLink;
+
     /** 标题
  */
     private String title;
@@ -74,6 +79,9 @@ public class CmBrandLanding extends DataEntity<CmBrandLanding> implements Serial
     /** 移动端status 0启用,1停用 */
     private Integer appStatus;
 
+    /** 移动端status 0启用,1停用 */
+    private Integer pv;
+
     /** 删除状态 0正常,1删除 */
     private String delFlag;
     /** 文件名称*/
@@ -85,4 +93,191 @@ public class CmBrandLanding extends DataEntity<CmBrandLanding> implements Serial
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date addTime;
 
+    public Integer getPv() {
+        return pv;
+    }
+
+    public void setPv(Integer pv) {
+        this.pv = pv;
+    }
+
+    @Override
+    public String getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public Integer getAuthUserId() {
+        return authUserId;
+    }
+
+    public void setAuthUserId(Integer authUserId) {
+        this.authUserId = authUserId;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public Integer getLevelType() {
+        return levelType;
+    }
+
+    public void setLevelType(Integer levelType) {
+        this.levelType = levelType;
+    }
+
+    public String getAuthorId() {
+        return authorId;
+    }
+
+    public void setAuthorId(String authorId) {
+        this.authorId = authorId;
+    }
+
+    public String getHeadPcBanner() {
+        return headPcBanner;
+    }
+
+    public void setHeadPcBanner(String headPcBanner) {
+        this.headPcBanner = headPcBanner;
+    }
+
+    public String getHeadAppBanner() {
+        return headAppBanner;
+    }
+
+    public void setHeadAppBanner(String headAppBanner) {
+        this.headAppBanner = headAppBanner;
+    }
+
+    public Integer getJumpStatus() {
+        return jumpStatus;
+    }
+
+    public void setJumpStatus(Integer jumpStatus) {
+        this.jumpStatus = jumpStatus;
+    }
+
+    public String getJumpPcPicture() {
+        return jumpPcPicture;
+    }
+
+    public void setJumpPcPicture(String jumpPcPicture) {
+        this.jumpPcPicture = jumpPcPicture;
+    }
+
+    public String getJumpAppPicture() {
+        return jumpAppPicture;
+    }
+
+    public void setJumpAppPicture(String jumpAppPicture) {
+        this.jumpAppPicture = jumpAppPicture;
+    }
+
+    public String getJumpLink() {
+        return jumpLink;
+    }
+
+    public void setJumpLink(String jumpLink) {
+        this.jumpLink = jumpLink;
+    }
+
+    public String getJumpAppLink() {
+        return jumpAppLink;
+    }
+
+    public void setJumpAppLink(String jumpAppLink) {
+        this.jumpAppLink = jumpAppLink;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getVideo() {
+        return video;
+    }
+
+    public void setVideo(String video) {
+        this.video = video;
+    }
+
+    public Integer getSort() {
+        return sort;
+    }
+
+    public void setSort(Integer sort) {
+        this.sort = sort;
+    }
+
+    public Integer getPcStatus() {
+        return pcStatus;
+    }
+
+    public void setPcStatus(Integer pcStatus) {
+        this.pcStatus = pcStatus;
+    }
+
+    public Integer getAppStatus() {
+        return appStatus;
+    }
+
+    public void setAppStatus(Integer appStatus) {
+        this.appStatus = appStatus;
+    }
+
+    @Override
+    public String getDelFlag() {
+        return delFlag;
+    }
+
+    @Override
+    public void setDelFlag(String delFlag) {
+        this.delFlag = delFlag;
+    }
+
+    public List<CmBrandFiles> getCmBrandFiles() {
+        return cmBrandFiles;
+    }
+
+    public void setCmBrandFiles(List<CmBrandFiles> cmBrandFiles) {
+        this.cmBrandFiles = cmBrandFiles;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public Date getAddTime() {
+        return addTime;
+    }
+
+    public void setAddTime(Date addTime) {
+        this.addTime = addTime;
+    }
 }

+ 14 - 2
src/main/java/com/caimei/modules/landing/web/CmBrandLandingController.java

@@ -72,7 +72,7 @@ public class CmBrandLandingController extends BaseController {
         cmBrandLandingService.selectCmBrandLandingById(cmBrandLanding.getId()):null;
         model.addAttribute("sort", cmBrandLandingService.findBigSort());
         model.addAttribute("type", cmBrandLanding.getType());
-        model.addAttribute("cmBrandLanding", cmBrandLandingById == null ? new CmBrandLanding() : cmBrandLandingById);
+        model.addAttribute("cmBrandLanding", cmBrandLandingById == null ? cmBrandLanding : cmBrandLandingById);
         return "modules/landing/newPageCmbrandLandingForm";
     }
 
@@ -101,6 +101,10 @@ public class CmBrandLandingController extends BaseController {
             if(cmBrandLanding.getType()==3){
                 addMessage(redirectAttributes, "保存文章成功");
             }
+            if(cmBrandLanding.getType()==5){
+                addMessage(redirectAttributes, "保存广告图成功");
+                return "redirect:" + Global.getAdminPath() + "/info/infoType/infoTypeLandingList?levelType="+cmBrandLanding.getLevelType();
+            }
         } else {
             cmBrandLanding.setUpdateTime(new Date());
             cmBrandLandingService.updateCmBrandLanding(cmBrandLanding);
@@ -113,6 +117,10 @@ public class CmBrandLandingController extends BaseController {
             if(cmBrandLanding.getType()==3){
                 addMessage(redirectAttributes, "修改文章成功");
             }
+            if(cmBrandLanding.getType()==5){
+                addMessage(redirectAttributes, "修改广告图成功");
+                return "redirect:" + Global.getAdminPath() + "/info/infoType/infoTypeLandingList?levelType="+cmBrandLanding.getLevelType();
+            }
         }
 
 //        //清除首页轮播图缓存
@@ -125,7 +133,7 @@ public class CmBrandLandingController extends BaseController {
      * 删除首页Landing
      */
     @RequestMapping(value = "del/{type}/{ids}")
-    public String delete(@PathVariable String[] ids,@PathVariable() Integer type, RedirectAttributes redirectAttributes) {
+    public String delete(@PathVariable String[] ids,@PathVariable() Integer type,Integer levelType ,RedirectAttributes redirectAttributes) {
         for (String id : ids) {
             CmBrandLanding cmBrandLanding = new CmBrandLanding();
             cmBrandLanding.setId(id);
@@ -142,6 +150,10 @@ public class CmBrandLandingController extends BaseController {
         if(type==3){
             addMessage(redirectAttributes, "删除文章成功");
         }
+        if(type==5){
+            addMessage(redirectAttributes, "删除广告图成功");
+            return "redirect:" + Global.getAdminPath() + "/info/infoType/infoTypeLandingList?levelType="+levelType;
+        }
         return "redirect:" + Global.getAdminPath() + "/cmBrandLanding/list?type="+type;
     }
 

+ 36 - 13
src/main/java/com/caimei/modules/landing/web/CmQuestionnaireController.java

@@ -1,37 +1,28 @@
 package com.caimei.modules.landing.web;
 
-import com.caimei.constants.common.RedisKeyUtil;
-import com.caimei.dfs.image.beens.ImageUploadInfo;
-import com.caimei.modules.common.utils.UploadUtils;
-import com.caimei.modules.landing.domain.CmBrandFiles;
-import com.caimei.modules.landing.domain.CmBrandLanding;
 import com.caimei.modules.landing.domain.CmQuestionnaire;
-import com.caimei.modules.landing.service.CmBrandLandingService;
 import com.caimei.modules.landing.service.CmQuestionnaireService;
-import com.caimei.modules.opensearch.GenerateUtils;
-import com.caimei.modules.sys.utils.UploadImageUtils;
-import com.caimei.redis.RedisService;
-import com.caimei.vo.JsonModel;
+import com.caimei.modules.user.entity.CmAdminMobile;
+import com.caimei.modules.user.service.CmAdminMobileService;
 import com.google.common.collect.Maps;
 import com.thinkgem.jeesite.common.config.Global;
 import com.thinkgem.jeesite.common.persistence.Page;
-import com.thinkgem.jeesite.common.utils.Encodes;
 import com.thinkgem.jeesite.common.utils.StringUtils;
 import com.thinkgem.jeesite.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 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.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -45,6 +36,8 @@ import java.util.Map;
 public class CmQuestionnaireController extends BaseController {
     @Autowired
     private CmQuestionnaireService cmQuestionnaireService;
+    @Resource
+    private CmAdminMobileService cmAdminMobileService;
 
     /**
      * 查询用户需求列表
@@ -129,4 +122,34 @@ public class CmQuestionnaireController extends BaseController {
         }
         return map;
     }
+
+
+    /**
+     * 查询用户需求列表
+     */
+    @RequestMapping(value = {"adminMobileList"})
+    public String adminMobileList(CmAdminMobile cmAdminMobile, Integer questionnaireType, HttpServletRequest request, HttpServletResponse response, Model model) {
+        cmAdminMobile.type("1");
+        List<CmAdminMobile> cmAdminMobileList = cmAdminMobileService.getCmAdminMobileList(cmAdminMobile);
+        model.addAttribute("questionnaireType", questionnaireType);
+        model.addAttribute("cmAdminMobileList", cmAdminMobileList);
+        return "modules/landing/cmAdminMobileList";
+    }
+
+    @ResponseBody
+    @RequestMapping(value = "adminMobileSaves")
+    public Map<String, Object> adminMobileSaves(@RequestBody List<CmAdminMobile> cmAdminMobiles, HttpServletRequest request, HttpServletResponse response) {
+        Map<String, Object> map = Maps.newLinkedHashMap();
+        try {
+            cmAdminMobileService.batchAddCmAdminMobile(cmAdminMobiles);
+            map.put("success", true);
+            map.put("msg", "保存成功");
+        } catch (Exception e) {
+            logger.debug(e.toString(), e);
+            map.put("success", false);
+            map.put("msg", "保存失败");
+        }
+        return map;
+    }
+
 }

+ 12 - 5
src/main/java/com/caimei/modules/order/service/NewOrderService.java

@@ -26,10 +26,7 @@ import com.caimei.modules.product.dao.CmPromotionDao;
 import com.caimei.modules.product.dao.CmSecondHandDetailDao;
 import com.caimei.modules.product.dao.ProductDao;
 import com.caimei.modules.product.entity.*;
-import com.caimei.modules.user.dao.CmUserDao;
-import com.caimei.modules.user.dao.MessageCenterDao;
-import com.caimei.modules.user.dao.NewCmClubDao;
-import com.caimei.modules.user.dao.NewCmShopDao;
+import com.caimei.modules.user.dao.*;
 import com.caimei.modules.user.entity.*;
 import com.caimei.modules.user.service.CmUserBalanceRecordService;
 import com.caimei.modules.user.service.CmUserService;
@@ -129,6 +126,8 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
     private WeChatService weChatService;
     @Autowired
     private MessageCenterDao messageCenterDao;
+    @Resource
+    private CmReportingClubMapper cmReportingClubMapper;
 
 
     public List<CmOrderPaymentVoucherVo> findVoucherVoOrderID(Integer shopOrderId) {
@@ -2911,7 +2910,15 @@ public class NewOrderService extends CrudService<NewOrderDao, NewOrder> {
         shopOrder.setStatus(4);//订单状态变成交易关闭 6
         shopOrder.setCloseReason("后台手动关闭");//   订单取消原因
         newShopOrderDao.updateStatus(shopOrder);
-
+        //分销人员取消订单修改报备记录
+        Integer identity = cmUserDao.findUserIdentity(shopOrder.getUserID());
+        if (identity==8) {
+            cmReportingClubMapper.updateOrderStatus(new CmReportingClub()
+                    .orderId(shopOrder.getOrderID())
+                    .orderStatus(null)
+                    .lockStatus(0)
+            );
+        }
         //todo 采美豆退回,当前版本采美豆暂时无效,先不处理
 //        if (shopOrder.getUserBeans() != null && order.getUserBeans() > 0) {
 //            UserBeansHistory beansHistory = new UserBeansHistory();

+ 92 - 0
src/main/java/com/caimei/modules/user/dao/CmAdminMobileMapper.java

@@ -0,0 +1,92 @@
+package com.caimei.modules.user.dao;
+
+import java.util.List;
+
+import com.caimei.modules.user.entity.CmAdminMobile;
+import com.caimei.modules.user.entity.CmBehaviorRecord;
+import com.thinkgem.jeesite.common.persistence.CrudDao;
+import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
+
+/**
+ * 管理员手机号短信通知Mapper接口
+ *
+ * @author Kaick
+ * @date 2023-10-23
+ */
+@MyBatisDao
+public interface CmAdminMobileMapper  extends CrudDao<CmAdminMobile>
+{
+    /**
+     * 通过对象查询管理员手机号短信通知列表
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 管理员手机号短信通知集合
+     */
+    public List<CmAdminMobile> getCmAdminMobileList(CmAdminMobile cmAdminMobile);
+
+    /**
+     * 通过Id查询管理员手机号短信通知对象
+     *
+     * @param id 管理员手机号短信通知主键
+     * @return 管理员手机号短信通知
+     */
+    public CmAdminMobile getCmAdminMobileById(String id);
+
+    /**
+     * 通过对象查询管理员手机号短信通知对象
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 管理员手机号短信通知
+     */
+    public CmAdminMobile getByCmAdminMobile(CmAdminMobile cmAdminMobile);
+
+    /**
+     * 通过对象查询管理员手机号短信通知Id
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return String
+     */
+    public String getById(CmAdminMobile cmAdminMobile);
+
+
+    /**
+     * 通过对象查询管理员手机号短信通知记录总数
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 管理员手机号短信通知Integer
+     */
+    public int getCount(CmAdminMobile cmAdminMobile);
+
+    /**
+     * 新增管理员手机号短信通知
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 结果
+     */
+    public int addCmAdminMobile(CmAdminMobile cmAdminMobile);
+
+    /**
+     * 修改管理员手机号短信通知
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 结果
+     */
+    public int updateCmAdminMobile(CmAdminMobile cmAdminMobile);
+
+    /**
+     * 删除管理员手机号短信通知
+     *
+     * @param id 管理员手机号短信通知主键
+     * @return 结果
+     */
+    public int delCmAdminMobileById(String id);
+
+    /**
+     * 批量删除管理员手机号短信通知
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int delCmAdminMobile(CmAdminMobile cmAdminMobile);
+
+}

+ 9 - 3
src/main/java/com/caimei/modules/user/dao/CmReportingClubMapper.java

@@ -1,13 +1,12 @@
 package com.caimei.modules.user.dao;
 
-import java.util.List;
-
-import com.caimei.modules.user.entity.CmPortrait;
 import com.caimei.modules.user.entity.CmReportingClub;
 import com.thinkgem.jeesite.common.persistence.CrudDao;
 import com.thinkgem.jeesite.common.persistence.annotation.MyBatisDao;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * 机构报备Mapper接口
  *
@@ -80,6 +79,13 @@ public interface CmReportingClubMapper extends CrudDao<CmReportingClub>
      * @return 结果
      */
     public int updateCmReportingClub(CmReportingClub cmReportingClub);
+    /**
+     * 修改机构报备
+     *
+     * @param cmReportingClub 机构报备
+     * @return 结果
+     */
+    public int updateOrderStatus(CmReportingClub cmReportingClub);
 
     /**
      * 删除机构报备

+ 1 - 0
src/main/java/com/caimei/modules/user/dao/CmUserDao.java

@@ -68,6 +68,7 @@ public interface CmUserDao extends CrudDao<CmUser> {
     Integer findUserBeans(Integer userId);
 
     CmOrganValueSystem selOrgan(Integer userId);
+    Integer findUserIdentity(Integer userID);
 
     void insertOrgan(@Param("userId") Integer userId);
 }

+ 114 - 0
src/main/java/com/caimei/modules/user/entity/CmAdminMobile.java

@@ -0,0 +1,114 @@
+package com.caimei.modules.user.entity;
+
+import com.thinkgem.jeesite.common.persistence.DataEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.apache.ibatis.type.Alias;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 管理员手机号短信通知对象 cm_admin_mobile
+ *
+ * @author Kaick
+ * @date 2023-10-23
+ */
+@Accessors(fluent  = true )
+@Data
+@Alias("CmAdminMobile")
+public class CmAdminMobile extends DataEntity<CmAdminMobile> implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private String id;
+
+    /** 分类:1供应商用户需求 */
+    private String type;
+
+    /** 手机号 */
+    private String mobile;
+
+    /** 启用/禁用状态 0否 1是 */
+    private String enabledStatus;
+
+    /** 删除状态 0正常,其他删除 */
+    private String delFlag;
+
+    /** 修改时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /** 添加时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    public void setId(String  id)
+    {
+        this.id = id;
+    }
+
+    public String  getId()
+    {
+        return id;
+    }
+    public void setType(String  type)
+    {
+        this.type = type;
+    }
+
+    public String  getType()
+    {
+        return type;
+    }
+    public void setMobile(String  mobile)
+    {
+        this.mobile = mobile;
+    }
+
+    public String  getMobile()
+    {
+        return mobile;
+    }
+    public void setEnabledStatus(String  enabledStatus)
+    {
+        this.enabledStatus = enabledStatus;
+    }
+
+    public String  getEnabledStatus()
+    {
+        return enabledStatus;
+    }
+    public void setDelFlag(String  delFlag)
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String  getDelFlag()
+    {
+        return delFlag;
+    }
+    public void setUpdateTime(Date  updateTime)
+    {
+        this.updateTime = updateTime;
+    }
+
+    public Date  getUpdateTime()
+    {
+        return updateTime;
+    }
+    public void setCreateTime(Date  createTime)
+    {
+        this.createTime = createTime;
+    }
+
+    public Date  getCreateTime()
+    {
+        return createTime;
+    }
+
+}
+

+ 111 - 0
src/main/java/com/caimei/modules/user/service/CmAdminMobileService.java

@@ -0,0 +1,111 @@
+package com.caimei.modules.user.service;
+
+import com.caimei.modules.user.dao.CmAdminMobileMapper;
+import com.caimei.modules.user.entity.CmAdminMobile;
+import com.thinkgem.jeesite.common.service.CrudService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 管理员手机号短信通知Service业务层处理
+ *
+ * @author Kaick
+ * @date 2023-10-23
+ */
+@Service
+public class CmAdminMobileService extends CrudService<CmAdminMobileMapper, CmAdminMobile> {
+    @Resource
+    private CmAdminMobileMapper cmAdminMobileMapper;
+
+    /**
+     * 通过对象查询管理员手机号短信通知列表
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 管理员手机号短信通知
+     */
+
+    public List<CmAdminMobile> getCmAdminMobileList(CmAdminMobile cmAdminMobile) {
+        return cmAdminMobileMapper.getCmAdminMobileList(cmAdminMobile);
+    }
+
+
+    /**
+     * 通过对象查询管理员手机号短信通知
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 管理员手机号短信通知
+     */
+
+    public CmAdminMobile getByCmAdminMobile(CmAdminMobile cmAdminMobile) {
+        return cmAdminMobileMapper.getByCmAdminMobile(cmAdminMobile);
+    }
+
+
+    /**
+     * 通过对象查询管理员手机号短信通知记录总数
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return int
+     */
+
+    public int getCount(CmAdminMobile cmAdminMobile) {
+        return cmAdminMobileMapper.getCount(cmAdminMobile);
+    }
+
+    /**
+     * 新增管理员手机号短信通知
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 结果
+     */
+    @Transactional(readOnly = false)
+    public int addCmAdminMobile(CmAdminMobile cmAdminMobile) {
+        cmAdminMobile.setCreateTime(new Date());
+        return cmAdminMobileMapper.addCmAdminMobile(cmAdminMobile);
+    }
+
+    /**
+     * 新增管理员手机号短信通知
+     *
+     * @return 结果
+     */
+    @Transactional(readOnly = false)
+    public int batchAddCmAdminMobile(List<CmAdminMobile> cmAdminMobiles) {
+        cmAdminMobileMapper.delCmAdminMobile(new CmAdminMobile().type("1"));
+        for (CmAdminMobile cmAdminMobile : cmAdminMobiles) {
+            cmAdminMobile.setCreateTime(new Date());
+            cmAdminMobileMapper.addCmAdminMobile(cmAdminMobile);
+        }
+        return 1;
+    }
+
+    /**
+     * 修改管理员手机号短信通知
+     *
+     * @param cmAdminMobile 管理员手机号短信通知
+     * @return 结果
+     */
+    @Transactional(readOnly = false)
+    public int updateCmAdminMobile(CmAdminMobile cmAdminMobile) {
+        cmAdminMobile.setUpdateTime(new Date());
+        return cmAdminMobileMapper.updateCmAdminMobile(cmAdminMobile);
+    }
+
+
+    /**
+     * 删除管理员手机号短信通知信息
+     *
+     * @param id 管理员手机号短信通知主键
+     * @return 结果
+     */
+    @Transactional(readOnly = false)
+    public int delCmAdminMobileById(String id) {
+        return cmAdminMobileMapper.updateCmAdminMobile(new CmAdminMobile().id(id).delFlag("1"));
+        //return cmAdminMobileMapper.delCmAdminMobileById(id);
+    }
+
+}

+ 5 - 1
src/main/resources/mappings/modules/baike/CmBaikeProductMapper.xml

@@ -13,6 +13,7 @@
 		a.alias AS "alias",
 		a.discription AS "discription",
 		a.seoKeyword,
+		a.banner AS "banner",
 		a.image AS "image",
 		a.authLink,
 		a.authQrCode,
@@ -207,6 +208,7 @@
                                      alias,
                                      discription,
                                      seoKeyword,
+                                     banner,
                                      image,
                                      authLink,
                                      authQrCode,
@@ -237,6 +239,7 @@
                 #{alias},
                 #{discription},
                 #{seoKeyword},
+                #{banner},
                 #{image},
                 #{authLink},
                 #{authQrCode},
@@ -287,6 +290,7 @@
         alias = #{alias},
         discription = #{discription},
         seoKeyword = #{seoKeyword},
+        banner = #{banner},
         image = #{image},
         authLink = #{authLink},
         authQrCode = #{authQrCode},
@@ -452,4 +456,4 @@
 
         where id = #{id}
     </select>
-</mapper>
+</mapper>

+ 17 - 17
src/main/resources/mappings/modules/info/InfoAdMapper.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.modules.info.dao.InfoAdDao">
-    
+
 	<sql id="infoAdColumns">
 		a.id AS "id",
 		a.serviceObject AS "serviceObject",
@@ -21,18 +21,18 @@
 	</sql>
 
 	<select id="get" resultType="InfoAd">
-		SELECT 
+		SELECT
 			<include refid="infoAdColumns"/>
 		FROM info_ad a
 		WHERE a.id = #{id}
 	</select>
-	
+
 	<select id="findList" resultType="InfoAd">
-		SELECT 
+		SELECT
 			<include refid="infoAdColumns"/>
 		FROM info_ad a
 		<where>
-			
+
 			<if test="id != null and id != ''">
 				AND a.id = #{id}
 			</if>
@@ -54,18 +54,18 @@
 				ORDER BY ${page.orderBy}
 			</when>
 			<otherwise>
-				ORDER BY a.enabledStatus DESC,a.createDate DESC
+				ORDER BY a.enabledStatus DESC, a.soft DESC,a.createDate DESC
 			</otherwise>
 		</choose>
 	</select>
-	
+
 	<select id="findAllList" resultType="InfoAd">
-		SELECT 
+		SELECT
 			<include refid="infoAdColumns"/>
 		FROM info_ad a
 		<where>
-			
-		</where>		
+
+		</where>
 		<choose>
 			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
 				ORDER BY ${page.orderBy}
@@ -75,7 +75,7 @@
 			</otherwise>
 		</choose>
 	</select>
-	
+
 	<insert id="insert" parameterType="InfoAd"  keyProperty="id" useGeneratedKeys="true">
 		INSERT INTO info_ad(
 			serviceObject,
@@ -107,9 +107,9 @@
 			#{soft}
 		)
 	</insert>
-	
+
 	<update id="update">
-		UPDATE info_ad SET 	
+		UPDATE info_ad SET
 			serviceObject = #{serviceObject},
 			link = #{link},
 			location = #{location},
@@ -123,14 +123,14 @@
 			soft=#{soft}
 		WHERE id = #{id}
 	</update>
-	
+
 	<delete id="delete">
 		DELETE FROM info_ad
 		WHERE id = #{id}
 	</delete>
-	
+
 	<update id="updateEnabledStatusByIds">
-		UPDATE info_ad a SET a.enabledStatus = #{param1} 
+		UPDATE info_ad a SET a.enabledStatus = #{param1}
 		WHERE  a.id IN
 	 	<foreach collection="param2" item="id" index="index" open="(" separator="," close=")" >
 	       #{id}
@@ -141,4 +141,4 @@
 		UPDATE info_ad a SET a.soft = #{soft}
 		WHERE  a.id =#{InfoId}
 	</update>
-</mapper>
+</mapper>

+ 0 - 1
src/main/resources/mappings/modules/info/InfoTypeMapper.xml

@@ -190,7 +190,6 @@
 			<if test="createDate != null "> and info_type.createDate = #{createDate}</if>
 <!--			<if test="updateBy != null "> and info_type.updateBy = #{updateBy}</if>-->
 			<if test="updateDate != null "> and info_type.updateDate = #{updateDate}</if>
-			<if test="delFlag != null "> and info_type.delFlag = #{delFlag}</if>
 			<if test="type != null  and type != ''">
 				and info_type.type
 					= #{type}

+ 51 - 45
src/main/resources/mappings/modules/landing/CmBrandLandingMapper.xml

@@ -25,46 +25,49 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="delFlag"    column="delFlag"    />
         <result property="updateTime"    column="updateTime"    />
         <result property="addTime"    column="addTime"    />
+        <result property="pv" column="pv"/>
     </resultMap>
 
 
     <sql id="selectCmBrandLandingVo">
-        select id,
-               authUserId,
-               type,
-               levelType,
-               authorId,
-               headPcBanner,
-               headAppBanner,
-               jumpStatus,
-               jumpPcPicture,
-               jumpAppPicture,
-               jumpLink,
-               title,
-               content,
-               video,
-               sort,
-               pcStatus,
-               appStatus,
-               delFlag,
-               updateTime,
-               addTime
-        from cm_brand_landing
+        select a.id,
+               a.authUserId,
+               a.type,
+               a.levelType,
+               a.authorId,
+               a.headPcBanner,
+               a.headAppBanner,
+               a.jumpStatus,
+               a.jumpPcPicture,
+               a.jumpAppPicture,
+               a.jumpLink,
+               a.jumpAppLink,
+               a.title,
+               a.content,
+               a.video,
+               a.sort,
+               a.pcStatus,
+               a.appStatus,
+               a.delFlag,
+               a.updateTime,
+               a.addTime,
+               IFNULL((select c.pv from cm_praise_statistics c where a.id = c.authorId and c.type = 2), 0) as pv
+        from cm_brand_landing a
     </sql>
 
     <select id="selectCmBrandLandingList" parameterType="CmBrandLanding" resultMap="CmBrandLandingResult">
         <include refid="selectCmBrandLandingVo"/>
-        <where>
-            <if test="id != null  and id != ''"> and id = #{id}</if>
-            <if test="authUserId != null "> and authUserId = #{authUserId}</if>
-            <if test="type != null "> and type = #{type}</if>
-            <if test="levelType != null "> and levelType = #{levelType}</if>
-            <if test="authorId != null "> and authorId = #{authorId}</if>
-            <if test="headPcBanner != null  and headPcBanner != ''"> and headPcBanner = #{headPcBanner}</if>
-            <if test="headAppBanner != null  and headAppBanner != ''"> and headAppBanner = #{headAppBanner}</if>
-            <if test="jumpStatus != null "> and jumpStatus = #{jumpStatus}</if>
-            <if test="jumpPcPicture != null  and jumpPcPicture != ''"> and jumpPcPicture = #{jumpPcPicture}</if>
-            <if test="jumpAppPicture != null  and jumpAppPicture != ''"> and jumpAppPicture = #{jumpAppPicture}</if>
+        <where>delFlag = 0
+            <if test="id != null  and id != ''">and id = #{id}</if>
+            <if test="authUserId != null ">and authUserId = #{authUserId}</if>
+            <if test="type != null ">and type = #{type}</if>
+            <if test="levelType != null ">and levelType = #{levelType}</if>
+            <if test="authorId != null ">and authorId = #{authorId}</if>
+            <if test="headPcBanner != null  and headPcBanner != ''">and headPcBanner = #{headPcBanner}</if>
+            <if test="headAppBanner != null  and headAppBanner != ''">and headAppBanner = #{headAppBanner}</if>
+            <if test="jumpStatus != null ">and jumpStatus = #{jumpStatus}</if>
+            <if test="jumpPcPicture != null  and jumpPcPicture != ''">and jumpPcPicture = #{jumpPcPicture}</if>
+            <if test="jumpAppPicture != null  and jumpAppPicture != ''">and jumpAppPicture = #{jumpAppPicture}</if>
             <if test="jumpLink != null  and jumpLink != ''"> and jumpLink = #{jumpLink}</if>
             <if test="title != null  and title != ''"> and title = #{title}</if>
             <if test="content != null  and content != ''"> and content = #{content}</if>
@@ -80,17 +83,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
     <select id="findList" parameterType="CmBrandLanding" resultMap="CmBrandLandingResult">
         <include refid="selectCmBrandLandingVo"/>
-        <where>
-            <if test="id != null  and id != ''"> and id = #{id}</if>
-            <if test="authUserId != null "> and authUserId = #{authUserId}</if>
-            <if test="type != null "> and type = #{type}</if>
-            <if test="levelType != null "> and levelType = #{levelType}</if>
-            <if test="authorId != null "> and authorId = #{authorId}</if>
-            <if test="headPcBanner != null  and headPcBanner != ''"> and headPcBanner = #{headPcBanner}</if>
-            <if test="headAppBanner != null  and headAppBanner != ''"> and headAppBanner = #{headAppBanner}</if>
-            <if test="jumpStatus != null "> and jumpStatus = #{jumpStatus}</if>
-            <if test="jumpPcPicture != null  and jumpPcPicture != ''"> and jumpPcPicture = #{jumpPcPicture}</if>
-            <if test="jumpAppPicture != null  and jumpAppPicture != ''"> and jumpAppPicture = #{jumpAppPicture}</if>
+        <where>delFlag = 0
+            <if test="id != null  and id != ''">and id = #{id}</if>
+            <if test="authUserId != null ">and authUserId = #{authUserId}</if>
+            <if test="type != null ">and type = #{type}</if>
+            <if test="levelType != null ">and levelType = #{levelType}</if>
+            <if test="authorId != null ">and authorId = #{authorId}</if>
+            <if test="headPcBanner != null  and headPcBanner != ''">and headPcBanner = #{headPcBanner}</if>
+            <if test="headAppBanner != null  and headAppBanner != ''">and headAppBanner = #{headAppBanner}</if>
+            <if test="jumpStatus != null ">and jumpStatus = #{jumpStatus}</if>
+            <if test="jumpPcPicture != null  and jumpPcPicture != ''">and jumpPcPicture = #{jumpPcPicture}</if>
+            <if test="jumpAppPicture != null  and jumpAppPicture != ''">and jumpAppPicture = #{jumpAppPicture}</if>
             <if test="jumpLink != null  and jumpLink != ''"> and jumpLink = #{jumpLink}</if>
             <if test="title != null  and title != ''"> and title = #{title}</if>
             <if test="content != null  and content != ''"> and content = #{content}</if>
@@ -102,12 +105,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="updateTime != null "> and updateTime = #{updateTime}</if>
             <if test="addTime != null "> and addTime = #{addTime}</if>
         </where>
-        order by sort desc
+        order by pcStatus desc, sort desc ,addTime desc
     </select>
 
     <select id="selectCmBrandLandingById" parameterType="String" resultMap="CmBrandLandingResult">
         <include refid="selectCmBrandLandingVo"/>
-        where id = #{id}
+        where id = #{id} and delFlag = 0
     </select>
 
     <select id="getById" parameterType="CmBrandLanding" resultType="String">
@@ -168,6 +171,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="jumpPcPicture != null">jumpPcPicture,</if>
             <if test="jumpAppPicture != null">jumpAppPicture,</if>
             <if test="jumpLink != null">jumpLink,</if>
+            <if test="jumpAppLink != null">jumpAppLink,</if>
             <if test="title != null">title,</if>
             <if test="content != null">content,</if>
             <if test="video != null">video,</if>
@@ -189,6 +193,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="jumpPcPicture != null">#{jumpPcPicture},</if>
             <if test="jumpAppPicture != null">#{jumpAppPicture},</if>
             <if test="jumpLink != null">#{jumpLink},</if>
+            <if test="jumpAppLink != null">#{jumpAppLink},</if>
             <if test="title != null">#{title},</if>
             <if test="content != null">#{content},</if>
             <if test="video != null">#{video},</if>
@@ -214,6 +219,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="jumpPcPicture != null">jumpPcPicture = #{jumpPcPicture},</if>
             <if test="jumpAppPicture != null">jumpAppPicture = #{jumpAppPicture},</if>
             <if test="jumpLink != null">jumpLink = #{jumpLink},</if>
+            <if test="jumpAppLink != null">jumpAppLink = #{jumpAppLink},</if>
             <if test="title != null">title = #{title},</if>
             <if test="content != null">content = #{content},</if>
             <if test="video != null">video = #{video},</if>

+ 159 - 0
src/main/resources/mappings/modules/user/CmAdminMobileMapper.xml

@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+		PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+		"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.caimei.modules.user.dao.CmAdminMobileMapper">
+
+	<resultMap type="com.caimei.modules.user.entity.CmAdminMobile" id="CmAdminMobileResult">
+		<result property="id"    column="id"    />
+		<result property="type"    column="type"    />
+		<result property="mobile"    column="mobile"    />
+		<result property="enabledStatus"    column="enabledStatus"    />
+		<result property="delFlag"    column="delFlag"    />
+		<result property="updateTime"    column="updateTime"    />
+		<result property="createTime"    column="createTime"    />
+	</resultMap>
+
+	<sql id="selectCmAdminMobileVo">
+		select
+			cm_admin_mobile.id,
+			cm_admin_mobile.type,
+			cm_admin_mobile.mobile,
+			cm_admin_mobile.enabledStatus,
+			cm_admin_mobile.delFlag,
+			cm_admin_mobile.updateTime,
+			cm_admin_mobile.createTime
+	</sql>
+
+	<select id="getByCmAdminMobile" parameterType="com.caimei.modules.user.entity.CmAdminMobile" resultMap="CmAdminMobileResult">
+		<include refid="selectCmAdminMobileVo"/>
+		from cm_admin_mobile AS cm_admin_mobile
+		<where>  cm_admin_mobile.delFlag = 0
+			<if test="id != null "> and cm_admin_mobile.id = #{id}</if>
+			<if test="type != null  and type != ''"> and cm_admin_mobile.type = #{type}</if>
+			<if test="mobile != null  and mobile != ''"> and cm_admin_mobile.mobile = #{mobile}</if>
+			<if test="enabledStatus != null  and enabledStatus != ''"> and cm_admin_mobile.enabledStatus = #{enabledStatus}</if>
+			<if test="updateTime != null "> and cm_admin_mobile.updateTime = #{updateTime}</if>
+			<if test="createTime != null "> and cm_admin_mobile.createTime = #{createTime}</if>
+		</where>
+		group by cm_admin_mobile.id
+		order by cm_admin_mobile.createTime desc
+		limit 0,1
+	</select>
+
+	<select id="getCmAdminMobileList" parameterType="com.caimei.modules.user.entity.CmAdminMobile" resultMap="CmAdminMobileResult">
+		<include refid="selectCmAdminMobileVo"/>
+		from cm_admin_mobile AS cm_admin_mobile
+		<where>  cm_admin_mobile.delFlag = 0
+			<if test="id != null  and id != ''">
+				and cm_admin_mobile.id
+				<if test="id.toUpperCase().indexOf('=')==-1">
+					= #{id}
+				</if>
+				<if test="id.toUpperCase().indexOf('=')!=-1">
+					<if test="id.toUpperCase().indexOf('NOT')!=-1"> not </if>
+					<if test="id.toUpperCase().indexOf('IN')!=-1"> in </if>
+					<foreach item="idIn" collection="id.substring(id.toUpperCase().indexOf('=')+1,id.length()).trim().split(',')" open="(" separator="," close=")">
+						#{idIn}
+					</foreach>
+				</if>
+			</if>
+			<if test="type != null  and type != ''"> and cm_admin_mobile.type = #{type}</if>
+			<if test="mobile != null  and mobile != ''"> and cm_admin_mobile.mobile = #{mobile}</if>
+			<if test="enabledStatus != null  and enabledStatus != ''"> and cm_admin_mobile.enabledStatus = #{enabledStatus}</if>
+			<if test="updateTime != null "> and cm_admin_mobile.updateTime = #{updateTime}</if>
+			<if test="createTime != null "> and cm_admin_mobile.createTime = #{createTime}</if>
+		</where>
+		group by cm_admin_mobile.id
+		order by cm_admin_mobile.createTime desc
+	</select>
+
+	<select id="getCount" parameterType="com.caimei.modules.user.entity.CmAdminMobile" resultType="int">
+		select count(1)
+		from cm_admin_mobile AS cm_admin_mobile
+		<where>  cm_admin_mobile.delFlag = 0
+			<if test="id != null "> and cm_admin_mobile.id = #{id}</if>
+			<if test="type != null  and type != ''"> and cm_admin_mobile.type = #{type}</if>
+			<if test="mobile != null  and mobile != ''"> and cm_admin_mobile.mobile = #{mobile}</if>
+			<if test="enabledStatus != null  and enabledStatus != ''"> and cm_admin_mobile.enabledStatus = #{enabledStatus}</if>
+			<if test="updateTime != null "> and cm_admin_mobile.updateTime = #{updateTime}</if>
+			<if test="createTime != null "> and cm_admin_mobile.createTime = #{createTime}</if>
+		</where>
+	</select>
+
+	<select id="getCmAdminMobileById" parameterType="String" resultMap="CmAdminMobileResult">
+		<include refid="selectCmAdminMobileVo"/>
+		from cm_admin_mobile AS cm_admin_mobile
+		where  cm_admin_mobile.delFlag = 0 and cm_admin_mobile.id = #{id}
+	</select>
+
+	<select id="getById" parameterType="com.caimei.modules.user.entity.CmAdminMobile" resultType="String">
+		select id
+		from cm_admin_mobile AS cm_admin_mobile
+		<where>  cm_admin_mobile.delFlag = 0
+			<if test="id != null "> and cm_admin_mobile.id = #{id}</if>
+			<if test="type != null  and type != ''"> and cm_admin_mobile.type = #{type}</if>
+			<if test="mobile != null  and mobile != ''"> and cm_admin_mobile.mobile = #{mobile}</if>
+			<if test="enabledStatus != null  and enabledStatus != ''"> and cm_admin_mobile.enabledStatus = #{enabledStatus}</if>
+			<if test="updateTime != null "> and cm_admin_mobile.updateTime = #{updateTime}</if>
+			<if test="createTime != null "> and cm_admin_mobile.createTime = #{createTime}</if>
+		</where>
+		group by cm_admin_mobile.id
+		limit 0,1
+	</select>
+
+	<insert id="addCmAdminMobile" parameterType="com.caimei.modules.user.entity.CmAdminMobile" useGeneratedKeys="true" keyProperty="id">
+		insert into cm_admin_mobile
+		<trim prefix="(" suffix=")" suffixOverrides=",">
+			<if test="id != null and id != ''">id,</if>
+			<if test="type != null and type != ''">type,</if>
+			<if test="mobile != null and mobile != ''">mobile,</if>
+			<if test="enabledStatus != null and enabledStatus != ''">enabledStatus,</if>
+			<if test="delFlag != null">delFlag,</if>
+			<if test="updateTime != null">updateTime,</if>
+			<if test="createTime != null">createTime,</if>
+		</trim>
+		<trim prefix="values (" suffix=")" suffixOverrides=",">
+			<if test="id != null and id != ''">#{id},</if>
+			<if test="type != null and type != ''">#{type},</if>
+			<if test="mobile != null and mobile != ''">#{mobile},</if>
+			<if test="enabledStatus != null and enabledStatus != ''">#{enabledStatus},</if>
+			<if test="delFlag != null">#{delFlag},</if>
+			<if test="updateTime != null">#{updateTime},</if>
+			<if test="createTime != null">#{createTime},</if>
+		</trim>
+	</insert>
+
+	<update id="updateCmAdminMobile" parameterType="com.caimei.modules.user.entity.CmAdminMobile">
+		update cm_admin_mobile
+		<trim prefix="SET" suffixOverrides=",">
+			<if test="type != null and type != ''">type = #{type},</if>
+			<if test="mobile != null and mobile != ''">mobile = #{mobile},</if>
+			<if test="enabledStatus != null and enabledStatus != ''">enabledStatus = #{enabledStatus},</if>
+			<if test="delFlag != null">delFlag = #{delFlag},</if>
+			<if test="updateTime != null">updateTime = #{updateTime},</if>
+			<if test="createTime != null">createTime = #{createTime},</if>
+		</trim>
+		where id = #{id}
+	</update>
+
+	<delete id="delCmAdminMobileById" parameterType="String">
+		delete
+		from cm_admin_mobile where id = #{id}
+	</delete>
+
+	<delete id="delCmAdminMobile" parameterType="com.caimei.modules.user.entity.CmAdminMobile">
+		delete
+		from cm_admin_mobile AS cm_admin_mobile
+		<where>
+			<if test="id != null "> and cm_admin_mobile.id = #{id}</if>
+			<if test="type != null  and type != ''"> and cm_admin_mobile.type = #{type}</if>
+			<if test="mobile != null  and mobile != ''"> and cm_admin_mobile.mobile = #{mobile}</if>
+			<if test="enabledStatus != null  and enabledStatus != ''"> and cm_admin_mobile.enabledStatus = #{enabledStatus}</if>
+			<if test="delFlag != null "> and cm_admin_mobile.delFlag = #{delFlag}</if>
+			<if test="updateTime != null "> and cm_admin_mobile.updateTime = #{updateTime}</if>
+			<if test="createTime != null "> and cm_admin_mobile.createTime = #{createTime}</if>
+		</where>
+	</delete>
+
+</mapper>

+ 9 - 1
src/main/resources/mappings/modules/user/CmReportingClubMapper.xml

@@ -386,7 +386,15 @@
 		</trim>
 		where id = #{id}
 	</update>
-
+	<update id="updateOrderStatus" parameterType="CmReportingClub">
+		update cm_reporting_club
+		<trim prefix="SET" suffixOverrides=",">
+			orderStatus = #{orderStatus},
+			<if test="orderId != null">orderId = #{orderId},</if>
+			<if test="lockStatus != null">lockStatus = #{lockStatus},</if>
+		</trim>
+		where orderId = #{orderId}
+	</update>
 	<update id="updateDelCmReportingClubByIds" parameterType="String">
 		update cm_reporting_club set delFlag=#{delFlag} where id in
 		<foreach item="id" collection="ids" open="(" separator="," close=")">

+ 6 - 0
src/main/resources/mappings/modules/user/CmUserMapper.xml

@@ -529,6 +529,12 @@
           and stage = 0
         limit 1
     </select>
+    <select id="findUserIdentity" resultType="Integer">
+        SELECT
+            a.userIdentity AS "userIdentity"
+        FROM user a
+        WHERE a.userID = #{userID}
+    </select>
     <insert id="insertOrgan">
         INSERT INTO cm_organ_value_system
             (userID, stage, delType)

+ 28 - 4
src/main/webapp/WEB-INF/views/modules/baikePage/auditBaikeProductPage.jsp

@@ -934,8 +934,8 @@
 </head>
 <body>
 <ul class="nav nav-tabs">
-	<li><a href="${ctx}/baike/cmBaikeProduct/?commodityType=${cmBaikeProduct.commodityType}">采美词条</a></li>
-	<li class="active"><a id="createEntryGuidance"  href="${ctx}/baike/cmBaikeProduct/form?id=${cmBaikeProduct.id}&commodityType=${cmBaikeProduct.commodityType}">${not empty cmBaikeProduct.id?'审核':'添加'}</a></li>
+	<li><a href="${ctx}/baike/cmBaikeProduct?commodityType=1&publishSource=2">供应商词条</a></li>
+	<li class="active"><a id="createEntryGuidance"  href="${ctx}/baike/cmBaikeProduct/toAuditPage?id=${cmBaikeProduct.id}&commodityType=1&entryId=2">${not empty cmBaikeProduct.id?'审核':'添加'}</a></li>
 </ul><br/>
 <%--	<div>--%>
 <%--		<button onclick="showlog_result(true,'展示正确内容的弹框')">展示正确弹框</button>--%>
@@ -1207,6 +1207,24 @@
 			<label id="discriptionSensitiveWords" class="red"></label>
 		</div>
 	</div>
+	<%--banner--%>
+	<div class="control-group" style="width: 1000px">
+		<label class="control-label">banner:</label>
+		<div class="main-image-list" style="display: flex;flex-wrap: wrap">
+			<div class="controls upload-content iconBox mainIgeBox" >
+				<div class="conList">
+					<form:hidden id="banner" path="banner" htmlEscape="false" maxlength="255"
+								 class="input-xlarge "/>
+					<sys:ckfinder input="banner" type="images" uploadPath="/photo" selectMultiple="false"
+								  maxWidth="100"
+								  maxHeight="100"/>
+
+				</div>
+			</div>
+		</div>
+		<br>
+		<label style="margin-left: 150px">建议尺寸: 1920 * 400 / PX</label>
+	</div>
 	<%--概述图册--%>
 	<div class="control-group" style="width: 1000px">
 		<label class="control-label keyClass">概述图册:</label>
@@ -1421,6 +1439,12 @@
 				${cmBaikeProduct.shopName}
 		</div>
 	</div>
+	<div class="control-group">
+		<label class="control-label keyClass">供应商状态:</label>
+		<div class="controls">
+			<font color="${cmBaikeProduct.status eq 1?'#2FA4E7':'red'}"> ${cmBaikeProduct.status eq 1?'已发布':'暂不发布'}</font>
+		</div>
+	</div>
 	<div class="control-group">
 		<label class="control-label keyClass">审核:</label>
 		<div class="controls">
@@ -1934,7 +1958,7 @@
 						$(ele).parent().parents(".controls").next().removeClass("hide-pic")
 					}
 				})
-				$("#mainIgeBox").find("input.input-xlarge").each(function (i, ele) {
+				$(".mainIgeBox").find("input.input-xlarge").each(function (i, ele) {
 					if ($(ele).val()) {
 						$(ele).next().find("li").css("z-index", "99");
 						$(ele).parents(".conList").find(".cancel-upload").show();
@@ -2144,4 +2168,4 @@
 	});
 </script>
 </body>
-</html>
+</html>

+ 29 - 4
src/main/webapp/WEB-INF/views/modules/baikePage/checkBaikePage.jsp

@@ -934,8 +934,9 @@
 </head>
 <body>
 <ul class="nav nav-tabs">
-	<li><a href="${ctx}/baike/cmBaikeProduct/?commodityType=${cmBaikeProduct.commodityType}">采美词条</a></li>
-	<li class="active"><a id="createEntryGuidance"  href="${ctx}/baike/cmBaikeProduct/form?id=${cmBaikeProduct.id}&commodityType=${cmBaikeProduct.commodityType}">${not empty cmBaikeProduct.id?'查看':'添加'}</a></li>
+	<li><a href="${ctx}/baike/cmBaikeProduct?commodityType=1&publishSource=2">供应商词条</a></li>
+	<li class="active"><a id="createEntryGuidance"  href="${ctx}/baike/cmBaikeProduct/check?id=${cmBaikeProduct.id}
+					&commodityType=1&publishSource=2&entryId=2">${not empty cmBaikeProduct.id?'查看':'添加'}</a></li>
 </ul><br/>
 <%--	<div>--%>
 <%--		<button onclick="showlog_result(true,'展示正确内容的弹框')">展示正确弹框</button>--%>
@@ -1207,6 +1208,24 @@
 			<label id="discriptionSensitiveWords" class="red"></label>
 		</div>
 	</div>
+	<%--banner--%>
+	<div class="control-group" style="width: 1000px">
+		<label class="control-label">banner:</label>
+		<div class="main-image-list" style="display: flex;flex-wrap: wrap">
+			<div class="controls upload-content iconBox mainIgeBox" >
+				<div class="conList">
+					<form:hidden id="banner" path="banner" htmlEscape="false" maxlength="255"
+								 class="input-xlarge "/>
+					<sys:ckfinder input="banner" type="images" uploadPath="/photo" selectMultiple="false"
+								  maxWidth="100"
+								  maxHeight="100"/>
+
+				</div>
+			</div>
+		</div>
+		<br>
+		<label style="margin-left: 150px">建议尺寸: 1920 * 400 / PX</label>
+	</div>
 	<%--概述图册--%>
 	<div class="control-group" style="width: 1000px">
 		<label class="control-label keyClass">概述图册:</label>
@@ -1414,6 +1433,12 @@
 				${cmBaikeProduct.shopName}
 		</div>
 	</div>
+	<div class="control-group">
+		<label class="control-label keyClass">供应商状态:</label>
+		<div class="controls">
+			<font color="${cmBaikeProduct.status eq 1?'#2FA4E7':'red'}"> ${cmBaikeProduct.status eq 1?'已发布':'暂不发布'}</font>
+		</div>
+	</div>
 	<div class="control-group">
 		<label class="control-label keyClass">审核:</label>
 		<div class="controls">
@@ -1916,7 +1941,7 @@
 						$(ele).parent().parents(".controls").next().removeClass("hide-pic")
 					}
 				})
-				$("#mainIgeBox").find("input.input-xlarge").each(function (i, ele) {
+				$(".mainIgeBox").find("input.input-xlarge").each(function (i, ele) {
 					if ($(ele).val()) {
 						$(ele).next().find("li").css("z-index", "99");
 						$(ele).parents(".conList").find(".cancel-upload").show();
@@ -2126,4 +2151,4 @@
 	});
 </script>
 </body>
-</html>
+</html>

+ 39 - 16
src/main/webapp/WEB-INF/views/modules/baikePage/cmBaikeProductForm.jsp

@@ -887,6 +887,9 @@
 		}
 		//编辑资料
 		function upMaterial(mid){
+        	if (mid==null){
+        		return
+			}
 			$.ajax({
 				url : "${ctx}/baike/cmBaikeProduct/getMaterialinfo",
 				data : {"mid":mid},
@@ -938,7 +941,7 @@
 </head>
 <body>
 	<ul class="nav nav-tabs">
-		<li><a href="${ctx}/baike/cmBaikeProduct/?commodityType=${cmBaikeProduct.commodityType}">采美词条</a></li>
+		<li><a href="${ctx}/baike/cmBaikeProduct/?commodityType=${cmBaikeProduct.commodityType}&publishSource=1">采美词条</a></li>
 		<li class="active"><a id="createEntryGuidance"  href="${ctx}/baike/cmBaikeProduct/form?id=${cmBaikeProduct.id}&commodityType=${cmBaikeProduct.commodityType}">${not empty cmBaikeProduct.id?'编辑':'添加'}</a></li>
 	</ul><br/>
 <%--	<div>--%>
@@ -1208,17 +1211,37 @@
 			<label class="control-label">词条概述:</label>
 			<div class="controls not-overflow">
 				<div class="content-edit" id="discription" name="discription"></div>
-                <label id="discriptionSensitiveWords" class="red"></label>
-            </div>
+				<label id="discriptionSensitiveWords" class="red"></label>
+			</div>
+		</div>
+		<%--banner--%>
+		<div class="control-group" style="width: 1000px">
+			<label class="control-label">banner:</label>
+			<div class="main-image-list" style="display: flex;flex-wrap: wrap">
+				<div class="controls upload-content iconBox mainIgeBox" >
+					<div class="conList">
+						<form:hidden id="banner" path="banner" htmlEscape="false" maxlength="255"
+									 class="input-xlarge "/>
+						<sys:ckfinder input="banner" type="images" uploadPath="/photo" selectMultiple="false"
+									  maxWidth="100"
+									  maxHeight="100"/>
+
+					</div>
+				</div>
+			</div>
+			<br>
+			<label style="margin-left: 150px">建议尺寸: 1920 * 400 / PX</label>
 		</div>
 		<%--概述图册--%>
 		<div class="control-group" style="width: 1000px">
 			<label class="control-label keyClass">概述图册:</label>
 			<div class="display-image-list" style="display: flex;flex-wrap: nowrap; margin-top: -36px">
 				<c:forEach items="${cmBaikeProduct.displayImageList}" var="displayImage" varStatus="index">
-					<div class="controls upload-content iconBox" id="displayImageBox${index.index}" style="width: 170px">
+					<div class="controls upload-content iconBox" id="displayImageBox${index.index}"
+						 style="width: 170px">
 						<div class="conList">
-							<form:hidden id="displayImage${index.index}" path="displayImageList[${index.index}]" htmlEscape="false"
+							<form:hidden id="displayImage${index.index}" path="displayImageList[${index.index}]"
+										 htmlEscape="false"
 										 maxlength="255"
 										 class="input-xlarge "/>
 							<sys:ckfinder input="displayImage${index.index}" type="images" uploadPath="/photo"
@@ -1340,7 +1363,7 @@
 							<span class="del">${videoFile.websiteName}.</span>
 							<span class="del">${videoFile.publishTime}.</span>
 							<span class="del">${videoFile.acitationTime}.</span>
-							<a class="del" style="margin-left: 12px" onclick="upMaterial(${videoFile.id})">编辑</a>
+							<a class="del" style="margin-left: 12px" onclick="upMaterial(${cmBaikeProduct.status==0?videoFile.id:"null"})">编辑</a>
 							<a onclick="delMaterial(${videoFile.id})">删除</a>
 						</div>
 					</c:if>
@@ -1353,7 +1376,7 @@
 							<span class="del">${videoFile.press}.</span>
 							<span class="del">${videoFile.publicationYear}.</span>
 							<span class="del">${videoFile.acitationWeb}.</span>
-							<a class="del" style="margin-left: 12px" onclick="upMaterial(${videoFile.id})">编辑</a>
+							<a class="del" style="margin-left: 12px" onclick="upMaterial(${cmBaikeProduct.status==0?videoFile.id:"null"})">编辑</a>
 							<a onclick="delMaterial(${videoFile.id})">删除</a>
 						</div>
 					</c:if>
@@ -1367,7 +1390,7 @@
 								<img id="imgaa"  src="${videoFile.imageUrl}" height="50px" width="50px" ></input>
 							</div>
 							--%>
-							<a class="del" style="margin-left: 12px" onclick="upMaterial(${videoFile.id})">编辑</a>
+							<a class="del" style="margin-left: 12px" onclick="upMaterial(${cmBaikeProduct.status==0?videoFile.id:"null"})">编辑</a>
 							<a onclick="delMaterial(${videoFile.id})">删除</a>
 						</div>
 					</c:if>
@@ -1375,17 +1398,17 @@
 			</div>
 		</div>
 		<%--头图--%>
-		<div class="control-group" style="margin-top: 100px">
+		<div class="control-group"style="margin-top: 100px" >
 			<label class="control-label">头图:</label>
-			<div class="main-image-list" style="display: flex;flex-wrap: wrap">
-				<div class="controls upload-content iconBox mainIgeBox" id="mainIgeBox">
-					<div class="conList">
+			<div class="main-image-list">
+				<div class="controls upload-content iconBox mainIgeBox" >
+					<div class="" >
 						<form:hidden id="image" path="image" htmlEscape="false" maxlength="255" class="input-xlarge "/>
 						<sys:ckfinder input="image" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100"
 									  maxHeight="100"/>
-						<br>
-						<label style="margin-left: 150px">建议图片尺寸210px*210px,并上传白底图片</label>
 					</div>
+					<br>
+					<label style="">建议图片尺寸210px*210px,并上传白底图片</label>
 				</div>
 			</div>
 		</div>
@@ -1966,7 +1989,7 @@
 						$(ele).parent().parents(".controls").next().removeClass("hide-pic")
 					}
 				})
-				$("#mainIgeBox").find("input.input-xlarge").each(function (i, ele) {
+				$(".mainIgeBox").find("input.input-xlarge").each(function (i, ele) {
 					if ($(ele).val()) {
 						$(ele).next().find("li").css("z-index", "99");
 						$(ele).parents(".conList").find(".cancel-upload").show();
@@ -2168,4 +2191,4 @@
 	});
 </script>
 </body>
-</html>
+</html>

+ 6 - 2
src/main/webapp/WEB-INF/views/modules/baikePage/shopBaikeProductList.jsp

@@ -16,7 +16,7 @@
 	</style>
 	<script type="text/javascript">
 		$(document).ready(function() {
-			
+
 		});
 		function page(n,s){
 			$("#pageNo").val(n);
@@ -79,6 +79,7 @@
 				<th>发布时间</th>
 				<th>供应商</th>
 				<th>添加时间</th>
+				<th>供应商状态</th>
 				<th>操作</th>
 			</tr>
 		</thead>
@@ -117,6 +118,9 @@
 				<td>
 					<fmt:formatDate value="${cmBaikeProduct.addTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
 				</td>
+				<td>
+					<font color="${cmBaikeProduct.status eq 1?'#2FA4E7':'red'}"> ${cmBaikeProduct.status eq 1?'已发布':'暂不发布'}</font>
+				</td>
 				<td>
 					<a href="${ctx}/baike/cmBaikeProduct/toAuditPage?id=${cmBaikeProduct.id}&commodityType=1&entryId=2"
 					   style="display: ${cmBaikeProduct.auditStatus eq 1 or cmBaikeProduct.auditStatus eq 3?'':'none'}">审核</a>
@@ -186,4 +190,4 @@
 	}
 </script>
 </body>
-</html>
+</html>

+ 17 - 1
src/main/webapp/WEB-INF/views/modules/cmpage/cmPageBeautyForm.jsp

@@ -99,7 +99,7 @@
         </div>
     </div>
     <div class="control-group">
-        <label class="control-label"><font color="red">*</font> </span>红包日期:</label>
+        <label class="control-label"><font color="red">*</font> </span>活动日期:</label>
         <div class="controls">
             <input name="redPacketBeginTime" type="text" readonly="readonly" maxlength="10"
                    class="input-medium Wdate required" id="redPacketBeginTime" placeholder="开始日期"
@@ -128,6 +128,22 @@
             </form:select>
         </div>
     </div>
+    <div class="control-group">
+        <label class="control-label">填充背景:</label>
+        <div class="controls">
+            <form:select path="backgroundType" class="input-xlarge " id="selectBgType">
+                <form:option value="" label="请选择"/>
+                <form:options items="${[fns:getDictList('backgroundType')[0]]}" itemLabel="label" itemValue="value" htmlEscape="false" label="${fns:getDictList('backgroundType')[0]}"/>
+            </form:select>
+        </div>
+    </div>
+    <div class="control-group" id="showBackgroundColor" style="display: none;">
+        <label class="control-label"><span class="help-inline"></span>背景色设置:</label>
+        <div class="controls">
+            <form:input path="backgroundColour" htmlEscape="false" maxlength="7" id="getColorValue" class="input-xlarge" placeholder="请选择或输入颜色/示例:#333333" cssStyle="width: 205px;"/>
+            <input type="color" name="color" value="#e15616" id="onchangeColor" style="width: 35px;">
+        </div>
+    </div>
     <div class="control-group">
         <label class="control-label">状态:</label>
         <div class="controls">

+ 17 - 1
src/main/webapp/WEB-INF/views/modules/cmpage/cmPageShortcutForm.jsp

@@ -61,7 +61,7 @@
 </head>
 <body>
 <ul class="nav nav-tabs">
-    <li class="active"><a href="${ctx}/cmpage/cmPage/form?flag=28&id=${cmPage.id}">${empty cmPage.id?'新增':'编辑'}快捷运营<shiro:lacksPermission name="cmpage:cmPage:edit">查看</shiro:lacksPermission></a></li>
+    <li class="active"><a href="${ctx}/cmpage/cmPage/form?flag=29&id=${cmPage.id}">${empty cmPage.id?'新增':'编辑'}快捷运营<shiro:lacksPermission name="cmpage:cmPage:edit">查看</shiro:lacksPermission></a></li>
 </ul><br/>
 <form:form id="inputForm" modelAttribute="cmPage" action="${ctx}/cmpage/cmPage/save?flag=2&type=9" method="post" class="form-horizontal">
     <form:hidden path="id"/>
@@ -92,6 +92,22 @@
             <label style="color:#D0D0D0 ;">建议图片尺寸1000px*450px</label>
         </div>
     </div>
+    <div class="control-group">
+        <label class="control-label">填充背景:</label>
+        <div class="controls">
+            <form:select path="backgroundType" class="input-xlarge " id="selectBgType">
+                <form:option value="" label="请选择"/>
+                <form:options items="${[fns:getDictList('backgroundType')[0]]}" itemLabel="label" itemValue="value" htmlEscape="false" label="${fns:getDictList('backgroundType')[0]}"/>
+            </form:select>
+        </div>
+    </div>
+    <div class="control-group" id="showBackgroundColor" style="display: none;">
+        <label class="control-label"><span class="help-inline"></span>背景色设置:</label>
+        <div class="controls">
+            <form:input path="backgroundColour" htmlEscape="false" maxlength="7" id="getColorValue" class="input-xlarge" placeholder="请选择或输入颜色/示例:#333333" cssStyle="width: 205px;"/>
+            <input type="color" name="color" value="#e15616" id="onchangeColor" style="width: 35px;">
+        </div>
+    </div>
     <div class="control-group">
         <label class="control-label">状态:</label>
         <div class="controls">

+ 6 - 0
src/main/webapp/WEB-INF/views/modules/info/auditInfoPage.jsp

@@ -195,6 +195,12 @@
 						${empty info.pv?0:(info.pv)}
 				</td>
 			</tr>
+			<tr>
+				<th><span class="red">*</span>供应商状态:</th>
+				<td colspan="3">
+					<font color="${info.enabledStatus eq 1?'#2FA4E7':'red'}"> ${info.enabledStatus eq 1?'已发布':'暂不发布'}</font>
+				</td>
+			</tr>
 		</c:if>
 		<tr>
 			<th><span class="red"></span>审核:</th>

+ 6 - 0
src/main/webapp/WEB-INF/views/modules/info/checkInfoPage.jsp

@@ -108,6 +108,12 @@
 				${empty info.pv?0:(info.pv)}
 			</div>
 		</div>
+		<div class="control-group">
+			<label class="control-label">供应商状态:</label>
+			<div class="controls">
+				<font color="${info.enabledStatus eq 1?'#2FA4E7':'red'}"> ${info.enabledStatus eq 1?'已发布':'暂不发布'}</font>
+			</div>
+		</div>
 		<div class="form-actions">
 			<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
 		</div>

+ 6 - 3
src/main/webapp/WEB-INF/views/modules/info/infoAdForm.jsp

@@ -37,7 +37,7 @@
 				$(".info_list input").addClass("required");
 			}
 		}
-		
+
 	</script>
 </head>
 <body>
@@ -47,7 +47,7 @@
 	</ul><br/>
 	<form:form id="inputForm" modelAttribute="infoAd" action="${ctx}/info/infoAd/save" method="post" class="form-horizontal">
 		<form:hidden path="id"/>
-		<sys:message content="${message}"/>		
+		<sys:message content="${message}"/>
 		<div class="control-group">
 			<label class="control-label"><span class="help-inline"><font color="red">*</font> </span>业务方:</label>
 			<div class="controls">
@@ -88,6 +88,8 @@
 				<form:hidden id="nameImage" path="guidanceImage" htmlEscape="false" maxlength="255" class="input-xlarge required"/>
 				<sys:ckfinder input="nameImage" type="images" uploadPath="/photo" selectMultiple="false" maxWidth="100" maxHeight="100"/>
 			</div>
+			<br>
+			<label style="margin-left: 150px">建议尺寸: 284 * 343 / PX</label>
 		</div>
 		<div class="control-group">
 			<label class="control-label">状态:</label>
@@ -104,9 +106,10 @@
 			</div>
 		</div>
 		<div class="form-actions">
+			<input class="btn btn-primary" type="button" value="预 览" onclick="window.parent.location.href='${fns:getConfig('wwwServer')}info/center-3-1.html'" />
 			<shiro:hasPermission name="info:infoAd:edit"><input id="btnSubmit" class="btn btn-primary" type="submit" value="保 存"/>&nbsp;</shiro:hasPermission>
 			<input id="btnCancel" class="btn" type="button" value="返 回" onclick="history.go(-1)"/>
 		</div>
 	</form:form>
 </body>
-</html>
+</html>

+ 191 - 191
src/main/webapp/WEB-INF/views/modules/info/infoTypeForm.jsp

@@ -17,29 +17,29 @@
 	<script type="text/javascript">
 
 		$(document).ready(function () {
-			$("input[type='radio'][name!='shopUseFlag']").change(function (obj) {
-				var str = $(this).val();
-				var index = $(this).attr("name").match(/\[(\S*)\]/)[1]
-				if (str == 0) {
-					$("input[name='cmBrandLandingList["+index+"].jumpLink']").attr("disabled", true)
-					$("input[name='cmBrandLandingList["+index+"].jumpLink']").attr("class", "input-xlarge  ")
-				} else if (str == 2) {
-					$("input[name='cmBrandLandingList["+index+"].jumpLink']").attr("disabled", false)
-					$("input[name='cmBrandLandingList["+index+"].jumpLink']").attr("class", "input-xlarge required ")
-				}
-			});
+			// $("input[type='radio'][name!='shopUseFlag']").change(function (obj) {
+			// 	var str = $(this).val();
+			// 	var index = $(this).attr("name").match(/\[(\S*)\]/)[1]
+			// 	if (str == 0) {
+			// 		$("input[name='cmBrandLandingList["+index+"].jumpLink']").attr("disabled", true)
+			// 		$("input[name='cmBrandLandingList["+index+"].jumpLink']").attr("class", "input-xlarge  ")
+			// 	} else if (str == 2) {
+			// 		$("input[name='cmBrandLandingList["+index+"].jumpLink']").attr("disabled", false)
+			// 		$("input[name='cmBrandLandingList["+index+"].jumpLink']").attr("class", "input-xlarge required ")
+			// 	}
+			// });
 			//$("#name").focus();
 			$("#inputForm").validate({
 				submitHandler: function (form) {
-					for (let i = 0; i < 3; i++) {
-						var headPcBanner = $("input[name='cmBrandLandingList["+i+"].headPcBanner']").val();
-						var headAppBanner = $("input[name='cmBrandLandingList["+i+"].headAppBanner']").val();
-						console.log(headAppBanner);
-						if (!(headPcBanner != undefined && headPcBanner.trim() != ""&&headAppBanner != undefined && headAppBanner.trim() != "")) {
-							alertx("请先选择广告图"+(i+1)+"!");
-							return false
-						}
-					}
+					// for (let i = 0; i < 3; i++) {
+					// 	var headPcBanner = $("input[name='cmBrandLandingList["+i+"].headPcBanner']").val();
+					// 	var headAppBanner = $("input[name='cmBrandLandingList["+i+"].headAppBanner']").val();
+					// 	console.log(headAppBanner);
+					// 	if (!(headPcBanner != undefined && headPcBanner.trim() != ""&&headAppBanner != undefined && headAppBanner.trim() != "")) {
+					// 		alertx("请先选择广告图"+(i+1)+"!");
+					// 		return false
+					// 	}
+					// }
 					$("input[type='submit']").attr("disabled", true)
 					loading('正在提交,请稍等...');
 					form.submit();
@@ -97,177 +97,177 @@
 			<input type="radio" name="shopUseFlag" value="0" ${infoType.shopUseFlag eq 0?'checked=checked':''}> 否
 		</div>
 	</div>
-	<div>
-		<form:hidden path="cmBrandLandingList[0].levelType" value="1"/>
-		<div class="control-group">
-			<label class="control-label-text"><font color="red">*</font>广告图1:</label>
-			<br>
-			<div style="margin-left: 80px;">
-				<span style="float: left">
-				<label class="control-label">PC端图:</label>
-				<div class="controls">
-					<form:hidden id="cmBrandLandingList0headPcBanner" path="cmBrandLandingList[0].headPcBanner"
-								 htmlEscape="false" value="${cmBrandLandingList[0].headPcBanner}"
-								 maxlength="255" class="input-xlarge required"/>
-					<sys:ckfinder input="cmBrandLandingList0headPcBanner" type="images" uploadPath="/photo"
-								  selectMultiple="false"
-								  maxWidth="100"
-								  maxHeight="100"/>
-				</div>
-				<div class="controls" style="padding-top: 20px;">
-					<p style="color:#D0D0D0 ;">建议尺寸:524 * 382 / PX</p>
-				</div>
-			</span>
-				<span style="float: left">
-				<label class="control-label">小程序端图:</label>
-				<div class="controls">
-					<form:hidden id="cmBrandLandingList0headAppBanner" path="cmBrandLandingList[0].headAppBanner"
-								 htmlEscape="false" value="${cmBrandLandingList[0].headAppBanner}"
-								 maxlength="255" class="input-xlarge"/>
-					<sys:ckfinder input="cmBrandLandingList0headAppBanner" type="images" uploadPath="/photo"
-								  selectMultiple="false"
-								  maxWidth="100"
-								  maxHeight="100"/>
-				</div>
-				<div class="controls" style="padding-top: 20px;">
-					<p style="color:#D0D0D0 ;">建议尺寸:550 * 400 / PX</p>
-				</div>
-			</span>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label keyClass"><font
-					color="red">*</font>跳转方式:${cmBrandLandingList} ${cmBrandLandingList[0].jumpStatus}</label>
-			<br>
-			<div class="controls">
-				<input type="radio" name="cmBrandLandingList[0].jumpStatus"
-					   value="2" ${infoType.cmBrandLandingList[0].jumpStatus eq 2?'checked=checked':''}>
-				跳转链接:
-				<form:input path="cmBrandLandingList[0].jumpLink" htmlEscape="false" class="input-xlarge "
-							value="${cmBrandLandingList[0].jumpLink}" disabled="${infoType.cmBrandLandingList[0].jumpStatus eq 2?'false':'true'}"/>
-			</div>
-			<br>
-			<div class="controls">
-				<input type="radio" name="cmBrandLandingList[0].jumpStatus"
-					   value="0" ${empty infoType.cmBrandLandingList[0].jumpStatus?'checked=checked':infoType.cmBrandLandingList[0].jumpStatus eq 0?'checked=checked':''}>
-				无
-			</div>
-		</div>
-	</div>
-	<div>
-		<form:hidden path="cmBrandLandingList[1].levelType" value="2"/>
-		<div class="control-group">
-			<label class="control-label-text"><font color="red">*</font>广告图2:</label>
-			<br>
-			<div style="margin-left: 80px;">
-				<span style="float: left">
-				<label class="control-label">PC端图:</label>
-				<div class="controls">
-					<form:hidden id="cmBrandLandingList1headPcBanner" path="cmBrandLandingList[1].headPcBanner"
-								 htmlEscape="false" value="${cmBrandLandingList[1].headPcBanner}"
-								 maxlength="255" class="input-xlarge required"/>
-					<sys:ckfinder input="cmBrandLandingList1headPcBanner" type="images" uploadPath="/photo"
-								  selectMultiple="false"
-								  maxWidth="100"
-								  maxHeight="100"/>
-				</div>
-				<div class="controls" style="padding-top: 20px;">
-					<p style="color:#D0D0D0 ;">建议尺寸:360 * 187 / PX</p>
-				</div>
-			</span>
-				<span style="float: left">
-				<label class="control-label">小程序端图:</label>
-				<div class="controls">
-					<form:hidden id="cmBrandLandingList1headAppBanner" path="cmBrandLandingList[1].headAppBanner"
-								 htmlEscape="false" value="${cmBrandLandingList[1].headAppBanner}"
-								 maxlength="255" class="input-xlarge"/>
-					<sys:ckfinder input="cmBrandLandingList1headAppBanner" type="images" uploadPath="/photo"
-								  selectMultiple="false"
-								  maxWidth="100"
-								  maxHeight="100"/>
-				</div>
-				<div class="controls" style="padding-top: 20px;">
-					<p style="color:#D0D0D0 ;">建议尺寸:378 * 192 / PX</p>
-				</div>
-			</span>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label keyClass"><font
-					color="red">*</font>跳转方式:${cmBrandLandingList} ${cmBrandLandingList[1].jumpStatus}</label>
-			<br>
-			<div class="controls">
-				<input type="radio" name="cmBrandLandingList[1].jumpStatus"
-					   value="2" ${infoType.cmBrandLandingList[1].jumpStatus eq 2?'checked=checked':''}>
-				跳转链接:
-				<form:input path="cmBrandLandingList[1].jumpLink" htmlEscape="false" class="input-xlarge "
-							value="${cmBrandLandingList[1].jumpLink}" disabled="${infoType.cmBrandLandingList[1].jumpStatus eq 2?'false':'true'}"/>
-			</div>
-			<br>
-			<div class="controls">
-				<input type="radio" name="cmBrandLandingList[1].jumpStatus"
-					   value="0" ${empty infoType.cmBrandLandingList[1].jumpStatus?'checked=checked':infoType.cmBrandLandingList[1].jumpStatus eq 0?'checked=checked':''}>
-				无
-			</div>
-		</div>
-	</div>
-	<div>
-		<form:hidden path="cmBrandLandingList[2].levelType" value="2"/>
-		<div class="control-group">
-			<label class="control-label-text"><font color="red">*</font>广告图3:</label>
-			<br>
-			<div style="margin-left: 80px;">
-				<span style="float: left">
-				<label class="control-label">PC端图:</label>
-				<div class="controls">
-					<form:hidden id="cmBrandLandingList2headPcBanner" path="cmBrandLandingList[2].headPcBanner"
-								 htmlEscape="false" value="${cmBrandLandingList[2].headPcBanner}"
-								 maxlength="255" class="input-xlarge required"/>
-					<sys:ckfinder input="cmBrandLandingList2headPcBanner" type="images" uploadPath="/photo"
-								  selectMultiple="false"
-								  maxWidth="100"
-								  maxHeight="100"/>
-				</div>
-				<div class="controls" style="padding-top: 20px;">
-					<p style="color:#D0D0D0 ;">建议尺寸:360 * 187 / PX</p>
-				</div>
-			</span>
-				<span style="float: left">
-				<label class="control-label">小程序端图:</label>
-				<div class="controls">
-					<form:hidden id="cmBrandLandingList2headAppBanner" path="cmBrandLandingList[2].headAppBanner"
-								 htmlEscape="false" value="${cmBrandLandingList[2].headAppBanner}"
-								 maxlength="255" class="input-xlarge"/>
-					<sys:ckfinder input="cmBrandLandingList2headAppBanner" type="images" uploadPath="/photo"
-								  selectMultiple="false"
-								  maxWidth="100"
-								  maxHeight="100"/>
-				</div>
-				<div class="controls" style="padding-top: 20px;">
-					<p style="color:#D0D0D0 ;">建议尺寸:378 * 192 / PX</p>
-				</div>
-			</span>
-			</div>
-		</div>
-		<div class="control-group">
-			<label class="control-label keyClass"><font
-					color="red">*</font>跳转方式:${cmBrandLandingList} ${cmBrandLandingList[2].jumpStatus}</label>
-			<br>
-			<div class="controls">
-				<input type="radio" name="cmBrandLandingList[2].jumpStatus"
-					   value="2" ${infoType.cmBrandLandingList[2].jumpStatus eq 2?'checked=checked':''}>
-				跳转链接:
-				<form:input path="cmBrandLandingList[2].jumpLink" htmlEscape="false" class="input-xlarge "
-							value="${cmBrandLandingList[2].jumpLink}" disabled="${infoType.cmBrandLandingList[2].jumpStatus eq 2?'false':'true'}"/>
-			</div>
-			<br>
-			<div class="controls">
-				<input type="radio" name="cmBrandLandingList[2].jumpStatus"
-					   value="0" ${empty infoType.cmBrandLandingList[2].jumpStatus?'checked=checked':infoType.cmBrandLandingList[2].jumpStatus eq 0?'checked=checked':''}>
-				无
-			</div>
-		</div>
-	</div>
+<%--	<div>--%>
+<%--		<form:hidden path="cmBrandLandingList[0].levelType" value="1"/>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label-text"><font color="red">*</font>广告图1:</label>--%>
+<%--			<br>--%>
+<%--			<div style="margin-left: 80px;">--%>
+<%--				<span style="float: left">--%>
+<%--				<label class="control-label">PC端图:</label>--%>
+<%--				<div class="controls">--%>
+<%--					<form:hidden id="cmBrandLandingList0headPcBanner" path="cmBrandLandingList[0].headPcBanner"--%>
+<%--								 htmlEscape="false" value="${cmBrandLandingList[0].headPcBanner}"--%>
+<%--								 maxlength="255" class="input-xlarge required"/>--%>
+<%--					<sys:ckfinder input="cmBrandLandingList0headPcBanner" type="images" uploadPath="/photo"--%>
+<%--								  selectMultiple="false"--%>
+<%--								  maxWidth="100"--%>
+<%--								  maxHeight="100"/>--%>
+<%--				</div>--%>
+<%--				<div class="controls" style="padding-top: 20px;">--%>
+<%--					<p style="color:#D0D0D0 ;">建议尺寸:524 * 382 / PX</p>--%>
+<%--				</div>--%>
+<%--			</span>--%>
+<%--				<span style="float: left">--%>
+<%--				<label class="control-label">小程序端图:</label>--%>
+<%--				<div class="controls">--%>
+<%--					<form:hidden id="cmBrandLandingList0headAppBanner" path="cmBrandLandingList[0].headAppBanner"--%>
+<%--								 htmlEscape="false" value="${cmBrandLandingList[0].headAppBanner}"--%>
+<%--								 maxlength="255" class="input-xlarge"/>--%>
+<%--					<sys:ckfinder input="cmBrandLandingList0headAppBanner" type="images" uploadPath="/photo"--%>
+<%--								  selectMultiple="false"--%>
+<%--								  maxWidth="100"--%>
+<%--								  maxHeight="100"/>--%>
+<%--				</div>--%>
+<%--				<div class="controls" style="padding-top: 20px;">--%>
+<%--					<p style="color:#D0D0D0 ;">建议尺寸:550 * 400 / PX</p>--%>
+<%--				</div>--%>
+<%--			</span>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass"><font--%>
+<%--					color="red">*</font>跳转方式:${cmBrandLandingList} ${cmBrandLandingList[0].jumpStatus}</label>--%>
+<%--			<br>--%>
+<%--			<div class="controls">--%>
+<%--				<input type="radio" name="cmBrandLandingList[0].jumpStatus"--%>
+<%--					   value="2" ${infoType.cmBrandLandingList[0].jumpStatus eq 2?'checked=checked':''}>--%>
+<%--				跳转链接:--%>
+<%--				<form:input path="cmBrandLandingList[0].jumpLink" htmlEscape="false" class="input-xlarge "--%>
+<%--							value="${cmBrandLandingList[0].jumpLink}" disabled="${infoType.cmBrandLandingList[0].jumpStatus eq 2?'false':'true'}"/>--%>
+<%--			</div>--%>
+<%--			<br>--%>
+<%--			<div class="controls">--%>
+<%--				<input type="radio" name="cmBrandLandingList[0].jumpStatus"--%>
+<%--					   value="0" ${empty infoType.cmBrandLandingList[0].jumpStatus?'checked=checked':infoType.cmBrandLandingList[0].jumpStatus eq 0?'checked=checked':''}>--%>
+<%----%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--	</div>--%>
+<%--	<div>--%>
+<%--		<form:hidden path="cmBrandLandingList[1].levelType" value="2"/>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label-text"><font color="red">*</font>广告图2:</label>--%>
+<%--			<br>--%>
+<%--			<div style="margin-left: 80px;">--%>
+<%--				<span style="float: left">--%>
+<%--				<label class="control-label">PC端图:</label>--%>
+<%--				<div class="controls">--%>
+<%--					<form:hidden id="cmBrandLandingList1headPcBanner" path="cmBrandLandingList[1].headPcBanner"--%>
+<%--								 htmlEscape="false" value="${cmBrandLandingList[1].headPcBanner}"--%>
+<%--								 maxlength="255" class="input-xlarge required"/>--%>
+<%--					<sys:ckfinder input="cmBrandLandingList1headPcBanner" type="images" uploadPath="/photo"--%>
+<%--								  selectMultiple="false"--%>
+<%--								  maxWidth="100"--%>
+<%--								  maxHeight="100"/>--%>
+<%--				</div>--%>
+<%--				<div class="controls" style="padding-top: 20px;">--%>
+<%--					<p style="color:#D0D0D0 ;">建议尺寸:360 * 187 / PX</p>--%>
+<%--				</div>--%>
+<%--			</span>--%>
+<%--				<span style="float: left">--%>
+<%--				<label class="control-label">小程序端图:</label>--%>
+<%--				<div class="controls">--%>
+<%--					<form:hidden id="cmBrandLandingList1headAppBanner" path="cmBrandLandingList[1].headAppBanner"--%>
+<%--								 htmlEscape="false" value="${cmBrandLandingList[1].headAppBanner}"--%>
+<%--								 maxlength="255" class="input-xlarge"/>--%>
+<%--					<sys:ckfinder input="cmBrandLandingList1headAppBanner" type="images" uploadPath="/photo"--%>
+<%--								  selectMultiple="false"--%>
+<%--								  maxWidth="100"--%>
+<%--								  maxHeight="100"/>--%>
+<%--				</div>--%>
+<%--				<div class="controls" style="padding-top: 20px;">--%>
+<%--					<p style="color:#D0D0D0 ;">建议尺寸:378 * 192 / PX</p>--%>
+<%--				</div>--%>
+<%--			</span>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass"><font--%>
+<%--					color="red">*</font>跳转方式:${cmBrandLandingList} ${cmBrandLandingList[1].jumpStatus}</label>--%>
+<%--			<br>--%>
+<%--			<div class="controls">--%>
+<%--				<input type="radio" name="cmBrandLandingList[1].jumpStatus"--%>
+<%--					   value="2" ${infoType.cmBrandLandingList[1].jumpStatus eq 2?'checked=checked':''}>--%>
+<%--				跳转链接:--%>
+<%--				<form:input path="cmBrandLandingList[1].jumpLink" htmlEscape="false" class="input-xlarge "--%>
+<%--							value="${cmBrandLandingList[1].jumpLink}" disabled="${infoType.cmBrandLandingList[1].jumpStatus eq 2?'false':'true'}"/>--%>
+<%--			</div>--%>
+<%--			<br>--%>
+<%--			<div class="controls">--%>
+<%--				<input type="radio" name="cmBrandLandingList[1].jumpStatus"--%>
+<%--					   value="0" ${empty infoType.cmBrandLandingList[1].jumpStatus?'checked=checked':infoType.cmBrandLandingList[1].jumpStatus eq 0?'checked=checked':''}>--%>
+<%----%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--	</div>--%>
+<%--	<div>--%>
+<%--		<form:hidden path="cmBrandLandingList[2].levelType" value="2"/>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label-text"><font color="red">*</font>广告图3:</label>--%>
+<%--			<br>--%>
+<%--			<div style="margin-left: 80px;">--%>
+<%--				<span style="float: left">--%>
+<%--				<label class="control-label">PC端图:</label>--%>
+<%--				<div class="controls">--%>
+<%--					<form:hidden id="cmBrandLandingList2headPcBanner" path="cmBrandLandingList[2].headPcBanner"--%>
+<%--								 htmlEscape="false" value="${cmBrandLandingList[2].headPcBanner}"--%>
+<%--								 maxlength="255" class="input-xlarge required"/>--%>
+<%--					<sys:ckfinder input="cmBrandLandingList2headPcBanner" type="images" uploadPath="/photo"--%>
+<%--								  selectMultiple="false"--%>
+<%--								  maxWidth="100"--%>
+<%--								  maxHeight="100"/>--%>
+<%--				</div>--%>
+<%--				<div class="controls" style="padding-top: 20px;">--%>
+<%--					<p style="color:#D0D0D0 ;">建议尺寸:360 * 187 / PX</p>--%>
+<%--				</div>--%>
+<%--			</span>--%>
+<%--				<span style="float: left">--%>
+<%--				<label class="control-label">小程序端图:</label>--%>
+<%--				<div class="controls">--%>
+<%--					<form:hidden id="cmBrandLandingList2headAppBanner" path="cmBrandLandingList[2].headAppBanner"--%>
+<%--								 htmlEscape="false" value="${cmBrandLandingList[2].headAppBanner}"--%>
+<%--								 maxlength="255" class="input-xlarge"/>--%>
+<%--					<sys:ckfinder input="cmBrandLandingList2headAppBanner" type="images" uploadPath="/photo"--%>
+<%--								  selectMultiple="false"--%>
+<%--								  maxWidth="100"--%>
+<%--								  maxHeight="100"/>--%>
+<%--				</div>--%>
+<%--				<div class="controls" style="padding-top: 20px;">--%>
+<%--					<p style="color:#D0D0D0 ;">建议尺寸:378 * 192 / PX</p>--%>
+<%--				</div>--%>
+<%--			</span>--%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--		<div class="control-group">--%>
+<%--			<label class="control-label keyClass"><font--%>
+<%--					color="red">*</font>跳转方式:${cmBrandLandingList} ${cmBrandLandingList[2].jumpStatus}</label>--%>
+<%--			<br>--%>
+<%--			<div class="controls">--%>
+<%--				<input type="radio" name="cmBrandLandingList[2].jumpStatus"--%>
+<%--					   value="2" ${infoType.cmBrandLandingList[2].jumpStatus eq 2?'checked=checked':''}>--%>
+<%--				跳转链接:--%>
+<%--				<form:input path="cmBrandLandingList[2].jumpLink" htmlEscape="false" class="input-xlarge "--%>
+<%--							value="${cmBrandLandingList[2].jumpLink}" disabled="${infoType.cmBrandLandingList[2].jumpStatus eq 2?'false':'true'}"/>--%>
+<%--			</div>--%>
+<%--			<br>--%>
+<%--			<div class="controls">--%>
+<%--				<input type="radio" name="cmBrandLandingList[2].jumpStatus"--%>
+<%--					   value="0" ${empty infoType.cmBrandLandingList[2].jumpStatus?'checked=checked':infoType.cmBrandLandingList[2].jumpStatus eq 0?'checked=checked':''}>--%>
+<%----%>
+<%--			</div>--%>
+<%--		</div>--%>
+<%--	</div>--%>
 	<div class="form-actions">
 		<shiro:hasPermission name="info:infoType:edit"><input id="btnSubmit" class="btn btn-primary" type="submit"
 															  value="保 存"/>&nbsp;</shiro:hasPermission>

+ 153 - 0
src/main/webapp/WEB-INF/views/modules/info/infoTypeLandingList.jsp

@@ -0,0 +1,153 @@
+<%@ 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 type="text/css">
+	.table th{text-align: center;}
+	.table td{text-align: center;}
+	#soft{
+		width: 80px;
+	}
+	</style>
+	<script type="text/javascript">
+		//失焦修改排序值
+		function upSoft(id,item){
+			var soft=$(item).val();
+			$.post("${ctx}/info/infoType/updateLanDingStatus",{'sort':soft,'id':id}, function(data) {
+				if(true==data.success){
+					// setTimeout(function () {
+					// 	$("#searchForm").submit();
+					// },200)
+				} else {
+					// $.jBox.tip(data.msg,'error');
+				}
+			},"JSON");//这里返回的类型有:json,html,xml,text
+		}
+		$(document).ready(function() {
+
+		});
+		function page(n,s){
+			$("#pageNo").val(n);
+			$("#pageSize").val(s);
+			$("#searchForm").submit();
+        	return false;
+        }
+		//状态修改
+		function updateLanDingStatus(pcStatus,appStatus,id){
+			var msg='确定启用?';
+			if(pcStatus==-1?'0'==appStatus:'0'==pcStatus){
+				msg='确定停用?';
+			}
+			top.$.jBox.confirm(msg,'系统提示',function(v,h,f){
+				if(v=='ok'){
+					$.post("${ctx}/info/infoType/updateLanDingStatus",pcStatus==-1?{'appStatus':appStatus,'id':id}:{'pcStatus':pcStatus,'id':id}, function(data) {
+						if(true==data.success){
+							$.jBox.tip(data.msg, 'info');
+						} else {
+							$.jBox.tip(data.msg,'error');
+						}
+			 			$("#searchForm").submit();
+					},"JSON");//这里返回的类型有:json,html,xml,text
+				}
+				return;
+			},{buttonsFocus:1,persistent: true});
+		}
+	</script>
+</head>
+<body>
+	<ul class="nav nav-tabs">
+		<li class="${cmBrandLanding.levelType==1?'active':''}"><a href="${ctx}/info/infoType/infoTypeLandingList?levelType=1">广告图1</a></li>
+		<li class="${cmBrandLanding.levelType==2?'active':''}"><a href="${ctx}/info/infoType/infoTypeLandingList?levelType=2">广告图2</a></li>
+		<li class="${cmBrandLanding.levelType==3?'active':''}"><a href="${ctx}/info/infoType/infoTypeLandingList?levelType=3">广告图3</a></li>
+	</ul>
+	<form:form id="searchForm" modelAttribute="cmBrandLanding" action="${ctx}/info/infoType/infoTypeLandingList" method="post" class="breadcrumb form-search">
+		<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
+		<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
+		<input id="levelType" name="levelType" type="hidden" value="${cmBrandLanding.levelType}"/>
+		<div class="ul-form">
+			 <label>ID:</label>
+				<form:input path="id" htmlEscape="false" maxlength="11" class="input-mini"/>
+			 <label>标题:</label>
+				<form:input path="title" htmlEscape="false" maxlength="100" class="input-medium"/>
+			 <label>小程序端状态:</label>
+				<form:select path="appStatus" class="input-medium">
+					<form:option value="" label=" "/>
+					<form:options items="${fns:getDictList('enabled_status')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+				</form:select>
+			 <label>PC端状态:</label>
+				<form:select path="pcStatus" class="input-medium">
+					<form:option value="" label=" "/>
+					<form:options items="${fns:getDictList('enabled_status')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
+				</form:select>
+			&nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
+			&nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="一键排序"/>
+			&nbsp;&nbsp;<input  class="btn btn-primary" type="button" value="添加" onclick="location.href='${ctx}/cmBrandLanding/form?type=5&levelType=${cmBrandLanding.levelType}'"/>
+			<div class="clearfix"></div>
+		</div>
+	</form:form>
+	<sys:message content="${message}"/>
+	<table id="contentTable" class="table table-striped table-bordered table-condensed">
+		<thead>
+			<tr>
+				<th>ID</th>
+				<th>标题</th>
+				<th>图片</th>
+				<th>链接</th>
+				<th>排序</th>
+				<th>点击量</th>
+				<th>小程序端状态</th>
+				<th>PC端状态</th>
+				<th>添加时间</th>
+				<th>操作</th>
+			</tr>
+		</thead>
+		<tbody>
+		<c:forEach items="${page.list}" var="item">
+			<tr>
+				<td>${item.id}</td>
+				<td>${item.title}</td>
+				<td><img src="${item.headPcBanner}" width="100px;" height="100px;"></td>
+				<td>${item.jumpLink}</td>
+				<td>
+					<input id="sort" type="number" value="${item.sort}" maxlength="11" style="width:50px;" onblur="upSoft(${item.id},this)">
+				</td>
+				<td>${item.pv}</td>
+				<td>
+					<c:if test="${item.appStatus eq 1 }">
+						<a href="javascript:void(0);" onclick="updateLanDingStatus('-1','0','${item.id}');" >
+							<img alt="启用" src="/static/images/yes.gif" width="15px" border="none" title="启用">
+						</a>
+					</c:if>
+					<c:if test="${item.appStatus ne 1 }">
+						<a href="javascript:void(0)" onclick="updateLanDingStatus('-1','1','${item.id}');">
+							<img alt="停用" src="/static/images/no.gif" width="15px" border="none" title="停用">
+						</a>
+					</c:if>
+				</td>
+				<td>
+					<c:if test="${item.pcStatus eq 1 }">
+						<a href="javascript:void(0);" onclick="updateLanDingStatus('0','-1','${item.id}');" >
+							<img alt="启用" src="/static/images/yes.gif" width="15px" border="none" title="启用">
+						</a>
+					</c:if>
+					<c:if test="${item.pcStatus ne 1 }">
+						<a href="javascript:void(0)" onclick="updateLanDingStatus('1','-1','${item.id}');">
+							<img alt="停用" src="/static/images/no.gif" width="15px" border="none" title="停用">
+						</a>
+					</c:if>
+				</td>
+				<td><fmt:formatDate value="${item.addTime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
+				<td>
+    				<a href="${ctx}/cmBrandLanding/form?type=5&levelType=${item.levelType}&id=${item.id}">编辑</a>
+					<a href="${ctx}/cmBrandLanding/del/${item.type}/${item.id}?levelType=${item.levelType}"
+					   onclick="return confirmx('是否删除该数据?', this.href)">删除</a>
+				</td>
+			</tr>
+		</c:forEach>
+		</tbody>
+	</table>
+	<div class="pagination">${page}</div>
+</body>
+</html>

+ 9 - 1
src/main/webapp/WEB-INF/views/modules/info/shopInfoList.jsp

@@ -175,6 +175,12 @@
 					<form:option value="2" label="已上线"/>
 					<form:option value="3" label="已下线"/>
 				</form:select>
+			 <label>供应商状态:</label>
+			 	<form:select path="enabledStatus" class="input-mini">
+					<form:option value="" label="全部"/>
+					<form:option value="1" label="已发布"/>
+					<form:option value="0" label="暂不发布"/>
+				</form:select>
 			&nbsp;&nbsp;<input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
 			<div class="clearfix"></div>
 		</div>
@@ -195,6 +201,7 @@
 				<th>发布人</th>
 				<th>供应商</th>
 				<th>添加时间</th>
+				<th>供应商状态</th>
 				<shiro:hasPermission name="info:info:edit"><th>操作</th></shiro:hasPermission>
 			</tr>
 		</thead>
@@ -228,7 +235,8 @@
                     ${info.shopName}
                 </td>
 				<td><fmt:formatDate value="${info.createDate}" pattern="yyyy-MM-dd HH:mm:ss"/></td>
-                <td hidden>
+				<td><font color="${info.enabledStatus eq 1?'#2FA4E7':'red'}"> ${info.enabledStatus eq 1?'已发布':'暂不发布'}</font></td>
+				<td hidden>
                     <label id="homePageImage${index.index}">${info.homePageImage}</label>
                 </td>
 				<shiro:hasPermission name="info:info:edit"><td style="width: 150px">

+ 158 - 0
src/main/webapp/WEB-INF/views/modules/landing/cmAdminMobileList.jsp

@@ -0,0 +1,158 @@
+<%@ 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>
+		.addHtml {
+			display: none;
+		}
+
+		.cmAdminMobile:last-child .addHtml {
+			display: inline-block;
+		}
+	</style>
+</head>
+<body>
+<ul class="nav nav-tabs">
+	<li><a href="${ctx}/cmQuestionnaire/list?type=${questionnaireType}">用户需求列表</a></li>
+	<li class="active"><a href="${ctx}/cmQuestionnaire/adminMobileList">短信推送设置</a></li>
+</ul>
+<h4 style="margin-left: 100px">设置短信推送的手机号,以便及时接受供应商的需求消息(注:添加或修改手机号码,需保存后才能生效)</h4>
+<br/>
+
+<div class="cmAdminMobileList">
+	<c:forEach items="${cmAdminMobileList}" var="item" varStatus="status">
+		<form:form id="inputForm${status.index}" modelAttribute="cmAdminMobile" method="post"
+				   action="#"
+				   class="form-horizontal cmAdminMobile">
+			<div style="margin-left: 100px">
+				<form:hidden path="id" value="${item.id}"/>
+				<form:hidden path="type" value="1"/>
+				手机号 <form:input path="mobile" value="${item.mobile}" maxlength="11" onkeyup="onlynum(this)"/>
+				是否开启
+				<form:select path="enabledStatus" class="input-medium required" value="${item.enabledStatus}"
+							 style="width:60px">
+					<form:option value="1" label="是"/>
+					<form:option value="0" label="否"/>
+				</form:select>
+				<span class="addHtml">
+					<input class="btn" type="button" value="添加" onclick="addHtml()"/>
+					<input class="btn" type="button" value="删除" onclick="delHtml(this)"/>
+				</span>
+				<br/>
+				<br/>
+			</div>
+		</form:form>
+	</c:forEach>
+</div>
+<div class="form-actions">
+	<input class="btn btn-primary" type="button" value="保存" onclick="adminMobileSaves()" style="margin-left: 300px"/>
+	<%--		<input id="btnCancel" class="btn" type="button" value="返回" onclick="history.go(-1)"/>--%>
+</div>
+
+<script type="text/javascript">
+	$(document).ready(function () {
+
+		/**
+		 * 将Form的数据转化成Javascript的Json对象
+		 */
+		$.fn.serializeObject = function () {
+			var o = {};
+			var a = this.serializeArray();
+			$.each(a, function () {
+				if (o[this.name] !== undefined) {
+					if (!o[this.name].push) {
+						o[this.name] = [o[this.name]];
+					}
+					o[this.name].push(this.value || '');
+				} else {
+					o[this.name] = this.value || '';
+				}
+			});
+			return o;
+		}
+
+	});
+
+	/**
+	 * @param obj
+	 * jquery控制input只能输入数字
+	 */
+	function onlynum(obj) {
+		obj.value = obj.value.replace(/[^\d]/g, ""); //清除"数字"以外的字符
+	}
+
+	function delHtml(item) {
+		$(item).parents(".cmAdminMobile").remove()
+	}
+
+	// 修改stauus
+	function addHtml() {
+		var html = "";
+		html += '<form id="inputForm' + $(" .cmAdminMobile").length + '" modelAttribute="cmAdminMobile" method="post"'
+		html += '		   action="#"'
+		html += '		   class="form-horizontal cmAdminMobile">'
+		html += '	<div style="margin-left: 100px" >'
+		html += '		<input type="hidden" name="id"/>'
+		html += '		<input type="hidden" name="type" value="1"/>'
+		html += '		手机号 <input type="text" name="mobile"maxlength="11"  onkeyup="onlynum(this)"/>'
+		html += '		是否开启'
+		html += '		<select name="enabledStatus" class="input-medium required" '
+		html += '					 style="width:60px">'
+		html += '			<option value="1" label="是"/>'
+		html += '			<option value="0" label="否"/>'
+		html += '		</select>'
+		html += '		<span class="addHtml">'
+		html += '			<input class="btn" type="button" value="添加" onclick="addHtml()"/>'
+		html += '			<input class="btn" type="button" value="删除" onclick="delHtml(this)"/>'
+		html += '		</span>'
+		html += '		<br/>'
+		html += '		<br/>'
+		html += '	</div>'
+		html += '</form>'
+
+		$(".cmAdminMobileList").append(html)
+	}
+
+	// 修改stauus
+	function adminMobileSaves() {
+		var flag=true
+		$("input[name='mobile']").each(function () {
+			if ($(this).val().length!=11) {
+				$.jBox.tip("请输入正确的手机号!", 'error');
+				flag=false
+				return
+			}
+		})
+		if (flag==false) {
+			return flag
+		}
+		var arr = [];
+		for (let i = 0; i < $(".cmAdminMobile").length; i++) {
+			arr.push($("#inputForm" + i).serializeObject())
+		}
+		console.log($(".cmAdminMobile").length)
+		$.ajax({
+			url: "${ctx}/cmQuestionnaire/adminMobileSaves",
+			data: JSON.stringify(arr),
+			type: "post",
+			dataType: "json",
+			contentType: 'application/json;charset=UTF-8', //contentType很重要
+			success: function (res) {
+				if (res.success) {
+					$.jBox.tip(res.msg, 'info');
+					history.go(0)
+				} else {
+					$.jBox.tip(res.msg, 'error');
+				}
+			},
+			error: function (res) {
+				$.jBox.tip(res.msg, 'error');
+			}
+		});
+	}
+</script>
+</body>
+</html>

+ 2 - 0
src/main/webapp/WEB-INF/views/modules/landing/cmQuestionnaireList.jsp

@@ -29,6 +29,8 @@
 <body>
 <ul class="nav nav-tabs">
 	<li class="active"><a href="${ctx}/cmQuestionnaire/list?type=${cmQuestionnaire.type}">用户需求列表</a></li>
+	<li ><a href="${ctx}/cmQuestionnaire/adminMobileList?questionnaireType=${cmQuestionnaire.type}">短信推送设置</a></li>
+
 </ul>
 <form:form id="searchForm" modelAttribute="cmQuestionnaire" action="${ctx}/cmQuestionnaire/list" method="post"
 		   class="breadcrumb form-search">

+ 3 - 7
src/main/webapp/WEB-INF/views/modules/landing/newPageCmBrandLandingList.jsp

@@ -176,9 +176,7 @@
         <th>ID</th>
         <th>标题</th>
         <th>图片</th>
-        <c:if test="${type eq 1}">
-            <th>排序</th>
-        </c:if>
+        <th>排序</th>
         <th>小程序端状态</th>
         <th>PC端状态</th>
         <th>创建时间</th>
@@ -191,13 +189,11 @@
             <td>${cmBrandLanding.id}</td>
             <td>${cmBrandLanding.title}</td>
             <td><img style="width:120px;height: 80px;" src="${cmBrandLanding.headPcBanner}"/></td>
-            <c:if test="${type eq 1}">
-                <td>
+            <td>
                     <input id="sortNum${cmBrandLanding.id}" type="text" name="sort" style="width:50px;"
                            value="${cmBrandLanding.sort}" onkeyup="onlynum(this)"
                            onchange="changeSort(${cmBrandLanding.id})"/>
-                </td>
-            </c:if>
+            </td>
             <td>
                 <c:if test="${cmBrandLanding.appStatus eq 1 }">
                     <a href="javascript:void(0);" onclick="updateCrmEnabledStatusByIds('0','${cmBrandLanding.id}');">

+ 41 - 10
src/main/webapp/WEB-INF/views/modules/landing/newPageCmbrandLandingForm.jsp

@@ -175,7 +175,7 @@
 						alertx("请先选择小程序端图!");
 						return false
 					}
-					if ((content== undefined || content.trim() == "")&&${type!=2}) {
+					if ((content== undefined || content.trim() == "")&&${type==3}) {
 						alertx("请先输入内容!");
 						return false
 					}
@@ -211,7 +211,7 @@
 <c:if test="${type==1}">
 	<ul class="nav nav-tabs">
 		<li><a href="${ctx}/cmBrandLanding/list?type=${type}">成功案例</a></li>
-		<li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}">成功案例<shiro:hasPermission
+		<li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}&type=${type}">成功案例<shiro:hasPermission
 				name="newhome:newPageHomeimage:edit">${not empty cmBrandLanding.id?'编辑':'添加'}</shiro:hasPermission><shiro:lacksPermission
 				name="newhome:newPageHomeimage:edit">查看</shiro:lacksPermission></a></li>
 	</ul>
@@ -219,7 +219,7 @@
 <c:if test="${type==2}">
 	<ul class="nav nav-tabs">
 		<li><a href="${ctx}/cmBrandLanding/list?type=${type}">视频列表</a></li>
-		<li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}">视频<shiro:hasPermission
+		<li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}&type=${type}">视频<shiro:hasPermission
 				name="newhome:newPageHomeimage:edit">${not empty cmBrandLanding.id?'编辑':'添加'}</shiro:hasPermission><shiro:lacksPermission
 				name="newhome:newPageHomeimage:edit">查看</shiro:lacksPermission></a></li>
 		<li><a href="${ctx}/cmBrandLanding/list?type=3">文章列表</a></li>
@@ -231,16 +231,27 @@
 		<li><a href="${ctx}/cmBrandLanding/list?type=2">视频列表</a></li>
 		<li><a href="${ctx}/cmBrandLanding/form?type=2">添加视频</a></li>
 		<li><a href="${ctx}/cmBrandLanding/list?type=${type}">文章列表</a></li>
-		<li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}">文章<shiro:hasPermission
+		<li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}&type=${type}">文章<shiro:hasPermission
 				name="newhome:newPageHomeimage:edit">${not empty cmBrandLanding.id?'编辑':'添加'}</shiro:hasPermission><shiro:lacksPermission
 				name="newhome:newPageHomeimage:edit">查看</shiro:lacksPermission></a></li>
 	</ul>
 </c:if>
+<c:if test="${type==5}">
+	<ul class="nav nav-tabs">
+		<li ><a href="${ctx}/info/infoType/infoTypeLandingList?levelType=1">广告图1</a></li>
+		<c:if test="${cmBrandLanding.levelType==1}"><li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}&type=${type}">${not empty cmBrandLanding.id?'编辑':'添加'}</a></li></c:if>
+		<li ><a href="${ctx}/info/infoType/infoTypeLandingList?levelType=2">广告图2</a></li>
+		<c:if test="${cmBrandLanding.levelType==2}"><li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}&type=${type}">${not empty cmBrandLanding.id?'编辑':'添加'}</a></li></c:if>
+		<li ><a href="${ctx}/info/infoType/infoTypeLandingList?levelType=3">广告图3</a></li>
+		<c:if test="${cmBrandLanding.levelType==3}"><li class="active"><a href="${ctx}/cmBrandLanding/form?id=${cmBrandLanding.id}&type=${type}">${not empty cmBrandLanding.id?'编辑':'添加'}</a></li></c:if>
+	</ul>
+</c:if>
 <br/>
 <form:form id="inputForm" modelAttribute="cmBrandLanding" action="${ctx}/cmBrandLanding/save" method="post"
 		   class="form-horizontal">
 	<form:hidden path="id"/>
 	<form:hidden path="type" value="${type}"/>
+	<form:hidden path="levelType" />
 	<form:hidden path="video"/>
 	<sys:message content="${message}"/>
 	<div class="control-group">
@@ -259,10 +270,21 @@
 						  maxHeight="100"/>
 		</div>
 		<div class="controls" style="padding-top: 20px;">
-			<p style="color:#D0D0D0 ;">建议尺寸:1920 * 510 / PX</p>
+			<p style="color:#D0D0D0 ;">建议尺寸:
+				<c:if test="${type!=5}">1920 * 510 </c:if>
+				<c:if test="${type==5&&cmBrandLanding.levelType==1}">524 * 382 </c:if>
+				<c:if test="${type==5&&cmBrandLanding.levelType!=1}">360 * 187 </c:if>
+				/ PX</p>
 		</div>
 	</div>
-
+	<c:if test="${type==5}">
+	<div class="control-group">
+		<label class="control-label"><span class="help-inline"><font color="red">*</font> </span>PC端链接:</label>
+		<div class="controls">
+			<form:input path="jumpLink" htmlEscape="false" class="input-xlarge required"/>
+		</div>
+	</div>
+	</c:if>
 	<div class="control-group">
 		<label class="control-label"><font color="red">*</font>小程序端图:</label>
 		<div class="controls">
@@ -272,10 +294,21 @@
 						  maxHeight="100"/>
 		</div>
 		<div class="controls" style="padding-top: 20px;">
-			<p style="color:#D0D0D0 ;">建议尺寸:750 * 366 / PX</p>
+			<p style="color:#D0D0D0 ;">建议尺寸: <c:if test="${type!=5}">750 * 366</c:if>
+				<c:if test="${type==5&&cmBrandLanding.levelType==1}">550 * 400 </c:if>
+				<c:if test="${type==5&&cmBrandLanding.levelType!=1}">378 * 192 </c:if>
+				/ PX</p>
 		</div>
 	</div>
-	<c:if test="${type!=2}">
+	<c:if test="${type==5}">
+		<div class="control-group">
+			<label class="control-label"><span class="help-inline"><font color="red">*</font> </span>PC端链接:</label>
+			<div class="controls">
+				<form:input path="jumpAppLink" htmlEscape="false" class="input-xlarge required"/>
+			</div>
+		</div>
+	</c:if>
+	<c:if test="${type==3}">
 		<div class="control-group" style="width:812px">
 			<label class="control-label"><font color="red">*</font>内容:</label>
 			<div class="controls">
@@ -303,7 +336,6 @@
 			</div>
 		</div>
 	</c:if>
-	<c:if test="${type==1}">
 		<div class="control-group">
 			<label class="control-label"><span class="help-inline"><font color="red">*</font> </span>排序:</label>
 			<div class="controls">
@@ -317,7 +349,6 @@
 				</c:if>
 			</div>
 		</div>
-	</c:if>
 	<div class="control-group crmstatus" style="">
 		<label class="control-label">小程序状态:</label>
 		<div class="controls">

+ 76 - 54
src/main/webapp/WEB-INF/views/modules/order/shopOrderDetail.jsp

@@ -53,6 +53,43 @@
         <td>手机: ${order.mobile}</td>
     </tr>
 
+    <%--    <tr>--%>
+    <%--        <td>--%>
+    <%--            收款状态:--%>
+    <%--            <c:if test="${order.receiptStatus == 1}">--%>
+    <%--                <font color="red">待收款</font>--%>
+    <%--            </c:if>--%>
+    <%--            <c:if test="${order.receiptStatus == 2}">--%>
+    <%--                <font color="#ff8c00">部分收款</font>--%>
+    <%--            </c:if>--%>
+    <%--            <c:if test="${order.receiptStatus == 3}">--%>
+    <%--                <font color="green">已收款</font>--%>
+    <%--            </c:if>--%>
+    <%--        </td>--%>
+
+    <%--        <td>发货状态:--%>
+    <%--            <c:if test="${order.sendOutStatus == 1}">--%>
+    <%--                <font color="red">待发货</font>--%>
+    <%--            </c:if>--%>
+    <%--            <c:if test="${order.sendOutStatus == 2}">--%>
+    <%--                <font color="#ff8c00">部分发货</font>--%>
+    <%--            </c:if>--%>
+    <%--            <c:if test="${order.sendOutStatus == 3}">--%>
+    <%--                <font color="green">已发货</font>--%>
+    <%--            </c:if></td>--%>
+    <%--        <td>付款状态:--%>
+    <%--            <c:if test="${order.payStatus == 1}">--%>
+    <%--                <font color="red">待付款</font>--%>
+    <%--            </c:if>--%>
+    <%--            <c:if test="${order.payStatus == 2}">--%>
+    <%--                <font color="#ff8c00">部分付款</font>--%>
+    <%--            </c:if>--%>
+    <%--            <c:if test="${order.payStatus == 3}">--%>
+    <%--                <font color="green">已付款</font>--%>
+    <%--            </c:if></td>--%>
+    <%--        </td>--%>
+    <%--    </tr>--%>
+
     <tr>
         <td>
             退款状态:
@@ -63,6 +100,20 @@
                 <font>有退款</font>
             </c:if>
         </td>
+        <td>机构:${order.buyer}
+            <font id="svipFlagLabel" style="margin-left:0px" color="red">
+                <%--                <c:if test="${order.bpOrderUserinfo.firstClubType eq 1 and order.bpOrderUserinfo.svipFlag eq 1}">--%>
+                <%--                    (医美机构,超级会员)--%>
+                <%--                </c:if>--%>
+                <%--                <c:if test="${order.bpOrderUserinfo.firstClubType eq 1 and order.bpOrderUserinfo.svipFlag eq null}">--%>
+                <%--                    ${order.bpOrderUserinfo.firstClubType eq 1?'(医美机构)':''}--%>
+                <%--                </c:if>--%>
+                <%--                <c:if test="${order.bpOrderUserinfo.firstClubType eq null and order.bpOrderUserinfo.svipFlag eq 1}">--%>
+                <%--                    ${order.bpOrderUserinfo.svipFlag eq 1?'(超级会员)':''}--%>
+                <%--                </c:if>--%>
+                <c:if test="${order.organizeID == 4}">(联合丽格)</c:if>
+            </font>
+        </td>
     </tr>
 
     <tr>
@@ -74,21 +125,22 @@
                                            onclick="operation(${order.shopOrderID})">功能</a>
             <div style="position: absolute;">
                 <div class="operation-block ${order.shopOrderID}" style="position: sticky;">
-                    <shiro:hasPermission name="order:order:edit">
-                        <%--包含订单充值商品就不显示--%>
-                        <c:if test="${order.status == 0 and order.organizeID != 4}">
-                            <a href="${ctx}/order/confirmOrder?orderID=${order.orderID}&shopOrderID=${order.shopOrderID}"
-                               onclick="return confirmx('是否确认订单?', this.href)">确认订单</a>
-                        </c:if>
-                    </shiro:hasPermission>
-
+                    <c:if test="${order.orderSource != 9}">
+                        <shiro:hasPermission name="order:order:edit">
+                            <%--包含订单充值商品就不显示--%>
+                            <c:if test="${order.status == 0}">
+                                <a href="${ctx}/order/confirmOrder?orderID=${order.orderID}&shopOrderID=${order.shopOrderID}"
+                                   onclick="return confirmx('是否确认订单?', this.href)">确认订单</a>
+                            </c:if>
+                        </shiro:hasPermission>
+                    </c:if>
 
                     <shiro:hasPermission name="order:order:edit">
                         <%--包含订单充值商品就不显示--%>
                         <a href="${ctx}/order/logisticsDetails?orderID=${order.orderID}&shopOrderID=${order.shopOrderID}">发货记录</a>
                         <a href="${ctx}/bulkpurchase/cmRefundsProduct/toShopOrderRefundRecord.rpc?orderID=${order.orderID}&shopOrderID=${order.shopOrderID}&from=2">收付款记录</a>
                         <a href="${ctx}/bulkpurchase/cmRefundsProduct/toRecturnRecordByShopOrder.rpc?orderID=${order.orderID}&shopOrderID=${order.shopOrderID}">退款(退货)记录</a>
-                        <c:if test="${order.status != 4 and order.payStatus eq 1 and order.receiptStatus eq 1 and order.sendOutStatus eq 1 and order.organizeID != 4}">
+                        <c:if test="${order.status != 4 and order.payStatus eq 1 and order.receiptStatus eq 1 and order.sendOutStatus eq 1}">
                             <a href="${ctx}/order/cancelShopOrder?shopOrderId=${order.shopOrderID}"
                                onclick="return confirmx('是否取消订单?', this.href)">取消订单</a>
                         </c:if>
@@ -169,7 +221,7 @@
 <%--    </c:if>--%>
 <%--</div>--%>
 <div class="remarkShow">
-    <b><a onclick="openRemarks(${order.orderID},${order.shopOrderID})" style="color: white">订单备注展开 《</a></b>
+    <b>订单备注<a onclick="openRemarks(${order.orderID},${order.shopOrderID})" style="color: white">展开 《</a></b>
 </div>
 <div class="order-rows">
     <div>
@@ -505,12 +557,7 @@
     </c:if>
     <c:if test="${order.orderInvoice.type eq 1}">
         <%--            <input name="invoice" type="radio" checked="checked">--%>
-        <c:if test="${order.orderInvoice.invoiceTitleType eq 0}">
-            <label>普票 - 个人</label>
-        </c:if>
-        <c:if test="${order.orderInvoice.invoiceTitleType eq 1}">
-            <label>普票 - 单位</label>
-        </c:if>
+        <label>增值税普通发票</label>
     </c:if>
     <c:if test="${order.orderInvoice.type eq 2}">
         <%--            <input name="invoice" type="radio" checked="checked">--%>
@@ -523,20 +570,19 @@
     <c:if test="${order.orderInvoice.type == 1}">
         <br>
         <div>
-            <span> 发票抬头: ${order.orderInvoice.invoiceTitle} </span>
-            <c:if test="${order.orderInvoice.invoiceTitleType eq 1}">
-                <span>单位税号:${order.orderInvoice.corporationTaxNum}</span>
-                <table>
-                    <tr>
-                        <td><span>注册地址:${order.orderInvoice.registeredAddress}</span></td>
-                        <td><span>注册电话:${order.orderInvoice.registeredPhone}</span></td>
-                    </tr>
-                    <tr>
-                        <td><span>开户银行:${empty order.orderInvoice.openBank ? '无' : order.orderInvoice.openBank }</span></td>
-                        <td><span>银行账号:${empty order.orderInvoice.bankAccountNo ? '无' : order.orderInvoice.bankAccountNo }</span></td>
-                    </tr>
-                </table>
-            </c:if>
+                    <span>
+                        <c:if test="${order.orderInvoice.invoiceTitleType eq 0}">
+                            个人抬头:
+                            <span>${order.orderInvoice.invoiceTitle}</span>
+                        </c:if>
+                        <c:if test="${order.orderInvoice.invoiceTitleType eq 1}">
+                            企业抬头:
+                            <span>${order.orderInvoice.invoiceTitle}</span>
+                            &nbsp;&nbsp;&nbsp;&nbsp;
+                            纳税人识别号:
+                            <span>${order.orderInvoice.corporationTaxNum}</span>
+                        </c:if>
+                    </span>
         </div>
     </c:if>
     <c:if test="${order.orderInvoice.type == 2}">
@@ -574,30 +620,6 @@
         </c:forEach>
     </div>
 </c:if>
-<c:if test="${ order.voucherVo ne null }">
-    <div class="order-rows">
-
-        <label>线下支付凭证:</label>
-        <c:forEach items="${order.voucherVo}" var="voucher">
-            <div>
-                <p><fmt:formatDate value="${voucher.addTime}" pattern="yyyy-MM-dd HH:mm:ss"/></p>
-                <c:if test="${voucher.images ne null  }">
-                    <div>
-                        <c:forEach items="${voucher.images}" var="items" varStatus="index">
-                            <c:if test="${items.image ne null  }">
-                                <a href="${items.image}" target="_blank">
-                                    <img class="supplier-img" src="${items.image}"
-                                         style="width: 120px;height: 120px"/>
-                                </a>
-                            </c:if>
-                        </c:forEach>
-                    </div>
-                </c:if>
-                <p>备注: ${voucher.remarks}</p>
-            </div>
-        </c:forEach>
-    </div>
-</c:if>
 <%-- 订单备注抽屉 --%>
 <%--<div class="remarks-drawer-content">--%>
 <%--    <div class="drawer-btn-main">--%>

+ 1 - 1
src/main/webapp/static/content-edit.js

@@ -314,7 +314,7 @@ class ContentEditInput {
         this.edit = new ContentEdit({
             el: this.input[0],
             change: (html) => {
-                this.realInput.attr('value', html)
+                this.realInput.attr('value', html.replace(/\n/g, '<br/>'))
             },
         })
         if(this.edit){