ApiFootprintController.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. package com.kmall.api.api;
  2. import com.google.common.collect.Maps;
  3. import com.kmall.api.annotation.LoginUser;
  4. import com.kmall.api.entity.FootprintVo;
  5. import com.kmall.api.entity.UserVo;
  6. import com.kmall.api.service.ApiFootprintService;
  7. import com.kmall.api.util.ApiBaseAction;
  8. import com.kmall.api.util.ApiPageUtils;
  9. import com.kmall.common.utils.DateUtils;
  10. import com.kmall.common.utils.Query;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.web.bind.annotation.*;
  13. import java.util.*;
  14. /**
  15. * 作者: @author Scott <br>
  16. * 时间: 2017-08-11 08:32<br>
  17. * 描述: ApiIndexController <br>
  18. */
  19. @RestController
  20. @RequestMapping("/api/footprint")
  21. public class ApiFootprintController extends ApiBaseAction {
  22. @Autowired
  23. private ApiFootprintService footprintService;
  24. /**
  25. */
  26. @PostMapping("delete")
  27. public Object delete(@LoginUser UserVo loginUser, Integer footprintId) {
  28. //删除当天的同一个商品的足迹
  29. FootprintVo footprintEntity = footprintService.queryObject(footprintId);
  30. //
  31. Map param = Maps.newHashMap();
  32. param.put("user_id", loginUser.getId());
  33. param.put("goods_id", footprintEntity.getGoods_id());
  34. footprintService.deleteByParam(param);
  35. //
  36. return toResponsMsgSuccess("删除成功");
  37. }
  38. /**
  39. */
  40. @GetMapping("list")
  41. public Object list(@LoginUser UserVo loginUser,
  42. @RequestParam(value = "page", defaultValue = "1") Integer page,
  43. @RequestParam(value = "size", defaultValue = "10") Integer size) {
  44. Map resultObj = Maps.newHashMap();
  45. Long storeId = getStoreId();
  46. //查询列表数据
  47. Map params = Maps.newHashMap();
  48. params.put("page", page);
  49. params.put("limit", size);
  50. params.put("sidx", "f.id");
  51. params.put("user_id", loginUser.getId());
  52. params.put("store_id", storeId);
  53. params.put("maxFoot", true);
  54. params.put("order", "desc");
  55. Query query = new Query(params);
  56. List<FootprintVo> footprintVos = footprintService.queryList(query);
  57. int total = footprintService.queryTotal(query);
  58. ApiPageUtils pageUtil = new ApiPageUtils(footprintVos, total, query.getLimit(), query.getPage());
  59. //
  60. Map<String, List<FootprintVo>> footPrintMap = new TreeMap<String, List<FootprintVo>>(new Comparator<String>() {
  61. /*
  62. * int compare(Object o1, Object o2) 返回一个基本类型的整型,
  63. * 返回负数表示:o1 小于o2,
  64. * 返回0 表示:o1和o2相等,
  65. * 返回正数表示:o1大于o2。
  66. */
  67. public int compare(String o1, String o2) {
  68. //指定排序器按照降序排列
  69. return o2.compareTo(o1);
  70. }
  71. });
  72. if (null != footprintVos && footprintVos.size() > 0) {
  73. for (FootprintVo footprintVo : footprintVos) {
  74. String addTime = DateUtils.timeToStr(footprintVo.getAdd_time(), DateUtils.DATE_PATTERN);
  75. List<FootprintVo> tmpList = footPrintMap.get(addTime);
  76. if (null == footPrintMap.get(addTime)) {
  77. tmpList = new ArrayList();
  78. }
  79. tmpList.add(footprintVo);
  80. footPrintMap.put(addTime, tmpList);
  81. }
  82. List<FootprintVo>[] footprintVoList = new List[footPrintMap.size()];
  83. int i = 0;
  84. for (Map.Entry<String, List<FootprintVo>> entry : footPrintMap.entrySet()) {
  85. footprintVoList[i] = entry.getValue();
  86. i++;
  87. }
  88. resultObj.put("count", pageUtil.getCount());
  89. resultObj.put("totalPages", pageUtil.getTotalPages());
  90. resultObj.put("numsPerPage", pageUtil.getNumsPerPage());
  91. resultObj.put("currentPage", pageUtil.getCurrentPage());
  92. resultObj.put("data", footprintVoList);
  93. }
  94. return this.toResponsSuccess(resultObj);
  95. }
  96. /**
  97. * 猜你喜欢
  98. */
  99. @GetMapping("glist")
  100. public Object glist(@LoginUser UserVo loginUser,String storeId,String checkCart) {
  101. Map resultObj = Maps.newHashMap();
  102. //查询列表数据
  103. Map params = Maps.newHashMap();
  104. params.put("sidx", "f.id");
  105. params.put("user_id", loginUser.getId());
  106. params.put("maxFoot", true);
  107. params.put("order", "desc");
  108. params.put("bizType", true);
  109. params.put("store_id", storeId);
  110. params.put("checkCart", checkCart);
  111. List<FootprintVo> footprintVos = footprintService.queryList(params);
  112. List<FootprintVo> list = new ArrayList();
  113. if (null != footprintVos) {
  114. for (FootprintVo vo : footprintVos) {
  115. boolean has = false;
  116. for (FootprintVo voInner : list) {
  117. if (vo.getGoods_id().equals(voInner.getGoods_id())) {
  118. has = true;
  119. break;
  120. }
  121. }
  122. if (!has) {
  123. list.add(vo);
  124. }
  125. if (list.size() > 10) {
  126. break;
  127. }
  128. }
  129. }
  130. resultObj.put("list", list);
  131. return this.toResponsSuccess(resultObj);
  132. }
  133. /**
  134. */
  135. @GetMapping("sharelist")
  136. public Object sharelist(@LoginUser UserVo loginUser,
  137. @RequestParam(value = "page", defaultValue = "1") Integer page,
  138. @RequestParam(value = "size", defaultValue = "10") Integer size) {
  139. Map resultObj = Maps.newHashMap();
  140. //查询列表数据
  141. Map params = Maps.newHashMap();
  142. params.put("sidx", "f.id");
  143. params.put("order", "desc");
  144. params.put("referrer", loginUser.getId());
  145. List<FootprintVo> footprintVos = footprintService.shareList(params);
  146. //
  147. resultObj.put("data", footprintVos);
  148. return this.toResponsSuccess(resultObj);
  149. }
  150. }