GroupDecrAmountController.java 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. package com.tzy.app.controller;
  2. import com.github.pagehelper.PageHelper;
  3. import com.github.pagehelper.PageInfo;
  4. import com.tzy.app.domain.AppActManage;
  5. import com.tzy.app.dto.GroupDecrAmountDTO;
  6. import com.tzy.common.constant.Constants;
  7. import com.tzy.common.dto.InDto;
  8. import com.tzy.common.dto.OutDTO;
  9. import com.tzy.common.dto.UserInfo;
  10. import com.tzy.common.utils.StringUtils;
  11. import com.tzy.common.utils.UserType;
  12. import com.tzy.shipping.goods.dto.SkuDTO2;
  13. import com.tzy.shipping.goods.service.ISkuService;
  14. import com.tzy.sportcard.group.dto.GroupDecrAmountParam;
  15. import com.tzy.app.service.GroupDecrAmountService;
  16. import com.tzy.base.service.SysBaseService;
  17. import com.tzy.common.annotation.ApiLog;
  18. import com.tzy.common.core.controller.BaseController;
  19. import com.tzy.common.core.domain.AjaxResult;
  20. import com.tzy.common.core.domain.entity.SysUser;
  21. import com.tzy.common.enums.BusinessType;
  22. import com.tzy.common.utils.ShiroUtils;
  23. import io.swagger.annotations.ApiOperation;
  24. import org.apache.logging.log4j.util.Strings;
  25. import org.springframework.beans.factory.annotation.Autowired;
  26. import org.springframework.web.bind.annotation.*;
  27. import javax.annotation.Resource;
  28. import java.util.List;
  29. import java.util.Objects;
  30. /**
  31. * 2024-618砍一刀活动
  32. * 2025-618砍一刀活动
  33. */
  34. @RestController
  35. @RequestMapping("/decr/amount")
  36. public class GroupDecrAmountController extends BaseController {
  37. @Resource
  38. private GroupDecrAmountService groupDecrAmountService;
  39. @Resource
  40. private SysBaseService sysBaseService;
  41. @Autowired
  42. private ISkuService skuService;
  43. @ApiLog(title = "新增砍一刀活动", businessType = BusinessType.INSERT)
  44. @ApiOperation("新增砍一刀活动")
  45. @PostMapping("/save")
  46. public AjaxResult save(@RequestBody AppActManage appActManage){
  47. return toAjax(groupDecrAmountService.save(appActManage));
  48. }
  49. @ApiLog(title = "编辑砍一刀活动", businessType = BusinessType.UPDATE)
  50. @ApiOperation("编辑砍一刀活动")
  51. @PostMapping("/edit")
  52. public AjaxResult edit(@RequestBody AppActManage appActManage){
  53. return toAjax(groupDecrAmountService.edit(appActManage));
  54. }
  55. @ApiLog(title = "上下架砍一刀活动", businessType = BusinessType.UPDATE)
  56. @ApiOperation("上下架砍一刀活动")
  57. @PostMapping("/publish")
  58. public AjaxResult publish(@RequestBody AppActManage appActManage){
  59. return toAjax(groupDecrAmountService.publish(appActManage));
  60. }
  61. @ApiLog(title = "砍一刀活动列表", businessType = BusinessType.SEARCH)
  62. @ApiOperation("砍一刀活动列表")
  63. @PostMapping("/page")
  64. public AjaxResult page(@RequestBody AppActManage appActManage){
  65. PageInfo<GroupDecrAmountDTO> page = groupDecrAmountService.page(appActManage);
  66. return AjaxResult.success(page);
  67. }
  68. @ApiLog(title = "价格详情", businessType = BusinessType.SEARCH)
  69. @ApiOperation("价格详情")
  70. @PostMapping("/detail")
  71. public AjaxResult getPriceInfo(@RequestBody GroupDecrAmountParam param){
  72. if(param == null || param.getId() == null){
  73. return AjaxResult.error("参数为空");
  74. }
  75. return AjaxResult.success(groupDecrAmountService.getPriceInfo(param.getId()));
  76. }
  77. @ApiLog(title = "同步价格", businessType = BusinessType.UPDATE)
  78. @ApiOperation("同步价格")
  79. @PostMapping("/sync")
  80. public AjaxResult syncPrice(@RequestBody GroupDecrAmountParam param){
  81. if(param == null || param.getId() == null){
  82. return AjaxResult.error("参数为空");
  83. }
  84. return toAjax(groupDecrAmountService.syncPrice(param.getId()));
  85. }
  86. @ApiLog(title = "商家下的拼团", businessType = BusinessType.SEARCH)
  87. @ApiOperation("商家下的拼团")
  88. @PostMapping("/groups")
  89. public AjaxResult selectByMerchantId(@RequestBody GroupDecrAmountParam param) {
  90. // 取得当前登陆用户的信息
  91. SysUser user = ShiroUtils.getSysUser();
  92. if (user == null) {
  93. return AjaxResult.error("请先登录");
  94. }
  95. if (param == null || Strings.isEmpty(param.getGroupInfoCode())) {
  96. return AjaxResult.error("参数为空");
  97. }
  98. // 取得当前登陆用户的信息
  99. if (user.getMerchantInfo() != null) {
  100. param.setMerchantId(user.getMerchantInfo().getId());
  101. }
  102. return AjaxResult.success(groupDecrAmountService.selectByMerchantId(param));
  103. }
  104. @ApiLog(title = "修改绑定拼团商家", businessType = BusinessType.UPDATE)
  105. @ApiOperation("修改绑定拼团商家")
  106. @PostMapping("/bind/merchant")
  107. public AjaxResult bindMerchant(@RequestBody GroupDecrAmountParam param) {
  108. if (param == null || param.getId() == null) {
  109. return AjaxResult.error("参数为空");
  110. }
  111. return toAjax(groupDecrAmountService.bindMerchant(param));
  112. }
  113. //region 2025-618砍一刀活动
  114. @ApiLog(title = "618活动商品查询", businessType = BusinessType.SEARCH)
  115. @ResponseBody
  116. @PostMapping("/goods/act")
  117. @ApiOperation("618活动商品查询")
  118. public OutDTO getActGoods(@RequestBody InDto inDto) {
  119. SkuDTO2 sku = new SkuDTO2();
  120. String actType = inDto.getString("actType");
  121. Long merchantId = Long.valueOf(inDto.getString("merchantId"));
  122. actType = StringUtils.isEmpty(actType) ? "act_goods_sale" : actType;
  123. sku.setActType(actType);
  124. sku.setMerchantId(merchantId);
  125. PageHelper.startPage(inDto.getPageNo(), inDto.getPageSize());
  126. List<SkuDTO2> list = skuService.selectSkuList2(sku);
  127. return OutDTO.ok().put("goods",list);
  128. }
  129. @ApiLog(title = "砍一刀活动绑定拼团", businessType = BusinessType.UPDATE)
  130. @ApiOperation("砍一刀活动绑定拼团")
  131. @PostMapping("/bind")
  132. public AjaxResult bindGroup(@RequestBody GroupDecrAmountParam param){
  133. if(param != null && param.getBindType() == null){
  134. if(param.getId() == null){
  135. return AjaxResult.error("参数为空");
  136. }
  137. return toAjax(groupDecrAmountService.bindGroup(param.getId(), param.getGroupInfoId()));
  138. } else if (param != null && param.getBindType() != null) {
  139. switch (param.getBindType()) {
  140. case Constants.BIND_TYPE_GROUP:
  141. if (param.getId() == null || param.getBindId() == null) {
  142. return AjaxResult.error("参数为空");
  143. }
  144. return toAjax(groupDecrAmountService.bindActGroup(param.getId(), param.getBindId()));
  145. case Constants.BIND_TYPE_GOODS:
  146. if (param.getId() == null || param.getBindId() == null) {
  147. return AjaxResult.error("参数为空");
  148. }
  149. return toAjax(groupDecrAmountService.bindGoods(param.getId(), param.getBindId()));
  150. case Constants.BIND_TYPE_BIDS:
  151. if (param.getId() == null || param.getBindId() == null) {
  152. return AjaxResult.error("参数为空");
  153. }
  154. return toAjax(groupDecrAmountService.bindBid(param.getId(), param.getBindId()));
  155. }
  156. }
  157. else{
  158. return AjaxResult.error("参数为空");
  159. }
  160. return AjaxResult.error("参数为空");
  161. }
  162. //endregion
  163. }