Просмотр исходного кода

Merge branch 'test' of jishutao/jitao-server into prod

liliang4869 лет назад: 7
Родитель
Сommit
1a66a1236b
48 измененных файлов с 529 добавлено и 419 удалено
  1. 14 0
      src/main/java/com/goafanti/achievement/controller/AdminAchievementApiController.java
  2. 18 8
      src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java
  3. 13 0
      src/main/java/com/goafanti/admin/controller/AdminApiController.java
  4. 43 3
      src/main/java/com/goafanti/business/controller/AdminJtBusinessController.java
  5. 5 1
      src/main/java/com/goafanti/business/service/impl/JtBusinessServiceImpl.java
  6. 2 0
      src/main/java/com/goafanti/common/constant/PageConstants.java
  7. 42 0
      src/main/java/com/goafanti/common/controller/BaseApiController.java
  8. 7 0
      src/main/java/com/goafanti/common/controller/PortalController.java
  9. 27 0
      src/main/java/com/goafanti/common/controller/PublicController.java
  10. 8 5
      src/main/java/com/goafanti/common/controller/WebpageController.java
  11. 2 3
      src/main/java/com/goafanti/common/mapper/JtBusinessProjectMapper.xml
  12. 21 5
      src/main/java/com/goafanti/common/mapper/JtCollectSearchMapper.xml
  13. 1 1
      src/main/java/com/goafanti/common/mapper/UserIdentityMapper.xml
  14. 12 0
      src/main/java/com/goafanti/common/model/JtCollectSearch.java
  15. 10 0
      src/main/java/com/goafanti/common/utils/FileUtils.java
  16. 19 0
      src/main/java/com/goafanti/demand/controller/AdminDemandApiController.java
  17. 12 2
      src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java
  18. 5 0
      src/main/java/com/goafanti/news/service/NewsService.java
  19. 5 0
      src/main/java/com/goafanti/news/service/PolicyService.java
  20. 1 1
      src/main/java/com/goafanti/user/bo/InputOrganizationIdentity.java
  21. 83 11
      src/main/java/com/goafanti/user/controller/UserApiController.java
  22. 6 1
      src/main/java/com/goafanti/user/service/impl/UserIdentityServiceImpl.java
  23. 1 1
      src/main/resources/props/config_local.properties
  24. 4 4
      src/main/webapp/WEB-INF/views/common.html
  25. 2 2
      src/main/webapp/WEB-INF/views/portal/adviser.html
  26. 4 2
      src/main/webapp/WEB-INF/views/portal/adviser/adviserDetail.html
  27. 4 2
      src/main/webapp/WEB-INF/views/portal/adviser/adviserList.html
  28. 1 1
      src/main/webapp/WEB-INF/views/portal/companyProfile.html
  29. 1 118
      src/main/webapp/WEB-INF/views/portal/continueHigh.html
  30. 1 1
      src/main/webapp/WEB-INF/views/portal/evaluation/evaluate.html
  31. 115 0
      src/main/webapp/WEB-INF/views/portal/facilitator.html
  32. 4 4
      src/main/webapp/WEB-INF/views/portal/indexOld.html
  33. 1 113
      src/main/webapp/WEB-INF/views/portal/militaryProject.html
  34. 1 1
      src/main/webapp/WEB-INF/views/portal/news/newsDetailApp.html
  35. 1 110
      src/main/webapp/WEB-INF/views/portal/practicalPatent.html
  36. 17 4
      src/main/webapp/WEB-INF/views/portal/search.html
  37. 1 1
      src/main/webapp/WEB-INF/views/portal/service/patent.html
  38. 1 1
      src/main/webapp/WEB-INF/views/portal/service/patentList.html
  39. 1 1
      src/main/webapp/WEB-INF/views/portal/service/patenteDetails.html
  40. 1 1
      src/main/webapp/WEB-INF/views/portal/service/serviceDetails.html
  41. 1 1
      src/main/webapp/WEB-INF/views/portal/service/serviceIndex.html
  42. 2 2
      src/main/webapp/WEB-INF/views/portal/service/serviceList.html
  43. 3 3
      src/main/webapp/WEB-INF/views/portal/technologyTrading/achievement.html
  44. 1 1
      src/main/webapp/WEB-INF/views/portal/technologyTrading/achievementList.html
  45. 2 1
      src/main/webapp/WEB-INF/views/portal/technologyTrading/demand.html
  46. 1 1
      src/main/webapp/WEB-INF/views/portal/technologyTrading/demandList.html
  47. 1 1
      src/main/webapp/WEB-INF/views/portal/technologyTrading/shopList.html
  48. 1 1
      src/main/webapp/WEB-INF/views/portal/technologyTrading/tradingIndex.html

+ 14 - 0
src/main/java/com/goafanti/achievement/controller/AdminAchievementApiController.java

@@ -23,6 +23,7 @@ import com.goafanti.common.enums.AchievementAuditStatus;
 import com.goafanti.common.enums.AttachmentType;
 import com.goafanti.common.model.Achievement;
 import com.goafanti.common.model.AchievementPublish;
+import com.goafanti.common.model.UserIdentity;
 import com.goafanti.common.service.BranchInformationService;
 import com.goafanti.common.utils.StringUtils;
 import com.goafanti.portal.bo.AchievementResultObject;
@@ -95,6 +96,19 @@ public class AdminAchievementApiController extends CertifyApiController {
     	achievementService.updateAuditAchievement( id,auditResult,auditInfo);
     	return result; 
     }
