diff --git a/jeecg-boot-module/jeecg-module-service/src/main/java/org/jeecg/modules/system/controller/CardDeliveryPersonController.java b/jeecg-boot-module/jeecg-module-service/src/main/java/org/jeecg/modules/system/controller/CardDeliveryPersonController.java index 9391695..d7bbe13 100644 --- a/jeecg-boot-module/jeecg-module-service/src/main/java/org/jeecg/modules/system/controller/CardDeliveryPersonController.java +++ b/jeecg-boot-module/jeecg-module-service/src/main/java/org/jeecg/modules/system/controller/CardDeliveryPersonController.java @@ -1,185 +1,182 @@ package org.jeecg.modules.system.controller; -import cn.hutool.core.date.DateUtil; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.query.QueryRuleEnum; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.system.entity.CardDeliveryPerson; +import org.jeecg.modules.system.service.ICardDeliveryPersonService; + import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import jakarta.annotation.Resource; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.jeecg.common.api.vo.Result; + +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.entity.ImportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.modules.system.dto.CardDeliveryPersonDTO; -import org.jeecg.modules.system.dto.CardDeliveryPersonStatusDTO; -import org.jeecg.modules.system.entity.CardDeliveryPerson; -import org.jeecg.modules.system.mapper.CardDeliveryPersonMapper; -import org.jeecg.modules.system.service.ICardDeliveryPersonService; -import org.jeecg.modules.system.vo.CardDeliveryPersonVO; -import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; - -import java.math.BigDecimal; -import java.util.List; -import java.util.stream.Collectors; - -/** - * @program: jeecg-boot - * @description: - * @author: Mr.Yang - * @create: 2025-09-22 15:35 - **/ -@Slf4j +import com.alibaba.fastjson.JSON; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Operation; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.apache.shiro.authz.annotation.RequiresPermissions; + /** + * @Description: 送卡人管理 + * @Author: jeecg-boot + * @Date: 2025-09-26 + * @Version: V1.0 + */ +@Tag(name="送卡人管理") @RestController @RequestMapping("/card/cardDeliveryPerson") +@Slf4j public class CardDeliveryPersonController extends JeecgController { - - @Resource - private ICardDeliveryPersonService cardDeliveryPersonService; - - @Resource - private CardDeliveryPersonMapper cardDeliveryPersonMapper; + @Autowired + private ICardDeliveryPersonService cardDeliveryPersonService; + + /** + * 分页列表查询 + * + * @param cardDeliveryPerson + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "送卡人管理-分页列表查询") + @Operation(summary="送卡人管理-分页列表查询") + @GetMapping(value = "/list") + public Result> queryPageList(CardDeliveryPerson cardDeliveryPerson, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { - @GetMapping(value = "/list") - public Result> queryPageList(CardDeliveryPerson cardDeliveryPerson, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - // 参数校验 - if (pageNo <= 0) { - pageNo = 1; - } - if (pageSize <= 0 || pageSize > 100) { - pageSize = 10; - } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(cardDeliveryPerson, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = cardDeliveryPersonService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 添加 + * + * @param cardDeliveryPerson + * @return + */ + @AutoLog(value = "送卡人管理-添加") + @Operation(summary="送卡人管理-添加") + @RequiresPermissions("org.jeecg.modules.system:card_delivery_person:add") + @PostMapping(value = "/add") + public Result add(@RequestBody CardDeliveryPerson cardDeliveryPerson) { + cardDeliveryPersonService.save(cardDeliveryPerson); - try { - // 构建查询条件 - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(cardDeliveryPerson, req.getParameterMap()); - - // 分页查询 - Page page = new Page<>(pageNo, pageSize); - IPage pageList = cardDeliveryPersonService.page(page, queryWrapper); - - // 转换为VO对象 - Page voPage = new Page<>(pageList.getCurrent(), pageList.getSize(), pageList.getTotal()); - List voList = pageList.getRecords().stream().map(record -> { - CardDeliveryPersonVO vo = new CardDeliveryPersonVO(); - BeanUtils.copyProperties(record, vo); - //TODO:已收送卡费 - vo.setReceivableFee(new BigDecimal(100)); - //TODO:总送卡费 - vo.setAllFee(new BigDecimal(200)); - //格式化创建时间 - vo.setCreateTime(DateUtil.format(record.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); - //处理状态 - switch (record.getStatus()) { - case "0": - vo.setStatus("停用"); - break; - case "1": - vo.setStatus("启用"); - break; - default: - vo.setStatus(""); - break; - } - return vo; - }).collect(Collectors.toList()); - - voPage.setRecords(voList); - - return Result.OK(voPage); - } catch (Exception e) { - log.error("查询配送人员列表失败", e); - return Result.error("查询失败:" + e.getMessage()); - } - } - - @PostMapping(value = "/add") - public Result add(@RequestBody CardDeliveryPersonDTO dto) { - dto.setId(null); - CardDeliveryPerson entry = new CardDeliveryPerson(); - BeanUtils.copyProperties(dto, entry); - entry.setStatus("0"); //默认停用 - cardDeliveryPersonService.save(entry); - return Result.OK("添加成功!"); - } - - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result edit(@RequestBody CardDeliveryPersonDTO dto) { - if (StringUtils.isBlank(dto.getId())){ - return Result.error("ID不能为空"); - } - CardDeliveryPerson entry = cardDeliveryPersonMapper.selectById(dto.getId()); - BeanUtils.copyProperties(dto, entry); - entry.setStatus("0"); //默认停用 - cardDeliveryPersonService.updateById(entry); - return Result.OK("修改成功,请重新启用!"); - } - - @DeleteMapping(value = "/delete") - public Result delete(@RequestParam(name = "id", required = true) String id) { - cardDeliveryPersonService.removeById(id); - return Result.OK("删除成功!"); - } - - @DeleteMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name = "ids", required = true) String ids) { - this.cardDeliveryPersonService.removeByIds(java.util.Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name = "id", required = true) String id) { - CardDeliveryPerson cardDeliveryPerson = cardDeliveryPersonService.getById(id); - return Result.OK(cardDeliveryPerson); - } + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param cardDeliveryPerson + * @return + */ + @AutoLog(value = "送卡人管理-编辑") + @Operation(summary="送卡人管理-编辑") + @RequiresPermissions("org.jeecg.modules.system:card_delivery_person:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result edit(@RequestBody CardDeliveryPerson cardDeliveryPerson) { + cardDeliveryPersonService.updateById(cardDeliveryPerson); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "送卡人管理-通过id删除") + @Operation(summary="送卡人管理-通过id删除") + @RequiresPermissions("org.jeecg.modules.system:card_delivery_person:delete") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + cardDeliveryPersonService.removeById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "送卡人管理-批量删除") + @Operation(summary="送卡人管理-批量删除") + @RequiresPermissions("org.jeecg.modules.system:card_delivery_person:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.cardDeliveryPersonService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + //@AutoLog(value = "送卡人管理-通过id查询") + @Operation(summary="送卡人管理-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + CardDeliveryPerson cardDeliveryPerson = cardDeliveryPersonService.getById(id); + if(cardDeliveryPerson==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(cardDeliveryPerson); + } /** - * 更新状态 停用/启用 - * @param dto - * @return - */ - @RequestMapping(value = "/updateStatus", method = {RequestMethod.POST}) - public Result updateStatus(@RequestBody CardDeliveryPersonStatusDTO dto) { - if (StringUtils.isBlank(dto.getId())){ - return Result.error("ID不能为空"); - } - if (StringUtils.isBlank(dto.getStatus())){ - return Result.error("状态不能为空"); - } - CardDeliveryPerson entry = cardDeliveryPersonMapper.selectById(dto.getId()); - entry.setStatus(dto.getStatus()); - cardDeliveryPersonService.updateById(entry); - return Result.OK("更新成功!"); - } - - /** - * 导出excel - * - * @param request - * @param cardDeliveryPerson - */ + * 导出excel + * + * @param request + * @param cardDeliveryPerson + */ + @RequiresPermissions("org.jeecg.modules.system:card_delivery_person:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, CardDeliveryPerson cardDeliveryPerson) { - return super.exportXls(request, cardDeliveryPerson, CardDeliveryPerson.class, "办卡人员"); + return super.exportXls(request, cardDeliveryPerson, CardDeliveryPerson.class, "送卡人管理"); } /** - * 通过excel导入数据 - * - * @param request - * @param response - * @return - */ + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequiresPermissions("org.jeecg.modules.system:card_delivery_person:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, CardDeliveryPerson.class); } + }