package com.ruoyi.sales.controller; 
 | 
  
 | 
import com.baomidou.mybatisplus.core.metadata.IPage; 
 | 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
 | 
import com.ruoyi.common.utils.poi.ExcelUtil; 
 | 
import com.ruoyi.framework.aspectj.lang.annotation.Log; 
 | 
import com.ruoyi.framework.aspectj.lang.enums.BusinessType; 
 | 
import com.ruoyi.framework.web.controller.BaseController; 
 | 
import com.ruoyi.framework.web.domain.AjaxResult; 
 | 
import com.ruoyi.sales.mapper.ShippingInfoMapper; 
 | 
import com.ruoyi.sales.pojo.SalesLedger; 
 | 
import com.ruoyi.sales.pojo.ShippingInfo; 
 | 
import com.ruoyi.sales.service.ShippingInfoService; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import javax.servlet.http.HttpServletResponse; 
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * @author :yys 
 | 
 * @date : 2025/10/22 9:34 
 | 
 */ 
 | 
@RestController 
 | 
@RequestMapping("/shippingInfo") 
 | 
@Api(tags = "发货信息管理") 
 | 
public class ShippingInfoController extends BaseController { 
 | 
  
 | 
    @Autowired 
 | 
    private ShippingInfoService shippingInfoService; 
 | 
  
 | 
  
 | 
    @GetMapping("/listPage") 
 | 
    @ApiOperation("发货信息列表") 
 | 
    public AjaxResult listPage(Page page, ShippingInfo req) { 
 | 
        IPage<ShippingInfo> listPage = shippingInfoService.listPage(page,req); 
 | 
        return AjaxResult.success(listPage); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/add") 
 | 
    @ApiOperation("添加发货信息") 
 | 
    public AjaxResult add(@RequestBody ShippingInfo req) { 
 | 
        boolean save = shippingInfoService.save(req); 
 | 
        return save ? AjaxResult.success() : AjaxResult.error(); 
 | 
    } 
 | 
  
 | 
    @PostMapping("/update") 
 | 
    @ApiOperation("修改发货信息") 
 | 
    public AjaxResult update(@RequestBody ShippingInfo req) { 
 | 
        ShippingInfo byId = shippingInfoService.getById(req.getId()); 
 | 
        if (byId == null) { 
 | 
            return AjaxResult.error("发货信息不存在"); 
 | 
        } 
 | 
        Long userId = getLoginUser().getUserId(); 
 | 
        if(!userId.equals(Long.parseLong(byId.getCreateUser().toString()))){ 
 | 
            return AjaxResult.error("您没有权限修改此发货信息"); 
 | 
        } 
 | 
        boolean update = shippingInfoService.updateById(req); 
 | 
        return update ? AjaxResult.success() : AjaxResult.error(); 
 | 
    } 
 | 
  
 | 
    @DeleteMapping("/delete") 
 | 
    @ApiOperation("删除发货信息") 
 | 
    public AjaxResult delete(@RequestBody List<Long> ids) { 
 | 
        Long userId = getLoginUser().getUserId(); 
 | 
        ids.forEach(id -> { 
 | 
            ShippingInfo byId = shippingInfoService.getById(id); 
 | 
            if (byId == null) { 
 | 
                throw new RuntimeException("发货信息不存在"); 
 | 
            } 
 | 
            if(!userId.equals(Long.parseLong(byId.getCreateUser().toString()))){ 
 | 
                throw new RuntimeException("您没有权限删除此发货信息"); 
 | 
            } 
 | 
        }); 
 | 
        boolean delete = shippingInfoService.removeBatchByIds(ids); 
 | 
        return delete ? AjaxResult.success("删除成功") : AjaxResult.error("删除失败"); 
 | 
    } 
 | 
  
 | 
    @Autowired 
 | 
    private ShippingInfoMapper shippingInfoMapper; 
 | 
  
 | 
    /** 
 | 
     * 导出发货信息管理 
 | 
     */ 
 | 
    @PostMapping("/export") 
 | 
    @ApiOperation("导出发货信息") 
 | 
    public void export(HttpServletResponse response) { 
 | 
        List<ShippingInfo> list = shippingInfoMapper.listAll(); 
 | 
        ExcelUtil<ShippingInfo> util = new ExcelUtil<ShippingInfo>(ShippingInfo.class); 
 | 
        util.exportExcel(response, list, "发货信息"); 
 | 
    } 
 | 
  
 | 
} 
 |