+    
+  //撤销成果
+  		@RequestMapping(value="/annul", method = RequestMethod.POST)
+  		public Result annul(String id){
+  			Result res = new Result();
+  			if (StringUtils.isBlank(id)) {
+  				res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","撤销"));
+  				return res;
+  			}
+  			achievementService.updateAuditAchievement( id,0,null);
+  			res.setData(1);
+  			return res;
+  		}
 	@RequestMapping(value = "/achievementDetail",method=RequestMethod.GET)
 	private Result Detail(String id) {
 		Result result=new Result();

+ 18 - 8
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -789,23 +789,33 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 		int auditStatus=AchievementAuditStatus.AUDITED.getCode().intValue();
 		if(auditResult.intValue() == 0) {
 			auditStatus=AchievementAuditStatus.UNAUDITED.getCode().intValue();
+			if(collectFlag)jtCollectSearchMapper.deleteByrowId(id);
 		}
-		else auditStatus=AchievementAuditStatus.AUDITED.getCode().intValue();
-		Achievement achievement=new Achievement();
-		achievement.setId(id);
-		achievement.setAuditStatus(auditStatus);
-		achievement.setAuditInfo(auditInfo);
-		achievement.setReleaseDate(new Date());
-		achievementMapper.updateByPrimaryKeySelective(achievement);
-		if(collectFlag){
+		else {
+			auditStatus=AchievementAuditStatus.AUDITED.getCode().intValue();
+			if(collectFlag){
 			Achievement a=achievementMapper.selectByPrimaryKey(id);
 			JtCollectSearch r=new JtCollectSearch();
 			r.setFromTable(collectType.ACHIEVEMENT.getDesc());
 			r.setKeyword(a.getKeyword());
 			r.setTitle(a.getName());
 			r.setRowId(a.getId());
+			String sum = a.getIntroduction();
+			if(null != sum && sum.length() > 40){
+				sum = sum.substring(0,40) + "...";
+			}
+			r.setSummary(sum);
 			jtCollectSearchMapper.insertSelective(r);
 		}
+		}
+		
+		Achievement achievement=new Achievement();
+		achievement.setId(id);
+		achievement.setAuditStatus(auditStatus);
+		achievement.setAuditInfo(auditInfo);
+		achievement.setReleaseDate(new Date());
+		achievementMapper.updateByPrimaryKeySelective(achievement);
+		
 		return auditStatus;
 	}
 

+ 13 - 0
src/main/java/com/goafanti/admin/controller/AdminApiController.java

@@ -416,6 +416,19 @@ public class AdminApiController extends CertifyApiController {
 		res.setData(userIdentityService.updateAuditing(identity));
 		return res;
 	}
+	//管理员打回专家顾问
+		@RequestMapping(value="/annul", method = RequestMethod.POST)
+		public Result annul(UserIdentity identity){
+			Result res = new Result();
+			if (StringUtils.isBlank(identity.getId())) {
+				res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","撤销"));
+				return res;
+			}
+			identity.setAuditStatus(3);
+			identity.setAuditInfo("");
+			res.setData(userIdentityService.updateAuditing(identity));
+			return res;
+		}
 	
 	//获得注册用户信息
 	@RequestMapping(value="/user/info", method = RequestMethod.GET)

+ 43 - 3
src/main/java/com/goafanti/business/controller/AdminJtBusinessController.java

@@ -259,9 +259,9 @@ public class AdminJtBusinessController extends CertifyApiController{
     	if(jtBusinessProject==null) {
     		result.getError().add(buildError(ErrorConstants.PARAM_ERROR,"未找到服务","服务Id"));return result;
     	}
-    	if(jtBusinessProject.getAuditStatus()!= ProjectAuditStatus.SUBMIT.getCode()) {
+    	/*if(jtBusinessProject.getAuditStatus()!= ProjectAuditStatus.SUBMIT.getCode()) {
     		result.getError().add(buildError(ErrorConstants.PARAM_ERROR,"未找到服务","当前状态不可审核"));return result;
-    	}
+    	}*/
     	if(auditResult.intValue() == 0){
     		jtBusinessProject.setAuditStatus(ProjectAuditStatus.AUDITED.getCode());
     		jtBusinessService.addJtCollectSearch(jtBusinessProject);
@@ -271,7 +271,47 @@ public class AdminJtBusinessController extends CertifyApiController{
     	jtBusinessService.updateProject(jtBusinessProject);
     	return result; 
 	}
-	
+	/**
+	 * 撤销项目
+	 * @param jtBusinessProject
+	 * @return
+	 */
+	@RequestMapping(value="/project/annul" ,method=RequestMethod.POST)
+    private Result projectAnnul(JtBusinessProject jtBusinessProject) {
+    	Result result=new Result();
+    	if (StringUtils.isBlank(jtBusinessProject.getId())) {
+    		result.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","撤销"));
+			return result;
+		}
+    	jtBusinessProject.setAuditStatus(3);
+    	jtBusinessService.updateJtCollectSearch(jtBusinessProject.getId());
+    	result.setData(jtBusinessService.updateProject(jtBusinessProject));
+    	return result; 
+	}
+	/**
+	 * 项目是否热门
+	 * @param jtBusinessProject
+	 * @return
+	 */
+	@RequestMapping(value="/project/ifHot" ,method=RequestMethod.POST)
+    private Result projectIfHot(JtBusinessProject jtBusinessProject) {
+		Result result=new Result();
+    	if (StringUtils.isBlank(jtBusinessProject.getId())) {
+    		result.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","撤销"));
+			return result;
+		}
+    	if (null==jtBusinessProject.getIsHot()) {
+    		result.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","撤销"));
+			return result;
+		}
+		if (jtBusinessProject.getIsHot()==0) {
+			jtBusinessProject.setIsHot(1);
+		}else {
+			jtBusinessProject.setIsHot(0);
+		}
+		result.setData(jtBusinessService.updateProject(jtBusinessProject));
+		return result;
+	}
 	/*
 	 * 新增标签
 	 * */

+ 5 - 1
src/main/java/com/goafanti/business/service/impl/JtBusinessServiceImpl.java

@@ -106,7 +106,6 @@ public class JtBusinessServiceImpl  extends BaseMybatisDao<JtBusinessProjectMapp
 			Integer pageNo,Integer privateProject,Integer auditStatus,Integer module,Integer isHot,Integer orderType,Integer orderSort,String ownerId) {
 		if(orderType==null)orderType=0;
 		if(orderSort==null)orderSort=0;
-		// TODO Auto-generated method stub
 		if (pageNo == null || pageNo < 0) {
 			pageNo = 1;
 		}
@@ -507,6 +506,11 @@ public class JtBusinessServiceImpl  extends BaseMybatisDao<JtBusinessProjectMapp
 		r.setKeyword(jtBusinessProject.getKeyword());
 		r.setTitle(jtBusinessProject.getName());
 		r.setRowId(jtBusinessProject.getId());
+		String sum = jtBusinessProject.getAdvertisement();
+		if(null != sum && sum.length() > 40){
+			sum = sum.substring(0,40) + "...";
+		}
+		r.setSummary(sum);
 		jtCollectSearchMapper.insertSelective(r);
 	}
 		

+ 2 - 0
src/main/java/com/goafanti/common/constant/PageConstants.java

@@ -25,6 +25,7 @@ public class PageConstants {
 		WEB_DEMAND_PAGES.put("web_demand_main", "网站需求页主页");
 		WEB_DEMAND_PAGES.put("web_demand_list", "网站需求列表页");
 		WEB_DEMAND_PAGES.put("web_demand_trading_index", "需求知识产权交易页面");
+		APP_DEMAND_PAGES.put("app_demand_trading_index", "app需求交易页面");
 		APP_DEMAND_PAGES.put("app_index", "APP首页");
 		APP_DEMAND_PAGES.put("app_demand_main", "APP需求页主页");
 		APP_DEMAND_PAGES.put("app_demand_list", "APP需求列表页");	
@@ -32,6 +33,7 @@ public class PageConstants {
 		WEB_ACHIEVEMENT_PAGES.put("web_achievement_main", "网站成果主页");
 		WEB_ACHIEVEMENT_PAGES.put("web_achievement_list", "网站成果列表页");
 		WEB_ACHIEVEMENT_PAGES.put("web_achievement_trading_index", "成果知识产权交易页面");
+		APP_ACHIEVEMENT_PAGES.put("app_achievement_trading_index", "app成果知识产权交易页面");
 		APP_ACHIEVEMENT_PAGES.put("app_index", "网站首页");
 		APP_ACHIEVEMENT_PAGES.put("app_achievement_main", "APP成果主页");
 		APP_ACHIEVEMENT_PAGES.put("app_achievement_list", "APP成果列表页");

+ 42 - 0
src/main/java/com/goafanti/common/controller/BaseApiController.java

@@ -1,7 +1,10 @@
 package com.goafanti.common.controller;
 
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -215,4 +218,43 @@ public class BaseApiController extends BaseController {
 	protected Result res() {
 		return new Result();
 	}
+	
+	
+	@SuppressWarnings("resource")
+	protected String handleBaseFiles(Result res, String path, boolean isPrivate, byte[] bs, String sign,
+			String uid,String fn) {
+		String fileName = FileUtils.mosaicFileName("", isPrivate, path, StringUtils.isBlank(uid) ? TokenManager.getUserId() : uid);
+		OutputStream fos = null;
+		if (bs != null && bs.length>0) {
+			try {
+				if (isPrivate) {
+					File filePath = new File(uploadPrivatePath + fileName);
+					if(!filePath.exists()){
+						filePath.mkdirs();
+					}
+					fileName += "/"+ fn; 
+					System.out.println("------------"+ uploadPrivatePath + fileName);
+					fos = new FileOutputStream(new File(uploadPrivatePath + fileName));
+				} else {
+					File filePath = new File(uploadPath + fileName);
+					if(!filePath.exists()){
+						filePath.mkdirs();
+					}
+					fileName += "/" + fn; 
+					System.out.println("------------"+ uploadPath + fileName);
+					fos = new FileOutputStream(new File(uploadPath + fileName));
+				}
+				fos.write(bs);
+				LoggerUtils.debug(getClass(), fileName + " 文件上传成功");
+			} catch (IllegalStateException | IOException e) {
+				LoggerUtils.error(getClass(), "文件上传失败", e);
+				res.getError().add(buildError("", "文件上传失败!"));
+				return "";
+			}
+		} else {
+			res.getError().add(buildError("", "文件上传失败!"));
+			return "";
+		}
+		return fileName;
+	}
 }

+ 7 - 0
src/main/java/com/goafanti/common/controller/PortalController.java

@@ -9,11 +9,14 @@ import javax.servlet.http.HttpServletRequest;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.view.RedirectView;
 
 import com.goafanti.achievement.bo.AchievementPartnerListBo;
 import com.goafanti.achievement.service.AchievementService;
+import com.goafanti.business.service.JtBusinessService;
+import com.goafanti.common.bo.Result;
 import com.goafanti.common.enums.AchievementMaturity;
 import com.goafanti.common.model.UserInterest;
 import com.goafanti.common.service.DistrictGlossoryService;
@@ -50,6 +53,8 @@ public class PortalController extends BaseController {
 	OrderService	orderService;
 	@Resource
 	UserInterestService userInterestService;
+	@Resource
+	JtBusinessService	jtBusinessService;
 
 	@RequestMapping(value = "/index", method = RequestMethod.GET)
 	public ModelAndView index(HttpServletRequest request, ModelAndView modelview) {
@@ -146,4 +151,6 @@ public class PortalController extends BaseController {
 		return mv;
 
 	}
+	
+	
 	}

+ 27 - 0
src/main/java/com/goafanti/common/controller/PublicController.java

@@ -5,6 +5,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.util.List;
 import java.util.UUID;
 
 import javax.annotation.Resource;
@@ -21,6 +22,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import com.goafanti.achievement.service.AchievementService;
+import com.goafanti.business.bo.JtBusinessProjectResult;
+import com.goafanti.business.service.JtBusinessService;
 import com.goafanti.comment.bo.CommentInput;
 import com.goafanti.comment.bo.CommentResult;
 import com.goafanti.comment.controller.UserCommentController;
@@ -38,6 +41,7 @@ import com.goafanti.common.utils.PasswordUtil;
 import com.goafanti.common.utils.PictureUtils;
 import com.goafanti.common.utils.TimeUtils;
 import com.goafanti.common.utils.VerifyCodeUtils;
+import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.demand.bo.DemandListBo;
 import com.goafanti.demand.service.DemandService;
@@ -91,6 +95,9 @@ public class PublicController extends BaseController {
 	@Autowired
 	private DemandService demandService;
 	
+	@Autowired
+	private JtBusinessService jtBusinessService;
+	
 	@Value(value = "${patentTemplate}")
 	private String					patentTemplate		= null;
 
@@ -742,5 +749,25 @@ public class PublicController extends BaseController {
 		return result;
 		
 	}
+	/**
+	 * 服务商项目列表
+	 */
+	@SuppressWarnings("unchecked")
+	@RequestMapping(value = "/user/projectList", method = RequestMethod.GET)
+	@ResponseBody
+	public Result userProjectList(String uid, Integer pageSize, Integer pageNo) {
+		Result res = new Result();
+		Pagination<JtBusinessProjectResult> pagination=jtBusinessService.getProjects(null,null, null, null, pageSize, pageNo, 0, 2, null, null, 0, 0, uid);
+		List<JtBusinessProjectResult> list=(List<JtBusinessProjectResult>) pagination.getList();
+		if (list!=null ) {
+			for (JtBusinessProjectResult j : list) {
+				if (j!=null&&j.getIntroduce()!=null) {
+					j.setIntroduce(j.getIntroduce().replaceAll("\\<.*?>", ""));
+				}
+			}
+		}
+		res.setData(pagination);
+		return res;
+	}
 	
 }

+ 8 - 5
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -1208,15 +1208,17 @@ public class WebpageController extends BaseController {
 		return modelAndView;
 	}
 
-	@SuppressWarnings("unchecked")
-	@RequestMapping(value = "/portal/companyProfile")
+	
+
+	@RequestMapping(value = "/portal/facilitatorDetails")
 	public ModelAndView companyProfile(HttpServletRequest request, ModelAndView modelAndView, String uid) {
-		modelAndView.setViewName("/portal/companyProfile");
+		modelAndView.setViewName("/portal/facilitator");
+		
 		OrgIdentityBo org = organizationIdentityService.selectOrgIdentityBoByUserId(uid);
 		modelAndView.addObject("org", org);
-		List<JtBusinessProjectResult> projectResults = (List<JtBusinessProjectResult>) jtBusinessService
+		/*List<JtBusinessProjectResult> projectResults = (List<JtBusinessProjectResult>) jtBusinessService
 				.getProjects(null,null, null, null, 12, 1, 0, 2, null, null, 0, 0, uid).getList();
-		modelAndView.addObject("jtProjects", projectResults);
+		modelAndView.addObject("jtProjects", projectResults);*/
 		String honor = org.getHonorPicture();
 		if (honor != null && honor.contains(".")) {
 			List<String> honorPictures = Arrays.asList(honor.split(","));
@@ -1478,4 +1480,5 @@ public class WebpageController extends BaseController {
 		return res;
 	} 
 	
+	
 }

+ 2 - 3
src/main/java/com/goafanti/common/mapper/JtBusinessProjectMapper.xml

@@ -655,17 +655,16 @@
 	  ifnull(dct.dealCount,0) as dealCount,
 	  ifnull(x.count,0) as interestCount,
 	  u.nickname as companyName,u.id as companyId,
+	  jtbc1.module,
 	  u.`type` as type
   from jt_business_project jtbp
   left join user u on u.id=jtbp.owner_id
   left join (select project_id as id,count(*) as count from project_interest group by project_id)x on jtbp.id=x.id
   left join (select sum(commodity_quantity) as dealCount ,commodity_id from jt_order_detail group by commodity_id) dct on jtbp.id=dct.commodity_id
+  left join jt_business_category jtbc1 on jtbc1.id = jtbp.category_id
   <if test="topId!=null">
   left join jt_business_category jtbc on jtbc.super_id =#{topId,jdbcType=VARCHAR}
   </if>
-  <if test="module!=null">
-  left join jt_business_category jtbc1 on jtbc1.id = jtbp.category_id
-  </if>
   <if test="tag != null">
   left join jt_business_project_tag x on x.project_id=jtbp.id
   left join jt_tag y on x.tag_id=y.id

+ 21 - 5
src/main/java/com/goafanti/common/mapper/JtCollectSearchMapper.xml

@@ -12,6 +12,7 @@
     <result column="row_id" jdbcType="VARCHAR" property="rowId" />
     <result column="title" jdbcType="VARCHAR" property="title" />
     <result column="keyword" jdbcType="VARCHAR" property="keyword" />
+    <result column="summary" jdbcType="VARCHAR" property="summary" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <!--
@@ -87,7 +88,7 @@
       This element is automatically generated by MyBatis Generator, do not modify.
       This element was generated on Mon Sep 10 14:08:59 CST 2018.
     -->
-    id, from_table, row_id, title, keyword
+    id, from_table, row_id, title, keyword, summary
   </sql>
   <select id="selectByExample" parameterType="com.goafanti.common.model.JtCollectSearchExample" resultMap="BaseResultMap">
     <!--
@@ -173,6 +174,9 @@
       <if test="keyword != null">
         keyword,
       </if>
+      <if test="summary != null">
+        summary,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -190,6 +194,9 @@
       <if test="keyword != null">
         #{keyword,jdbcType=VARCHAR},
       </if>
+      <if test="summary != null">
+        #{summary,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.goafanti.common.model.JtCollectSearchExample" resultType="java.lang.Long">
@@ -226,6 +233,9 @@
       <if test="record.keyword != null">
         keyword = #{record.keyword,jdbcType=VARCHAR},
       </if>
+      <if test="record.summary != null">
+        summary = #{record.summary,jdbcType=VARCHAR},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -242,7 +252,8 @@
       from_table = #{record.fromTable,jdbcType=VARCHAR},
       row_id = #{record.rowId,jdbcType=VARCHAR},
       title = #{record.title,jdbcType=VARCHAR},
-      keyword = #{record.keyword,jdbcType=VARCHAR}
+      keyword = #{record.keyword,jdbcType=VARCHAR},
+      summary = #{record.summary,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -267,6 +278,9 @@
       <if test="keyword != null">
         keyword = #{keyword,jdbcType=VARCHAR},
       </if>
+      <if test="summary != null">
+        summary = #{summary,jdbcType=VARCHAR},
+      </if>
     </set>
     where id = #{id,jdbcType=INTEGER}
   </update>
@@ -280,7 +294,8 @@
     set from_table = #{fromTable,jdbcType=VARCHAR},
       row_id = #{rowId,jdbcType=VARCHAR},
       title = #{title,jdbcType=VARCHAR},
-      keyword = #{keyword,jdbcType=VARCHAR}
+      keyword = #{keyword,jdbcType=VARCHAR},
+      summary = #{summary,jdbcType=VARCHAR}
     where id = #{id,jdbcType=INTEGER}
   </update>
    <delete id="deleteByrowId" parameterType="java.lang.String">
@@ -288,15 +303,16 @@
     where row_id = #{id,jdbcType=VARCHAR}
   </delete>
   <select id="globalSearchList" parameterType="String" resultType="com.goafanti.common.model.JtCollectSearch">
-  	  select id,from_table as fromTable,row_id as rowId,title,keyword from jt_collect_search
+  	  select id,from_table as fromTable,row_id as rowId,title,keyword,summary from jt_collect_search
   	  <if test="name !=null">
     where title like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
     </if>
     union 
-    select id,from_table,row_id,title,keyword from jt_collect_search
+    select id,from_table,row_id,title,keyword,summary from jt_collect_search
     <if test="name !=null">
     where keyword like CONCAT('%',#{name,jdbcType=VARCHAR},'%')
     </if>
+    order by id desc
     <if test="page_sql!=null">
 		${page_sql}
 	</if>

+ 1 - 1
src/main/java/com/goafanti/common/mapper/UserIdentityMapper.xml

@@ -1465,7 +1465,7 @@ select a.create_time as createTime,
 
 
 <select id="selectByIdentityId" resultType="com.goafanti.app.bo.ExpertsListBo">
-	select a.id,a.uid as uid,b.nickname as username,b.society_tag as keyword,a.expert from user_identity a 
+	select a.id,a.uid as uid,b.nickname as username,b.society_tag as keyword,a.expert,b.introduction from user_identity a 
     left join user b on a.uid=b.id
     where a.id=#{id,jdbcType=VARCHAR}
 </select>

+ 12 - 0
src/main/java/com/goafanti/common/model/JtCollectSearch.java

@@ -45,6 +45,8 @@ public class JtCollectSearch {
      * @mbg.generated Mon Sep 10 14:08:59 CST 2018
      */
     private String keyword;
+    
+    private String summary;
 
     /**
      * This method was generated by MyBatis Generator.
@@ -165,4 +167,14 @@ public class JtCollectSearch {
     public void setKeyword(String keyword) {
         this.keyword = keyword;
     }
+
+	public String getSummary() {
+		return summary;
+	}
+
+	public void setSummary(String summary) {
+		this.summary = summary;
+	}
+    
+    
 }

+ 10 - 0
src/main/java/com/goafanti/common/utils/FileUtils.java

@@ -112,6 +112,16 @@ public class FileUtils {
 		}
 		return fileName;
 	}
+	
+	public static String mosaicFileName( String fn, boolean isPrivate, String path, String uid) {
+		String fileName = "";
+		if (isPrivate) {
+			fileName = path + uid + "/" + fn;
+		} else {
+			fileName = path + uid + "/" + "logo"  + fn ;
+		}
+		return fileName;
+	}
 
 	/**
 	 * 获取下载文件名称

+ 19 - 0
src/main/java/com/goafanti/demand/controller/AdminDemandApiController.java

@@ -172,6 +172,25 @@ public class AdminDemandApiController extends CertifyApiController {
 		return res;
 	}
 	
+
+	/**
+	 * 撤销需求
+	 * @param id
+	 * @param auditResult
+	 * @return
+	 */
+	
+	@RequestMapping(value = "/annul", method = RequestMethod.POST)
+	public Result annul(Demand d){
+		Result res = new Result();
+		if (StringUtils.isBlank(d.getId())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR,"","撤销"));
+			return res;
+		}
+		d.setAuditStatus(3);
+		res.setData(demandService.updateByPrimaryKeySelective(d));
+		return res;
+	}
 	/**
 	 * 需求管理--获取个人用户下拉
 	 */

+ 12 - 2
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -603,9 +603,14 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 				r.setKeyword(d.getKeyword());
 				r.setTitle(d.getName());
 				r.setRowId(d.getId());
+				String sum = d.getProblemDes();
+				if(null != sum && sum.length() > 40){
+					sum = sum.substring(0,40) + "...";
+				}
+				r.setSummary(sum);
 				jtCollectSearchMapper.insertSelective(r);				
 			}
-			if (d.getAuditStatus()==4) {
+			if (d.getAuditStatus()==4||d.getAuditStatus()==3) {
 				if(collectFlag)jtCollectSearchMapper.deleteByrowId(d.getId());
 			}
 		}
@@ -960,10 +965,15 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 			r.setKeyword(d.getKeyword());
 			r.setTitle(d.getName());
 			r.setRowId(d.getId());
+			String sum = d.getProblemDes();
+			if(null != sum && sum.length() > 40){
+				sum = sum.substring(0,40) + "...";
+			}
+			r.setSummary(sum);
 			i=jtCollectSearchMapper.insertSelective(r);
 		}
 		return i;
 	}
 	
 	
-	}
+	}

+ 5 - 0
src/main/java/com/goafanti/news/service/NewsService.java

@@ -379,6 +379,11 @@ public class NewsService extends BaseMybatisDao<NewsMapper> {
 			r.setKeyword(news.getKeyword());
 			r.setTitle(news.getTitle());
 			r.setRowId(news.getId().toString());
+			String sum = news.getSummary();
+			if(null != sum && sum.length() > 40){
+				sum = sum.substring(0,40) + "...";
+			}
+			r.setSummary(sum);
 			jtCollectSearchMapper.insertSelective(r);
 		}
 		

+ 5 - 0
src/main/java/com/goafanti/news/service/PolicyService.java

@@ -176,6 +176,11 @@ public void addJtCollectSearch(Policy policy) {
 		r.setKeyword(policy.getKeyword());
 		r.setTitle(policy.getTitle());
 		r.setRowId(policy.getId().toString());
+		String sum = policy.getSummary();
+		if(null != sum && sum.length() > 40){
+			sum = sum.substring(0,40) + "...";
+		}
+		r.setSummary(sum);
 		jtCollectSearchMapper.insertSelective(r);
 	}
 	

+ 1 - 1
src/main/java/com/goafanti/user/bo/InputOrganizationIdentity.java

@@ -167,6 +167,7 @@ public class InputOrganizationIdentity {
 	
 	@Max(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
+	
 	private Integer highTechZone;
 	
 	@Max(value = 1, message = "{" + ErrorConstants.PARAM_ERROR + "}")
@@ -182,7 +183,6 @@ public class InputOrganizationIdentity {
 	@Size(min = 0, max = 127, message = "{" + ErrorConstants.EMAIL_SIZE_ERROR + "}")
 	private String email;
 	
-	@Size(min = 0, max = 127, message = "{" + ErrorConstants.EMAIL_SIZE_ERROR + "}")
 	private String companyLogoUrl;
 	
 	@Size(min = 0, max = 1, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")

+ 83 - 11
src/main/java/com/goafanti/user/controller/UserApiController.java

@@ -1,6 +1,7 @@
 package com.goafanti.user.controller;
 
 import java.math.BigDecimal;
+import java.util.Base64;
 import java.util.UUID;
 
 import javax.annotation.Resource;
@@ -16,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.goafanti.business.service.JtBusinessService;
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.constant.ErrorConstants;
 import com.goafanti.common.controller.BaseApiController;
@@ -42,7 +44,6 @@ import com.goafanti.common.utils.TimeUtils;
 import com.goafanti.common.utils.VerifyCodeUtils;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.easemob.EasemobUtils;
-import com.goafanti.order.enums.AuditState;
 import com.goafanti.user.bo.ExpertUserIdentity;
 import com.goafanti.user.bo.InputOrgPro;
 import com.goafanti.user.bo.InputOrganizationIdentity;
@@ -85,6 +86,9 @@ public class UserApiController extends BaseApiController {
 	private UserContactService 				userContactService;
 	@Autowired
 	private EasemobUtils					easemobUtils;
+	
+	@Resource
+	private JtBusinessService	jtBusinessService;
 
 	private static final Integer			STEP_ONE			= 1;
 
@@ -515,19 +519,13 @@ public class UserApiController extends BaseApiController {
 					UserIdentityFields.getFieldDesc(bindingResult.getFieldError().getField())));
 			return res;
 		}
-		if(StringUtils.isBlank(organizationIdentity.getUid())) {
-			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "用户ID"));
+		res=validation(organizationIdentity, res);
+		if (!res.getError().isEmpty()) {
 			return res;
 		}
-		if(organizationIdentity.getAuthentication() == UserAuthentication.AUTHENTICATION.getCode()
-				&& organizationIdentity.getType() == UserType.PERSONAL.getCode()){
-			res.getError().add(buildError(null, "", "用户已经个人认证"));
-			return res;
-		}else if(organizationIdentity.getAuthentication() == UserAuthentication.UN_AUTHENTICATION.getCode()){
-			organizationIdentity.setType(UserType.ORGANIZATION.getCode());
-			organizationIdentity.setAuthentication(UserAuthentication.AUTHENTICATION.getCode());
-		}
+		
 		if (res.getError().isEmpty()) {
+			
 			OrganizationIdentity oi = new OrganizationIdentity();
 			User user = new User();
 			BeanUtils.copyProperties(organizationIdentity, oi);
@@ -539,6 +537,9 @@ public class UserApiController extends BaseApiController {
 				organizationIdentityService.insert(oi);
 			} else {
 				oi.setId(u.getId());
+				if(null == oi.getEnterpriseScale()){
+					oi.setEnterpriseScale("");
+				}
 				organizationIdentityService.updateByPrimaryKeySelective(oi);
 			}
 			user.setId(TokenManager.getUserId());
@@ -547,6 +548,54 @@ public class UserApiController extends BaseApiController {
 		res.setData(organizationIdentity);
 		return res;
 	}
+
+	private Result validation(InputOrganizationIdentity organizationIdentity, Result res) {
+		if(StringUtils.isBlank(organizationIdentity.getUid())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "用户ID", "用户ID"));
+			return res;
+		}
+		if(StringUtils.isBlank(organizationIdentity.getQq())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "企业QQ", "企业QQ"));
+			return res;
+		}
+		if(StringUtils.isBlank(organizationIdentity.getIdentifyName())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "单位名称", "单位名称"));			
+			return res;
+		}
+		if(StringUtils.isBlank(organizationIdentity.getCompanyLogoUrl())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "LOGO", "LOGO"));			
+			return res;
+		}
+		if(StringUtils.isBlank(organizationIdentity.getBusinessScope())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "业务范围", "业务范围"));			
+			return res;
+		}
+		if(StringUtils.isBlank(organizationIdentity.getIntroduction())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "企业简介", "企业简介"));			
+			return res;
+		}
+		if(StringUtils.isBlank(organizationIdentity.getHonorPicture())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "荣誉资质", "荣誉资质"));			
+			return res;
+		}
+		if(StringUtils.isBlank(organizationIdentity.getEmail())) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "企业邮箱", "企业邮箱"));			
+			return res;
+		}
+		/*if(null==organizationIdentity.getLicenceProvince()||null==organizationIdentity.getLicenceCity()) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "地区"));
+			return res;
+		}*/
+		if(organizationIdentity.getAuthentication() == UserAuthentication.AUTHENTICATION.getCode()
+				&& organizationIdentity.getType() == UserType.PERSONAL.getCode()){
+			res.getError().add(buildError(null, "", "用户已经个人认证"));
+			return res;
+		}else if(organizationIdentity.getAuthentication() == UserAuthentication.UN_AUTHENTICATION.getCode()){
+			organizationIdentity.setType(UserType.ORGANIZATION.getCode());
+			organizationIdentity.setAuthentication(UserAuthentication.AUTHENTICATION.getCode());
+		}
+		return res;
+	}
 	
 	/**
 	 * 个人资料/团体会员资料
@@ -914,4 +963,27 @@ public class UserApiController extends BaseApiController {
 		return res;
 	}
 	
+	/**
+	 * 解码base64位图片
+	 * @param picturebase
+	 * @param filename
+	 * @param sign
+	 * @return
+	 */
+	@RequestMapping(value="/uploadPicture64")
+	public Result uploadPicture64(String picturebase, String filename,String sign){
+ 		Result res = new Result();
+ 		byte[] bs=Base64.getDecoder().decode(picturebase);
+		AttachmentType attachmentType = AttachmentType.getField(sign);
+        if (attachmentType == AttachmentType.USER_PICTURE) {
+        	filename = System.nanoTime() + filename.substring(filename.indexOf("."));
+        	res.setData(handleBaseFiles(res, "/user/", false,bs, sign, TokenManager.getUserId(),filename));
+        } else {
+            res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "附件标示"));
+        }
+		return res;
+	}
+	
+
+
 }

