LedgerCustomController.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.xjrsoft.module.ledger.controller;
  2. import cn.dev33.satoken.annotation.SaCheckPermission;
  3. import cn.dev33.satoken.stp.StpUtil;
  4. import cn.hutool.db.Entity;
  5. import com.xjrsoft.common.model.result.RT;
  6. import com.xjrsoft.common.mybatis.SqlRunnerAdapter;
  7. import com.xjrsoft.module.ledger.dto.LedgerCustomDeleteDto;
  8. import com.xjrsoft.module.ledger.dto.LedgerCustomUpdateDto;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import lombok.AllArgsConstructor;
  12. import org.springframework.web.bind.annotation.DeleteMapping;
  13. import org.springframework.web.bind.annotation.PutMapping;
  14. import org.springframework.web.bind.annotation.RequestBody;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RestController;
  17. import javax.validation.Valid;
  18. import java.time.LocalDateTime;
  19. import java.time.format.DateTimeFormatter;
  20. import java.util.Date;
  21. import java.util.Map;
  22. /**
  23. * @title: 台账自定义接口
  24. * @Author dzx
  25. * @Date: 2024年9月26日
  26. * @Version 1.0
  27. */
  28. @RestController
  29. @RequestMapping("/ledger" + "/ledgerCustom")
  30. @Api(value = "/ledger" + "/ledgerCustom",tags = "台账自定义处理接口")
  31. @AllArgsConstructor
  32. public class LedgerCustomController {
  33. @PutMapping
  34. @ApiOperation(value = "修改状态(仅限于表中有enabled_mark)")
  35. @SaCheckPermission("ledgerconfigrelease:edit")
  36. public RT<Boolean> update(@Valid @RequestBody LedgerCustomUpdateDto dto){
  37. Entity params = Entity.create(dto.getTableName());
  38. params.set("enabled_mark", dto.getEnabledMark());
  39. Entity where = Entity.create(dto.getTableName());
  40. where.set("id", dto.getId());
  41. Map<String, Object> objectMap = SqlRunnerAdapter.db().dynamicSelectOne(dto.getTableName(), where);
  42. if(objectMap.containsKey("modify_user_id")){
  43. params.set("modify_user_id", StpUtil.getLoginIdAsLong());
  44. }
  45. if(objectMap.containsKey("modify_date")){
  46. params.set("modify_date", LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
  47. }
  48. return RT.ok(SqlRunnerAdapter.db().dynamicUpdate(dto.getTableName(), params, where));
  49. }
  50. @DeleteMapping
  51. @ApiOperation(value = "删除数据(仅限于表中有delete_mark)")
  52. @SaCheckPermission("ledgerconfigrelease:delete")
  53. public RT<Boolean> delete(@Valid @RequestBody LedgerCustomDeleteDto dto){
  54. Entity where = Entity.create(dto.getTableName());
  55. where.set("id", dto.getId());
  56. return RT.ok(SqlRunnerAdapter.db().dynamicDelete(dto.getTableName(), where));
  57. }
  58. }