package com.pj.project.tb_notices; import cn.dev33.satoken.annotation.SaCheckPermission; import com.pj.constants.UserTypeEnum; import com.pj.current.satoken.StpUserUtil; import com.pj.project4sp.SP; import com.pj.utils.sg.AjaxError; import com.pj.utils.sg.AjaxJson; import com.pj.utils.so.SoMap; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * Controller: tb_notices -- 消息表 * * @author lzm */ @RestController @RequestMapping("/TbNotices/") public class TbNoticesController { /** * 底层 Service 对象 */ @Autowired TbNoticesService tbNoticesService; /** * 增 */ @RequestMapping("add") @SaCheckPermission(TbNotices.PERMISSION_CODE) @Transactional(rollbackFor = Exception.class) public AjaxJson add(TbNotices t) { tbNoticesService.add(t); t = tbNoticesService.getById(SP.publicMapper.getPrimarykey()); return AjaxJson.getSuccessData(t); } /** * 删 */ @RequestMapping("delete") @SaCheckPermission(TbNotices.PERMISSION_CODE) public AjaxJson delete(Long id) { int line = tbNoticesService.delete(id); return AjaxJson.getByLine(line); } /** * 删 - 根据id列表 */ @RequestMapping("deleteByIds") @SaCheckPermission(TbNotices.PERMISSION_CODE) public AjaxJson deleteByIds() { List ids = SoMap.getRequestSoMap().getListByComma("ids", long.class); int line = SP.publicMapper.deleteByIds(TbNotices.TABLE_NAME, ids); return AjaxJson.getByLine(line); } /** * 改 */ @RequestMapping("update") @SaCheckPermission(TbNotices.PERMISSION_CODE) public AjaxJson update(TbNotices t) { int line = tbNoticesService.update(t); return AjaxJson.getByLine(line); } /** * 查 - 根据id */ @RequestMapping("getById") public AjaxJson getById(Long id) { TbNotices t = tbNoticesService.getById(id); return AjaxJson.getSuccessData(t); } /** * 查集合 - 根据条件(参数为空时代表忽略指定条件) */ @RequestMapping("getList") public AjaxJson getList() { SoMap so = SoMap.getRequestSoMap(); String currentCustomerId = StpUserUtil.getCustomerId(); if (!currentCustomerId.equals(UserTypeEnum.PLATFORM_ADMIN.getCustomerId())) { so.put("customerId", currentCustomerId); } List list = tbNoticesService.getList(so.startPage()); return AjaxJson.getPageData(so.getDataCount(), list); } // ------------------------- 前端接口 ------------------------- /** * 改 - 不传不改 [G] */ @RequestMapping("updateByNotNull") public AjaxJson updateByNotNull(Long id) { AjaxError.throwBy(true, "如需正常调用此接口,请删除此行代码"); // 鉴别身份,是否为数据创建者 long userId = SP.publicMapper.getColumnByIdToLong(TbNotices.TABLE_NAME, "user_id", id); AjaxError.throwBy(userId != StpUserUtil.getLoginIdAsLong(), "此数据您无权限修改"); // 开始修改 (请只保留需要修改的字段) SoMap so = SoMap.getRequestSoMap(); so.clearNotIn("id", "businessId", "customerId", "title", "content", "receiverType", "type", "updateTime").clearNull().humpToLineCase(); int line = SP.publicMapper.updateBySoMapById(TbNotices.TABLE_NAME, so, id); return AjaxJson.getByLine(line); } }