+ 6 - 1
src/main/java/com/goafanti/user/service/impl/UserIdentityServiceImpl.java

@@ -602,10 +602,15 @@ public class UserIdentityServiceImpl extends BaseMybatisDao<UserIdentityMapper>
 				r.setKeyword(SocietyTagStatus.getStatus(u.getKeyword()).getDesc());
 				r.setTitle(u.getUsername());
 				r.setRowId(u.getUid());
+				String sum = u.getIntroduction();
+				if(null != sum && sum.length() > 40){
+					sum = sum.substring(0,40) + "...";
+				}
+				r.setSummary(sum);
 				jtCollectSearchMapper.insertSelective(r);
 			}
 		
-		if (identity.getAuditStatus()==4) {
+		if (identity.getAuditStatus()==4||identity.getAuditStatus()==3) {
 			if(collectFlag)jtCollectSearchMapper.deleteByrowId(u.getUid());
 			}
 		}

+ 1 - 1
src/main/resources/props/config_local.properties

@@ -57,7 +57,7 @@ template.cacheable=false
 
 static.host=//sclient.jishutao.com:8088/client/1.0.0
 
-portal.host=//sportal.jishutao.com:80/portal/1.0.0
+portal.host=//sportal.jishutao.com:80/portal/1.0.1
 
 avatar.host=//sclient.jishutao.com
 avatar.upload.host=//sclient.jishutao.com/upload

