package com.huaheng.pc.config.address.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; import com.huaheng.framework.web.controller.BaseController; import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.framework.web.page.PageDomain; import com.huaheng.framework.web.page.TableDataInfo; import com.huaheng.framework.web.page.TableSupport; import com.huaheng.pc.config.address.domain.Address; import com.huaheng.pc.config.address.service.AddressService; import com.huaheng.pc.config.carrier.domain.Carrier; import com.huaheng.pc.config.carrier.service.CarrierService; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; /** * 接口地址 */ @Controller @RequestMapping("/config/address") public class AddressController extends BaseController { private String prefix = "config/address"; @Resource private AddressService addressService; @GetMapping() public String address() { return prefix + "/address"; } /** * 查询接口地址 */ @Log(title = "配置-接口地址", operating = "查看接口地址", action = BusinessType.GRANT) @PostMapping("/list") @ResponseBody public TableDataInfo list(Address address) { LambdaQueryWrapper<Address> lambdaQueryWrapper = Wrappers.lambdaQuery(); PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); lambdaQueryWrapper .eq(StringUtils.isNotEmpty(address.getParam()), Address::getParam, address.getParam()) .eq(Address::getWarehouseCode, ShiroUtils.getWarehouseCode()); if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ /*使用分页查询*/ Page<Address> page = new Page<>(pageNum, pageSize); IPage<Address> iPage = addressService.page(page, lambdaQueryWrapper); return getMpDataTable(iPage.getRecords(), iPage.getTotal()); } else { List<Address> list = addressService.list(lambdaQueryWrapper); return getDataTable(list); } } /** * 新增接口地址 */ @GetMapping("/add") public String add() { return prefix + "/add"; } /** * 新增保存接口地址 */ @Log(title = "通用-接口地址", operating = "新增接口地址", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody public AjaxResult addSave(Address address) { address.setWarehouseCode(ShiroUtils.getWarehouseCode()); return toAjax(addressService.save(address)); } /** * 修改接口地址 */ @GetMapping("/edit/{id}") public String edit(@PathVariable("id") Integer id, ModelMap mmap) { mmap.put("address", addressService.getById(id)); return prefix + "/edit"; } /** * 修改保存接口地址 */ @Log(title = "配置-接口地址", operating = "修改接口地址", action = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody public AjaxResult editSave(Address address) { return toAjax(addressService.updateById(address)); } /** * 删除接口地址 */ @Log(title = "配置-接口地址", operating = "删除接口地址", action = BusinessType.DELETE) @PostMapping( "/remove") @ResponseBody public AjaxResult remove(String ids) { if (StringUtils.isEmpty(ids)){ return AjaxResult.error("id不能为空"); } List<Integer> list = new ArrayList<>(); for (Integer id : Convert.toIntArray(ids)) { list.add(id); } return toAjax(addressService.removeByIds(list)); } }