PortalController.java 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026
  1. package com.goafanti.common.controller;
  2. import com.goafanti.achievement.bo.AchievementListBo;
  3. import com.goafanti.achievement.bo.AchievementPartnerListBo;
  4. import com.goafanti.achievement.service.AchievementService;
  5. import com.goafanti.app.bo.ProjectBo;
  6. import com.goafanti.app.bo.ProjectDetailBo;
  7. import com.goafanti.app.bo.ServiceImages;
  8. import com.goafanti.business.service.BusinessProjectService;
  9. import com.goafanti.common.enums.*;
  10. import com.goafanti.common.service.DistrictGlossoryService;
  11. import com.goafanti.common.service.FieldGlossoryService;
  12. import com.goafanti.core.mybatis.page.Pagination;
  13. import com.goafanti.core.shiro.token.TokenManager;
  14. import com.goafanti.demand.bo.DemandListBo;
  15. import com.goafanti.demand.service.DemandInterestService;
  16. import com.goafanti.demand.service.DemandService;
  17. import com.goafanti.order.service.OrderService;
  18. import com.goafanti.portal.bo.AchievementPortalDetailBo;
  19. import com.goafanti.portal.bo.AchievementPortalSimilarListBo;
  20. import com.goafanti.portal.bo.DemandPortalDetailBo;
  21. import com.goafanti.portal.bo.DemandPortalSimilarListBo;
  22. import com.goafanti.user.bo.UserPartnerDetailBo;
  23. import com.goafanti.user.service.UserIdentityService;
  24. import com.goafanti.user.service.UserService;
  25. import org.apache.commons.lang3.StringUtils;
  26. import org.springframework.stereotype.Controller;
  27. import org.springframework.web.bind.annotation.RequestMapping;
  28. import org.springframework.web.bind.annotation.RequestMethod;
  29. import org.springframework.web.servlet.ModelAndView;
  30. import org.springframework.web.servlet.view.RedirectView;
  31. import javax.annotation.Resource;
  32. import javax.servlet.http.HttpServletRequest;
  33. import java.math.BigDecimal;
  34. import java.util.ArrayList;
  35. import java.util.Arrays;
  36. import java.util.List;
  37. import java.util.Random;
  38. @Controller
  39. public class PortalController extends BaseController {
  40. @Resource
  41. private FieldGlossoryService glossoryService;
  42. @Resource
  43. private AchievementService achievementService;
  44. @Resource
  45. private DemandService demandService;
  46. @Resource
  47. private UserIdentityService userIdentityService;
  48. @Resource
  49. private DemandInterestService demandInterestService;
  50. @Resource
  51. private UserService userService;
  52. @Resource
  53. private DistrictGlossoryService districtglossoryservice;
  54. @Resource
  55. private BusinessProjectService businessProjectService;
  56. @Resource
  57. private OrderService orderService;
  58. private static final String UNIT = "万元";
  59. private static final int MULTIPLE = 20;
  60. private static final String DELIMITER = "/";
  61. private static final String PRICE_NEGOTIABLE = "价格面议";
  62. private static final String UNCERTIFY = "未认证";
  63. @RequestMapping(value = "/index", method = RequestMethod.GET)
  64. public ModelAndView index(HttpServletRequest request, ModelAndView modelview) {
  65. return home(request, modelview);
  66. }
  67. @RequestMapping(value = "/", method = RequestMethod.GET)
  68. public ModelAndView home(HttpServletRequest request, ModelAndView modelview) {
  69. RedirectView rv = new RedirectView();
  70. rv.setUrl(request.getContextPath() + "/admin/login");
  71. rv.setExposeModelAttributes(false);
  72. modelview.setView(rv);
  73. return modelview;
  74. }
  75. /**
  76. * 科技需求详情
  77. */
  78. @RequestMapping(value = "/portal/technologyTrading/demandDetail", method = RequestMethod.GET)
  79. public ModelAndView portalDemandDetail(String id, Integer type) {
  80. ModelAndView mv = new ModelAndView();
  81. DemandPortalDetailBo demand = null;
  82. int countDemandInterest = demandInterestService.countDemandInterest(id);
  83. if(demandInterestService.selectDemandInterestByUidAndDemandId(TokenManager.getUserId(),id) != null) {
  84. mv.addObject("isInterester", 0);
  85. }else{
  86. mv.addObject("isInterester", 1);
  87. };
  88. if (UserType.PERSONAL.getCode().equals(type)) {
  89. demand = demandService.findUserPortalDemandDetail(id);
  90. } else if (UserType.ORGANIZATION.getCode().equals(type)) {
  91. demand = demandService.findOrgPortalDemandDetail(id);
  92. }
  93. if (null != demand) {
  94. if (null != demand.getBudgetCost()) {
  95. demand.setBudgetCostS(demand.getBudgetCost() + UNIT);
  96. } else {
  97. demand.setBudgetCostS(PRICE_NEGOTIABLE);
  98. }
  99. if (StringUtils.isBlank(demand.getEmployerName())) {
  100. if (UserLevel.GENERAL.getCode().equals(demand.getLevel())) {
  101. demand.setEmployerName(UNCERTIFY);
  102. } else {
  103. demand.setEmployerName(" ");
  104. }
  105. }
  106. demand.setCountDemandInterest(countDemandInterest);
  107. Integer industryCategoryA = demand.getIndustryCategoryA();
  108. boolean hasCategoryA = false;
  109. boolean hasCategoryB = false;
  110. if (null != industryCategoryA) {
  111. List<DemandPortalSimilarListBo> similarList = demandService.findByIndustryCategoryA(industryCategoryA,
  112. demand.getId());
  113. if (!similarList.isEmpty()) {
  114. for (DemandPortalSimilarListBo s : similarList) {
  115. hasCategoryA = StringUtils.isNotBlank(s.getIndustryCategoryAS());
  116. hasCategoryB = StringUtils.isNotBlank(s.getIndustryCategoryBS());
  117. s.setIndustryCategory((hasCategoryA ? s.getIndustryCategoryAS() : "")
  118. + (hasCategoryA && hasCategoryB ? DELIMITER : "")
  119. + (hasCategoryB ? s.getIndustryCategoryBS() : ""));
  120. if (null != s.getBudgetCost() && s.getBudgetCost().compareTo(BigDecimal.ZERO) > 0) {
  121. s.setBudgetCostS(s.getBudgetCost() + UNIT);
  122. } else {
  123. s.setBudgetCostS(PRICE_NEGOTIABLE);
  124. }
  125. }
  126. }
  127. mv.addObject("similarList", similarList);
  128. hasCategoryA = StringUtils.isNotBlank(demand.getIndustryCategoryAS());
  129. }
  130. hasCategoryB = StringUtils.isNotBlank(demand.getIndustryCategoryBS());
  131. demand.setIndustryCategory((hasCategoryA ? demand.getIndustryCategoryAS() : "")
  132. + (hasCategoryA && hasCategoryB ? DELIMITER : "")
  133. + (hasCategoryB ? demand.getIndustryCategoryBS() : ""));
  134. demand.setLocation((StringUtils.isBlank(demand.getProvince()) ? "" : demand.getProvince())
  135. + (StringUtils.isBlank(demand.getCity()) ? "" : demand.getCity()));
  136. }
  137. String demandpic = demand.getPictureUrl();// 在存在多张图片的情况下,暂时先取第一张
  138. if (null != demandpic) {
  139. boolean hascomma = demandpic.contains(",");
  140. if (hascomma) {
  141. String[] picurl = demandpic.split(",");
  142. demand.setPictureUrl(picurl[0]);
  143. }
  144. }
  145. /*--------------查询精品需求---------------*/
  146. List<DemandListBo> boutiquedemand = demandService.selectDemandList(1);
  147. List<DemandListBo> reboutiquedemand = new ArrayList<DemandListBo>();
  148. if (boutiquedemand.size() >= 4) {
  149. int index = new Random().nextInt(boutiquedemand.size() - 3);
  150. reboutiquedemand.add(boutiquedemand.get(index));
  151. reboutiquedemand.add(boutiquedemand.get(index + 1));
  152. reboutiquedemand.add(boutiquedemand.get(index + 2));
  153. } else {
  154. reboutiquedemand.addAll(boutiquedemand);
  155. }
  156. ;
  157. for (int i = 0; i < reboutiquedemand.size(); i++) {
  158. String pic = reboutiquedemand.get(i).getPictureUrl();// 在存在多张图片的情况下,暂时先取第一张
  159. if (null != pic) {
  160. boolean hascomma = pic.contains(",");
  161. if (hascomma) {
  162. String[] picurl = pic.split(",");
  163. reboutiquedemand.get(i).setPictureUrl(picurl[0]);
  164. }
  165. }
  166. }
  167. ;
  168. // 判断登录没登录. 登录了.查找用户喜欢的. 没登录就随机查四个.
  169. boolean isLogin = TokenManager.isLogin();
  170. List<DemandListBo> demandlist = demandService.selectDemandList(0);// 查询所有专利
  171. List<DemandListBo> redemandlist = new ArrayList<DemandListBo>();
  172. if (demandlist.size() >= 5) {
  173. int idx = new Random().nextInt(demandlist.size() - 4);
  174. redemandlist.add(demandlist.get(idx));
  175. redemandlist.add(demandlist.get(idx + 1));
  176. redemandlist.add(demandlist.get(idx + 2));
  177. redemandlist.add(demandlist.get(idx + 3));
  178. } else {
  179. redemandlist.addAll(demandlist);
  180. }
  181. if (isLogin) {
  182. List<DemandListBo> customerlikelist = demandService.selectCsutomerLike();// 猜你喜欢专利
  183. int size;
  184. if (customerlikelist.size() < redemandlist.size()) {
  185. size = customerlikelist.size();
  186. } else {
  187. size = redemandlist.size();
  188. }
  189. for (int i = 0; i < size; i++) {
  190. redemandlist.set(i, customerlikelist.get(i));
  191. }
  192. }
  193. for (int i = 0; i < redemandlist.size(); i++) {
  194. Integer demandType = redemandlist.get(i).getDemandType();
  195. if (null != redemandlist) {
  196. if (demandType == 1) {
  197. redemandlist.get(i).setDemandTypeS("技术购买需求");
  198. } else if (demandType == 2) {
  199. redemandlist.get(i).setDemandTypeS("技术设备类需求");
  200. } else if (demandType == 3) {
  201. redemandlist.get(i).setDemandTypeS("技术方案型需求");
  202. } else if (demandType == 4) {
  203. redemandlist.get(i).setDemandTypeS("技术攻关型需求");
  204. } else if (demandType == 5) {
  205. redemandlist.get(i).setDemandTypeS("技术人才型需求");
  206. }
  207. }
  208. }
  209. ;
  210. for (int i = 0; i < redemandlist.size(); i++) {
  211. String pic = redemandlist.get(i).getPictureUrl();// 在存在多张图片的情况下,暂时先取第一张
  212. if (null != pic) {
  213. boolean hascomma = pic.contains(",");
  214. if (hascomma) {
  215. String[] picurl = pic.split(",");
  216. redemandlist.get(i).setPictureUrl(picurl[0]);
  217. }
  218. }
  219. };
  220. mv.setViewName("/portal/technologyTrading/demandDetail");
  221. mv.addObject("demand", demand);
  222. mv.addObject("reboutiquedemand", reboutiquedemand);
  223. mv.addObject("redemandlist", redemandlist);
  224. return mv;
  225. }
  226. /**
  227. * 科技成果详情
  228. */
  229. @SuppressWarnings("unlikely-arg-type")
  230. @RequestMapping(value = "/portal/technologyTrading/achievementDetail", method = RequestMethod.GET)
  231. public ModelAndView portalAchievementDetail(String id, Integer type) {
  232. ModelAndView mv = new ModelAndView();
  233. AchievementPortalDetailBo achievementdetail = null;
  234. if (UserType.PERSONAL.getCode().equals(type)) {
  235. achievementdetail = achievementService.findUserPortalAchievementDetail(id);
  236. } else if (UserType.ORGANIZATION.getCode().equals(type)) {
  237. achievementdetail = achievementService.findOrgPortalAchievementDetail(id);
  238. }
  239. if (null != achievementdetail) {
  240. achievementdetail.setId(id);
  241. achievementdetail.setOwnerType(String.valueOf(type));
  242. Integer category = achievementdetail.getCategory();
  243. if (null != category) {
  244. if (category == 0) {
  245. achievementdetail.setCategoryS("专利");
  246. } else if (category == 1) {
  247. achievementdetail.setCategoryS("软著");
  248. } else if (category == 2) {
  249. achievementdetail.setCategoryS("项目");
  250. } else if (category == 3) {
  251. achievementdetail.setCategoryS("版权");
  252. } else if (category == 4) {
  253. achievementdetail.setCategoryS("工业设计");
  254. } else if (category == 5) {
  255. achievementdetail.setCategoryS("配方");
  256. } else if (category == 6) {
  257. achievementdetail.setCategoryS("非标");
  258. }
  259. }
  260. ;
  261. Integer fieldA = achievementdetail.getFieldA();
  262. String field = "";
  263. boolean a = Boolean.FALSE;
  264. boolean b = Boolean.FALSE;
  265. if (null != fieldA) {
  266. List<AchievementPortalSimilarListBo> similarList = achievementService.findByFieldA(fieldA,
  267. achievementdetail.getId(), type);
  268. if (!similarList.isEmpty()) {
  269. for (AchievementPortalSimilarListBo bo : similarList) {
  270. if (null != bo.getMaturity()) {
  271. bo.setMaturityS(bo.getMaturity() * MULTIPLE + "%");
  272. }
  273. if (null == bo.getBargainingMode()
  274. || AchievementBargainingMode.NEGOTIABLE.getCode().equals(bo.getBargainingMode())) {
  275. bo.setTransferPriceS(PRICE_NEGOTIABLE);
  276. } else {
  277. if (null != bo.getTransferPrice() && bo.getTransferPrice().compareTo(BigDecimal.ZERO) > 0) {
  278. bo.setTransferPriceS(bo.getTransferPrice() + UNIT);
  279. } else {
  280. bo.setTransferPriceS(PRICE_NEGOTIABLE);
  281. }
  282. }
  283. String ulocation = "";
  284. String uprovince = bo.getUprovince();
  285. String ucity = bo.getUcity();
  286. ulocation += (StringUtils.isBlank(uprovince) ? "" : uprovince)
  287. + (StringUtils.isBlank(ucity) ? "" : ucity);
  288. String olocation = "";
  289. String oprovince = bo.getOprovince();
  290. String ocity = bo.getOcity();
  291. olocation += (StringUtils.isBlank(oprovince) ? "" : oprovince)
  292. + (StringUtils.isBlank(ocity) ? "" : ocity);
  293. bo.setLocation(StringUtils.isNotBlank(ulocation) ? ulocation
  294. : (StringUtils.isNotBlank(olocation) ? olocation : ""));
  295. }
  296. }
  297. mv.addObject("similarList", similarList);
  298. if (StringUtils.isNotBlank(achievementdetail.getFieldAS())) {
  299. a = Boolean.TRUE;
  300. }
  301. }
  302. if (StringUtils.isNotBlank(achievementdetail.getFieldBS())) {
  303. b = Boolean.TRUE;
  304. }
  305. field += (a ? achievementdetail.getFieldAS() : "") + (a && b ? DELIMITER : "")
  306. + (b ? achievementdetail.getFieldBS() : "");
  307. achievementdetail.setField(field);
  308. String technicalPictureUrl = achievementdetail.getTechnicalPictureUrl();
  309. if (StringUtils.isNotBlank(technicalPictureUrl)) {
  310. achievementdetail.setPictureList(Arrays.asList(technicalPictureUrl.trim().split(",|,")));
  311. }
  312. Integer transfermode = achievementdetail.getTransferMode();
  313. if (null != transfermode) {
  314. if (AchievementTransferMode.FULLTRANSFER.getCode().equals(transfermode)) {
  315. achievementdetail.setTransferModeS(AchievementTransferMode.FULLTRANSFER.getDesc());
  316. } else if (AchievementTransferMode.PERMISSIONTRANSFER.getCode().equals(transfermode)) {
  317. achievementdetail.setTransferModeS(AchievementTransferMode.PERMISSIONTRANSFER.getDesc());
  318. } else if (AchievementTransferMode.TECHNOLOGYSHARES.getCode().equals(transfermode)) {
  319. achievementdetail.setTransferModeS(AchievementTransferMode.TECHNOLOGYSHARES.getDesc());
  320. } else if (AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getCode().equals(transfermode)) {
  321. achievementdetail.setTransferModeS(AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getDesc());
  322. }
  323. }
  324. Integer maturity = achievementdetail.getMaturity();
  325. if (null != maturity) {
  326. if (AchievementMaturity.RESEARCH.getCode().equals(maturity)) {
  327. achievementdetail.setMaturityS(AchievementMaturity.RESEARCH.getDesc());
  328. } else if (AchievementMaturity.SAMPLE.getCode().equals(maturity)) {
  329. achievementdetail.setMaturityS(AchievementMaturity.SAMPLE.getDesc());
  330. } else if (AchievementMaturity.PRIMARYTEST.getCode().equals(maturity)) {
  331. achievementdetail.setMaturityS(AchievementMaturity.PRIMARYTEST.getDesc());
  332. } else if (AchievementMaturity.INTERMEDIATETEST.getCode().equals(maturity)) {
  333. achievementdetail.setMaturityS(AchievementMaturity.INTERMEDIATETEST.getDesc());
  334. } else if (AchievementMaturity.MASSPRODUCTION.getCode().equals(maturity)) {
  335. achievementdetail.setMaturityS(AchievementMaturity.MASSPRODUCTION.getDesc());
  336. }
  337. }
  338. String pic = achievementdetail.getTechnicalPictureUrl();// 在存在多张图片的情况下,暂时先取第一张
  339. if (null != pic) {
  340. boolean hascomma = pic.contains(",");
  341. if (hascomma) {
  342. String[] picurl = pic.split(",");
  343. achievementdetail.setTechnicalPictureUrl(picurl[0]);
  344. }
  345. }
  346. String location = "";
  347. String province = achievementdetail.getProvince();
  348. String city = achievementdetail.getCity();
  349. location += (StringUtils.isBlank(province) ? "" : province) + (StringUtils.isBlank(city) ? "" : city);
  350. if (null == achievementdetail.getBargainingMode()
  351. || AchievementBargainingMode.NEGOTIABLE.equals(achievementdetail.getBargainingMode())) {
  352. achievementdetail.setTransferPriceS(PRICE_NEGOTIABLE);
  353. } else {
  354. if (null != achievementdetail.getTransferPrice()) {
  355. achievementdetail.setTransferPriceS(achievementdetail.getTransferPrice() + UNIT);
  356. } else {
  357. achievementdetail.setTransferPriceS(PRICE_NEGOTIABLE);
  358. }
  359. }
  360. achievementdetail.setLocation(location);
  361. }
  362. // 查询精品成果
  363. List<AchievementListBo> boutiqueachievement = achievementService.getAchievement(1);
  364. List<AchievementListBo> reboutiqueachievement = new ArrayList<AchievementListBo>();
  365. if (boutiqueachievement.size() >= 4) {
  366. int index = new Random().nextInt(boutiqueachievement.size() - 3);
  367. reboutiqueachievement.add(boutiqueachievement.get(index));
  368. reboutiqueachievement.add(boutiqueachievement.get(index + 1));
  369. reboutiqueachievement.add(boutiqueachievement.get(index + 2));
  370. } else {
  371. reboutiqueachievement.addAll(boutiqueachievement);
  372. }
  373. ;
  374. for (int i = 0; i < boutiqueachievement.size(); i++) {
  375. String pic = boutiqueachievement.get(i).getTechnicalpictureurl();// 在存在多张图片的情况下,暂时先取第一张
  376. if (null != pic) {
  377. boolean hascomma = pic.contains(",");
  378. if (hascomma) {
  379. String[] picurl = pic.split(",");
  380. boutiqueachievement.get(i).setTechnicalpictureurl(picurl[0]);
  381. }
  382. }
  383. }
  384. ;
  385. // 判断登录没登录. 登录了.查找用户喜欢的. 没登录就随机查四个.
  386. boolean isLogin = TokenManager.isLogin();
  387. List<AchievementListBo> achievementlist = achievementService.getAchievement(0);// 查询所有专利
  388. List<AchievementListBo> reachievementlist = new ArrayList<AchievementListBo>();
  389. if (achievementlist.size() >= 5) {
  390. int idx = new Random().nextInt(achievementlist.size() - 4);
  391. reachievementlist.add(achievementlist.get(idx));
  392. reachievementlist.add(achievementlist.get(idx + 1));
  393. reachievementlist.add(achievementlist.get(idx + 2));
  394. reachievementlist.add(achievementlist.get(idx + 3));
  395. } else {
  396. reachievementlist.addAll(achievementlist);
  397. }
  398. if (isLogin) {
  399. List<AchievementListBo> customerlikelist = achievementService.getPerhapLike();// 猜你喜欢专利
  400. int size;
  401. if (customerlikelist.size() < reachievementlist.size()) {
  402. size = customerlikelist.size();
  403. } else {
  404. size = reachievementlist.size();
  405. }
  406. for (int i = 0; i < size; i++) {
  407. reachievementlist.set(i, customerlikelist.get(i));
  408. }
  409. }
  410. /*----------------------------------------------------------*/
  411. for (int i = 0; i < reachievementlist.size(); i++) {
  412. Integer fieldA = reachievementlist.get(i).getFieldA();
  413. String field = "";
  414. boolean a = Boolean.FALSE;
  415. if (null != fieldA && null != achievementdetail) {
  416. List<AchievementPortalSimilarListBo> similarList = achievementService.findByFieldA(fieldA,
  417. achievementdetail.getId(), type);
  418. if (!similarList.isEmpty()) {
  419. for (AchievementPortalSimilarListBo bo : similarList) {
  420. if (null != bo.getMaturity()) {
  421. bo.setMaturityS(bo.getMaturity() * MULTIPLE + "%");
  422. }
  423. if (null == bo.getBargainingMode()
  424. || AchievementBargainingMode.NEGOTIABLE.getCode().equals(bo.getBargainingMode())) {
  425. bo.setTransferPriceS(PRICE_NEGOTIABLE);
  426. } else {
  427. if (null != bo.getTransferPrice() && bo.getTransferPrice().compareTo(BigDecimal.ZERO) > 0) {
  428. bo.setTransferPriceS(bo.getTransferPrice() + UNIT);
  429. } else {
  430. bo.setTransferPriceS(PRICE_NEGOTIABLE);
  431. }
  432. }
  433. }
  434. }
  435. mv.addObject("similarList", similarList);
  436. if (StringUtils.isNotBlank(reachievementlist.get(i).getFieldAS())) {
  437. a = Boolean.TRUE;
  438. }
  439. String fieldAs = glossoryService.getName(fieldA);
  440. reachievementlist.get(i).setFieldAS(fieldAs);
  441. }
  442. field += (a ? reachievementlist.get(i).getFieldAS() : "");
  443. reachievementlist.get(i).setField(field);
  444. Integer ownertyp = reachievementlist.get(i).getOwnerType();
  445. if (null != ownertyp) {
  446. if (ownertyp == 0) {
  447. reachievementlist.get(i).setOwnerTypeS("个人所有");
  448. } else if (ownertyp == 1) {
  449. reachievementlist.get(i).setOwnerTypeS("组织所有");
  450. }
  451. }
  452. Integer transfermode = reachievementlist.get(i).getTransferMode();
  453. if (null != transfermode) {
  454. if (AchievementTransferMode.FULLTRANSFER.getCode().equals(transfermode)) {
  455. reachievementlist.get(i).setTransferModeS(AchievementTransferMode.FULLTRANSFER.getDesc());
  456. } else if (AchievementTransferMode.PERMISSIONTRANSFER.getCode().equals(transfermode)) {
  457. reachievementlist.get(i).setTransferModeS(AchievementTransferMode.PERMISSIONTRANSFER.getDesc());
  458. } else if (AchievementTransferMode.TECHNOLOGYSHARES.getCode().equals(transfermode)) {
  459. reachievementlist.get(i).setTransferModeS(AchievementTransferMode.TECHNOLOGYSHARES.getDesc());
  460. } else if (AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getCode().equals(transfermode)) {
  461. reachievementlist.get(i)
  462. .setTransferModeS(AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getDesc());
  463. }
  464. }
  465. Integer maturity = reachievementlist.get(i).getMaturity();
  466. if (null != maturity) {
  467. if (AchievementMaturity.RESEARCH.getCode().equals(maturity)) {
  468. reachievementlist.get(i).setMaturityS(AchievementMaturity.RESEARCH.getDesc());
  469. } else if (AchievementMaturity.SAMPLE.getCode().equals(maturity)) {
  470. reachievementlist.get(i).setMaturityS(AchievementMaturity.SAMPLE.getDesc());
  471. } else if (AchievementMaturity.PRIMARYTEST.getCode().equals(maturity)) {
  472. reachievementlist.get(i).setMaturityS(AchievementMaturity.PRIMARYTEST.getDesc());
  473. } else if (AchievementMaturity.INTERMEDIATETEST.getCode().equals(maturity)) {
  474. reachievementlist.get(i).setMaturityS(AchievementMaturity.INTERMEDIATETEST.getDesc());
  475. } else if (AchievementMaturity.MASSPRODUCTION.getCode().equals(maturity)) {
  476. reachievementlist.get(i).setMaturityS(AchievementMaturity.MASSPRODUCTION.getDesc());
  477. }
  478. }
  479. ;
  480. String pic = reachievementlist.get(i).getTechnicalpictureurl();// 在存在多张图片的情况下,暂时先取第一张
  481. if (null != pic) {
  482. boolean hascomma = pic.contains(",");
  483. if (hascomma) {
  484. String[] picurl = pic.split(",");
  485. reachievementlist.get(i).setTechnicalpictureurl(picurl[0]);
  486. }
  487. }
  488. }
  489. mv.setViewName("/portal/technologyTrading/achievementDetail");
  490. mv.addObject("achievementdetail", achievementdetail);
  491. mv.addObject("reboutiqueachievement", reboutiqueachievement);
  492. mv.addObject("reachievementlist", reachievementlist);
  493. return mv;
  494. }
  495. /**
  496. * 订单确认页(成果专利)
  497. */
  498. @RequestMapping(value = "/portal/technologyTrading/achievementOrder", method = RequestMethod.GET)
  499. public ModelAndView portalAchievementOrder(String id, Integer type) {
  500. ModelAndView mv = new ModelAndView();
  501. AchievementPortalDetailBo achievementdetail = null;
  502. achievementdetail = achievementService.findUserPortalAchievementDetail(id);
  503. if (null != achievementdetail) {
  504. achievementdetail.setId(id);
  505. achievementdetail.setOwnerType(String.valueOf(type));
  506. Integer category = achievementdetail.getCategory();
  507. if (null != category) {
  508. if (category == 0) {
  509. achievementdetail.setCategoryS("专利");
  510. } else if (category == 1) {
  511. achievementdetail.setCategoryS("软著");
  512. } else if (category == 2) {
  513. achievementdetail.setCategoryS("项目");
  514. } else if (category == 3) {
  515. achievementdetail.setCategoryS("版权");
  516. } else if (category == 4) {
  517. achievementdetail.setCategoryS("工业设计");
  518. } else if (category == 5) {
  519. achievementdetail.setCategoryS("配方");
  520. } else if (category == 6) {
  521. achievementdetail.setCategoryS("非标");
  522. }
  523. }
  524. ;
  525. Integer transfermode = achievementdetail.getTransferMode();
  526. if (null != transfermode) {
  527. if (AchievementTransferMode.FULLTRANSFER.getCode().equals(transfermode)) {
  528. achievementdetail.setTransferModeS(AchievementTransferMode.FULLTRANSFER.getDesc());
  529. } else if (AchievementTransferMode.PERMISSIONTRANSFER.getCode().equals(transfermode)) {
  530. achievementdetail.setTransferModeS(AchievementTransferMode.PERMISSIONTRANSFER.getDesc());
  531. } else if (AchievementTransferMode.TECHNOLOGYSHARES.getCode().equals(transfermode)) {
  532. achievementdetail.setTransferModeS(AchievementTransferMode.TECHNOLOGYSHARES.getDesc());
  533. } else if (AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getCode().equals(transfermode)) {
  534. achievementdetail.setTransferModeS(AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getDesc());
  535. }
  536. }
  537. }
  538. // 查询精品成果
  539. List<AchievementListBo> boutiqueachievement = achievementService.getAchievement(1);
  540. List<AchievementListBo> reboutiqueachievement = new ArrayList<AchievementListBo>();
  541. if (boutiqueachievement.size() >= 4) {
  542. int index = new Random().nextInt(boutiqueachievement.size() - 3);
  543. reboutiqueachievement.add(boutiqueachievement.get(index));
  544. reboutiqueachievement.add(boutiqueachievement.get(index + 1));
  545. reboutiqueachievement.add(boutiqueachievement.get(index + 2));
  546. } else {
  547. reboutiqueachievement.addAll(boutiqueachievement);
  548. }
  549. ;
  550. for (int i = 0; i < boutiqueachievement.size(); i++) {
  551. String pic = boutiqueachievement.get(i).getTechnicalpictureurl();// 在存在多张图片的情况下,暂时先取第一张
  552. if (null != pic) {
  553. boolean hascomma = pic.contains(",");
  554. if (hascomma) {
  555. String[] picurl = pic.split(",");
  556. boutiqueachievement.get(i).setTechnicalpictureurl(picurl[0]);
  557. }
  558. }
  559. }
  560. ;
  561. // 判断登录没登录. 登录了.查找用户喜欢的. 没登录就随机查四个.
  562. boolean isLogin = TokenManager.isLogin();
  563. List<AchievementListBo> achievementlist = achievementService.getAchievement(0);// 查询所有专利
  564. List<AchievementListBo> reachievementlist = new ArrayList<AchievementListBo>();
  565. if (achievementlist.size() >= 5) {
  566. int idx = new Random().nextInt(achievementlist.size() - 4);
  567. reachievementlist.add(achievementlist.get(idx));
  568. reachievementlist.add(achievementlist.get(idx + 1));
  569. reachievementlist.add(achievementlist.get(idx + 2));
  570. reachievementlist.add(achievementlist.get(idx + 3));
  571. } else {
  572. reachievementlist.addAll(achievementlist);
  573. }
  574. if (isLogin) {
  575. List<AchievementListBo> customerlikelist = achievementService.getPerhapLike();// 猜你喜欢专利
  576. int size;
  577. if (customerlikelist.size() < reachievementlist.size()) {
  578. size = customerlikelist.size();
  579. } else {
  580. size = reachievementlist.size();
  581. }
  582. for (int i = 0; i < size; i++) {
  583. reachievementlist.set(i, customerlikelist.get(i));
  584. }
  585. }
  586. /*----------------------------------------------------------*/
  587. for (int i = 0; i < reachievementlist.size(); i++) {
  588. Integer fieldA = reachievementlist.get(i).getFieldA();
  589. String field = "";
  590. boolean a = Boolean.FALSE;
  591. if (null != fieldA && null != achievementdetail) {
  592. List<AchievementPortalSimilarListBo> similarList = achievementService.findByFieldA(fieldA,
  593. achievementdetail.getId(), type);
  594. if (!similarList.isEmpty()) {
  595. for (AchievementPortalSimilarListBo bo : similarList) {
  596. if (null != bo.getMaturity()) {
  597. bo.setMaturityS(bo.getMaturity() * MULTIPLE + "%");
  598. }
  599. if (null == bo.getBargainingMode()
  600. || AchievementBargainingMode.NEGOTIABLE.getCode().equals(bo.getBargainingMode())) {
  601. bo.setTransferPriceS(PRICE_NEGOTIABLE);
  602. } else {
  603. if (null != bo.getTransferPrice() && bo.getTransferPrice().compareTo(BigDecimal.ZERO) > 0) {
  604. bo.setTransferPriceS(bo.getTransferPrice() + UNIT);
  605. } else {
  606. bo.setTransferPriceS(PRICE_NEGOTIABLE);
  607. }
  608. }
  609. }
  610. }
  611. mv.addObject("similarList", similarList);
  612. if (StringUtils.isNotBlank(reachievementlist.get(i).getFieldAS())) {
  613. a = Boolean.TRUE;
  614. }
  615. String fieldAs = glossoryService.getName(fieldA);
  616. reachievementlist.get(i).setFieldAS(fieldAs);
  617. }
  618. field += (a ? reachievementlist.get(i).getFieldAS() : "");
  619. reachievementlist.get(i).setField(field);
  620. Integer ownertyp = reachievementlist.get(i).getOwnerType();
  621. if (null != ownertyp) {
  622. if (ownertyp == 0) {
  623. reachievementlist.get(i).setOwnerTypeS("个人所有");
  624. } else if (ownertyp == 1) {
  625. reachievementlist.get(i).setOwnerTypeS("组织所有");
  626. }
  627. }
  628. Integer transfermode = reachievementlist.get(i).getTransferMode();
  629. if (null != transfermode) {
  630. if (AchievementTransferMode.FULLTRANSFER.getCode().equals(transfermode)) {
  631. reachievementlist.get(i).setTransferModeS(AchievementTransferMode.FULLTRANSFER.getDesc());
  632. } else if (AchievementTransferMode.PERMISSIONTRANSFER.getCode().equals(transfermode)) {
  633. reachievementlist.get(i).setTransferModeS(AchievementTransferMode.PERMISSIONTRANSFER.getDesc());
  634. } else if (AchievementTransferMode.TECHNOLOGYSHARES.getCode().equals(transfermode)) {
  635. reachievementlist.get(i).setTransferModeS(AchievementTransferMode.TECHNOLOGYSHARES.getDesc());
  636. } else if (AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getCode().equals(transfermode)) {
  637. reachievementlist.get(i)
  638. .setTransferModeS(AchievementTransferMode.EXCLUSIVETECHNOLOGYSHARES.getDesc());
  639. }
  640. }
  641. Integer maturity = reachievementlist.get(i).getMaturity();
  642. if (null != maturity) {
  643. if (AchievementMaturity.RESEARCH.getCode().equals(maturity)) {
  644. reachievementlist.get(i).setMaturityS(AchievementMaturity.RESEARCH.getDesc());
  645. } else if (AchievementMaturity.SAMPLE.getCode().equals(maturity)) {
  646. reachievementlist.get(i).setMaturityS(AchievementMaturity.SAMPLE.getDesc());
  647. } else if (AchievementMaturity.PRIMARYTEST.getCode().equals(maturity)) {
  648. reachievementlist.get(i).setMaturityS(AchievementMaturity.PRIMARYTEST.getDesc());
  649. } else if (AchievementMaturity.INTERMEDIATETEST.getCode().equals(maturity)) {
  650. reachievementlist.get(i).setMaturityS(AchievementMaturity.INTERMEDIATETEST.getDesc());
  651. } else if (AchievementMaturity.MASSPRODUCTION.getCode().equals(maturity)) {
  652. reachievementlist.get(i).setMaturityS(AchievementMaturity.MASSPRODUCTION.getDesc());
  653. }
  654. };
  655. String pic = reachievementlist.get(i).getTechnicalpictureurl();// 在存在多张图片的情况下,暂时先取第一张
  656. if (null != pic) {
  657. boolean hascomma = pic.contains(",");
  658. if (hascomma) {
  659. String[] picurl = pic.split(",");
  660. reachievementlist.get(i).setTechnicalpictureurl(picurl[0]);
  661. }
  662. }
  663. }
  664. mv.setViewName("/portal/technologyTrading/achievementOrder");
  665. mv.addObject("achievementdetail", achievementdetail);
  666. mv.addObject("reachievementlist", reachievementlist);
  667. return mv;
  668. }
  669. /**
  670. * 下单页面(需求)
  671. */
  672. @RequestMapping(value = "/portal/technologyTrading/demandOrder", method = RequestMethod.GET)
  673. public ModelAndView portalDemandOrder(String id, Integer type) {
  674. ModelAndView mv = new ModelAndView();
  675. DemandPortalDetailBo demand = null;
  676. demand = demandService.findUserPortalDemandDetail(id);
  677. if (null != demand) {
  678. if (null != demand.getBudgetCost()) {
  679. demand.setBudgetCostS(demand.getBudgetCost() + UNIT);
  680. } else {
  681. demand.setBudgetCostS(PRICE_NEGOTIABLE);
  682. }
  683. if (StringUtils.isBlank(demand.getEmployerName())) {
  684. if (UserLevel.GENERAL.getCode().equals(demand.getLevel())) {
  685. demand.setEmployerName(UNCERTIFY);
  686. } else {
  687. demand.setEmployerName(" ");
  688. }
  689. }
  690. Integer industryCategoryA = demand.getIndustryCategoryA();
  691. boolean hasCategoryA = false;
  692. boolean hasCategoryB = false;
  693. if (null != industryCategoryA) {
  694. List<DemandPortalSimilarListBo> similarList = demandService.findByIndustryCategoryA(industryCategoryA,
  695. demand.getId());
  696. if (!similarList.isEmpty()) {
  697. for (DemandPortalSimilarListBo s : similarList) {
  698. hasCategoryA = StringUtils.isNotBlank(s.getIndustryCategoryAS());
  699. hasCategoryB = StringUtils.isNotBlank(s.getIndustryCategoryBS());
  700. s.setIndustryCategory((hasCategoryA ? s.getIndustryCategoryAS() : "")
  701. + (hasCategoryA && hasCategoryB ? DELIMITER : "")
  702. + (hasCategoryB ? s.getIndustryCategoryBS() : ""));
  703. if (null != s.getBudgetCost() && s.getBudgetCost().compareTo(BigDecimal.ZERO) > 0) {
  704. s.setBudgetCostS(s.getBudgetCost() + UNIT);
  705. } else {
  706. s.setBudgetCostS(PRICE_NEGOTIABLE);
  707. }
  708. }
  709. }
  710. mv.addObject("similarList", similarList);
  711. hasCategoryA = StringUtils.isNotBlank(demand.getIndustryCategoryAS());
  712. }
  713. hasCategoryB = StringUtils.isNotBlank(demand.getIndustryCategoryBS());
  714. demand.setIndustryCategory((hasCategoryA ? demand.getIndustryCategoryAS() : "")
  715. + (hasCategoryA && hasCategoryB ? DELIMITER : "")
  716. + (hasCategoryB ? demand.getIndustryCategoryBS() : ""));
  717. demand.setLocation((StringUtils.isBlank(demand.getProvince()) ? "" : demand.getProvince())
  718. + (StringUtils.isBlank(demand.getCity()) ? "" : demand.getCity()));
  719. }
  720. String demandpic = demand.getPictureUrl();// 在存在多张图片的情况下,暂时先取第一张
  721. if (null != demandpic) {
  722. boolean hascomma = demandpic.contains(",");
  723. if (hascomma) {
  724. String[] picurl = demandpic.split(",");
  725. demand.setPictureUrl(picurl[0]);
  726. }
  727. }
  728. /*--------------查询精品需求---------------*/
  729. List<DemandListBo> boutiquedemand = demandService.selectDemandList(1);
  730. List<DemandListBo> reboutiquedemand = new ArrayList<DemandListBo>();
  731. if (boutiquedemand.size() >= 4) {
  732. int index = new Random().nextInt(boutiquedemand.size() - 3);
  733. reboutiquedemand.add(boutiquedemand.get(index));
  734. reboutiquedemand.add(boutiquedemand.get(index + 1));
  735. reboutiquedemand.add(boutiquedemand.get(index + 2));
  736. } else {
  737. reboutiquedemand.addAll(boutiquedemand);
  738. }
  739. ;
  740. for (int i = 0; i < reboutiquedemand.size(); i++) {
  741. String pic = reboutiquedemand.get(i).getPictureUrl();// 在存在多张图片的情况下,暂时先取第一张
  742. if (null != pic) {
  743. boolean hascomma = pic.contains(",");
  744. if (hascomma) {
  745. String[] picurl = pic.split(",");
  746. reboutiquedemand.get(i).setPictureUrl(picurl[0]);
  747. }
  748. }
  749. }
  750. ;
  751. // 判断登录没登录. 登录了.查找用户喜欢的. 没登录就随机查四个.
  752. boolean isLogin = TokenManager.isLogin();
  753. List<DemandListBo> demandlist = demandService.selectDemandList(0);// 查询所有专利
  754. List<DemandListBo> redemandlist = new ArrayList<DemandListBo>();
  755. if (demandlist.size() >= 5) {
  756. int idx = new Random().nextInt(demandlist.size() - 4);
  757. redemandlist.add(demandlist.get(idx));
  758. redemandlist.add(demandlist.get(idx + 1));
  759. redemandlist.add(demandlist.get(idx + 2));
  760. redemandlist.add(demandlist.get(idx + 3));
  761. } else {
  762. redemandlist.addAll(demandlist);
  763. }
  764. if (isLogin) {
  765. List<DemandListBo> customerlikelist = demandService.selectCsutomerLike();// 猜你喜欢专利
  766. int size;
  767. if (customerlikelist.size() < redemandlist.size()) {
  768. size = customerlikelist.size();
  769. } else {
  770. size = redemandlist.size();
  771. }
  772. for (int i = 0; i < size; i++) {
  773. redemandlist.set(i, customerlikelist.get(i));
  774. }
  775. }
  776. for (int i = 0; i < redemandlist.size(); i++) {
  777. Integer demandType = redemandlist.get(i).getDemandType();
  778. if (null != redemandlist) {
  779. if (demandType == 1) {
  780. redemandlist.get(i).setDemandTypeS("技术购买需求");
  781. } else if (demandType == 2) {
  782. redemandlist.get(i).setDemandTypeS("技术设备类需求");
  783. } else if (demandType == 3) {
  784. redemandlist.get(i).setDemandTypeS("技术方案型需求");
  785. } else if (demandType == 4) {
  786. redemandlist.get(i).setDemandTypeS("技术攻关型需求");
  787. } else if (demandType == 5) {
  788. redemandlist.get(i).setDemandTypeS("技术人才型需求");
  789. }
  790. }
  791. }
  792. ;
  793. for (int i = 0; i < redemandlist.size(); i++) {
  794. String pic = redemandlist.get(i).getPictureUrl();// 在存在多张图片的情况下,暂时先取第一张
  795. if (null != pic) {
  796. boolean hascomma = pic.contains(",");
  797. if (hascomma) {
  798. String[] picurl = pic.split(",");
  799. redemandlist.get(i).setPictureUrl(picurl[0]);
  800. }
  801. }
  802. };
  803. mv.setViewName("/portal/technologyTrading/demandOrder");
  804. mv.addObject("demand", demand);
  805. mv.addObject("reboutiquedemand", reboutiquedemand);
  806. mv.addObject("redemandlist", redemandlist);
  807. return mv;
  808. }
  809. @RequestMapping(value = "/portal/subscriberDetail", method = RequestMethod.GET)
  810. public ModelAndView subscriberDetail(HttpServletRequest request, ModelAndView modelview, String uid, Integer type) {
  811. ModelAndView mv = new ModelAndView();
  812. UserPartnerDetailBo rePartnerDetail = new UserPartnerDetailBo();
  813. /* 查询智者详细信息 */
  814. if (UserType.PERSONAL.getCode().equals(type)) {
  815. rePartnerDetail = userService.findUserPartnerDetail(uid);
  816. if (null != rePartnerDetail) {
  817. Integer province = rePartnerDetail.getProvince();
  818. if (null != province) {
  819. rePartnerDetail.setProvinceS(districtglossoryservice.selectNameById(province));
  820. }
  821. }
  822. } else {
  823. rePartnerDetail = (UserPartnerDetailBo) userService.findOrgPartnerDetail(uid);
  824. if (null != rePartnerDetail) {
  825. Integer province = rePartnerDetail.getProvince();
  826. if (null != province) {
  827. rePartnerDetail.setProvinceS(districtglossoryservice.selectNameById(province));
  828. }
  829. }
  830. }
  831. /* 查询该智者的相关成果信息 */
  832. List<AchievementPartnerListBo> partnerAchievementList = achievementService.findPartnerAchievementList(uid);
  833. for (int i = 0; i < partnerAchievementList.size(); i++) {
  834. Integer maturity = partnerAchievementList.get(i).getMaturity();
  835. if (null != maturity) {
  836. if (AchievementMaturity.RESEARCH.getCode().equals(maturity)) {
  837. partnerAchievementList.get(i).setMaturityS(AchievementMaturity.RESEARCH.getDesc());
  838. } else if (AchievementMaturity.SAMPLE.getCode().equals(maturity)) {
  839. partnerAchievementList.get(i).setMaturityS(AchievementMaturity.SAMPLE.getDesc());
  840. } else if (AchievementMaturity.PRIMARYTEST.getCode().equals(maturity)) {
  841. partnerAchievementList.get(i).setMaturityS(AchievementMaturity.PRIMARYTEST.getDesc());
  842. } else if (AchievementMaturity.INTERMEDIATETEST.getCode().equals(maturity)) {
  843. partnerAchievementList.get(i).setMaturityS(AchievementMaturity.INTERMEDIATETEST.getDesc());
  844. } else if (AchievementMaturity.MASSPRODUCTION.getCode().equals(maturity)) {
  845. partnerAchievementList.get(i).setMaturityS(AchievementMaturity.MASSPRODUCTION.getDesc());
  846. }
  847. }
  848. }
  849. /* 查询相关智者信息 */
  850. List<UserPartnerDetailBo> userPartner = userService.findUserPartner();
  851. List<UserPartnerDetailBo> reuserPartner = new ArrayList<UserPartnerDetailBo>();
  852. if (userPartner != null && userPartner.size() >= 6) {
  853. int index = new Random().nextInt(userPartner.size() - 5);
  854. reuserPartner.add(userPartner.get(index));
  855. reuserPartner.add(userPartner.get(index + 1));
  856. reuserPartner.add(userPartner.get(index + 2));
  857. reuserPartner.add(userPartner.get(index + 3));
  858. reuserPartner.add(userPartner.get(index + 4));
  859. } else {
  860. reuserPartner.addAll(userPartner);
  861. }
  862. for (int i = 0; i < reuserPartner.size(); i++) {
  863. String personalProfile = reuserPartner.get(i).getPersonalProfile();
  864. if (null != personalProfile && "" != personalProfile && personalProfile.length() > 40) {
  865. personalProfile = personalProfile.substring(0, 40) + "... ...";
  866. reuserPartner.get(i).setPersonalProfile(personalProfile);
  867. }
  868. }
  869. rePartnerDetail.setUid(uid);
  870. mv.setViewName("/user/subscriberDetail");
  871. mv.addObject("rePartnerDetail", rePartnerDetail);
  872. mv.addObject("reuserPartner", reuserPartner);
  873. partnerAchievementList.size();
  874. if (partnerAchievementList.size()<=0) {
  875. mv.addObject("showflg", 0);
  876. }else{
  877. mv.addObject("showflg", 1);
  878. };
  879. mv.addObject("uid", uid);
  880. return mv;
  881. }
  882. /**
  883. * 服务
  884. */
  885. @RequestMapping(value = "/portal/services", method = RequestMethod.GET)
  886. public ModelAndView services(HttpServletRequest request, ModelAndView modelview) {
  887. ModelAndView mv = new ModelAndView();
  888. mv.setViewName("");
  889. //获取首页轮播图
  890. mv.addObject("serviceImages",new ServiceImages().getImagers());
  891. return mv;
  892. }
  893. /**
  894. * 服务 权威咨询师
  895. */
  896. @RequestMapping(value = "/portal/services/consultant", method = RequestMethod.GET)
  897. public ModelAndView consultant(HttpServletRequest request, ModelAndView modelview) {
  898. ModelAndView mv = new ModelAndView();
  899. mv.setViewName("");
  900. return mv;
  901. }
  902. /**
  903. * 项目详情
  904. */
  905. @SuppressWarnings("unchecked")
  906. @RequestMapping(value = "portal/service/projectDetails", method = RequestMethod.GET)
  907. public ModelAndView projectDetail(HttpServletRequest request, ModelAndView modelview,String id) {
  908. ModelAndView mv = new ModelAndView();
  909. mv.setViewName("portal/service/projectDetails");
  910. //获取项目详情
  911. ProjectDetailBo p=businessProjectService.ProjectDetail(id);
  912. if (StringUtils.isNotBlank(p.getIntroduce()))
  913. p.setIntroduce(p.getIntroduce().replace("\n","<br>"));
  914. if (StringUtils.isNotBlank(p.getValueEffect()))
  915. p.setValueEffect(p.getValueEffect().replace("\n", "<br>"));
  916. if (StringUtils.isNotBlank(p.getClientSize()))
  917. p.setClientSize(p.getClientSize().replace("\n", "<br>"));
  918. mv.addObject("projectDetail",p);
  919. //获取3条推荐
  920. Pagination<ProjectBo> ps=businessProjectService.recommendProjectList(null,3);
  921. List<ProjectBo> list=(List<ProjectBo>) ps.getList();
  922. mv.addObject("recommend", list);
  923. return mv;
  924. }
  925. /**
  926. * 咨询师详情
  927. */
  928. @RequestMapping(value = "/portal/services/consultantDetail", method = RequestMethod.GET)
  929. public ModelAndView consultantDetail(HttpServletRequest request, ModelAndView modelview,String id,Integer pSize ) {
  930. ModelAndView mv = new ModelAndView();
  931. mv.setViewName("");
  932. //获取咨询师详情
  933. mv.addObject("consultant", userIdentityService.consultantDetail( id));
  934. //获取咨询师列表(传入显示数)
  935. mv.addObject("recommend",userIdentityService.consultantList(null,pSize));
  936. return mv;
  937. }
  938. }