WorkTableController.java 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. package com.ruoyi.demo.controller;
  2. import cn.dev33.satoken.stp.StpUtil;
  3. import com.ruoyi.common.core.domain.R;
  4. import com.ruoyi.demo.entity.bo.WorkTableBo;
  5. import com.ruoyi.demo.entity.vo.AddFollowRecordVo;
  6. import com.ruoyi.demo.entity.vo.TurnBusinessOpportunitiesVo;
  7. import com.ruoyi.demo.entity.vo.WorkTableSearchVo;
  8. import com.ruoyi.demo.service.AttentionPoolService;
  9. import com.ruoyi.demo.service.BusinessOpportunitiesService;
  10. import com.ruoyi.demo.service.DatabackService;
  11. import lombok.RequiredArgsConstructor;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.validation.annotation.Validated;
  14. import org.springframework.web.bind.annotation.*;
  15. import javax.validation.constraints.NotBlank;
  16. @Validated
  17. @RequiredArgsConstructor
  18. @RestController
  19. @RequestMapping("/work")
  20. public class WorkTableController {
  21. @Autowired
  22. DatabackService databackService;
  23. @Autowired
  24. AttentionPoolService attentionPoolService;
  25. @Autowired
  26. BusinessOpportunitiesService businessOpportunitiesService;
  27. /**
  28. * 获取数据概览
  29. *
  30. * @param bo 开始时间和截止时间查询请求体
  31. * @return
  32. */
  33. @PostMapping("/databack/about")
  34. public R about(@RequestBody WorkTableBo bo) {
  35. // 获取用户id
  36. String loginId = String.valueOf(StpUtil.getLoginId());
  37. Long userid = Long.valueOf(loginId.split(":")[1]);
  38. String userId = userid.toString();
  39. if (userId == null || userId.equals(""))
  40. return R.fail("请登录");
  41. return R.ok(databackService.searchAbout(userId, bo));
  42. }
  43. /**
  44. * 获取客户数量变化趋势
  45. *
  46. * @param condition 条件
  47. * @return
  48. */
  49. @GetMapping("/databack/trend")
  50. public R trend(String condition) {
  51. // 获取用户id
  52. String loginId = String.valueOf(StpUtil.getLoginId());
  53. Long userid = Long.valueOf(loginId.split(":")[1]);
  54. String userId = userid.toString();
  55. if (userId == null || userId.equals(""))
  56. return R.fail("请登录");
  57. return R.ok(databackService.searchTrand(userId, condition));
  58. }
  59. /**
  60. * 分页获取潜客列表
  61. *
  62. * @param bo 请求体
  63. * @return
  64. */
  65. @PostMapping("/pool/list")
  66. public R poolList(WorkTableSearchVo bo) {
  67. // 获取用户id
  68. String loginId = String.valueOf(StpUtil.getLoginId());
  69. Long userid = Long.valueOf(loginId.split(":")[1]);
  70. String userId = userid.toString();
  71. if (userId == null || userId.equals(""))
  72. return R.fail("请登录");
  73. return R.ok(attentionPoolService.searchList(bo, userId));
  74. }
  75. /**
  76. * 取消关注
  77. *
  78. * @param attentionId 潜客id
  79. * @return
  80. */
  81. @DeleteMapping("/pool")
  82. public R cancel(@NotBlank String attentionId) {
  83. // 获取用户id
  84. String loginId = String.valueOf(StpUtil.getLoginId());
  85. Long userid = Long.valueOf(loginId.split(":")[1]);
  86. String userId = userid.toString();
  87. if (userId == null || userId.equals(""))
  88. return R.fail("请登录");
  89. int flag = attentionPoolService.cancelAttention(attentionId, userId);
  90. if (flag == 1)
  91. return R.ok("取消关注成功!");
  92. return R.fail("取消关注失败。");
  93. }
  94. /**
  95. * 转化商机
  96. *
  97. * @param turnVo
  98. * @return
  99. */
  100. @PostMapping("/pool")
  101. public R turn(TurnBusinessOpportunitiesVo turnVo) {
  102. // 获取用户id
  103. String loginId = String.valueOf(StpUtil.getLoginId());
  104. Long userid = Long.valueOf(loginId.split(":")[1]);
  105. String userId = userid.toString();
  106. if (userId == null || userId.equals(""))
  107. return R.fail("请登录");
  108. int flag = attentionPoolService.turnBusinessOpportunities(turnVo, userId);
  109. if (flag == 1)
  110. return R.ok("转化成功!");
  111. if (flag == 2)
  112. return R.ok("已转化。");
  113. return R.fail("转化失败。");
  114. }
  115. /**
  116. * 分页获取线索列表
  117. *
  118. * @param vo
  119. * @return
  120. */
  121. @PostMapping("/clue/list")
  122. public R clueList(WorkTableSearchVo vo) {
  123. // 获取用户id
  124. String loginId = String.valueOf(StpUtil.getLoginId());
  125. Long userid = Long.valueOf(loginId.split(":")[1]);
  126. String userId = userid.toString();
  127. if (userId == null || userId.equals(""))
  128. return R.fail("请登录");
  129. return R.ok(businessOpportunitiesService.searchList(vo, userId));
  130. }
  131. /**
  132. * 分页获取跟进记录
  133. *
  134. * @param vo
  135. * @return
  136. */
  137. @PostMapping("/follow/list")
  138. public R followList(WorkTableSearchVo vo) {
  139. // 获取用户id
  140. String loginId = String.valueOf(StpUtil.getLoginId());
  141. Long userid = Long.valueOf(loginId.split(":")[1]);
  142. String userId = userid.toString();
  143. if (userId == null || userId.equals(""))
  144. return R.fail("请登录");
  145. if (vo.getClueId() != null)
  146. if ("".equals(vo.getClueId()))
  147. return R.fail("线索id不能为空");
  148. return R.ok(businessOpportunitiesService.searchFollowList(vo, userId));
  149. }
  150. /**
  151. * 添加跟进记录
  152. *
  153. * @param addVo
  154. * @return
  155. */
  156. @PostMapping("/follow")
  157. public R followAdd(AddFollowRecordVo addVo) {
  158. // 获取用户id
  159. String loginId = String.valueOf(StpUtil.getLoginId());
  160. Long userid = Long.valueOf(loginId.split(":")[1]);
  161. String userId = userid.toString();
  162. if (userId == null || userId.equals(""))
  163. return R.fail("请登录");
  164. int flag = businessOpportunitiesService.addFollow(addVo, userId);
  165. if (flag == 1)
  166. return R.ok("添加成功!");
  167. return R.fail("添加失败");
  168. }
  169. /**
  170. * 品牌关注
  171. *
  172. * @param brandId 品牌id
  173. * @return
  174. */
  175. @PostMapping("/brand")
  176. public R brandAttention(@RequestParam("brandId") String brandId) {
  177. String loginId = String.valueOf(StpUtil.getLoginId());
  178. Long userid = Long.valueOf(loginId.split(":")[1]);
  179. String userId = userid.toString();
  180. if (userId == null || userId.equals(""))
  181. return R.fail("请登录");
  182. int flag = attentionPoolService.attentionBrand(brandId, userId);
  183. if (flag == 1) {
  184. return R.ok("关注成功!");
  185. } else if (flag == 2) {
  186. return R.fail("重复关注。");
  187. } else if (flag == 3) {
  188. return R.fail("未知品牌");
  189. }
  190. return R.fail("关注失败。");
  191. }
  192. /**
  193. * 品牌取消关注
  194. *
  195. * @param brandId 品牌id
  196. * @return
  197. */
  198. @DeleteMapping("/brand")
  199. public R brandCancel(String brandId) {
  200. String loginId = String.valueOf(StpUtil.getLoginId());
  201. Long userid = Long.valueOf(loginId.split(":")[1]);
  202. String userId = userid.toString();
  203. if (userId == null || userId.equals(""))
  204. return R.fail("请登录");
  205. int flag = attentionPoolService.cancelBrand(brandId, userId);
  206. if (flag == 1) {
  207. return R.ok("取消关注成功!");
  208. }
  209. return R.fail("取消关注失败。");
  210. }
  211. /**
  212. * 网点关注
  213. *
  214. * @param wdId 网点id
  215. * @return
  216. */
  217. @PostMapping("/wdInfo")
  218. public R wdInfoAttention(@RequestParam("wdId") String wdId) {
  219. String loginId = String.valueOf(StpUtil.getLoginId());
  220. Long userid = Long.valueOf(loginId.split(":")[1]);
  221. String userId = userid.toString();
  222. if (userId == null || userId.equals(""))
  223. return R.fail("请登录");
  224. int flag = attentionPoolService.attentionWdInfo(wdId, userId);
  225. if (flag == 1) {
  226. return R.ok("关注成功!");
  227. } else if (flag == 2) {
  228. return R.fail("重复关注。");
  229. } else if (flag == 3) {
  230. return R.fail("未知网点");
  231. }
  232. return R.fail("关注失败。");
  233. }
  234. /**
  235. * 网点取消关注
  236. *
  237. * @param wdId 网点id
  238. * @return
  239. */
  240. @DeleteMapping("/wdInfo")
  241. public R wdInfoCancel(@RequestParam("wdId") String wdId) {
  242. String loginId = String.valueOf(StpUtil.getLoginId());
  243. Long userid = Long.valueOf(loginId.split(":")[1]);
  244. String userId = userid.toString();
  245. if (userId == null || userId.equals(""))
  246. return R.fail("请登录");
  247. int flag = attentionPoolService.cancelWdInfo(wdId, userId);
  248. if (flag == 1) {
  249. return R.ok("取消关注成功!");
  250. }
  251. return R.fail("取消关注失败。");
  252. }
  253. }