PortalController.java 40 KB

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