+ 4 - 4
src/main/webapp/WEB-INF/views/common.html

@@ -420,7 +420,7 @@
 						</div>
 						<div class="login_pass">
 							<label for="pass"><img th:src="${portalHost+'/img/login_password.png'}"/></label>
-							<input type="password" name="pass" id="Lo_pass" placeholder="请输入密码" />
+							<input type="password" name="pass" id="Lo_pass" autocomplete="off" placeholder="请输入密码" />
 						</div>
 						<div class="login_pass">
 							<img th:src="${portalHost+'/img/resiger_username.jpg'}" alt=""/>
@@ -491,12 +491,12 @@
 					<div class="password_center">
 						<div >
 							<label for="new_pass">
-								新密码:<input type="password" name="type" id="new_pass" placeholder="请输入您的新密码..."/>
+								新密码:<input type="password" name="type" id="new_pass" autocomplete="off" placeholder="请输入您的新密码..."/>
 							</label>
 						</div>
 						<div >
 							<label for="new_pass_again">
-								确认密码:<input type="password" name="type" id="new_pass_again" placeholder="请确认您的密码..."/>
+								确认密码:<input type="password" name="type" id="new_pass_again" autocomplete="off" placeholder="请确认您的密码..."/>
 							</label>
 						</div>
 						<div class="fastener">
