package com.ruoyi.system.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import com.ruoyi.system.domain.*; import com.ruoyi.system.service.IServiceGoodsService; import com.ruoyi.system.service.IUserAddressService; import com.ruoyi.system.service.IUsersService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.service.IGoodsOrderService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * 商品订单Controller * * @author ruoyi * @date 2025-05-13 */ @RestController @RequestMapping("/system/GoodsOrder") public class GoodsOrderController extends BaseController { @Autowired private IGoodsOrderService goodsOrderService; @Autowired private IServiceGoodsService serviceGoodsService; @Autowired private IUsersService usersService; @Autowired private IUserAddressService userAddressService; /** * 查询商品订单列表 */ @PreAuthorize("@ss.hasPermi('system:GoodsOrder:list')") @GetMapping("/list") public TableDataInfo list(GoodsOrder goodsOrder) { startPage(); List list = goodsOrderService.selectGoodsOrderList(goodsOrder); for(GoodsOrder goodsOrderdata:list){ ServiceGoods serviceGoods=serviceGoodsService.selectServiceGoodsById(goodsOrderdata.getProductId()); if(serviceGoods!=null){ goodsOrderdata.setProductName(serviceGoods.getTitle()); } Users users=usersService.selectUsersById(goodsOrderdata.getUid()); if(users !=null){ goodsOrderdata.setUname(users.getName()); } } return getDataTable(list); } /** * 导出商品订单列表 */ @PreAuthorize("@ss.hasPermi('system:GoodsOrder:export')") @Log(title = "商品订单", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, GoodsOrder goodsOrder) { List list = goodsOrderService.selectGoodsOrderList(goodsOrder); ExcelUtil util = new ExcelUtil(GoodsOrder.class); util.exportExcel(response, list, "商品订单数据"); } /** * 获取商品订单详细信息 */ @PreAuthorize("@ss.hasPermi('system:GoodsOrder:query')") @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(goodsOrderService.selectGoodsOrderById(id)); } /** * 新增商品订单IServiceGoodsService serviceGoodsService; */ @PreAuthorize("@ss.hasPermi('system:GoodsOrder:add')") @Log(title = "商品订单", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody GoodsOrder goodsOrder) { if (goodsOrder.getAddressId()!=null){ UserAddress userAddress=userAddressService.selectUserAddressById(goodsOrder.getAddressId()); if (userAddress!=null){ goodsOrder.setName(userAddress.getName()); goodsOrder.setPhone(userAddress.getPhone()); goodsOrder.setAddress(userAddress.getAddressName()); } } if (goodsOrder.getProductId()!=null){ ServiceGoods serviceGoods=serviceGoodsService.selectServiceGoodsById(goodsOrder.getProductId()); if (serviceGoods!=null){ goodsOrder.setGoodPrice(serviceGoods.getPrice()); } } return toAjax(goodsOrderService.insertGoodsOrder(goodsOrder)); } /** * 修改商品订单 */ @PreAuthorize("@ss.hasPermi('system:GoodsOrder:edit')") @Log(title = "商品订单", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody GoodsOrder goodsOrder) { return toAjax(goodsOrderService.updateGoodsOrder(goodsOrder)); } /** * 删除商品订单 */ @PreAuthorize("@ss.hasPermi('system:GoodsOrder:remove')") @Log(title = "商品订单", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(goodsOrderService.deleteGoodsOrderByIds(ids)); } }