InfoAddressController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. package com.ruoyi.app.order;
  2. import java.math.BigDecimal;
  3. import java.util.List;
  4. import javax.servlet.http.HttpServletResponse;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  7. import com.ruoyi.common.annotation.Anonymous;
  8. import com.ruoyi.system.domain.PosOrder;
  9. import com.ruoyi.system.mapper.InfoAddressMapper;
  10. import com.ruoyi.system.utils.Auth;
  11. import com.ruoyi.system.utils.JwtUtil;
  12. import org.springframework.security.access.prepost.PreAuthorize;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.web.bind.annotation.*;
  15. import com.ruoyi.common.annotation.Log;
  16. import com.ruoyi.common.core.controller.BaseController;
  17. import com.ruoyi.common.core.domain.AjaxResult;
  18. import com.ruoyi.common.enums.BusinessType;
  19. import com.ruoyi.system.domain.InfoAddress;
  20. import com.ruoyi.system.service.IInfoAddressService;
  21. import com.ruoyi.common.utils.MessageUtils;
  22. import com.ruoyi.common.utils.poi.ExcelUtil;
  23. import com.ruoyi.common.core.page.TableDataInfo;
  24. /**
  25. * addressController
  26. *
  27. * @author ruoyi
  28. * @date 2023-05-24
  29. */
  30. @RestController
  31. @RequestMapping("/system/address")
  32. public class InfoAddressController extends BaseController
  33. {
  34. @Autowired
  35. private IInfoAddressService infoAddressService;
  36. @Autowired
  37. private InfoAddressMapper infoAddressMapper;
  38. //删除收货地址
  39. @Anonymous
  40. @GetMapping("/deleaddress")
  41. public AjaxResult deleaddress(@RequestParam Long id)
  42. {
  43. return toAjax(infoAddressService.deleteById(id));
  44. }
  45. //获取用户收货地址详请
  46. @Anonymous
  47. @GetMapping("/getaddressxq")
  48. public AjaxResult getaddressxq(@RequestParam Long id)
  49. {
  50. InfoAddress address = infoAddressService.getById(id);
  51. return success(MessageUtils.message("no.obtained.success"), address);
  52. }
  53. //根据距离获取我的地址
  54. @Anonymous
  55. @Auth
  56. @GetMapping("/getzuijinaddress")
  57. public AjaxResult getzuijinaddress(@RequestHeader String token,
  58. @RequestParam BigDecimal longitude,
  59. @RequestParam BigDecimal latitude)
  60. {
  61. JwtUtil jwtUtil = new JwtUtil();
  62. String id = jwtUtil.getusid(token);
  63. List<InfoAddress> list = infoAddressMapper.getmyaddress(longitude,latitude, Integer.valueOf(id));
  64. return success(MessageUtils.message("no.obtained.success"), list);
  65. }
  66. //获取用户收货地址信息
  67. @Anonymous
  68. @Auth
  69. @GetMapping("/getaddress")
  70. public AjaxResult getaddress(@RequestHeader String token)
  71. {
  72. JwtUtil jwtUtil = new JwtUtil();
  73. String id = jwtUtil.getusid(token);
  74. QueryWrapper<InfoAddress> queryWrapper= new QueryWrapper<>();
  75. queryWrapper.eq("user_id",id);
  76. List<InfoAddress> list = infoAddressService.list(queryWrapper);
  77. return success(MessageUtils.message("no.obtained.success"), list);
  78. }
  79. //添加用户收货地址信息
  80. @Anonymous
  81. @Auth
  82. @PostMapping("/address")
  83. public AjaxResult address(@RequestHeader String token,@RequestBody InfoAddress infoAddress)
  84. {
  85. JwtUtil jwtUtil = new JwtUtil();
  86. String id = jwtUtil.getusid(token);
  87. infoAddress.setUserId(Long.valueOf(id));
  88. boolean org = infoAddressService.saveOrUpdate(infoAddress);
  89. if(org){
  90. return success();
  91. }else {
  92. return error();
  93. }
  94. }
  95. /**
  96. * 查询address列表
  97. */
  98. @PreAuthorize("@ss.hasPermi('system:address:list')")
  99. @GetMapping("/list")
  100. public TableDataInfo list(InfoAddress infoAddress)
  101. {
  102. startPage();
  103. List<InfoAddress> list = infoAddressService.selectInfoAddressList(infoAddress);
  104. return getDataTable(list);
  105. }
  106. /**
  107. * 导出address列表
  108. */
  109. @PreAuthorize("@ss.hasPermi('system:address:export')")
  110. @Log(title = "address", businessType = BusinessType.EXPORT)
  111. @PostMapping("/export")
  112. public void export(HttpServletResponse response, InfoAddress infoAddress)
  113. {
  114. List<InfoAddress> list = infoAddressService.selectInfoAddressList(infoAddress);
  115. ExcelUtil<InfoAddress> util = new ExcelUtil<InfoAddress>(InfoAddress.class);
  116. util.exportExcel(response, list, MessageUtils.message("no.export.excel.address"));
  117. }
  118. /**
  119. * 获取address详细信息
  120. */
  121. @PreAuthorize("@ss.hasPermi('system:address:query')")
  122. @GetMapping(value = "/{id}")
  123. public AjaxResult getInfo(@PathVariable("id") Long id)
  124. {
  125. return success(infoAddressService.selectInfoAddressById(id));
  126. }
  127. /**
  128. * 新增address
  129. */
  130. @PreAuthorize("@ss.hasPermi('system:address:add')")
  131. @Log(title = "address", businessType = BusinessType.INSERT)
  132. @PostMapping
  133. public AjaxResult add(@RequestBody InfoAddress infoAddress)
  134. {
  135. return toAjax(infoAddressService.insertInfoAddress(infoAddress));
  136. }
  137. /**
  138. * 修改address
  139. */
  140. @PreAuthorize("@ss.hasPermi('system:address:edit')")
  141. @Log(title = "address", businessType = BusinessType.UPDATE)
  142. @PutMapping
  143. public AjaxResult edit(@RequestBody InfoAddress infoAddress)
  144. {
  145. return toAjax(infoAddressService.updateInfoAddress(infoAddress));
  146. }
  147. /**
  148. * 删除address
  149. */
  150. @PreAuthorize("@ss.hasPermi('system:address:remove')")
  151. @Log(title = "address", businessType = BusinessType.DELETE)
  152. @DeleteMapping("/{ids}")
  153. public AjaxResult remove(@PathVariable Long[] ids)
  154. {
  155. return toAjax(infoAddressService.deleteInfoAddressByIds(ids));
  156. }
  157. }