@@ -590,7 +590,7 @@
 		</script>
 		<th:block th:replace="${scripts}" />
 		<script language="javascript" src="https://put.zoosnet.net/JS/LsJS.aspx?siteid=PUT70876498&float=1&lng=cn"></script>
-		
+		<script type="text/javascript"> var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F2073c2690b7e25f76523dd7e270d2774' type='text/javascript'%3E%3C/script%3E")) </script>
 	</th:block>
 
 </body>

+ 2 - 2
src/main/webapp/WEB-INF/views/portal/adviser.html

@@ -57,8 +57,8 @@
 		<div th:replace="common::login"></div>
     </footer>
     <div th:replace="common::footer(~{::script})">
-	<script type="text/javascript" th:src="${portalHost+'/vendors.js'}"></script>
-	<script type="text/javascript" th:src="${portalHost+'/newMenu/adviser.js'}"></script>
+    	<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+		<script type="text/javascript" th:src="${portalHost+'/newMenu/adviser.js'}"></script>
 	</div>
 	</body>
 	

+ 4 - 2
src/main/webapp/WEB-INF/views/portal/adviser/adviserDetail.html

@@ -1,5 +1,7 @@
 <!DOCTYPE html>
-<html lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
 
 <head>
     <meta charset="UTF-8">
