diff --git a/ff-base/src/main/java/com/ff/base/system/mapper/TenantPlatformMapper.java b/ff-base/src/main/java/com/ff/base/system/mapper/TenantPlatformMapper.java index 92cb060..b4d607f 100644 --- a/ff-base/src/main/java/com/ff/base/system/mapper/TenantPlatformMapper.java +++ b/ff-base/src/main/java/com/ff/base/system/mapper/TenantPlatformMapper.java @@ -19,6 +19,16 @@ public interface TenantPlatformMapper */ TenantPlatform selectTenantPlatformById(Long id); + + /** + * 按租户id选择货币代码 + * + * @param tenantId 租户id + * @return {@link List }<{@link String }> + */ + List selectCurrencyCodeByTenantId(Long tenantId); + + /** * 查询租户成本管理列表 * diff --git a/ff-base/src/main/java/com/ff/base/system/service/ITenantPlatformService.java b/ff-base/src/main/java/com/ff/base/system/service/ITenantPlatformService.java index 664e047..0ff8a37 100644 --- a/ff-base/src/main/java/com/ff/base/system/service/ITenantPlatformService.java +++ b/ff-base/src/main/java/com/ff/base/system/service/ITenantPlatformService.java @@ -27,6 +27,14 @@ public interface ITenantPlatformService */ List selectTenantPlatformList(TenantPlatform tenantPlatform); + /** + * 按租户id选择货币代码 + * + * @param tenantId 租户id + * @return {@link List }<{@link String }> + */ + List selectCurrencyCodeByTenantId(Long tenantId); + /** * 新增租户成本管理 * diff --git a/ff-base/src/main/java/com/ff/base/system/service/impl/TenantPlatformServiceImpl.java b/ff-base/src/main/java/com/ff/base/system/service/impl/TenantPlatformServiceImpl.java index 34bce54..74856f2 100644 --- a/ff-base/src/main/java/com/ff/base/system/service/impl/TenantPlatformServiceImpl.java +++ b/ff-base/src/main/java/com/ff/base/system/service/impl/TenantPlatformServiceImpl.java @@ -1,5 +1,6 @@ package com.ff.base.system.service.impl; +import java.util.Collections; import java.util.List; import com.ff.base.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +47,17 @@ public class TenantPlatformServiceImpl implements ITenantPlatformService return tenantPlatformMapper.selectTenantPlatformList(tenantPlatform); } + /** + * 按租户id选择货币代码 + * + * @param tenantId 租户id + * @return {@link List }<{@link String }> + */ + @Override + public List selectCurrencyCodeByTenantId(Long tenantId) { + return tenantPlatformMapper.selectCurrencyCodeByTenantId(tenantId); + } + /** * 新增租户成本管理 * diff --git a/ff-base/src/main/resources/mapper/system/TenantPlatformMapper.xml b/ff-base/src/main/resources/mapper/system/TenantPlatformMapper.xml index 54884c7..0b62204 100644 --- a/ff-base/src/main/resources/mapper/system/TenantPlatformMapper.xml +++ b/ff-base/src/main/resources/mapper/system/TenantPlatformMapper.xml @@ -37,6 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + insert into ff_tenant_platform diff --git a/ff-game/src/main/java/com/ff/sys/controller/SysNoticeController.java b/ff-game/src/main/java/com/ff/sys/controller/SysNoticeController.java new file mode 100644 index 0000000..e4a5477 --- /dev/null +++ b/ff-game/src/main/java/com/ff/sys/controller/SysNoticeController.java @@ -0,0 +1,93 @@ +package com.ff.sys.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ff.base.annotation.Log; +import com.ff.base.core.controller.BaseController; +import com.ff.base.core.domain.AjaxResult; +import com.ff.base.enums.BusinessType; +import com.ff.sys.domain.SysNotice; +import com.ff.sys.service.ISysNoticeService; +import com.ff.base.utils.poi.ExcelUtil; +import com.ff.base.core.page.TableDataInfo; + +/** + * 系统公告Controller + * + * @author shi + * @date 2025-02-28 + */ +@RestController +@RequestMapping("/sys/notice") +public class SysNoticeController extends BaseController +{ + @Autowired + private ISysNoticeService sysNoticeService; + + /** + * 查询系统公告列表 + */ + @PreAuthorize("@ss.hasPermi('sys:notice:list')") + @GetMapping("/list") + public TableDataInfo list(SysNotice sysNotice) + { + startPage(); + List list = sysNoticeService.selectSysNoticeList(sysNotice); + return getDataTable(list); + } + + + + /** + * 获取系统公告详细信息 + */ + @PreAuthorize("@ss.hasPermi('sys:notice:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(sysNoticeService.selectSysNoticeById(id)); + } + + /** + * 新增系统公告 + */ + @PreAuthorize("@ss.hasPermi('sys:notice:add')") + @Log(title = "系统公告", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SysNotice sysNotice) + { + return toAjax(sysNoticeService.insertSysNotice(sysNotice)); + } + + /** + * 修改系统公告 + */ + @PreAuthorize("@ss.hasPermi('sys:notice:edit')") + @Log(title = "系统公告", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SysNotice sysNotice) + { + return toAjax(sysNoticeService.updateSysNotice(sysNotice)); + } + + /** + * 删除系统公告 + */ + @PreAuthorize("@ss.hasPermi('sys:notice:remove')") + @Log(title = "系统公告", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(sysNoticeService.deleteSysNoticeByIds(ids)); + } +} diff --git a/ff-game/src/main/java/com/ff/sys/domain/SysNotice.java b/ff-game/src/main/java/com/ff/sys/domain/SysNotice.java new file mode 100644 index 0000000..a36fff3 --- /dev/null +++ b/ff-game/src/main/java/com/ff/sys/domain/SysNotice.java @@ -0,0 +1,29 @@ +package com.ff.sys.domain; + +import com.ff.base.annotation.Excel; +import com.ff.base.core.domain.BaseEntity; +import lombok.Data; +/** + * 系统公告对象 ff_sys_notice + * + * @author shi + * @date 2025-02-28 + */ +@Data +public class SysNotice extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** $column.columnComment */ + private Long id; + + /** 标题 */ + @Excel(name = "标题") + private String title; + + /** 内容 */ + @Excel(name = "内容") + private String content; + + +} diff --git a/ff-game/src/main/java/com/ff/sys/mapper/SysNoticeMapper.java b/ff-game/src/main/java/com/ff/sys/mapper/SysNoticeMapper.java new file mode 100644 index 0000000..3adc3a6 --- /dev/null +++ b/ff-game/src/main/java/com/ff/sys/mapper/SysNoticeMapper.java @@ -0,0 +1,61 @@ +package com.ff.sys.mapper; + +import java.util.List; +import com.ff.sys.domain.SysNotice; + +/** + * 系统公告Mapper接口 + * + * @author shi + * @date 2025-02-28 + */ +public interface SysNoticeMapper +{ + /** + * 查询系统公告 + * + * @param id 系统公告主键 + * @return 系统公告 + */ + SysNotice selectSysNoticeById(Long id); + + /** + * 查询系统公告列表 + * + * @param sysNotice 系统公告 + * @return 系统公告集合 + */ + List selectSysNoticeList(SysNotice sysNotice); + + /** + * 新增系统公告 + * + * @param sysNotice 系统公告 + * @return 结果 + */ + int insertSysNotice(SysNotice sysNotice); + + /** + * 修改系统公告 + * + * @param sysNotice 系统公告 + * @return 结果 + */ + int updateSysNotice(SysNotice sysNotice); + + /** + * 删除系统公告 + * + * @param id 系统公告主键 + * @return 结果 + */ + int deleteSysNoticeById(Long id); + + /** + * 批量删除系统公告 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteSysNoticeByIds(Long[] ids); +} diff --git a/ff-game/src/main/java/com/ff/sys/service/ISysNoticeService.java b/ff-game/src/main/java/com/ff/sys/service/ISysNoticeService.java new file mode 100644 index 0000000..bc2d210 --- /dev/null +++ b/ff-game/src/main/java/com/ff/sys/service/ISysNoticeService.java @@ -0,0 +1,61 @@ +package com.ff.sys.service; + +import java.util.List; +import com.ff.sys.domain.SysNotice; + +/** + * 系统公告Service接口 + * + * @author shi + * @date 2025-02-28 + */ +public interface ISysNoticeService +{ + /** + * 查询系统公告 + * + * @param id 系统公告主键 + * @return 系统公告 + */ + SysNotice selectSysNoticeById(Long id); + + /** + * 查询系统公告列表 + * + * @param sysNotice 系统公告 + * @return 系统公告集合 + */ + List selectSysNoticeList(SysNotice sysNotice); + + /** + * 新增系统公告 + * + * @param sysNotice 系统公告 + * @return 结果 + */ + int insertSysNotice(SysNotice sysNotice); + + /** + * 修改系统公告 + * + * @param sysNotice 系统公告 + * @return 结果 + */ + int updateSysNotice(SysNotice sysNotice); + + /** + * 批量删除系统公告 + * + * @param ids 需要删除的系统公告主键集合 + * @return 结果 + */ + int deleteSysNoticeByIds(Long[] ids); + + /** + * 删除系统公告信息 + * + * @param id 系统公告主键 + * @return 结果 + */ + int deleteSysNoticeById(Long id); +} diff --git a/ff-game/src/main/java/com/ff/sys/service/impl/SysNoticeServiceImpl.java b/ff-game/src/main/java/com/ff/sys/service/impl/SysNoticeServiceImpl.java new file mode 100644 index 0000000..497c005 --- /dev/null +++ b/ff-game/src/main/java/com/ff/sys/service/impl/SysNoticeServiceImpl.java @@ -0,0 +1,99 @@ +package com.ff.sys.service.impl; + +import java.util.List; +import com.ff.base.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ff.sys.mapper.SysNoticeMapper; +import com.ff.sys.domain.SysNotice; +import com.ff.sys.service.ISysNoticeService; +import cn.hutool.core.util.IdUtil; + + +/** + * 系统公告Service业务层处理 + * + * @author shi + * @date 2025-02-28 + */ +@Service +public class SysNoticeServiceImpl implements ISysNoticeService +{ + @Autowired + private SysNoticeMapper sysNoticeMapper; + + /** + * 查询系统公告 + * + * @param id 系统公告主键 + * @return 系统公告 + */ + @Override + public SysNotice selectSysNoticeById(Long id) + { + return sysNoticeMapper.selectSysNoticeById(id); + } + + /** + * 查询系统公告列表 + * + * @param sysNotice 系统公告 + * @return 系统公告 + */ + @Override + public List selectSysNoticeList(SysNotice sysNotice) + { + return sysNoticeMapper.selectSysNoticeList(sysNotice); + } + + /** + * 新增系统公告 + * + * @param sysNotice 系统公告 + * @return 结果 + */ + @Override + public int insertSysNotice(SysNotice sysNotice) + { + sysNotice.setId(IdUtil.getSnowflakeNextId()); + sysNotice.setCreateTime(DateUtils.getNowDate()); + return sysNoticeMapper.insertSysNotice(sysNotice); + } + + /** + * 修改系统公告 + * + * @param sysNotice 系统公告 + * @return 结果 + */ + @Override + public int updateSysNotice(SysNotice sysNotice) + { + sysNotice.setUpdateTime(DateUtils.getNowDate()); + return sysNoticeMapper.updateSysNotice(sysNotice); + } + + /** + * 批量删除系统公告 + * + * @param ids 需要删除的系统公告主键 + * @return 结果 + */ + @Override + public int deleteSysNoticeByIds(Long[] ids) + { + return sysNoticeMapper.deleteSysNoticeByIds(ids); + } + + /** + * 删除系统公告信息 + * + * @param id 系统公告主键 + * @return 结果 + */ + @Override + public int deleteSysNoticeById(Long id) + { + return sysNoticeMapper.deleteSysNoticeById(id); + } +} diff --git a/ff-game/src/main/java/com/ff/tenant/controller/TenantController.java b/ff-game/src/main/java/com/ff/tenant/controller/TenantController.java index b8ce94f..9df1415 100644 --- a/ff-game/src/main/java/com/ff/tenant/controller/TenantController.java +++ b/ff-game/src/main/java/com/ff/tenant/controller/TenantController.java @@ -41,7 +41,6 @@ public class TenantController extends BaseController { * * @return {@link AjaxResult } */ - @PreAuthorize("@ss.hasPermi('tenant:info:query')") @GetMapping public AjaxResult getInfo() { TenantSecretKey tenantSecretKey = tenantSecretKeyService.selectTenantSecretKeyById(getUserId()); @@ -50,12 +49,18 @@ public class TenantController extends BaseController { .tenantGameQuotaList(tenantGameQuotaService.selectTenantGameQuotaList(TenantGameQuota.builder() .tenantKey(tenantSecretKey.getTenantKey()) .build())) - .tenantPlatforms(tenantPlatformService.selectTenantPlatformList(TenantPlatform.builder() - .tenantId(tenantSecretKey.getId()) - .build())) + .currencyCodes(tenantPlatformService.selectCurrencyCodeByTenantId(tenantSecretKey.getId())) .build(); return success(tenantDTO); } + @GetMapping("/platforms/{currencyCode}") + public AjaxResult getTenantPlatformsInfo(@PathVariable("currencyCode") String currencyCode) { + return success(tenantPlatformService.selectTenantPlatformList(TenantPlatform.builder() + .currencyCode(currencyCode) + .tenantId(getUserId()) + .build())); + } + } diff --git a/ff-game/src/main/java/com/ff/tenant/controller/TenantWhiteController.java b/ff-game/src/main/java/com/ff/tenant/controller/TenantWhiteController.java index 322d9a5..58aa1de 100644 --- a/ff-game/src/main/java/com/ff/tenant/controller/TenantWhiteController.java +++ b/ff-game/src/main/java/com/ff/tenant/controller/TenantWhiteController.java @@ -37,7 +37,6 @@ public class TenantWhiteController extends BaseController /** * 查询租户白名单列表 */ - @PreAuthorize("@ss.hasPermi('tenant:white:list')") @GetMapping("/list") public TableDataInfo list(TenantWhite tenantWhite) { @@ -51,7 +50,6 @@ public class TenantWhiteController extends BaseController /** * 新增租户白名单 */ - @PreAuthorize("@ss.hasPermi('tenant:white:add')") @Log(title = "租户白名单", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody TenantWhite tenantWhite) @@ -64,7 +62,6 @@ public class TenantWhiteController extends BaseController /** * 删除租户白名单 */ - @PreAuthorize("@ss.hasPermi('tenant:white:remove')") @Log(title = "租户白名单", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public AjaxResult remove(@PathVariable Long[] ids) diff --git a/ff-game/src/main/java/com/ff/tenant/dto/TenantDTO.java b/ff-game/src/main/java/com/ff/tenant/dto/TenantDTO.java index 2618e82..120310b 100644 --- a/ff-game/src/main/java/com/ff/tenant/dto/TenantDTO.java +++ b/ff-game/src/main/java/com/ff/tenant/dto/TenantDTO.java @@ -34,7 +34,7 @@ public class TenantDTO implements java.io.Serializable{ private List tenantGameQuotaList; /** - * 租户平台 + * 租户平台 币种 */ - private List tenantPlatforms; + private List currencyCodes; } diff --git a/ff-game/src/main/resources/mapper/sys/SysNoticeMapper.xml b/ff-game/src/main/resources/mapper/sys/SysNoticeMapper.xml new file mode 100644 index 0000000..e340eb8 --- /dev/null +++ b/ff-game/src/main/resources/mapper/sys/SysNoticeMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + select id, title, content, create_by, create_time, update_by, update_time from ff_sys_notice + + + + + + + + insert into ff_sys_notice + + id, + title, + content, + create_by, + create_time, + update_by, + update_time, + + + #{id}, + #{title}, + #{content}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update ff_sys_notice + + title = #{title}, + content = #{content}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from ff_sys_notice where id = #{id} + + + + delete from ff_sys_notice where id in + + #{id} + + + \ No newline at end of file