PortalController.java 41 KB

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