@@ -96,7 +98,7 @@
 		<div th:replace="common::login"></div>
     </footer>
     <div th:replace="common::footer(~{::script})">
-		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+    	<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
 		<script type="text/javascript" th:src="${portalHost+'/newMenu/adviserDetail.js'}"></script>
 	</div>
 

+ 4 - 2
src/main/webapp/WEB-INF/views/portal/adviser/adviserList.html

@@ -1,5 +1,7 @@
 <!DOCTYPE html>
-<html lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -61,7 +63,7 @@
 		<div th:replace="common::login"></div>
     </footer>
     <div th:replace="common::footer(~{::script})">
-		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+    	<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
 		<script type="text/javascript" th:src="${portalHost + '/newMenu/adviserList.js'}"></script>
 	</div>
 </body>

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/companyProfile.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 118
src/main/webapp/WEB-INF/views/portal/continueHigh.html


+ 1 - 1
src/main/webapp/WEB-INF/views/portal/evaluation/evaluate.html

@@ -455,7 +455,7 @@
 		<div th:replace="common::login"></div>
     </footer>
     <div th:replace="common::footer(~{::script})">
-		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+    	<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
 		<script type="text/javascript" th:src="${portalHost+'/evaluation/evaluate.js'}"></script>
 	</div>
 </body>

