diff --git a/src/main/java/com/cool/core/security/AppOrgAuthFilter.java b/src/main/java/com/cool/core/security/AppOrgAuthFilter.java index ddd26c9..f3c76f2 100644 --- a/src/main/java/com/cool/core/security/AppOrgAuthFilter.java +++ b/src/main/java/com/cool/core/security/AppOrgAuthFilter.java @@ -33,7 +33,9 @@ public class AppOrgAuthFilter extends OncePerRequestFilter { "/app/zoo/", "zoo", "/app/order/", "order", "/app/book/", "book", - "/app/ticket/", "ticket" + "/app/ticket/", "ticket", + "/app/product/", "product", + "/app/agent/", "proxy" ); @Override diff --git a/src/main/java/com/cool/modules/agent/controller/admin/AdminAgentInfoController.java b/src/main/java/com/cool/modules/agent/controller/admin/AdminAgentInfoController.java new file mode 100644 index 0000000..9df1281 --- /dev/null +++ b/src/main/java/com/cool/modules/agent/controller/admin/AdminAgentInfoController.java @@ -0,0 +1,21 @@ +package com.cool.modules.agent.controller.admin; + +import cn.hutool.json.JSONObject; +import com.cool.core.annotation.CoolRestController; +import com.cool.core.base.BaseController; +import com.cool.modules.agent.entity.AgentInfoEntity; +import com.cool.modules.agent.service.AgentInfoService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +@Tag(name = "代理管理", description = "代理信息管理") +@CoolRestController(api = {"add", "delete", "update", "page", "info"}) +public class AdminAgentInfoController extends BaseController { + + @Override + protected void init(HttpServletRequest request, JSONObject requestParams) { + setPageOption(createOp()); + } +} diff --git a/src/main/java/com/cool/modules/agent/controller/app/AppAgentInfoController.java b/src/main/java/com/cool/modules/agent/controller/app/AppAgentInfoController.java new file mode 100644 index 0000000..35b491a --- /dev/null +++ b/src/main/java/com/cool/modules/agent/controller/app/AppAgentInfoController.java @@ -0,0 +1,32 @@ +package com.cool.modules.agent.controller.app; + +import cn.hutool.json.JSONObject; +import com.cool.core.annotation.CoolRestController; +import com.cool.core.request.R; +import com.cool.modules.agent.service.AgentInfoService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestAttribute; + +@RequiredArgsConstructor +@Tag(name = "代理", description = "App端代理") +@CoolRestController +public class AppAgentInfoController { + + private final AgentInfoService agentInfoService; + + @Operation(summary = "代理列表") + @GetMapping("/list") + public R list(@RequestAttribute JSONObject requestParams) { + return R.ok(agentInfoService.list(requestParams, null)); + } + + @Operation(summary = "代理详情") + @GetMapping("/detail") + public R detail(@RequestAttribute JSONObject requestParams) { + Long id = requestParams.getLong("id"); + return R.ok(agentInfoService.info(id)); + } +} diff --git a/src/main/java/com/cool/modules/agent/entity/AgentInfoEntity.java b/src/main/java/com/cool/modules/agent/entity/AgentInfoEntity.java new file mode 100644 index 0000000..57adc55 --- /dev/null +++ b/src/main/java/com/cool/modules/agent/entity/AgentInfoEntity.java @@ -0,0 +1,31 @@ +package com.cool.modules.agent.entity; + +import com.cool.core.base.TenantEntity; +import com.mybatisflex.annotation.Table; +import com.cool.core.annotation.ColumnDefine; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Table(value = "agent_info", comment = "代理信息表") +public class AgentInfoEntity extends TenantEntity { + + @ColumnDefine(comment = "代理名称", notNull = true) + private String name; + + @ColumnDefine(comment = "联系电话") + private String phone; + + @ColumnDefine(comment = "地区") + private String region; + + @ColumnDefine(comment = "图片") + private String image; + + @ColumnDefine(comment = "描述", type = "text") + private String description; + + @ColumnDefine(comment = "状态 0:停用 1:启用", defaultValue = "1") + private Integer status; +} diff --git a/src/main/java/com/cool/modules/agent/mapper/AgentInfoMapper.java b/src/main/java/com/cool/modules/agent/mapper/AgentInfoMapper.java new file mode 100644 index 0000000..10e7d1f --- /dev/null +++ b/src/main/java/com/cool/modules/agent/mapper/AgentInfoMapper.java @@ -0,0 +1,7 @@ +package com.cool.modules.agent.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.cool.modules.agent.entity.AgentInfoEntity; + +public interface AgentInfoMapper extends BaseMapper { +} diff --git a/src/main/java/com/cool/modules/agent/service/AgentInfoService.java b/src/main/java/com/cool/modules/agent/service/AgentInfoService.java new file mode 100644 index 0000000..055158f --- /dev/null +++ b/src/main/java/com/cool/modules/agent/service/AgentInfoService.java @@ -0,0 +1,7 @@ +package com.cool.modules.agent.service; + +import com.cool.core.base.BaseService; +import com.cool.modules.agent.entity.AgentInfoEntity; + +public interface AgentInfoService extends BaseService { +} diff --git a/src/main/java/com/cool/modules/agent/service/impl/AgentInfoServiceImpl.java b/src/main/java/com/cool/modules/agent/service/impl/AgentInfoServiceImpl.java new file mode 100644 index 0000000..b82f8c8 --- /dev/null +++ b/src/main/java/com/cool/modules/agent/service/impl/AgentInfoServiceImpl.java @@ -0,0 +1,12 @@ +package com.cool.modules.agent.service.impl; + +import com.cool.core.base.BaseServiceImpl; +import com.cool.modules.agent.entity.AgentInfoEntity; +import com.cool.modules.agent.mapper.AgentInfoMapper; +import com.cool.modules.agent.service.AgentInfoService; +import org.springframework.stereotype.Service; + +@Service +public class AgentInfoServiceImpl extends BaseServiceImpl implements + AgentInfoService { +} diff --git a/src/main/java/com/cool/modules/org/controller/app/AppOrgController.java b/src/main/java/com/cool/modules/org/controller/app/AppOrgController.java index 08194ba..b254e9c 100644 --- a/src/main/java/com/cool/modules/org/controller/app/AppOrgController.java +++ b/src/main/java/com/cool/modules/org/controller/app/AppOrgController.java @@ -25,7 +25,7 @@ public class AppOrgController { private final AppOrgUserService appOrgUserService; @Operation(summary = "获取已加入的组织列表") - @GetMapping("/list") + @GetMapping("/orgList") public R list() { Long userId = CoolSecurityUtil.getCurrentUserId(); List> orgList = appOrgUserService.getOrgListByUserId(userId); diff --git a/src/main/java/com/cool/modules/product/controller/admin/AdminProductGoodsController.java b/src/main/java/com/cool/modules/product/controller/admin/AdminProductGoodsController.java new file mode 100644 index 0000000..6db5dc0 --- /dev/null +++ b/src/main/java/com/cool/modules/product/controller/admin/AdminProductGoodsController.java @@ -0,0 +1,21 @@ +package com.cool.modules.product.controller.admin; + +import cn.hutool.json.JSONObject; +import com.cool.core.annotation.CoolRestController; +import com.cool.core.base.BaseController; +import com.cool.modules.product.entity.ProductGoodsEntity; +import com.cool.modules.product.service.ProductGoodsService; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.servlet.http.HttpServletRequest; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +@Tag(name = "商品管理", description = "商品管理") +@CoolRestController(api = {"add", "delete", "update", "page", "info"}) +public class AdminProductGoodsController extends BaseController { + + @Override + protected void init(HttpServletRequest request, JSONObject requestParams) { + setPageOption(createOp()); + } +} diff --git a/src/main/java/com/cool/modules/product/controller/app/AppProductGoodsController.java b/src/main/java/com/cool/modules/product/controller/app/AppProductGoodsController.java new file mode 100644 index 0000000..817f083 --- /dev/null +++ b/src/main/java/com/cool/modules/product/controller/app/AppProductGoodsController.java @@ -0,0 +1,33 @@ +package com.cool.modules.product.controller.app; + +import cn.hutool.json.JSONObject; +import com.cool.core.annotation.CoolRestController; +import com.cool.core.request.R; +import com.cool.modules.product.entity.ProductGoodsEntity; +import com.cool.modules.product.service.ProductGoodsService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestAttribute; + +@RequiredArgsConstructor +@Tag(name = "商品", description = "App端商品") +@CoolRestController +public class AppProductGoodsController { + + private final ProductGoodsService productGoodsService; + + @Operation(summary = "商品列表") + @GetMapping("/list") + public R list(@RequestAttribute JSONObject requestParams) { + return R.ok(productGoodsService.list(requestParams, null)); + } + + @Operation(summary = "商品详情") + @GetMapping("/detail") + public R detail(@RequestAttribute JSONObject requestParams) { + Long id = requestParams.getLong("id"); + return R.ok(productGoodsService.info(id)); + } +} diff --git a/src/main/java/com/cool/modules/product/entity/ProductGoodsEntity.java b/src/main/java/com/cool/modules/product/entity/ProductGoodsEntity.java new file mode 100644 index 0000000..5f923f0 --- /dev/null +++ b/src/main/java/com/cool/modules/product/entity/ProductGoodsEntity.java @@ -0,0 +1,34 @@ +package com.cool.modules.product.entity; + +import com.cool.core.base.TenantEntity; +import com.mybatisflex.annotation.Table; +import com.cool.core.annotation.ColumnDefine; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@Table(value = "product_goods", comment = "商品表") +public class ProductGoodsEntity extends TenantEntity { + + @ColumnDefine(comment = "商品名称", notNull = true) + private String name; + + @ColumnDefine(comment = "价格") + private Double price; + + @ColumnDefine(comment = "单位") + private String unit; + + @ColumnDefine(comment = "图片") + private String image; + + @ColumnDefine(comment = "描述", type = "text") + private String description; + + @ColumnDefine(comment = "分类ID", type = "bigint") + private Long categoryId; + + @ColumnDefine(comment = "状态 0:下架 1:上架", defaultValue = "1") + private Integer status; +} diff --git a/src/main/java/com/cool/modules/product/mapper/ProductGoodsMapper.java b/src/main/java/com/cool/modules/product/mapper/ProductGoodsMapper.java new file mode 100644 index 0000000..a8727eb --- /dev/null +++ b/src/main/java/com/cool/modules/product/mapper/ProductGoodsMapper.java @@ -0,0 +1,7 @@ +package com.cool.modules.product.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.cool.modules.product.entity.ProductGoodsEntity; + +public interface ProductGoodsMapper extends BaseMapper { +} diff --git a/src/main/java/com/cool/modules/product/service/ProductGoodsService.java b/src/main/java/com/cool/modules/product/service/ProductGoodsService.java new file mode 100644 index 0000000..be27829 --- /dev/null +++ b/src/main/java/com/cool/modules/product/service/ProductGoodsService.java @@ -0,0 +1,7 @@ +package com.cool.modules.product.service; + +import com.cool.core.base.BaseService; +import com.cool.modules.product.entity.ProductGoodsEntity; + +public interface ProductGoodsService extends BaseService { +} diff --git a/src/main/java/com/cool/modules/product/service/impl/ProductGoodsServiceImpl.java b/src/main/java/com/cool/modules/product/service/impl/ProductGoodsServiceImpl.java new file mode 100644 index 0000000..7101ae5 --- /dev/null +++ b/src/main/java/com/cool/modules/product/service/impl/ProductGoodsServiceImpl.java @@ -0,0 +1,12 @@ +package com.cool.modules.product.service.impl; + +import com.cool.core.base.BaseServiceImpl; +import com.cool.modules.product.entity.ProductGoodsEntity; +import com.cool.modules.product.mapper.ProductGoodsMapper; +import com.cool.modules.product.service.ProductGoodsService; +import org.springframework.stereotype.Service; + +@Service +public class ProductGoodsServiceImpl extends BaseServiceImpl implements + ProductGoodsService { +}