albertshaw 8 years ago
parent
commit
816a08de59

+ 13 - 0
schema/20170913-consult-order.sql

@@ -0,0 +1,13 @@
+CREATE TABLE `consult_order` (
+  `id` bigint(19) NOT NULL,
+  `price` double(10,2) NOT NULL COMMENT '价格',
+  `order_state` int(11) NOT NULL COMMENT '付款状态  0:未付款 1:已付款',
+  `order_time` datetime NOT NULL COMMENT '下单时间',
+  `user_id` varchar(36) NOT NULL COMMENT '用户ID 外键',
+  `to_user_id` varchar(36) NOT NULL COMMENT '专家用户ID 外键',
+  `payment_time` datetime DEFAULT NULL COMMENT '支付时间',
+  `payment_value` double(10,2) DEFAULT NULL COMMENT '实际支付金额',
+  `payment_type` varchar(16) DEFAULT NULL COMMENT '支付方式',
+  `payment_id` varchar(45) DEFAULT NULL COMMENT '支付流水号',
+  PRIMARY KEY (`id`)
+)

+ 8 - 9
src/main/java/com/goafanti/app/controller/AppApiController.java

@@ -26,15 +26,15 @@ import com.goafanti.news.service.NewsService;
 @RequestMapping(path = "/api/portal/app", method = RequestMethod.GET)
 public class AppApiController extends BaseApiController {
 	@Resource
-	private BannersService			bannersService;
+	private BannersService		bannersService;
 	@Resource
-	private ActivityService	activityService;
+	private ActivityService		activityService;
 	@Resource
-	private NewsService				newsService;
+	private NewsService			newsService;
 	@Resource
-	private AchievementService			achievementService;
+	private AchievementService	achievementService;
 	@Resource
-	private DemandService				demandService;
+	private DemandService		demandService;
 
 	@RequestMapping(value = "/index", method = RequestMethod.GET)
 	public Result index(HttpServletRequest request) {
@@ -42,12 +42,11 @@ public class AppApiController extends BaseApiController {
 		String domainName = request.getServerName();
 		result.put("banners", bannersService.findPortalBanners(BannersType.APP.getKey()));
 		result.put("activities", activityService.findPortalList(0, 3, null));
-		result.put("policies", newsService.findNewsList(0, NewsType.GJZC.getCode(), 3,domainName));
-		result.put("news", newsService.findNewsList(0, NewsType.JTDT.getCode(), 5,domainName));
+		result.put("policies", newsService.findNewsList(0, NewsType.GJZC.getCode(), 3, domainName, true));
+		result.put("news", newsService.findNewsList(0, NewsType.JTDT.getCode(), 5, domainName, true));
 		return res().data(result);
 	}
-	
-	
+
 	/**
 	 * 科技成果详情
 	 */

+ 3 - 2
src/main/java/com/goafanti/common/controller/PortalController.java

@@ -73,7 +73,7 @@ public class PortalController extends BaseController {
 			demand = demandService.findOrgPortalDemandDetail(id);
 		}
 		if (null != demand) {
-			if (null != demand.getBudgetCost()) {
+			if (null != demand.getBudgetCost() && demand.getBudgetCost().compareTo(BigDecimal.ZERO) > 0) {
 				demand.setBudgetCostS(demand.getBudgetCost() + UNIT);
 			} else {
 				demand.setBudgetCostS(PRICE_NEGOTIABLE);
@@ -233,7 +233,8 @@ public class PortalController extends BaseController {
 					|| AchievementBargainingMode.NEGOTIABLE.equals(achievement.getBargainingMode())) {
 				achievement.setTransferPriceS(PRICE_NEGOTIABLE);
 			} else {
-				if (null != achievement.getTransferPrice()) {
+				if (null != achievement.getTransferPrice()
+						&& achievement.getTransferPrice().compareTo(BigDecimal.ZERO) > 0) {
 					achievement.setTransferPriceS(achievement.getTransferPrice() + UNIT);
 				} else {
 					achievement.setTransferPriceS(PRICE_NEGOTIABLE);

+ 4 - 0
src/main/java/com/goafanti/common/mapper/NewsMapperExt.xml

@@ -34,6 +34,10 @@
 		<if test="website != null">
 			and b.website = #{website,jdbcType=VARCHAR}
 		</if>
+		<if test="picRequired != null">
+			and a.title_img is not null and a.title_img != ''
+		</if>
+		
 		order by create_time desc
 		limit #{pageNo,jdbcType=INTEGER}, #{pageSize,jdbcType=INTEGER}
 	</select>

+ 13 - 12
src/main/java/com/goafanti/news/controller/NewsController.java

@@ -42,11 +42,11 @@ public class NewsController extends BaseController {
 			newsService.cleanList();
 		}
 		String domainName = request.getServerName();
-		modelview.addObject("kjkx", newsService.findNewsList(0, NewsType.KJZX.getCode(), 2,domainName));
-		modelview.addObject("jtdt", newsService.findNewsList(0, NewsType.JTDT.getCode(), 2,domainName));
-		modelview.addObject("zfwl", newsService.findNewsList(0, NewsType.ZFWL.getCode(), 3,domainName));
-		modelview.addObject("gjzc", newsService.findNewsList(0, NewsType.GJZC.getCode(), 3,domainName));
-		modelview.addObject("dfzc", newsService.findNewsList(0, NewsType.DFZC.getCode(), 3,domainName));
+		modelview.addObject("kjkx", newsService.findNewsList(0, NewsType.KJZX.getCode(), 2, domainName, false));
+		modelview.addObject("jtdt", newsService.findNewsList(0, NewsType.JTDT.getCode(), 2, domainName, false));
+		modelview.addObject("zfwl", newsService.findNewsList(0, NewsType.ZFWL.getCode(), 3, domainName, false));
+		modelview.addObject("gjzc", newsService.findNewsList(0, NewsType.GJZC.getCode(), 3, domainName, false));
+		modelview.addObject("dfzc", newsService.findNewsList(0, NewsType.DFZC.getCode(), 3, domainName, false));
 		handleBanners(modelview, BannersType.CE_YUAN_DI);
 		return modelview;
 	}
@@ -59,7 +59,7 @@ public class NewsController extends BaseController {
 		modelview.setViewName("/portal/news/newsDetails");
 		return modelview;
 	}
-	
+
 	/**
 	 * 新闻详情APP
 	 */
@@ -74,7 +74,8 @@ public class NewsController extends BaseController {
 	 */
 	@RequestMapping(value = "/portal/news/list", method = RequestMethod.GET)
 	@ResponseBody
-	public Result portalNewsList(Integer type, String pageSize, String pageNo, String noCache,HttpServletRequest request) {
+	public Result portalNewsList(Integer type, String pageSize, String pageNo, String noCache,
+			HttpServletRequest request) {
 		Result res = new Result();
 		if (StringUtils.equals(noCache, "clear")) {
 			newsService.cleanPortalList();
@@ -82,7 +83,7 @@ public class NewsController extends BaseController {
 		String domainName = request.getServerName();
 		Integer pN = getPageNo(pageNo);
 		Integer pS = getPageSize(pageSize);
-		res.setData(newsService.findPortalList(pS, (pN - 1) * pS, type,domainName));
+		res.setData(newsService.findPortalList(pS, (pN - 1) * pS, type, domainName));
 		return res;
 	}
 
@@ -113,16 +114,16 @@ public class NewsController extends BaseController {
 			modelview.addObject("banners", banners);
 		}
 	}
-	
-	private Integer getPageNo(String pageNo){
+
+	private Integer getPageNo(String pageNo) {
 		if (StringUtils.isNumeric(pageNo)) {
 			Integer pn = Integer.parseInt(pageNo);
 			return pn < 1 ? 1 : pn;
 		}
 		return 1;
 	}
-	
-	private Integer getPageSize(String pageSize){
+
+	private Integer getPageSize(String pageSize) {
 		if (StringUtils.isNumeric(pageSize)) {
 			Integer ps = Integer.parseInt(pageSize);
 			return ps > 50 ? 50 : (ps < 5 ? 5 : ps);

+ 21 - 12
src/main/java/com/goafanti/news/service/NewsService.java

@@ -8,6 +8,7 @@ import java.util.Map;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.CachePut;
 import org.springframework.cache.annotation.Cacheable;
@@ -30,9 +31,11 @@ import com.goafanti.news.bo.NewsSummary;
 public class NewsService extends BaseMybatisDao<NewsMapper> {
 	@Autowired
 	NewsMapper					newsMapper;
+	@Value("${spring.profiles.active}")
+	private String				env;
 
 	private static final Logger	logger	= LoggerFactory.getLogger(NewsService.class);
-	
+
 	@Cacheable(value = "IndexNewsListCache", key = "'NewsList:Page:'+#pageNo+'Type:'+#type+'Size:'+#pageSize")
 	public List<NewsSummary> findIndexNewsList(Integer pageNo, Integer type, Integer pageSize) {
 		Map<String, Object> params = new HashMap<String, Object>();
@@ -52,13 +55,19 @@ public class NewsService extends BaseMybatisDao<NewsMapper> {
 		return newsMapper.selectByPrimaryKey(id);
 	}
 
-	@Cacheable(value = "NewsListCache", key = "'NewsList:Page:'+#pageNo+'Type:'+#type+'Size:'+#pageSize+'domainName:'+#domainName")
-	public List<NewsSummary> findNewsList(Integer pageNo, Integer type, Integer pageSize,String domainName) {
+	@Cacheable(value = "NewsListCache", key = "'NewsList:Page:'+#pageNo+'Type:'+#type+'Size:'+#pageSize+'domainName:'+#domainName+'picReq:'+#picRequired")
+	public List<NewsSummary> findNewsList(Integer pageNo, Integer type, Integer pageSize, String domainName,
+			Boolean picRequired) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		params.put("type", type);
 		params.put("pageSize", pageSize);
 		params.put("pageNo", pageNo);
-		params.put("website", domainName);
+		if (!StringUtils.equals(env, "dev") && !StringUtils.equals(env, "local")) {
+			params.put("website", domainName);
+		}
+		if (picRequired) {
+			params.put("picRequired", picRequired);
+		}
 		return newsMapper.findList(params);
 	}
 
@@ -78,7 +87,7 @@ public class NewsService extends BaseMybatisDao<NewsMapper> {
 		newsMapper.insert(news);
 		return news;
 	}
-	
+
 	@CachePut(value = "NewsCache", key = "'News:'+#id")
 	public News update(long id, News news) {
 		newsMapper.updateByPrimaryKeyWithBLOBs(news);
@@ -118,8 +127,8 @@ public class NewsService extends BaseMybatisDao<NewsMapper> {
 		if (StringUtils.isNotBlank(source)) {
 			params.put("source", source);
 		}
-		
-		if (null != hot){
+
+		if (null != hot) {
 			params.put("hot", hot);
 		}
 
@@ -140,9 +149,9 @@ public class NewsService extends BaseMybatisDao<NewsMapper> {
 	public int batchDeleteByPrimaryKey(List<String> id) {
 		return newsMapper.batchDeleteByPrimaryKey(id);
 	}
-	
+
 	@Cacheable(value = "NewsPortalListCache", key = "'NewsPortalList:Page:'+#pageNo+'Type:'+#type+'Size:'+#pageSize+'domainName:'+#domainName")
-	public List<NewsPortalList> findPortalList(Integer pSize, Integer pNo, Integer type,String domainName) {
+	public List<NewsPortalList> findPortalList(Integer pSize, Integer pNo, Integer type, String domainName) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		params.put("type", type);
 		params.put("pageSize", pSize);
@@ -150,14 +159,14 @@ public class NewsService extends BaseMybatisDao<NewsMapper> {
 		params.put("website", domainName);
 		return newsMapper.findPortalList(params);
 	}
-	
+
 	@CacheEvict(value = "NewsPortalListCache", allEntries = true)
 	public void cleanPortalList() {
 		LoggerUtils.debug(logger, "清除门户端新闻列表缓存");
-		
+
 	}
 
-	public List<NewsSummary> findJmrhNewsList(String type){
+	public List<NewsSummary> findJmrhNewsList(String type) {
 		Map<String, Object> params = new HashMap<String, Object>();
 		params.put("type", type);
 		return newsMapper.findJmrhNewsList(params);