+ 115 - 0
src/main/webapp/WEB-INF/views/portal/facilitator.html

@@ -0,0 +1,115 @@
+<!DOCTYPE html>
+<html  xmlns="http://www.w3.org/1999/xhtml"
+	xmlns:th="http://www.thymeleaf.org"
+	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
+
+<head th:replace="common::header(~{::title},~{::link})">
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>服务商主页</title>
+    <link th:href="${portalHost + '/vendors.css'}" rel="stylesheet">
+	<link th:href="${portalHost+'/facilitator.css'}" rel="stylesheet"> 
+</head>
+<body>
+    <div th:replace="common::nav('','index')"></div>
+    <!--主体部分-->
+    <div id="facili" >
+    	<div class="facImg">
+    		<div>
+    			<img th:src="${org.companyLogoUrl}==null or ${org.companyLogoUrl}==''?${portalHost+'/img/fac/fea1.png'}:${avatarUploadHost+org.companyLogoUrl}" alt="">
+    		</div>
+    		<div>
+    			<h3 th:text="${org.identifyName}">湖南阿凡提有限公司</h3>
+    		</div>
+    	</div>
+    	<div class="facTab">
+    		<span class="facActive">所有项目</span>
+    		<span>主页</span>
+    		
+    	</div>
+    	<div class="facFirst">
+    		<div class="jianjie">
+    			<h4>公司简介</h4>
+    			  <p th:text="(${org.introduction}==null or ${org.introduction}=='')?'暂无':${org.introduction}"></p>
+    		</div>
+    		<div class="jianjie">
+    			<h4>业务范围</h4>
+    			<p th:text="(${org.businessScope}==null or${org.businessScope}=='')?'暂无':${org.businessScope}"></p>
+    		</div>
+    		<div class="RecommendTitle">
+	            <h2>荣誉资质</h2>
+	            <span></span>
+	        </div>
+    		<div class="rongyuCont" >
+    			<div th:each="pic:${honors}">
+    				<img  th:src="(${pic}==null or ${pic}=='')?${portalHost+'/img/fac/fea2.png'}:${avatarUploadHost+pic}" alt="" >
+    			</div>
+    			
+    		</div>
+    		<div class="RecommendTitle">
+	            <h2>联系我们</h2>
+	            <span></span>
+	        </div>
+	        <ol class="contantUs">
+	            <li>
+	                <span class="glyphicon glyphicon-earphone"></span>
+	                <div>
+	                    <p>联系方式<span class="pho" th:text="(${org.fixedTel}==null or ${org.fixedTel}=='')?'暂无':${org.fixedTel}"></span></p>
+	                    <p>QQ号码<span class="pho" th:text="(${org.qq}==null or ${org.qq}=='')?'暂无':${org.qq}"></span></p>
+	                </div>
+	            </li>
+	            <li>
+	                <span class="glyphicon glyphicon-envelope"></span>
+	                <div>
+	                    <p>公司邮箱</span></p>
+	                    <p><span th:text="(${org.email}==null or ${org.email}=='')?'暂无':${org.email}">3846252890@qq.com</span> </p>
+	                </div>
+	            </li>
+	            <li>
+	                <span class="glyphicon glyphicon-map-marker"></span>
+	                <div>
+	                    <p>公司地址</span></p>
+	                    <p><span th:text="(${org.postalAddress}==null or ${org.postalAddress}=='')?'暂无':${org.postalAddress}">湖南省长沙市营盘东路</span> </p>
+	                </div>
+	            </li>
+	        </ol>
+    	</div>
+    	<div id="facAll">
+    		<div class="facAll">
+    			
+    		</div>
+    		<div class="pagination_box">
+	            <nav aria-label="Page navigation" class="clearfix">
+	                <ul class="pagination">
+	                    <li class="pagePre">
+	                        <a href="#" aria-label="Previous">
+	                            <span aria-hidden="true">&laquo;</span>
+	                        </a>
+	                    </li>
+	                    <li class="pageNumber"><a href="#" value="1">1</a></li>
+	                    <li class="pageNext">
+	                        <a href="#" aria-label="Next">
+	                            <span aria-hidden="true">&raquo;</span>
+	                        </a>
+	                    </li>
+	                </ul>
+	                <div class="inp">
+	                    <input type="text" class=""><button class="btn btn-default">跳转</button>
+	                </div>
+	                <span class="totalCount">共0条数据</span>
+	            </nav>
+	        </div>
+    	</div>
+    </div>
+    <footer>
+      <div th:replace="common::copyright"></div>
+		<div th:replace="common::login"></div>
+    </footer>
+     <div th:replace="common::footer(~{::script})">
+		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+		<script type="text/javascript" th:src="${portalHost+'/facilitator.js'}"></script>
+	</div>
+</body>
+<!-- <script language="javascript" src="https://put.zoosnet.net/JS/LsJS.aspx?siteid=PUT70876498&float=1&lng=cn"></script> -->
+</html>

