SysCompanyController.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. package com.dgtly.api.controller;
  2. import com.dgtly.apiframework.util.TokenUtil;
  3. import com.dgtly.common.annotation.ApiPassToken;
  4. import com.dgtly.common.constant.UserConstants;
  5. import com.dgtly.common.core.controller.ApiBaseController;
  6. import com.dgtly.common.core.domain.AjaxResult;
  7. import com.dgtly.common.core.domain.ParameterObject;
  8. import com.dgtly.common.core.domain.ResultType;
  9. import com.dgtly.companyext.domain.CompanyHonour;
  10. import com.dgtly.companyext.domain.CompanyReviewed;
  11. import com.dgtly.companyext.service.ICompanyHonourService;
  12. import com.dgtly.companyext.service.ICompanyReviewedService;
  13. import com.dgtly.member.domain.MemberFollow;
  14. import com.dgtly.member.service.IMemberFollowService;
  15. import com.dgtly.system.domain.SysCompany;
  16. import com.dgtly.system.service.ISysCompanyService;
  17. import com.dgtly.system.service.ISysDictDataService;
  18. import com.dgtly.system.service.ISysUserService;
  19. import io.swagger.annotations.ApiImplicitParam;
  20. import io.swagger.annotations.ApiOperation;
  21. import org.springframework.beans.factory.annotation.Autowired;
  22. import org.springframework.web.bind.annotation.PostMapping;
  23. import org.springframework.web.bind.annotation.RequestMapping;
  24. import org.springframework.web.bind.annotation.RestController;
  25. import java.util.List;
  26. @RestController
  27. @RequestMapping("/company")
  28. @ApiPassToken/* 不用验证token 方法上可用*/
  29. public class SysCompanyController extends ApiBaseController {
  30. @Autowired
  31. private ISysCompanyService companyService;
  32. @Autowired
  33. private ISysUserService userService;
  34. @Autowired
  35. private IMemberFollowService memberFollowService;
  36. @Autowired
  37. private ICompanyReviewedService companyReviewedService;
  38. @Autowired
  39. private ICompanyHonourService companyHonourService;
  40. @Autowired
  41. private ISysDictDataService dictDataService;
  42. @ApiOperation(value = "商家详情")
  43. @ApiImplicitParam(name = "params" , paramType = "body")
  44. @PostMapping("/details")
  45. public Object detail(){
  46. ParameterObject obj = getParameterObject();
  47. obj.checkParameterNotNull("id");
  48. Long companyId = obj.getLong("id");
  49. SysCompany sysCompany = companyService.selectSysCompanyById(companyId);
  50. /*处理公司类型*/
  51. String companyTypeName = dictDataService.selectDictLabel("company_type",sysCompany.getCompanyType());
  52. CompanyHonour ch = new CompanyHonour();
  53. ch.setCompanyId(companyId);
  54. List<CompanyHonour> chs = companyHonourService.selectCompanyHonourList(ch);
  55. int isFollow = 0;
  56. /*判断用户是否关注商户*/
  57. try{
  58. String memberId = TokenUtil.getTokenUserId();
  59. if(memberId!=null){
  60. MemberFollow mf= new MemberFollow();
  61. mf.setCompanyId(companyId);
  62. mf.setMemberId(Long.parseLong(memberId));
  63. List<MemberFollow> mfList= memberFollowService.selectMemberFollowList(mf);
  64. if(mfList.size()>0){
  65. isFollow=1;
  66. }
  67. }
  68. }catch (Exception e){
  69. }
  70. if(sysCompany!=null){
  71. return AjaxResult.success(sysCompany).putKV("isFollow",isFollow)
  72. .putKV("companyTypeName",companyTypeName).putKV("companyHonours",chs);
  73. }else{
  74. return AjaxResult.error(ResultType.NUll);
  75. }
  76. }
  77. @ApiOperation(value = "热门商家列表")
  78. @ApiImplicitParam(name = "params" , paramType = "body")
  79. @PostMapping("/hotlist")
  80. public Object getHotList(){
  81. List<SysCompany> goodsInfos = companyService.selectCompanyHotList();
  82. return AjaxResult.success().putKV("list",goodsInfos);
  83. }
  84. @ApiOperation(value = "商家列表")
  85. @ApiImplicitParam(name = "params" , paramType = "body")
  86. @PostMapping("/list")
  87. public Object getList(){
  88. ParameterObject obj = getParameterObject();
  89. startPage(obj);
  90. SysCompany sc = obj.parseBean(SysCompany.class);
  91. List<SysCompany> scs = companyService.selectSysCompanyListExRoot(sc);
  92. return AjaxResult.success(getDataTable(scs));
  93. }
  94. @ApiOperation(value = "商家入驻")
  95. @ApiImplicitParam(name = "params" , paramType = "body")
  96. @PostMapping("/enter")
  97. public Object enter(){
  98. ParameterObject obj = getParameterObject();
  99. obj.checkParameterNotNull("loginName,password,companyName");
  100. CompanyReviewed cr = obj.parseBean(CompanyReviewed.class);
  101. if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(cr.getLoginName())))
  102. {
  103. return AjaxResult.error(ResultType.LOGINNAMEREPEAT);
  104. }
  105. else if (UserConstants.USER_NAME_NOT_UNIQUE.equals(companyReviewedService.checkLoginNameUnique(cr.getLoginName())))
  106. {
  107. return AjaxResult.error(ResultType.LOGINNAMEREPEAT);
  108. }
  109. else if (cr.getPassword().length() < UserConstants.PASSWORD_MIN_LENGTH
  110. || cr.getPassword().length() > UserConstants.PASSWORD_MAX_LENGTH)
  111. {
  112. return AjaxResult.error(ResultType.PASSWORD_LENGTH_ERROR);
  113. }
  114. int i= companyReviewedService.insertCompanyReviewed(cr);
  115. return toAjax(i);
  116. }
  117. @ApiOperation(value = "商家入驻公示列表")
  118. @ApiImplicitParam(name = "params" , paramType = "body",example = "{}")
  119. @PostMapping("/enterPublicity")
  120. public Object enterPublicity(){
  121. ParameterObject obj = getParameterObject();
  122. startPage(obj);
  123. CompanyReviewed cr = new CompanyReviewed();
  124. List<CompanyReviewed> crs = companyReviewedService.selectEnterPublicityList();
  125. return AjaxResult.success(getDataTable(crs));
  126. }
  127. /**
  128. * @descption: 统计平台商户入驻数量
  129. * @param:
  130. * @return:
  131. * @auther: LiuLingChao
  132. * @date: 2020-03-11 11:07
  133. */
  134. @PostMapping("/countCompanyInfo")
  135. public Object countCompanyInfo(){
  136. int companyNum = companyService.countCompany();
  137. return AjaxResult.success().putKV("companyNum",companyNum-1);
  138. }
  139. }