package com.pixelai.api.pa.controller; import org.springframework.web.bind.annotation.RequestMapping; import com.base.annotation.SysLog; import org.springframework.web.bind.annotation.RestController; import com.base.helper.BaseController; import com.base.helper.Result; import com.pixelai.api.pa.entity.MbConsumption; import com.pixelai.api.pa.service.MbConsumptionService; import io.swagger.annotations.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataIntegrityViolationException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import javax.validation.Valid; import java.util.Collections; import java.util.List; import java.util.Map; /** *

* 前端控制器 *

* * @author gjj * @since 2024-12-23 */ @Api(tags = "用户消费表") @RestController @RequestMapping("/mbConsumption") public class MbConsumptionController extends BaseController { private static final Logger LOG = LoggerFactory.getLogger(MbConsumptionController.class); @Autowired private MbConsumptionService entityService; @SysLog(action = "findByPage", value = "分页查询用户消费") @ApiOperation(value = "分页查询用户消费", notes = "分页查询用户消费") @RequestMapping(method = RequestMethod.GET) @ApiImplicitParams({@ApiImplicitParam(name = "size", value = "分页大小", paramType = "query"), @ApiImplicitParam(name = "current", value = "当前页面:从1开始", paramType = "query")}) public Result> findByPage(final MbConsumption example, final Page page) { IPage records = entityService.page(example,page); return new Result(true, records); } @SysLog(action = "delete", value = "删除用户消费") @ApiOperation(value = "删除用户消费") @RequestMapping(value = "{id}", method = {RequestMethod.DELETE}) @ApiImplicitParam(name = "id", value = "用户消费ID", required = true, paramType = "path") public Result delete(@PathVariable final Integer id) { try { entityService.removeById(id); return new Result(true, "成功删除用户消费", null); } catch (DataIntegrityViolationException e) { LOG.error("删除用户消费失败", e); return new Result(false, "删除用户消费失败", "该用户消费不能删除,存在其他关联数据"); } catch (Exception e) { LOG.error("删除用户消费失败", e); return new Result(false, "删除用户消费失败", e.getMessage()); } } @SysLog(action = "one", value = "查询单个用户消费") @ApiOperation(value = "查询单个用户消费") @RequestMapping(value = "{id}", method = {RequestMethod.GET}) @ApiImplicitParam(name = "id", value = "用户消费ID", required = true, paramType = "path") public Result one(@PathVariable final Integer id) { try { MbConsumption entity = entityService.getById(id); return new Result(true, entity); } catch (Exception e) { LOG.error("查询单个用户消费失败", e); return new Result(false, new MbConsumption()); } } @SysLog(action = "add", value = "添加用户消费") @ApiOperation(value = "添加用户消费") @RequestMapping(method = {RequestMethod.POST}) public Result add(@Valid @RequestBody final MbConsumption entity, final BindingResult result) { try { if (result.hasErrors()) { Map map = this.getErrors(result); String errorMsg = map.entrySet().iterator().next().getValue(); return new Result(false, "保存用户消费失败", errorMsg, map); } else { entityService.save(entity); return new Result(true, "成功保存用户消费", null); } } catch (Exception e) { LOG.error("添加用户消费失败", e); return new Result(false, "保存用户消费失败", e.getMessage()); } } @SysLog(action = "update", value = "修改用户消费") @ApiOperation(value = "修改用户消费") @RequestMapping(method = {RequestMethod.PUT}) public Result update(@Valid @RequestBody final MbConsumption entity, final BindingResult result) { try { if (result.hasErrors()) { Map map = this.getErrors(result); String errorMsg = map.entrySet().iterator().next().getValue(); return new Result(false, "修改用户消费失败", errorMsg, map); } else { if (null == entity.getId()) { throw new RuntimeException("id不能为空"); } entityService.updateById(entity); return new Result(true, "成功修改用户消费", null); } } catch (Exception e) { LOG.error("修改用户消费失败", e); return new Result(false, "修改用户消费失败", e.getMessage()); } } @ApiOperation(value = "全部用户消费") @RequestMapping(value = "all", method = RequestMethod.GET) public Result> all(MbConsumption example) { List entitys = entityService.list(example); if (null != entitys) { return new Result<>(true, entitys); } return new Result<>(true, Collections.emptyList()); } }