+ 4 - 4
src/main/webapp/WEB-INF/views/portal/indexOld.html

@@ -376,9 +376,9 @@
 		<div th:replace="common::copyright"></div>
 		<div th:replace="common::login"></div>
 	</footer>
-		<div th:replace="common::footer(~{::script})">
-	<script type="text/javascript" th:src="${portalHost+'/vendors.js'}"></script>
-	<script type="text/javascript" th:src="${portalHost+'/index.js'}"></script>
+	<div th:replace="common::footer(~{::script})">
+		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+		<script type="text/javascript" th:src="${portalHost+'/index.js'}"></script>
 	</div>
-	</body>
+</body>
 </html>

Разница между файлами не показана из-за своего большого размера
+ 1 - 113
src/main/webapp/WEB-INF/views/portal/militaryProject.html


+ 1 - 1
src/main/webapp/WEB-INF/views/portal/news/newsDetailApp.html

@@ -16,7 +16,7 @@
 			</div>
 		</div>
 	</div>
-	<div th:replace="common::footer(~{::script})">
+	<div th:replace="common::footer(~{::script})">	
 		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
 		<script type="text/javascript" th:src="${portalHost + '/news/newsDetailApp.js'}"></script>
 	</div>

Разница между файлами не показана из-за своего большого размера
+ 1 - 110
src/main/webapp/WEB-INF/views/portal/practicalPatent.html


+ 17 - 4
src/main/webapp/WEB-INF/views/portal/search.html

@@ -10,9 +10,22 @@
 	</head>
 	<body>
 	<div th:replace="common::nav('','adviserDetail')"></div>  
-		 <div class="carousel">
+		<!--  <div class="carousel">
 	        <img th:src="${portalHost+'/img/patent/patent_banners.jpg'}" alt="First slide">
-	    </div>
+	    </div> -->
+	    <div class="indexSearch">
+			<div class="search-inp">
+				<div class="input-group">
+					<input type="text" class="form-control demandSearch" placeholder="请输入关键字">
+					<span class="input-group-btn">
+						<button class="btn btn-default searchBtn" type="button">
+							<img th:src="${portalHost} +'/img/newMenu/search-icon.jpg'" alt=""> 搜索
+						</button>
+					</span>
+				</div>
+			</div>
+		</div>
+	    
 	    <div class="title">
 	    	为您找到下列符合条件的信息:
 	    </div>
@@ -45,8 +58,8 @@
 		<div th:replace="common::login"></div>
     </footer>
     <div th:replace="common::footer(~{::script})">
-	<script type="text/javascript" th:src="${portalHost+'/vendors.js'}"></script>
-	<script type="text/javascript" th:src="${portalHost+'/search.js'}"></script>
+	    <script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+		<script type="text/javascript" th:src="${portalHost+'/search.js'}"></script>
 	</div>
 	</body>
 </html>

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/service/patent.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/service/patentList.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/service/patenteDetails.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/service/serviceDetails.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/service/serviceIndex.html


+ 2 - 2
src/main/webapp/WEB-INF/views/portal/service/serviceList.html

@@ -98,8 +98,8 @@
 	<div th:replace="common::footer(~{::script})">
 		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
 		<script type="text/javascript" th:src="${portalHost+'/newMenu/serviceList.js'}"></script>
-		</div>
-		</body>
+	</div>
+</body>
 
 
 </html>

+ 3 - 3
src/main/webapp/WEB-INF/views/portal/technologyTrading/achievement.html

@@ -339,9 +339,9 @@
 		<div th:replace="common::login"></div>
     </footer>
    	<div th:replace="common::footer(~{::script})">
-<script type="text/javascript" th:src="${portalHost+'/vendors.js'}"></script>
-<script type="text/javascript" th:src="${portalHost+'/newMenu/achievement.js'}"></script>
-</div>
+   		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
+		<script type="text/javascript" th:src="${portalHost+'/newMenu/achievement.js'}"></script>
+	</div>
 
 </body>
 

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/technologyTrading/achievementList.html


+ 2 - 1
src/main/webapp/WEB-INF/views/portal/technologyTrading/demand.html

@@ -461,6 +461,7 @@
 	</footer>
 	<div th:replace="common::footer(~{::script})">
 		<script type="text/javascript" th:src="${portalHost + '/vendors.js'}"></script>
-<script type="text/javascript" th:src="${portalHost+'/newMenu/demand.js'}"></script></div>
+		<script type="text/javascript" th:src="${portalHost+'/newMenu/demand.js'}"></script>
+	</div>
 </body>
 </html>

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/technologyTrading/demandList.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/technologyTrading/shopList.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/technologyTrading/tradingIndex.html