Kaynağa Gözat

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

gitadmin 7 yıl önce
ebeveyn
işleme
2943c7e070
31 değiştirilmiş dosya ile 348 ekleme ve 79 silme
  1. 1 1
      GeneratorConfig.xml
  2. 9 0
      src/main/java/com/goafanti/achievement/bo/AchievementEntity.java
  3. 15 0
      src/main/java/com/goafanti/achievement/bo/InputAchievement.java
  4. 4 0
      src/main/java/com/goafanti/admin/controller/AdminApiController.java
  5. 8 1
      src/main/java/com/goafanti/app/controller/AppUserController.java
  6. 2 2
      src/main/java/com/goafanti/app/controller/OpenAppHomeController.java
  7. 5 20
      src/main/java/com/goafanti/banners/controller/AdminBannersApiController.java
  8. 38 0
      src/main/java/com/goafanti/banners/controller/PortalBannersApiController.java
  9. 2 2
      src/main/java/com/goafanti/banners/service/BannersService.java
  10. 0 1
      src/main/java/com/goafanti/common/controller/BaseApiController.java
  11. 39 4
      src/main/java/com/goafanti/common/controller/WebpageController.java
  12. 23 9
      src/main/java/com/goafanti/common/mapper/AchievementMapper.xml
  13. 25 10
      src/main/java/com/goafanti/common/mapper/DemandMapper.xml
  14. 1 1
      src/main/java/com/goafanti/common/mapper/JtBusinessProjectMapper.xml
  15. 52 0
      src/main/java/com/goafanti/common/mapper/UserMapper.xml
  16. 11 1
      src/main/java/com/goafanti/common/model/Achievement.java
  17. 12 0
      src/main/java/com/goafanti/common/model/Demand.java
  18. 4 3
      src/main/java/com/goafanti/core/shiro/filter/DeviceFilter.java
  19. 7 0
      src/main/java/com/goafanti/demand/bo/AppDemandBo.java
  20. 10 0
      src/main/java/com/goafanti/demand/bo/InputDemand.java
  21. 0 1
      src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java
  22. 1 1
      src/main/java/com/goafanti/user/service/UserService.java
  23. 5 10
      src/main/java/com/goafanti/user/service/impl/UserServiceImpl.java
  24. 2 2
      src/main/resources/shiro_base_auth.ini
  25. 2 2
      src/main/resources/spring/spring-shiro.xml
  26. 1 1
      src/main/webapp/WEB-INF/views/portal/index.html
  27. 1 1
      src/main/webapp/WEB-INF/views/portal/service/patent.html
  28. 1 1
      src/main/webapp/WEB-INF/views/portal/service/serviceIndex.html
  29. 33 2
      src/main/webapp/WEB-INF/views/portal/technologyTrading/achievement.html
  30. 33 2
      src/main/webapp/WEB-INF/views/portal/technologyTrading/demand.html
  31. 1 1
      src/main/webapp/WEB-INF/views/portal/technologyTrading/tradingIndex.html

+ 1 - 1
GeneratorConfig.xml

@@ -12,4 +12,4 @@
    <javaClientGenerator targetPackage="com.goafanti.common.dao" targetProject="jitao-server" type="XMLMAPPER" />
    <table schema="aft" tableName="banners"/>
   </context>
-</generatorConfiguration>
+</generatorConfiguration>

+ 9 - 0
src/main/java/com/goafanti/achievement/bo/AchievementEntity.java

@@ -31,6 +31,7 @@ public class AchievementEntity {
     private Integer boutique;//是否精品
     private Integer interest;//是否感兴趣
     private Integer orderCount;//订单数
+	private String pictureUrlMin;//APP图片
 
     public String getField2() {
 		return field2;
@@ -247,4 +248,12 @@ public class AchievementEntity {
 	public void setKeyword(String keyword) {
 		this.keyword = keyword;
 	}
+
+	public String getPictureUrlMin() {
+		return pictureUrlMin;
+	}
+
+	public void setPictureUrlMin(String pictureUrlMin) {
+		this.pictureUrlMin = pictureUrlMin;
+	}
 }

+ 15 - 0
src/main/java/com/goafanti/achievement/bo/InputAchievement.java

@@ -34,6 +34,10 @@ public class InputAchievement {
 
 	@Size(min = 0, max = 500, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		technicalPictureUrl;
+	
+	@Size(min = 0, max = 500, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String pictureUrlMin;
+
 
 	@Max(value = 999, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
@@ -97,6 +101,8 @@ public class InputAchievement {
 
 	@Size(min = 0, max = 255, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		techPlanUrl;
+	
+	
 
 
 	
@@ -134,6 +140,15 @@ public class InputAchievement {
 	public String getAuditInfo() {
 		return auditInfo;
 	}
+	
+
+	public String getPictureUrlMin() {
+		return pictureUrlMin;
+	}
+
+	public void setPictureUrlMin(String pictureUrlMin) {
+		this.pictureUrlMin = pictureUrlMin;
+	}
 
 	public void setAuditInfo(String auditInfo) {
 		this.auditInfo = auditInfo;

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

@@ -421,6 +421,10 @@ public class AdminApiController extends CertifyApiController {
 	@RequestMapping(value="/user/info", method = RequestMethod.GET)
 	public Result userInfo(User user, Integer pageNo, Integer pageSize){
 		Result res = new Result();
+		//默认注册的正常用户
+		if(null == user.getSource()) user.setSource(0);
+		if(null == user.getStatus()) user.setStatus(0);
+		res.setData(userService.getUserInfo(user, pageNo, pageSize));
 		return res;
 	}
 }

+ 8 - 1
src/main/java/com/goafanti/app/controller/AppUserController.java

@@ -408,6 +408,10 @@ public class AppUserController extends CertifyApiController {
             res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到关键词", "关键词"));
             return res;
         }
+        if (null == ia.getFieldA()) {
+            res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到行业", "行业"));
+            return res;
+        }
         for (int i = 0; i < keywords.length; i++) {
             if (AFTConstants.KEYWORDLENTH < keywords[i].length()) {
                 res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "关键词长度"));
@@ -675,7 +679,10 @@ public class AppUserController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到数据类别", "数据类别"));
 			return res;
 		}
-
+		if (null == ia.getFieldA()) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到行业", "行业"));
+			return res;
+		}
 		if (StringUtils.isBlank(ia.getKeyword())) {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到关键词", "关键词"));
 			return res;

+ 2 - 2
src/main/java/com/goafanti/app/controller/OpenAppHomeController.java

@@ -135,7 +135,7 @@ public class OpenAppHomeController extends BaseApiController{
 		map.put("recommended", jtBusinessService.recommendedApplication(null,pageNo,pageSize));
 		map.put("tag", jtTagService.selectListJtTag(null, 1, 99));
 		
-		map.put("homeImg", bannersService.findAdminBannersList( apiUrl,1, 1, 1));
+		map.put("homeImg", bannersService.findBannersList( apiUrl,1, 1, 1));
 		result.setData(map);
 		return result;
 	}
@@ -151,7 +151,7 @@ public class OpenAppHomeController extends BaseApiController{
 		Map<String, Object> map=new HashMap<>();
 		//1 赚钱数据    2首页数据
 		map.put("recommended", jtBusinessService.recommendedApplication(null,pageNo,pageSize));
-		map.put("homeImg", bannersService.findAdminBannersList( apiUrl,1, 3, 1));
+		map.put("homeImg", bannersService.findBannersList( apiUrl,1, 3, 1));
 		result.setData(map);
 		return result;
 	}

+ 5 - 20
src/main/java/com/goafanti/banners/controller/AdminBannersApiController.java

@@ -21,7 +21,7 @@ import com.goafanti.common.utils.StringUtils;
 import com.goafanti.core.mybatis.JDBCIdGenerator;
 
 @Controller
-@RequestMapping(value = "/open/api/admin/banners")
+@RequestMapping(value = "/api/admin/banners")
 public class AdminBannersApiController extends BaseApiController {
 	@Resource
 	BannersService	bannersService;
@@ -131,24 +131,9 @@ public class AdminBannersApiController extends BaseApiController {
 		result.setData(bannersService.updateBanner(b));
 		return result;
 	}
-	/**
-	 * 获取分页轮播图
-	 * @param apiUrl
-	 * @param client
-	 * @param pageSize
-	 * @param pageNo
-	 * @param request
-	 * @return
-	 */
 	
-	@RequestMapping(value="/list" ,method=RequestMethod.GET)
-	public Result list(String apiUrl,Integer client,Integer pageSize,Integer pageNo,HttpServletRequest request){
-		Result result=new Result();
-		result.setData(bannersService.findBannersList( apiUrl,client, pageSize, pageNo));
-		return result;
-	}
 	/**
-	 * 获取集合轮播图
+	 * 轮播图列表
 	 * @param apiUrl
 	 * @param client
 	 * @param pageSize
@@ -156,8 +141,8 @@ public class AdminBannersApiController extends BaseApiController {
 	 * @param request
 	 * @return
 	 */
-	@RequestMapping(value="/adminList" ,method=RequestMethod.GET)
-	public Result appList(String apiUrl,Integer client,Integer pageSize,Integer pageNo,HttpServletRequest request){
+	@RequestMapping(value="/list" ,method=RequestMethod.GET)
+	public Result List(String apiUrl,Integer client,Integer pageSize,Integer pageNo,HttpServletRequest request){
 		Result result=new Result();
 		result.setData(bannersService.findAdminBannersList( apiUrl,client, pageSize, pageNo));
 		return result;
@@ -173,7 +158,7 @@ public class AdminBannersApiController extends BaseApiController {
         Result res = new Result();
         AttachmentType attachmentType = AttachmentType.getField(sign);
         if (attachmentType == AttachmentType.BANNERS_PIC) {
-            res.setData(handleFiles(res, "/", false, req, sign, "banners"));
+            res.setData(handleFiles(res, "", false, req, sign, "/banners"));
         } else {
             res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "图片标示"));
         }

+ 38 - 0
src/main/java/com/goafanti/banners/controller/PortalBannersApiController.java

@@ -0,0 +1,38 @@
+package com.goafanti.banners.controller;
+
+import javax.annotation.Resource;
+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 com.goafanti.banners.service.BannersService;
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.controller.BaseApiController;
+
+@Controller
+@RequestMapping(value = "/api/portal/banners")
+public class PortalBannersApiController extends BaseApiController {
+	@Resource
+	BannersService	bannersService;
+	
+	
+	/**
+	 * 获取集合轮播图
+	 * @param apiUrl
+	 * @param client
+	 * @param pageSize
+	 * @param pageNo
+	 * @param request
+	 * @return
+	 */
+	@RequestMapping(value="/list" ,method=RequestMethod.GET)
+	public Result appList(String apiUrl,Integer client,Integer pageSize,Integer pageNo){
+		Result result=new Result();
+		result.setData(bannersService.findBannersList( apiUrl,client, pageSize, pageNo));
+		return result;
+	}
+	
+	
+
+
+}

+ 2 - 2
src/main/java/com/goafanti/banners/service/BannersService.java

@@ -45,7 +45,7 @@ public class BannersService extends BaseMybatisDao<BannersMapper> {
 		return bannersMapper.selectByPrimaryKey(id);
 	}
 
-	public List<Banners> findAdminBannersList(String apiUrl,Integer client,Integer pageSize,Integer pageNo) {
+	public List<Banners> findBannersList(String apiUrl,Integer client,Integer pageSize,Integer pageNo) {
 		return portalBanners(apiUrl, client, pageNo, pageSize);
 	}
 	
@@ -73,7 +73,7 @@ public class BannersService extends BaseMybatisDao<BannersMapper> {
 	}
 	
 	@SuppressWarnings("unchecked")
-	public Pagination<Banners> findBannersList(String apiUrl,Integer client,Integer pageSize,Integer pageNo) {
+	public Pagination<Banners> findAdminBannersList(String apiUrl,Integer client,Integer pageSize,Integer pageNo) {
 		if(pageNo==null ||pageNo<1)pageNo=1;
 		if(pageSize== null ||pageSize<1)pageSize=10;
 		 Map<String, Object> params=new HashMap<String,Object>();

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

@@ -172,7 +172,6 @@ public class BaseApiController extends BaseController {
 			String uid) {
 		List<MultipartFile> files = getFiles(req);
 		MultipartFile mf = files.get(0);
-
 		String fileName = FileUtils.mosaicFileName(mf, isPrivate, sign, path,
 				StringUtils.isBlank(uid) ? TokenManager.getUserId() : uid);
 		if (!files.isEmpty()) {

+ 39 - 4
src/main/java/com/goafanti/common/controller/WebpageController.java

@@ -396,7 +396,12 @@ public class WebpageController extends BaseController {
 		// 咨询师
 		List<UserIdentityBo> userIdentityBos = userIdentityService.getExperts(8);
 		// List<consultantListBo>userIdentityBos=userIdentityService.getConsultantList(8);
-		modelview.addObject("consultants", userIdentityBos);
+		modelview.addObject("consultants", userIdentityBos);
+		//获得轮播图数据
+		List<Banners> blist = bannersService.findBannersList("serviceIndex", 0, 3, 1);
+		if(null != blist){
+			modelview.addObject("sbannerlist", blist);
+		}
 		return modelview;
 	}
 
@@ -709,6 +714,12 @@ public class WebpageController extends BaseController {
 				&& subscriptions.get(0).getSourceUrl().contains(".")) {
 			modelview.addObject("videoUrl", subscriptions.get(0).getSourceUrl());
 		}
+		
+		//获得轮播图数据
+		List<Banners> blist = bannersService.findBannersList("index", 0, 3, 1);
+		if(null != blist){
+			modelview.addObject("bannerlist", blist);
+		}
 		// List<AchievementObject>
 		// achievementObjects=achievementService.getHotAchievements(9, url,
 		// "web_index");
@@ -843,7 +854,13 @@ public class WebpageController extends BaseController {
 				demandListBo.setPictureUrl(demandListBo.getPictureUrl().split(",")[0]);
 		}
 		LimitLengthUtil.limiteDemandLength(sixMaxPersonnelDemand, 7, 30);
-		modelview.addObject("personnelDemandList", sixMaxPersonnelDemand);
+		modelview.addObject("personnelDemandList", sixMaxPersonnelDemand);
+		
+		//获得轮播图数据
+		List<Banners> blist = bannersService.findBannersList("demand", 0, 3, 1);
+		if(null != blist){
+			modelview.addObject("dbannerlist", blist);
+		}
 		return modelview;
 	}
 
@@ -909,7 +926,14 @@ public class WebpageController extends BaseController {
 		// List<PolicyEntity>intellectualPropertyPolicyList=achievementService.getIntellectualProperty(5);
 		List<PolicyResult> policies = (List<PolicyResult>) policyService
 				.searchPolicy("", 2, null, null, "web_index", 1, 5, null).getList();
-		modelview.addObject("policyList", policies);
+		modelview.addObject("policyList", policies);
+		
+		//获得轮播图数据
+		List<Banners> blist = bannersService.findBannersList("achievement", 0, 3, 1);
+		if(null != blist){
+			modelview.addObject("abannerlist", blist);
+		}
+		
 		return modelview;
 	}
 
@@ -995,6 +1019,11 @@ public class WebpageController extends BaseController {
 			}
 		}
 		modelAndView.addObject("jtNews", news);
+		//获得轮播图数据
+		List<Banners> blist = bannersService.findBannersList("patent", 0, 3, 1);
+		if(null != blist){
+			modelAndView.addObject("pbannerlist", blist);
+		}
 		return modelAndView;
 	}
 
@@ -1033,7 +1062,13 @@ public class WebpageController extends BaseController {
 
 		// 专家
 		List<UserIdentityBo> userIdentityBos = userIdentityService.getExperts(3);
-		modelAndView.addObject("expert", userIdentityBos);
+		modelAndView.addObject("expert", userIdentityBos);
+		
+		//获得轮播图数据
+		List<Banners> blist = bannersService.findBannersList("tradingIndex", 0, 3, 1);
+		if(null != blist){
+			modelAndView.addObject("tbannerlist", blist);
+		}
 
 		return modelAndView;
 	}

+ 23 - 9
src/main/java/com/goafanti/common/mapper/AchievementMapper.xml

@@ -59,6 +59,7 @@
     <result column="boutique" jdbcType="INTEGER" property="boutique" />
     <result column="contacts" jdbcType="VARCHAR" property="contacts" />
     <result column="contact_mobile" jdbcType="VARCHAR" property="contactMobile" />
+    <result column="picture_url_min" property="pictureUrlMin" jdbcType="VARCHAR" />
   </resultMap>
   <sql id="Base_Column_List">
     id, serial_number, data_category, name, keyword, category, summary, introduction, 
@@ -69,7 +70,7 @@
     team_des, parameter, tech_plan_url, business_plan_url, org_id, org_name, org_address, 
     org_email, org_contacts, org_contacts_mobile, contacts, manager_id, salesman_id, 
     status, create_time, release_status, release_date, deleted_sign, audit_status, tech_broker_id,
-    country_name_zh,international_flag,jmrh_flag,boutique
+    country_name_zh,international_flag,jmrh_flag,boutique,picture_url_min
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
     select 
@@ -90,7 +91,7 @@
       transfer_mode, bargaining_mode, transfer_price,  patent_case, 
       awards, team_des, parameter,  status, 
       create_time, release_status, release_date, 
-      deleted_sign, audit_status,international_flag,boutique,is_hot,info_sources)
+      deleted_sign, audit_status,international_flag,boutique,is_hot,info_sources,picture_url_min)
     values (#{id,jdbcType=VARCHAR}, #{serialNumber,jdbcType=INTEGER}, #{dataCategory,jdbcType=INTEGER}, 
       #{name,jdbcType=VARCHAR}, #{keyword,jdbcType=VARCHAR}, #{category,jdbcType=INTEGER}, 
       #{summary,jdbcType=VARCHAR}, #{introduction,jdbcType=LONGVARCHAR}, #{technicalPictureUrl,jdbcType=VARCHAR}, 
@@ -103,7 +104,7 @@
     #{status,jdbcType=INTEGER}, 
       #{createTime,jdbcType=TIMESTAMP}, #{releaseStatus,jdbcType=INTEGER}, #{releaseDate,jdbcType=TIMESTAMP}, 
       #{deletedSign,jdbcType=INTEGER}, #{auditStatus,jdbcType=INTEGER},
-       #{internationalFlag,jdbcType=INTEGER},#{boutique,jdbcType=INTEGER},#{isHot,jdbcType=INTEGER},#{infoSources,jdbcType=INTEGER})
+       #{internationalFlag,jdbcType=INTEGER},#{boutique,jdbcType=INTEGER},#{isHot,jdbcType=INTEGER},#{infoSources,jdbcType=INTEGER},#{pictureUrlMin,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.goafanti.common.model.Achievement">
     insert into achievement
@@ -276,6 +277,9 @@
       <if test="boutique !=null">
       	boutique,
       </if>
+      <if test="pictureUrlMin !=null">
+      	picture_url_min,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="id != null">
@@ -446,6 +450,9 @@
       <if test="boutique != null">
       	#{boutique,jdbcType=INTEGER}
       </if>
+      <if test="pictureUrlMin !=null">
+      	#{pictureUrlMin,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.Achievement">
@@ -553,6 +560,9 @@
        <if test="auditInfo != null">
         audit_info = #{auditInfo,jdbcType=VARCHAR},
       </if>
+       <if test="pictureUrlMin !=null">
+      	picture_url_min = #{pictureUrlMin,jdbcType=VARCHAR},
+      </if>
     </set>
     where id = #{id,jdbcType=VARCHAR}
   </update>
@@ -585,7 +595,8 @@
       audit_status = #{auditStatus,jdbcType=INTEGER},
       country_name_zh = #{countryNameZh,jdbcType=VARCHAR},
       international_flag = #{internationalFlag,jdbcType=INTEGER},
-      boutique = #{boutique,jdbcType=INTEGER}
+      boutique = #{boutique,jdbcType=INTEGER},
+      picture_url_min=#{pictureUrlMin,jdbcType=VARCHAR},
     where id = #{id,jdbcType=VARCHAR}
   </update>
   
@@ -1348,7 +1359,7 @@ order by release_date limit #{0}
        and	a.release_date <![CDATA[ >= ]]> #{startDate,jdbcType=TIMESTAMP}
 	</if>
 	<if test="endDate != null">
-	   and  a.release_date <![CDATA[ =< ]]> #{endDate,jdbcType=TIMESTAMP}
+	   and  a.release_date <![CDATA[ <= ]]> #{endDate,jdbcType=TIMESTAMP}
 	</if>
 </select>
 <select id="getAchievementDetailById" resultType="com.goafanti.portal.bo.AchievementResultObject" >
@@ -1376,7 +1387,8 @@ a.id,
 	a.boutique,
 	a.is_hot as isHot,
 	a.audit_status as auditStatus,
-	a.audit_info as auditInfo
+	a.audit_info as auditInfo,
+	a.picture_url_min as pictureUrlMin
 from
 	achievement a
 left join industry_category fg on
@@ -1414,9 +1426,9 @@ where
   	where ai.uid=#{uid,jdbcType=VARCHAR}
   	</select>
   	<select id="selectAppAchuevementDetail" resultType="com.goafanti.achievement.bo.AchievementEntity">
-  	select a.id,a.name,a.keyword,a.data_category as dataCategory,a.summary,a.introduction,a.transfer_mode as transferMode,a.status,a.transfer_price as transferPrice ,a.innovation,a.maturity,a.audit_status,a.technical_picture_url as technicalPictureUrl,
+  	select a.id,a.name,a.keyword,a.data_category as dataCategory,a.category,a.summary,a.introduction,a.transfer_mode as transferMode,a.status,a.transfer_price as transferPrice ,a.innovation,a.maturity,a.audit_status,a.technical_picture_url as technicalPictureUrl,
   a.field_a as fieldA,a.field_b as fieldB,a.field_c as fieldC,f.name as field1,f2.name as field2,f3.name as field3,a.release_status as releaseStatus,a.audit_status as auditStatus,a.boutique,a.field_a as fieldA,a.is_hot as isHot,a.release_date as releaseDate,if(isnull(b.count),0,b.count) as interestCount,
-  if(isnull(d.achievement_id),0,1) interest,ifnull(t.count,0) as orderCount
+  if(isnull(d.achievement_id),0,1) interest,ifnull(t.count,0) as orderCount,a.picture_url_min as pictureUrlMin
    from achievement a left join industry_category f on a.field_a=f.id
   left join industry_category f2 on a.field_b=f2.id
   left join industry_category f3 on a.field_c=f3.id
@@ -1429,10 +1441,12 @@ where
   	</select>
   	<select id="myCollectionAchievementList" resultType="com.goafanti.common.bo.MyCollection">
   	select 
-  		a.id, a.name, a.introduction, b.name as fieidA, ai.uid, a.maturity as textA
+  		a.id, a.name, a.introduction, b.name as fieidA, ai.uid, a.maturity as textA,ifnull(c.x,0) as interestCount 
   	from achievement a
   	left join achievement_interest ai on ai.achievement_id=a.id
   	left join industry_category b on a.field_a= b.id
+  	left join (select achievement_id,count(*) as x from achievement_interest GROUP by achievement_id) c
+  	on c.achievement_id=a.id
   	where  a.deleted_sign=0
   	and ai.uid= #{uid,jdbcType=VARCHAR}
   	order by ai.create_time desc

+ 25 - 10
src/main/java/com/goafanti/common/mapper/DemandMapper.xml

@@ -43,6 +43,7 @@
     <result column="uid" property="uid" jdbcType="VARCHAR" />
     <result column="urgent_days" property="urgentDays" jdbcType="INTEGER" />
     <result column="urgent_money" property="urgentMoney" jdbcType="DECIMAL" />
+    <result column="picture_url_min" property="pictureUrlMin" jdbcType="VARCHAR" />
   </resultMap>
   <sql id="Base_Column_List" >
     id, serial_number, data_category, name, keyword, info_sources, industry_category_a, 
@@ -51,7 +52,7 @@
     fixed_scheme, cost_escrow, budget_cost, validity_period, employer_id, employer_name, 
     employer_address, employer_contacts, employer_contacts_mobile, employer_contacts_mailbox, 
     contacts, status, release_status, release_date, create_time, principal_id, deleted_sign,
-    audit_status, tech_broker_id,boutique,urgent_money,urgent_days
+    audit_status, tech_broker_id,boutique,urgent_money,urgent_days,picture_url_min
   </sql>
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
     select 
@@ -66,7 +67,7 @@
     f.name as field1,f2.name as field2,d.is_hot as isHot,d.release_date as releaseDate,d.demand_type as demandType,
     d.name,d.problem_des as problemDes,d.picture_url as pictureUrl,d.release_status as releaseStatus,
     d.audit_status as auditStatus,d.fixed_budget as fixedBudget,d.crowd_cost as crowdCost,
-    ifnull(i.y,0) as interestCount,if(isnull(a.demand_id),0,1) as interest,ifnull(t.count,0) as orderCount
+    ifnull(i.y,0) as interestCount,if(isnull(a.demand_id),0,1) as interest,ifnull(t.count,0) as orderCount,d.picture_url_min as pictureUrlMin
     from demand d
     left join (select b.commodity_id as id,count(*) as count from jt_order a left join jt_order_detail b on a.order_no=b.order_no
 	GROUP by b.commodity_id) t on d.id=t.id
@@ -95,7 +96,7 @@
       employer_contacts_mailbox, contacts, status, 
       release_status, release_date, create_time, 
       principal_id, deleted_sign, audit_status, tech_broker_id,boutique,remark,urgent_days,urgent_money,contact_mobile,crowd_cost,
-      is_hot,is_urgent,research_type)
+      is_hot,is_urgent,research_type,picture_url_min)
     values (#{id,jdbcType=VARCHAR}, #{serialNumber,jdbcType=INTEGER}, #{dataCategory,jdbcType=INTEGER}, 
       #{name,jdbcType=VARCHAR}, #{keyword,jdbcType=VARCHAR}, #{infoSources,jdbcType=INTEGER}, 
       #{industryCategoryA,jdbcType=INTEGER}, #{industryCategoryB,jdbcType=INTEGER}, #{industryCategoryC,jdbcType=INTEGER}, 
@@ -109,7 +110,7 @@
       #{releaseStatus,jdbcType=INTEGER}, #{releaseDate,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP}, 
       #{principalId,jdbcType=VARCHAR}, #{deletedSign,jdbcType=INTEGER}, #{auditStatus,jdbcType=INTEGER},
       #{techBrokerId,jdbcType=VARCHAR},#{boutique,jdbcType=INTEGER},#{remark,jdbcType=VARCHAR},#{urgentDays,jdbcType=VARCHAR},#{urgentMoney,jdbcType=VARCHAR},#{contactMobile,jdbcType=VARCHAR},#{crowdCost,jdbcType=DECIMAL},
-      #{isHot,jdbcType=INTEGER},#{isUrgent,jdbcType=INTEGER},#{researchType,jdbcType=INTEGER})
+      #{isHot,jdbcType=INTEGER},#{isUrgent,jdbcType=INTEGER},#{researchType,jdbcType=INTEGER},#{pictureUrlMin,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.goafanti.common.model.Demand" >
     insert into demand
@@ -231,6 +232,9 @@
       <if test="remark != null" >
         remark,
       </if>
+      <if test="pictureUrlMin != null" >
+        picture_url_min,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides="," >
       <if test="id != null" >
@@ -350,6 +354,10 @@
       <if test="remark != null" >
         #{remark,jdbcType=VARCHAR},
       </if>
+            <if test="pictureUrlMin != null" >
+      #{pictureUrlMin,jdbcType=VARCHAR},
+      </if>
+      
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.goafanti.common.model.Demand" >
@@ -491,10 +499,13 @@
       crowd_cost=#{crowdCost,jdbcType=DECIMAL},
       </if>
       <if test="isHot!=null">
-      is_hot=#{isHot,jdbcType=INTEGER}
+      is_hot=#{isHot,jdbcType=INTEGER},
       </if>
       <if test="auditInfo!=null">
-      audit_info=#{auditInfo,jdbcType=VARCHAR}
+      audit_info=#{auditInfo,jdbcType=VARCHAR},
+      </if>
+      <if test="pictureUrlMin !=null">
+      picture_url_min=#{pictureUrlMin,jdbcType=VARCHAR},
       </if>
     </set>
     where id = #{id,jdbcType=VARCHAR}
@@ -537,7 +548,8 @@
       deleted_sign = #{deletedSign,jdbcType=INTEGER},
       audit_status = #{auditStatus,jdbcType=INTEGER},
       tech_broker_id = #{techBrokerId,jdbcType=VARCHAR},
-      boutique = #{boutique,jdbcType=INTEGER}
+      boutique = #{boutique,jdbcType=INTEGER},
+      picture_url_min=#{pictureUrlMin,jdbcType=VARCHAR}
     where id = #{id,jdbcType=VARCHAR}
   </update>
 
@@ -870,7 +882,8 @@
 		keyword,
 		picture_url as pictureUrl,
 		audit_status as auditStatus,
-		audit_info as auditInfo
+		audit_info as auditInfo,
+		picture_url_min as pictureUrlMin
 	from
 		demand
 	where id = #{id,jdbcType=VARCHAR}
@@ -1188,12 +1201,14 @@ order by release_date desc limit #{0}
    where di.uid=#{uid,jdbcType=VARCHAR}
   </select>
   <select id="MyCollectionDemandList" resultType="com.goafanti.common.bo.MyCollection">
-  	select a.id,a.name,a.problem_des as introduction,b.name as fieidA,
+  	select a.id,a.name,a.problem_des as introduction,b.name as fieidA,ifnull(c.x,0) as interestCount,
   	a.is_urgent as textA
    from demand a
    left join demand_interest di on di.demand_id=a.id
    left join industry_category b on a.industry_category_a= b.id
-     where a.deleted_sign=0 
+   left join (select demand_id,count(*) as x from demand_interest GROUP by demand_id) c
+  	on c.demand_id=a.id
+     where a.deleted_sign=0
    and di.uid= #{uid,jdbcType=VARCHAR}
    order by di.create_time desc
     <if test="page_sql !=null">

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

@@ -815,7 +815,7 @@
   	left join user c on a.owner_id=c.id
   	left join (select project_id as id,count(*) as count  from project_interest group by project_id) d 
   	on a.id=d.id
-  	where  a.is_hot=1
+  	where  a.is_hot=1 and a.audit_status=2
    <if test="type==1">
   	and b.module != 1 
   	</if>

+ 52 - 0
src/main/java/com/goafanti/common/mapper/UserMapper.xml

@@ -1189,5 +1189,57 @@
 	<select id="getAllUser" resultMap="regUserMap">
 	 select id from user where status = 0 and source = 0 
 	</select>
+	
+	<!-- 获得用户数据  -->
+	<select id="getUserInfoList" parameterType="Map" resultType="com.goafanti.common.model.User">
+		select 
+			id, mobile,  nickname, email, type, 
+    		source,  username, create_time as createTime 
+		from `user` 
+		where 1 = 1
+		<if test="user.status != null">
+		and status = #{user.status,jdbcType=INTEGER}
+		</if>
+		<if test="user.source != null">
+		and source = #{user.source,jdbcType=INTEGER}
+		</if>
+		<if test="user.type != null">
+		and `type` = #{user.type,jdbcType=INTEGER}
+		</if>
+		<if test="user.mobile != null">
+		<bind name="m" value="'%' + user.mobile + '%'"/>
+		and mobile like #{m,jdbcType=VARCHAR}
+		</if>
+		<if test="user.username != null">
+		<bind name="u" value="'%' + user.username + '%'"/>
+		and username like #{u,jdbcType=VARCHAR}
+		</if>
+		order by create_time desc
+		<if test="page_sql != null">
+			${page_sql}
+		</if>
+	</select>
+	<select id="getUserInfoCount" parameterType="Map" resultType="java.lang.Integer">
+		select count(0)
+		from `user` 
+		where 1 = 1
+		<if test="user.status != null">
+		and status = #{user.status,jdbcType=INTEGER}
+		</if>
+		<if test="user.source != null">
+		and source = #{user.source,jdbcType=INTEGER}
+		</if>
+		<if test="user.type != null">
+		and `type` = #{user.type,jdbcType=INTEGER}
+		</if>
+		<if test="user.mobile != null">
+		<bind name="m" value="'%' + user.mobile + '%'"/>
+		and mobile like #{m,jdbcType=VARCHAR}
+		</if>
+		<if test="user.username != null">
+		<bind name="u" value="'%' + user.username + '%'"/>
+		and username like #{u,jdbcType=VARCHAR}
+		</if>
+	</select>
 
 </mapper>

+ 11 - 1
src/main/java/com/goafanti/common/model/Achievement.java

@@ -298,7 +298,9 @@ public class Achievement {
 	private Integer infoSources;
 	private String introduction;
 	
-String auditInfo;
+	private String pictureUrlMin;
+	
+	private String auditInfo;
 
 	public String getAuditInfo() {
 	return auditInfo;
@@ -1368,4 +1370,12 @@ public void setAuditInfo(String auditInfo) {
 		this.infoSources = infoSources;
 	}
 
+	public String getPictureUrlMin() {
+		return pictureUrlMin;
+	}
+
+	public void setPictureUrlMin(String pictureUrlMin) {
+		this.pictureUrlMin = pictureUrlMin;
+	}
+
 }

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

@@ -3,6 +3,7 @@ package com.goafanti.common.model;
 import java.math.BigDecimal;
 import java.util.Date;
 
+
 import org.apache.commons.lang3.StringUtils;
 
 import com.goafanti.common.utils.FileUtils;
@@ -243,6 +244,9 @@ public class Demand {
 	 * @mbg.generated  Tue Jun 12 17:36:53 CST 2018
 	 */
 	private String pictureUrl;
+	
+	
+	private String pictureUrlMin;
 
 	/**
 	 * This method was generated by MyBatis Generator. This method returns the value of the database column demand.id
@@ -1122,4 +1126,12 @@ public class Demand {
 
 	}
 
+	public String getPictureUrlMin() {
+		return pictureUrlMin;
+	}
+
+	public void setPictureUrlMin(String pictureUrlMin) {
+		this.pictureUrlMin = pictureUrlMin;
+	}
+
 }

+ 4 - 3
src/main/java/com/goafanti/core/shiro/filter/DeviceFilter.java

@@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Value;
 
 import com.goafanti.common.utils.LoggerUtils;
 
-
 public class DeviceFilter extends  AccessControlFilter{
 
 	@Autowired
@@ -23,7 +22,8 @@ public class DeviceFilter extends  AccessControlFilter{
 	@Override
 	protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue)
 			throws Exception {
-		if (shiroFilterUtils.isMobileDevice((HttpServletRequest)request) || request.getServerName().startsWith("m.")){
+		if (!shiroFilterUtils.isFromAPP((HttpServletRequest)request) && shiroFilterUtils.isMobileDevice((HttpServletRequest)request) 
+				&& !request.getServerName().startsWith("m")){
 			return false;
 		}
 		return true;
@@ -31,7 +31,8 @@ public class DeviceFilter extends  AccessControlFilter{
 
 	@Override
 	protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
-		if (shiroFilterUtils.isMobileDevice((HttpServletRequest)request) || request.getServerName().startsWith("m.")){
+		if (!shiroFilterUtils.isFromAPP((HttpServletRequest)request) && shiroFilterUtils.isMobileDevice((HttpServletRequest)request)
+				&& !request.getServerName().startsWith("m")){
 			LoggerUtils.debug(getClass(), "当前访问为移动设备");
 			WebUtils.issueRedirect(request, response, mobileWebsite,null,false);
 		}

+ 7 - 0
src/main/java/com/goafanti/demand/bo/AppDemandBo.java

@@ -25,6 +25,7 @@ public class AppDemandBo {
 	    private BigDecimal crowdCost;//资金需求金额
 	    private BigDecimal budgetCost;
 	    private Date createTime;
+	    private String pictureUrlMin;
 		public int getFieldA() {
 			return fieldA;
 		}
@@ -151,4 +152,10 @@ public class AppDemandBo {
 		public void setCreateTime(Date createTime) {
 			this.createTime = createTime;
 		}
+		public String getPictureUrlMin() {
+			return pictureUrlMin;
+		}
+		public void setPictureUrlMin(String pictureUrlMin) {
+			this.pictureUrlMin = pictureUrlMin;
+		}
 }

+ 10 - 0
src/main/java/com/goafanti/demand/bo/InputDemand.java

@@ -96,6 +96,8 @@ public class InputDemand {
 	
 	@Size(min = 0, max = 1000, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		pictureUrl;
+	@Size(min = 0, max = 500, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
+	private String pictureUrlMin;
 	
 	@Size(min = 0, max = 36, message = "{" + ErrorConstants.PARAM_SIZE_ERROR + "}")
 	private String		employerId;
@@ -107,6 +109,14 @@ public class InputDemand {
 	@Min(value = 0, message = "{" + ErrorConstants.PARAM_ERROR + "}")
 	private Integer		infoSources;
 
+	public String getPictureUrlMin() {
+		return pictureUrlMin;
+	}
+
+	public void setPictureUrlMin(String pictureUrlMin) {
+		this.pictureUrlMin = pictureUrlMin;
+	}
+
 	public String getName() {
 		return name;
 	}

+ 0 - 1
src/main/java/com/goafanti/demand/service/impl/DemandServiceImpl.java

@@ -110,7 +110,6 @@ public class DemandServiceImpl extends BaseMybatisDao<DemandMapper> implements D
 	@Autowired
 	DemandPublishMapper demandPublishMapper;
 
-	private final int source_platform = 0;
 
 	@Override
 	public int updateUserDemand(Demand d, String validityPeriodFormattedDate, String[] keywords,List<String> webPages,List<String> appPages) {

+ 1 - 1
src/main/java/com/goafanti/user/service/UserService.java

@@ -61,7 +61,7 @@ public interface UserService {
 
 	
 	
-	Pagination<User> userInfo(User user, Integer pageNo, Integer pageSize);
+	Pagination<User> getUserInfo(User user, Integer pageNo, Integer pageSize);
 	
 	
 }

+ 5 - 10
src/main/java/com/goafanti/user/service/impl/UserServiceImpl.java

@@ -223,16 +223,11 @@ public class UserServiceImpl extends BaseMybatisDao<UserMapper> implements UserS
 	public Integer selectByMobieAndTypeCount(String mobile ) {
 		return userMapper.selectByMobieAndTypeCount(mobile);
 	}
+	@SuppressWarnings("unchecked")
 	@Override
-	public Pagination<User> userInfo(User user, Integer pageNo, Integer pageSize) {
-		Map<String,Object> map = new HashMap<String, Object>();
-		map.put("username", "");
-		map.put("mobile", "");
-		map.put("type", "");
-		return null;
+	public Pagination<User> getUserInfo(User user, Integer pageNo, Integer pageSize) {
+		Map<String,Object> params = new HashMap<String, Object>();
+		params.put("user", user);
+		return  (Pagination<User>) findPage("getUserInfoList", "getUserInfoCount", params, pageNo, pageSize);
 	}
-
-
-	
-	
 }

+ 2 - 2
src/main/resources/shiro_base_auth.ini

@@ -1,5 +1,5 @@
 [base_auth]
-/=anon
+/=device
 /index=anon
 /login=anon
 /user/login.html=anon
@@ -16,7 +16,7 @@
 /open/**=anon
 /favicon.ico=anon
 /static/**=anon
-/portal/**=anon
+/portal/**=device
 /api/portal/**=anon
 /api/admin/**=admin
 /api/user/**=login

+ 2 - 2
src/main/resources/spring/spring-shiro.xml

@@ -160,9 +160,9 @@
 						<property name="loginUrl" value="/admin/login" />
 					</bean>
 				</entry>
-				<!-- <entry key="device">
+				<entry key="device">
 					<bean id="device" class="com.goafanti.core.shiro.filter.DeviceFilter"></bean>
-				</entry> -->
+				</entry>
 			</util:map>
 		</property>
 	</bean>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/index.html


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/service/patent.html


Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/service/serviceIndex.html


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

@@ -70,9 +70,40 @@
         </div>
     </div>
     <!-- banner -->
-  <div class="carousel">
+    <!-- <div id="myCarousel" class="carousel slide">
         <img th:src="${portalHost+'/img/technology_trading_banner01.jpg'}" alt="First slide">
-    </div>
+    </div> -->
+    <div id="myCarousel" class="carousel" th:if="${#lists.size(abannerlist) eq 1}">
+		<!-- 轮播(Carousel)项目 -->
+		<div class="carousel-inner" th:each="banner,bStatus:${abannerlist}">
+			<div class="item active">
+				<a th:if="${banner.forwardUrl}!=null and ${banner.forwardUrl}!=''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+				<a th:if="${banner.forwardUrl}==null or ${banner.forwardUrl}==''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+			</div>
+		</div>
+	</div>
+	<div id="myCarousel" class="carousel slide" th:if="${#lists.size(abannerlist) > 1}">
+		<!-- 轮播(Carousel)指标 -->
+		<ol class="carousel-indicators"><!-- 循环圆点 -->
+			<li data-target="#myCarousel" data-slide-to="${bStatus.index}" class="active" th:each="banner,bStatus:${abannerlist}" th:if="${bStatus.first}"></li>
+			<li data-target="#myCarousel" data-slide-to="${bStatus.index}" th:each="banner,bStatus:${abannerlist}" th:unless="${bStatus.first}"></li>
+		</ol>
+		<!-- 轮播(Carousel)项目 -->
+		<div class="carousel-inner" >
+			<div class="item active" th:each="banner,bStatus:${abannerlist}" th:if="${bStatus.first}">
+			<!-- /portal/continueHigh  /portal/militaryProject   /portal/practicalPatent -->
+				<a th:if="${banner.forwardUrl}!=null and ${banner.forwardUrl}!=''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+				<a th:if="${banner.forwardUrl}==null or ${banner.forwardUrl}==''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+			</div>
+			<div class="item" th:each="banner,bStatus:${abannerlist}" th:unless="${bStatus.first}">
+				<a th:if="${banner.forwardUrl}!=null and ${banner.forwardUrl}!=''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+				<a th:if="${banner.forwardUrl}==null or ${banner.forwardUrl}==''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+			</div>
+		</div>
+		<!-- 轮播(Carousel)导航 -->
+		<a class="carousel-control left" href="#myCarousel" data-slide="prev">&lsaquo;</a>
+		<a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</a>
+	</div>
     <!-- 主体内容区域 -->
     <div class="container">
         <div class="demand-marq">

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

@@ -68,9 +68,40 @@
 	</div>
 	<!-- banner -->
 
-	<div class="carousel">
+	<!-- <div id="myCarousel" class="carousel slide">
         <img th:src="${portalHost+'/img/technology_trading_banner01.jpg'}" alt="First slide">
-    </div>
+    </div> -->
+    <div id="myCarousel" class="carousel" th:if="${#lists.size(dbannerlist) eq 1}">
+		<!-- 轮播(Carousel)项目 -->
+		<div class="carousel-inner" th:each="banner,bStatus:${dbannerlist}">
+			<div class="item active">
+				<a th:if="${banner.forwardUrl}!=null and ${banner.forwardUrl}!=''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+				<a th:if="${banner.forwardUrl}==null or ${banner.forwardUrl}==''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+			</div>
+		</div>
+	</div>
+	<div id="myCarousel" class="carousel slide" th:if="${#lists.size(dbannerlist) > 1}">
+		<!-- 轮播(Carousel)指标 -->
+		<ol class="carousel-indicators"><!-- 循环圆点 -->
+			<li data-target="#myCarousel" data-slide-to="${bStatus.index}" class="active" th:each="banner,bStatus:${dbannerlist}" th:if="${bStatus.first}"></li>
+			<li data-target="#myCarousel" data-slide-to="${bStatus.index}" th:each="banner,bStatus:${dbannerlist}" th:unless="${bStatus.first}"></li>
+		</ol>
+		<!-- 轮播(Carousel)项目 -->
+		<div class="carousel-inner" >
+			<div class="item active" th:each="banner,bStatus:${dbannerlist}" th:if="${bStatus.first}">
+			<!-- /portal/continueHigh  /portal/militaryProject   /portal/practicalPatent -->
+				<a th:if="${banner.forwardUrl}!=null and ${banner.forwardUrl}!=''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+				<a th:if="${banner.forwardUrl}==null or ${banner.forwardUrl}==''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+			</div>
+			<div class="item" th:each="banner,bStatus:${dbannerlist}" th:unless="${bStatus.first}">
+				<a th:if="${banner.forwardUrl}!=null and ${banner.forwardUrl}!=''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+				<a th:if="${banner.forwardUrl}==null or ${banner.forwardUrl}==''" th:href="|${basePath }${ banner.forwardUrl}"><img th:src="|${avatarUploadHost}${banner.imgUrl}" th:alt="${banner.text}"></a>
+			</div>
+		</div>
+		<!-- 轮播(Carousel)导航 -->
+		<a class="carousel-control left" href="#myCarousel" data-slide="prev">&lsaquo;</a>
+		<a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</a>
+	</div>
 	<!-- 主体内容区域 -->
 	<div class="container">
 		<div class="demand-marq">

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1 - 1
src/main/webapp/WEB-INF/views/portal/technologyTrading/tradingIndex.html