diff --git a/src/main/java/com/gxwebsoft/common/core/socketio/config/SocketIOConfig.java b/src/main/java/com/gxwebsoft/common/core/socketio/config/SocketIOConfig.java index 3fe7fd0..d79884f 100644 --- a/src/main/java/com/gxwebsoft/common/core/socketio/config/SocketIOConfig.java +++ b/src/main/java/com/gxwebsoft/common/core/socketio/config/SocketIOConfig.java @@ -73,10 +73,10 @@ public class SocketIOConfig implements InitializingBean { config.setKeyStorePassword("123456"); // 设置证书密码 // 启动socket服务 - SocketIOServer server = new SocketIOServer(config); - server.addListeners(socketIOHandler); - server.start(); - ClientCache.setSocketIOServer(server); - logger.debug("Netty SocketIO启动:{}:{}",host,port); +// SocketIOServer server = new SocketIOServer(config); +// server.addListeners(socketIOHandler); +// server.start(); +// ClientCache.setSocketIOServer(server); +// logger.debug("Netty SocketIO启动:{}:{}",host,port); } } diff --git a/src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java b/src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java index 8f02ebb..1ae4355 100644 --- a/src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java +++ b/src/main/java/com/gxwebsoft/common/core/utils/RequestUtil.java @@ -2,12 +2,18 @@ package com.gxwebsoft.common.core.utils; import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSONObject; +import com.gxwebsoft.common.system.entity.MerchantAccount; import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.common.system.entity.UserRole; import org.springframework.stereotype.Component; +import java.util.ArrayList; +import java.util.HashMap; + @Component public class RequestUtil { - private static final String host = "https://modules.gxwebsoft.com/api"; + private static final String SERVER_HOST = "https://server.gxwebsoft.com/api"; + private static final String MODULES_HOST = "https://modules.gxwebsoft.com/api"; private static String ACCESS_TOKEN; private static String TENANT_ID; @@ -23,7 +29,7 @@ public class RequestUtil { String path = "/shop/merchant-account/getMerchantAccountByPhone/" + phone; try { // 链式构建请求 - String result = HttpRequest.get(host.concat(path)) + String result = HttpRequest.get(MODULES_HOST.concat(path)) .header("Authorization", ACCESS_TOKEN) .header("Tenantid", TENANT_ID) .timeout(20000)//超时,毫秒 @@ -42,7 +48,7 @@ public class RequestUtil { String path = "/system/user/" + userId; try { // 链式构建请求 - String result = HttpRequest.get(host.concat(path)) + String result = HttpRequest.get(MODULES_HOST.concat(path)) .header("Authorization", ACCESS_TOKEN) .header("Tenantid", TENANT_ID) .timeout(20000)//超时,毫秒 @@ -58,4 +64,52 @@ public class RequestUtil { return null; } + public User getUserByPhone(String phone){ + String path = "/system/user/getByPhone/" + phone; + try { + // 链式构建请求 + String result = HttpRequest.get(SERVER_HOST.concat(path)) + .header("Authorization", ACCESS_TOKEN) + .header("Tenantid", TENANT_ID) + .timeout(20000)//超时,毫秒 + .execute().body(); + + JSONObject jsonObject = JSONObject.parseObject(result); + final String data = jsonObject.getString("data"); + return JSONObject.parseObject(data, User.class); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + // 新增用户 + public boolean saveUserByPhone(MerchantAccount merchantAccount) { + String path = "/system/user/"; + try { + HashMap map = new HashMap<>(); + map.put("nickname",merchantAccount.getRealName()); + map.put("username", merchantAccount.getPhone()); + map.put("realName",merchantAccount.getRealName()); + map.put("phone", merchantAccount.getPhone()); + map.put("password",merchantAccount.getPassword()); + final ArrayList roles = new ArrayList<>(); + final UserRole userRole = new UserRole(); + userRole.setUserId(merchantAccount.getUserId()); + userRole.setRoleId(merchantAccount.getRoleId()); + userRole.setTenantId(merchantAccount.getTenantId()); + roles.add(userRole); + map.put("roles",roles); + map.put("tenantId", TENANT_ID); + // 链式构建请求 + String result = HttpRequest.post(SERVER_HOST.concat(path)) + .header("Authorization", ACCESS_TOKEN) + .header("Tenantid", TENANT_ID) + .body(JSONUtil.toJSONString(map))//表单内容 + .timeout(20000)//超时,毫秒 + .execute().body(); + } catch (Exception e) { + e.printStackTrace(); + } + return true; + } } diff --git a/src/main/java/com/gxwebsoft/common/core/web/BaseParam.java b/src/main/java/com/gxwebsoft/common/core/web/BaseParam.java index 9bac416..607d670 100644 --- a/src/main/java/com/gxwebsoft/common/core/web/BaseParam.java +++ b/src/main/java/com/gxwebsoft/common/core/web/BaseParam.java @@ -51,6 +51,14 @@ public class BaseParam implements Serializable { @TableField(exist = false) private String sceneType; + @ApiModelProperty(value = "商户ID") + @TableField(exist = false) + private Integer merchantId; + + @ApiModelProperty("租户ID") + @TableField(exist = false) + private Integer tenantId; + @ApiModelProperty("模糊搜素") @TableField(exist = false) private String keywords; diff --git a/src/main/java/com/gxwebsoft/common/system/controller/MainController.java b/src/main/java/com/gxwebsoft/common/system/controller/MainController.java index b2b51f3..e097866 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/MainController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/MainController.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpRequest; import com.alibaba.fastjson.JSONObject; import com.aliyuncs.CommonRequest; import com.aliyuncs.CommonResponse; @@ -134,6 +135,19 @@ public class MainController extends BaseController { } } + String path = "/shop/merchant-account?=phone" + username; + // 链式构建请求 + String result = HttpRequest.get("https://modules.gxwebsoft.com/api".concat(path)) + .header("Authorization", JwtUtil.getAccessToken(request)) + .header("Tenantid", "10154") + .timeout(20000)//超时,毫秒 + .execute().body(); + + JSONObject jsonObject = JSONObject.parseObject(result); + final String data = jsonObject.getString("data"); + final MerchantAccount merchantAccount = JSONObject.parseObject(data, MerchantAccount.class); + user.setMerchantAccount(merchantAccount); + // 签发token String access_token = JwtUtil.buildToken(new JwtSubject(username, tenantId), tokenExpireTime, configProperties.getTokenKey()); diff --git a/src/main/java/com/gxwebsoft/common/system/controller/MerchantAccountController.java b/src/main/java/com/gxwebsoft/common/system/controller/MerchantAccountController.java new file mode 100644 index 0000000..443bd9d --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/controller/MerchantAccountController.java @@ -0,0 +1,140 @@ +package com.gxwebsoft.common.system.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.gxwebsoft.common.core.security.JwtUtil; +import com.gxwebsoft.common.core.utils.RequestUtil; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.User; +import com.gxwebsoft.common.system.entity.MerchantAccount; +import com.gxwebsoft.common.system.mapper.MerchantAccountMapper; +import com.gxwebsoft.common.system.param.MerchantAccountParam; +import com.gxwebsoft.common.system.service.MerchantAccountService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 商户账号控制器 + * + * @author 科技小王子 + * @since 2024-04-19 12:02:24 + */ +@Api(tags = "商户账号管理") +@RestController +@RequestMapping("/api/shop/merchant-account") +public class MerchantAccountController extends BaseController { + @Resource + private MerchantAccountService merchantAccountService; + @Resource + private MerchantAccountMapper merchantAccountMapper; + + @ApiOperation("分页查询商户账号") + @GetMapping("/page") + public ApiResult> page(MerchantAccountParam param) { + // 使用关联查询 + return success(merchantAccountService.pageRel(param)); + } + + @ApiOperation("查询全部商户账号") + @GetMapping() + public ApiResult> list(MerchantAccountParam param) { + // 使用关联查询 + return success(merchantAccountService.listRel(param)); + } + + @ApiOperation("根据id查询商户账号") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(merchantAccountService.getByIdRel(id)); + } + + @ApiOperation("添加商户账号") + @PostMapping() + public ApiResult save(@RequestBody MerchantAccount merchantAccount, HttpServletRequest request) { + if (merchantAccountService.count(new LambdaQueryWrapper().eq(MerchantAccount::getPhone,merchantAccount.getPhone())) > 0) { + return fail("手机号码已存在"); + } + // 获取远程用户信息 + final RequestUtil requestUtil = new RequestUtil(); + String access_token = JwtUtil.getAccessToken(request); + requestUtil.setAccessToken(access_token); + requestUtil.setTenantId(getTenantId().toString()); + User userByPhone = requestUtil.getUserByPhone(merchantAccount.getPhone()); + // 新增注册 + if (userByPhone == null) { + if (requestUtil.saveUserByPhone(merchantAccount)) { + userByPhone = requestUtil.getUserByPhone(merchantAccount.getPhone()); + } + } + merchantAccount.setUserId(userByPhone.getUserId()); + if (merchantAccountService.save(merchantAccount)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改商户账号") + @PutMapping() + public ApiResult update(@RequestBody MerchantAccount merchantAccount) { + if (merchantAccountService.updateById(merchantAccount)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除商户账号") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (merchantAccountService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加商户账号") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (merchantAccountService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改商户账号") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(merchantAccountService, "id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除商户账号") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (merchantAccountService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("根据手机号码查询商户账号信息") + @GetMapping("/getMerchantAccountByPhone") + public ApiResult getMerchantAccountByPhone(MerchantAccountParam param){ + param.setTenantId(getTenantId()); + final MerchantAccount merchantAccount = merchantAccountMapper.getMerchantAccountByPhone(param); + if(merchantAccount == null){ + return fail("账号不存在",null); + } + return success(merchantAccount); + } + +} diff --git a/src/main/java/com/gxwebsoft/common/system/controller/MerchantApplyController.java b/src/main/java/com/gxwebsoft/common/system/controller/MerchantApplyController.java new file mode 100644 index 0000000..26605d9 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/controller/MerchantApplyController.java @@ -0,0 +1,105 @@ +package com.gxwebsoft.common.system.controller; + +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.MerchantApply; +import com.gxwebsoft.common.system.param.MerchantApplyParam; +import com.gxwebsoft.common.system.service.MerchantApplyService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 商户入驻申请控制器 + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +@Api(tags = "商户入驻申请管理") +@RestController +@RequestMapping("/api/shop/merchant-apply") +public class MerchantApplyController extends BaseController { + @Resource + private MerchantApplyService merchantApplyService; + + @ApiOperation("分页查询商户入驻申请") + @GetMapping("/page") + public ApiResult> page(MerchantApplyParam param) { + // 使用关联查询 + return success(merchantApplyService.pageRel(param)); + } + + @ApiOperation("查询全部商户入驻申请") + @GetMapping() + public ApiResult> list(MerchantApplyParam param) { + // 使用关联查询 + return success(merchantApplyService.listRel(param)); + } + + @ApiOperation("根据id查询商户入驻申请") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(merchantApplyService.getByIdRel(id)); + } + + @ApiOperation("添加商户入驻申请") + @PostMapping() + public ApiResult save(@RequestBody MerchantApply merchantApply) { + if (merchantApplyService.save(merchantApply)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("修改商户入驻申请") + @PutMapping() + public ApiResult update(@RequestBody MerchantApply merchantApply) { + if (merchantApplyService.updateById(merchantApply)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("删除商户入驻申请") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (merchantApplyService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @ApiOperation("批量添加商户入驻申请") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (merchantApplyService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @ApiOperation("批量修改商户入驻申请") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(merchantApplyService, "apply_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @ApiOperation("批量删除商户入驻申请") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (merchantApplyService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/common/system/controller/MerchantController.java b/src/main/java/com/gxwebsoft/common/system/controller/MerchantController.java new file mode 100644 index 0000000..53f508a --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/controller/MerchantController.java @@ -0,0 +1,141 @@ +package com.gxwebsoft.common.system.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.gxwebsoft.common.core.security.JwtUtil; +import com.gxwebsoft.common.core.utils.RequestUtil; +import com.gxwebsoft.common.core.web.ApiResult; +import com.gxwebsoft.common.core.web.BaseController; +import com.gxwebsoft.common.core.web.BatchParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.Merchant; +import com.gxwebsoft.common.system.entity.MerchantAccount; +import com.gxwebsoft.common.system.param.MerchantParam; +import com.gxwebsoft.common.system.service.MerchantAccountService; +import com.gxwebsoft.common.system.service.MerchantService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * 商户控制器 + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +@Api(tags = "商户管理") +@RestController +@RequestMapping("/api/shop/merchant") +public class MerchantController extends BaseController { + @Resource + private MerchantService merchantService; + @Resource + private MerchantAccountService merchantAccountService; + + @ApiOperation("分页查询商户") + @GetMapping("/page") + public ApiResult> page(MerchantParam param) { + // 使用关联查询 + System.out.println("param = " + param); + return success(merchantService.pageRel(param)); + } + + @ApiOperation("查询全部商户") + @GetMapping() + public ApiResult> list(MerchantParam param) { + // 使用关联查询 + return success(merchantService.listRel(param)); + } + + @ApiOperation("根据id查询商户") + @GetMapping("/{id}") + public ApiResult get(@PathVariable("id") Integer id) { + // 使用关联查询 + return success(merchantService.getByIdRel(id)); + } + + @PreAuthorize("hasAuthority('shop:merchant:save')") + @ApiOperation("添加商户") + @PostMapping() + public ApiResult save(@RequestBody Merchant merchant, HttpServletRequest request) { + if (merchantService.count(new LambdaQueryWrapper().eq(Merchant::getPhone,merchant.getPhone())) > 0) { + return fail("商户手机号码" + merchant.getPhone() + "已存在"); + } + if (merchantService.save(merchant)) { + // 设置商家后台入口 + merchant.setAdminUrl(merchant.getTenantId() + ".m.wsdns.cn"); + merchantService.updateById(merchant); + // 获取用户信息 + final RequestUtil requestUtil = new RequestUtil(); + String access_token = JwtUtil.getAccessToken(request); + requestUtil.setAccessToken(access_token); + requestUtil.setTenantId(getTenantId().toString()); + final MerchantAccount merchantAccount = new MerchantAccount(); + merchantAccount.setMerchantId(merchant.getMerchantId()); + merchantAccount.setPhone(merchant.getPhone()); + merchantAccount.setPassword(merchant.getPhone().substring(merchant.getPhone().length() - 6)); + merchantAccount.setRealName(merchant.getRealName()); + merchantAccount.setRoleId(merchant.getRoleId()); + merchantAccount.setRoleName(merchant.getRoleName()); + requestUtil.saveUserByPhone(merchantAccount); + merchantAccountService.save(merchantAccount); + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('shop:merchant:update')") + @ApiOperation("修改商户") + @PutMapping() + public ApiResult update(@RequestBody Merchant merchant) { + if (merchantService.updateById(merchant)) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('shop:merchant:remove')") + @ApiOperation("删除商户") + @DeleteMapping("/{id}") + public ApiResult remove(@PathVariable("id") Integer id) { + if (merchantService.removeById(id)) { + return success("删除成功"); + } + return fail("删除失败"); + } + + @PreAuthorize("hasAuthority('shop:merchant:save')") + @ApiOperation("批量添加商户") + @PostMapping("/batch") + public ApiResult saveBatch(@RequestBody List list) { + if (merchantService.saveBatch(list)) { + return success("添加成功"); + } + return fail("添加失败"); + } + + @PreAuthorize("hasAuthority('shop:merchant:update')") + @ApiOperation("批量修改商户") + @PutMapping("/batch") + public ApiResult removeBatch(@RequestBody BatchParam batchParam) { + if (batchParam.update(merchantService, "merchant_id")) { + return success("修改成功"); + } + return fail("修改失败"); + } + + @PreAuthorize("hasAuthority('shop:merchant:remove')") + @ApiOperation("批量删除商户") + @DeleteMapping("/batch") + public ApiResult removeBatch(@RequestBody List ids) { + if (merchantService.removeByIds(ids)) { + return success("删除成功"); + } + return fail("删除失败"); + } + +} diff --git a/src/main/java/com/gxwebsoft/common/system/entity/Merchant.java b/src/main/java/com/gxwebsoft/common/system/entity/Merchant.java new file mode 100644 index 0000000..964ee46 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/entity/Merchant.java @@ -0,0 +1,113 @@ +package com.gxwebsoft.common.system.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 商户 + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "Merchant对象", description = "商户") +@TableName("sys_merchant") +public class Merchant implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "merchant_id", type = IdType.AUTO) + private Integer merchantId; + + @ApiModelProperty(value = "商户名称") + private String merchantName; + + @ApiModelProperty(value = "商户图标") + private String image; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "商户姓名") + private String realName; + + @ApiModelProperty(value = "店铺类型") + private String shopType; + + @ApiModelProperty(value = "商户分类") + private String category; + + @ApiModelProperty(value = "经纬度") + private String lngAndLat; + + @ApiModelProperty(value = "所在省份") + private String province; + + @ApiModelProperty(value = "所在城市") + private String city; + + @ApiModelProperty(value = "所在辖区") + private String region; + + @ApiModelProperty(value = "详细地址") + private String address; + + @ApiModelProperty(value = "手续费") + private BigDecimal commission; + + @ApiModelProperty(value = "关键字") + private String keywords; + + @ApiModelProperty(value = "资质图片") + private String files; + + @ApiModelProperty(value = "是否自营") + private Integer ownStore; + + @ApiModelProperty(value = "是否推荐") + private Integer recommend; + + @ApiModelProperty(value = "是否需要审核") + private Boolean goodsReview; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "管理入口") + private String adminUrl; + + @ApiModelProperty(value = "所有人") + private Integer userId; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "默认商户管理员角色ID") + @TableField(exist = false) + private Integer roleId; + + @ApiModelProperty(value = "角色名称") + @TableField(exist = false) + private String roleName; + +} diff --git a/src/main/java/com/gxwebsoft/common/system/entity/MerchantAccount.java b/src/main/java/com/gxwebsoft/common/system/entity/MerchantAccount.java new file mode 100644 index 0000000..0985a92 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/entity/MerchantAccount.java @@ -0,0 +1,86 @@ +package com.gxwebsoft.common.system.entity; + +import cn.hutool.core.util.DesensitizedUtil; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + * 商户账号 + * + * @author 科技小王子 + * @since 2024-04-19 12:02:24 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "MerchantAccount对象", description = "商户账号") +@TableName("sys_merchant_account") +public class MerchantAccount implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "账号密码") + @TableField(exist = false) + private String password; + + @ApiModelProperty(value = "真实姓名") + private String realName; + + @ApiModelProperty(value = "商户ID") + private Integer merchantId; + + @ApiModelProperty(value = "角色ID") + private Integer roleId; + + @ApiModelProperty(value = "角色名称") + private String roleName; + + @ApiModelProperty(value = "用户ID") + private Integer userId; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + + @ApiModelProperty(value = "商户名称") + @TableField(exist = false) + private String merchantName; + + @ApiModelProperty(value = "是否需要审核") + @TableField(exist = false) + private Boolean goodsReview; + + @ApiModelProperty("手机号(脱敏)") + @TableField(exist = false) + private String mobile; + + public String getMobile(){ + return DesensitizedUtil.mobilePhone(this.phone); + } + +} diff --git a/src/main/java/com/gxwebsoft/common/system/entity/MerchantApply.java b/src/main/java/com/gxwebsoft/common/system/entity/MerchantApply.java new file mode 100644 index 0000000..8f0c83a --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/entity/MerchantApply.java @@ -0,0 +1,83 @@ +package com.gxwebsoft.common.system.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 商户入驻申请 + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "MerchantApply对象", description = "商户入驻申请") +@TableName("sys_merchant_apply") +public class MerchantApply implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "apply_id", type = IdType.AUTO) + private Integer applyId; + + @ApiModelProperty(value = "商户名称") + private String merchantName; + + @ApiModelProperty(value = "商户图标") + private String image; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "商户姓名") + private String realName; + + @ApiModelProperty(value = "店铺类型") + private String shopType; + + @ApiModelProperty(value = "商户分类") + private String category; + + @ApiModelProperty(value = "手续费") + private BigDecimal commission; + + @ApiModelProperty(value = "关键字") + private String keywords; + + @ApiModelProperty(value = "资质图片") + private String files; + + @ApiModelProperty(value = "是否自营") + private Integer ownStore; + + @ApiModelProperty(value = "是否推荐") + private Integer recommend; + + @ApiModelProperty(value = "是否需要审核") + private Integer goodsReview; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/common/system/entity/MerchantType.java b/src/main/java/com/gxwebsoft/common/system/entity/MerchantType.java new file mode 100644 index 0000000..a91d2b7 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/entity/MerchantType.java @@ -0,0 +1,49 @@ +package com.gxwebsoft.common.system.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.util.Date; + +/** + * 商户类型 + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@ApiModel(value = "MerchantType对象", description = "商户类型") +@TableName("sys_merchant_type") +public class MerchantType implements Serializable { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty(value = "店铺类型") + private String name; + + @ApiModelProperty(value = "店铺入驻条件") + private String comments; + + @ApiModelProperty(value = "状态") + private Integer status; + + @ApiModelProperty(value = "排序号") + private Integer sortNumber; + + @ApiModelProperty(value = "租户id") + private Integer tenantId; + + @ApiModelProperty(value = "创建时间") + private Date createTime; + +} diff --git a/src/main/java/com/gxwebsoft/common/system/entity/User.java b/src/main/java/com/gxwebsoft/common/system/entity/User.java index 6b72231..c7dbc39 100644 --- a/src/main/java/com/gxwebsoft/common/system/entity/User.java +++ b/src/main/java/com/gxwebsoft/common/system/entity/User.java @@ -265,6 +265,10 @@ public class User implements UserDetails { @TableField(exist = false) private String mobile; + @ApiModelProperty("当期登录的商户账号") + @TableField(exist = false) + private MerchantAccount merchantAccount; + // @ApiModelProperty("企业信息") // @TableField(exist = false) // private Company companyInfo; diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/MerchantAccountMapper.java b/src/main/java/com/gxwebsoft/common/system/mapper/MerchantAccountMapper.java new file mode 100644 index 0000000..5e58680 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/mapper/MerchantAccountMapper.java @@ -0,0 +1,41 @@ +package com.gxwebsoft.common.system.mapper; + +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.common.system.entity.MerchantAccount; +import com.gxwebsoft.common.system.param.MerchantAccountParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商户账号Mapper + * + * @author 科技小王子 + * @since 2024-04-19 12:02:24 + */ +public interface MerchantAccountMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") MerchantAccountParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") MerchantAccountParam param); + + @InterceptorIgnore(tenantLine = "true") + MerchantAccount getMerchantAccountByPhone(@Param("param") MerchantAccountParam param); + +} diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/MerchantApplyMapper.java b/src/main/java/com/gxwebsoft/common/system/mapper/MerchantApplyMapper.java new file mode 100644 index 0000000..3e19247 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/mapper/MerchantApplyMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.common.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.common.system.entity.MerchantApply; +import com.gxwebsoft.common.system.param.MerchantApplyParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商户入驻申请Mapper + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +public interface MerchantApplyMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") MerchantApplyParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") MerchantApplyParam param); + +} diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/MerchantMapper.java b/src/main/java/com/gxwebsoft/common/system/mapper/MerchantMapper.java new file mode 100644 index 0000000..9e92d10 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/mapper/MerchantMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.common.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.common.system.entity.Merchant; +import com.gxwebsoft.common.system.param.MerchantParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商户Mapper + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +public interface MerchantMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") MerchantParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") MerchantParam param); + +} diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/MerchantTypeMapper.java b/src/main/java/com/gxwebsoft/common/system/mapper/MerchantTypeMapper.java new file mode 100644 index 0000000..2ec5ceb --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/mapper/MerchantTypeMapper.java @@ -0,0 +1,37 @@ +package com.gxwebsoft.common.system.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.gxwebsoft.common.system.entity.MerchantType; +import com.gxwebsoft.common.system.param.MerchantTypeParam; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 商户类型Mapper + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +public interface MerchantTypeMapper extends BaseMapper { + + /** + * 分页查询 + * + * @param page 分页对象 + * @param param 查询参数 + * @return List + */ + List selectPageRel(@Param("page") IPage page, + @Param("param") MerchantTypeParam param); + + /** + * 查询全部 + * + * @param param 查询参数 + * @return List + */ + List selectListRel(@Param("param") MerchantTypeParam param); + +} diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantAccountMapper.xml b/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantAccountMapper.xml new file mode 100644 index 0000000..527e540 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantAccountMapper.xml @@ -0,0 +1,61 @@ + + + + + + + SELECT a.*,b.merchant_name,b.goods_review + FROM sys_merchant_account a + LEFT JOIN sys_merchant b ON a.merchant_id = b.merchant_id + + + AND a.id = #{param.id} + + + AND a.phone = #{param.phone} + + + AND a.real_name LIKE CONCAT('%', #{param.realName}, '%') + + + AND a.merchant_id = #{param.merchantId} + + + AND a.user_id = #{param.userId} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantApplyMapper.xml b/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantApplyMapper.xml new file mode 100644 index 0000000..f2c3478 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantApplyMapper.xml @@ -0,0 +1,81 @@ + + + + + + + SELECT a.* + FROM sys_merchant_apply a + + + AND a.apply_id = #{param.applyId} + + + AND a.merchant_name LIKE CONCAT('%', #{param.merchantName}, '%') + + + AND a.image LIKE CONCAT('%', #{param.image}, '%') + + + AND a.phone LIKE CONCAT('%', #{param.phone}, '%') + + + AND a.real_name LIKE CONCAT('%', #{param.realName}, '%') + + + AND a.shop_type LIKE CONCAT('%', #{param.shopType}, '%') + + + AND a.category LIKE CONCAT('%', #{param.category}, '%') + + + AND a.commission = #{param.commission} + + + AND a.keywords LIKE CONCAT('%', #{param.keywords}, '%') + + + AND a.files LIKE CONCAT('%', #{param.files}, '%') + + + AND a.own_store = #{param.ownStore} + + + AND a.recommend = #{param.recommend} + + + AND a.goods_review = #{param.goodsReview} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantMapper.xml b/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantMapper.xml new file mode 100644 index 0000000..cae86b9 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantMapper.xml @@ -0,0 +1,84 @@ + + + + + + + SELECT a.* + FROM sys_merchant a + + + AND a.merchant_id = #{param.merchantId} + + + AND a.merchant_name LIKE CONCAT('%', #{param.merchantName}, '%') + + + AND a.image LIKE CONCAT('%', #{param.image}, '%') + + + AND a.phone LIKE CONCAT('%', #{param.phone}, '%') + + + AND a.real_name LIKE CONCAT('%', #{param.realName}, '%') + + + AND a.shop_type LIKE CONCAT('%', #{param.shopType}, '%') + + + AND a.category LIKE CONCAT('%', #{param.category}, '%') + + + AND a.commission = #{param.commission} + + + AND a.keywords LIKE CONCAT('%', #{param.keywords}, '%') + + + AND a.files LIKE CONCAT('%', #{param.files}, '%') + + + AND a.own_store = #{param.ownStore} + + + AND a.recommend = #{param.recommend} + + + AND a.goods_review = #{param.goodsReview} + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND ( + a.merchant_name LIKE CONCAT('%', #{param.keywords}, '%') + OR a.phone LIKE CONCAT('%', #{param.keywords}, '%') + OR a.real_name LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantTypeMapper.xml b/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantTypeMapper.xml new file mode 100644 index 0000000..9b60622 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/mapper/xml/MerchantTypeMapper.xml @@ -0,0 +1,48 @@ + + + + + + + SELECT a.* + FROM sys_merchant_type a + + + AND a.id = #{param.id} + + + AND a.name LIKE CONCAT('%', #{param.name}, '%') + + + AND a.comments LIKE CONCAT('%', #{param.comments}, '%') + + + AND a.status = #{param.status} + + + AND a.sort_number = #{param.sortNumber} + + + AND a.create_time >= #{param.createTimeStart} + + + AND a.create_time <= #{param.createTimeEnd} + + + AND (a.comments LIKE CONCAT('%', #{param.keywords}, '%') + ) + + + + + + + + + + + diff --git a/src/main/java/com/gxwebsoft/common/system/param/MerchantAccountParam.java b/src/main/java/com/gxwebsoft/common/system/param/MerchantAccountParam.java new file mode 100644 index 0000000..474c6a6 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/param/MerchantAccountParam.java @@ -0,0 +1,55 @@ +package com.gxwebsoft.common.system.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 商户账号查询参数 + * + * @author 科技小王子 + * @since 2024-04-19 12:02:24 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "MerchantAccountParam对象", description = "商户账号查询参数") +public class MerchantAccountParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @ApiModelProperty(value = "商户手机号") + @QueryField(type = QueryType.EQ) + private String phone; + + @ApiModelProperty(value = "真实姓名") + private String realName; + + @ApiModelProperty(value = "商户ID") + @QueryField(type = QueryType.EQ) + private Integer merchantId; + + @ApiModelProperty(value = "用户ID") + @QueryField(type = QueryType.EQ) + private Integer userId; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/common/system/param/MerchantApplyParam.java b/src/main/java/com/gxwebsoft/common/system/param/MerchantApplyParam.java new file mode 100644 index 0000000..329d654 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/param/MerchantApplyParam.java @@ -0,0 +1,82 @@ +package com.gxwebsoft.common.system.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 商户入驻申请查询参数 + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "MerchantApplyParam对象", description = "商户入驻申请查询参数") +public class MerchantApplyParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer applyId; + + @ApiModelProperty(value = "商户名称") + private String merchantName; + + @ApiModelProperty(value = "商户图标") + private String image; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "商户姓名") + private String realName; + + @ApiModelProperty(value = "店铺类型") + private String shopType; + + @ApiModelProperty(value = "商户分类") + private String category; + + @ApiModelProperty(value = "手续费") + @QueryField(type = QueryType.EQ) + private BigDecimal commission; + + @ApiModelProperty(value = "关键字") + private String keywords; + + @ApiModelProperty(value = "资质图片") + private String files; + + @ApiModelProperty(value = "是否自营") + @QueryField(type = QueryType.EQ) + private Integer ownStore; + + @ApiModelProperty(value = "是否推荐") + @QueryField(type = QueryType.EQ) + private Integer recommend; + + @ApiModelProperty(value = "是否需要审核") + @QueryField(type = QueryType.EQ) + private Integer goodsReview; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/common/system/param/MerchantParam.java b/src/main/java/com/gxwebsoft/common/system/param/MerchantParam.java new file mode 100644 index 0000000..4ba467f --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/param/MerchantParam.java @@ -0,0 +1,91 @@ +package com.gxwebsoft.common.system.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 商户查询参数 + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "MerchantParam对象", description = "商户查询参数") +public class MerchantParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer merchantId; + + @ApiModelProperty(value = "商户名称") + private String merchantName; + + @ApiModelProperty(value = "商户图标") + private String image; + + @ApiModelProperty(value = "商户手机号") + private String phone; + + @ApiModelProperty(value = "商户姓名") + private String realName; + + @ApiModelProperty(value = "店铺类型") + private String shopType; + + @ApiModelProperty(value = "商户分类") + private String category; + + @ApiModelProperty(value = "所在省份") + private String province; + + @ApiModelProperty(value = "所在城市") + private String city; + + @ApiModelProperty(value = "所在辖区") + private String region; + + @ApiModelProperty(value = "手续费") + @QueryField(type = QueryType.EQ) + private BigDecimal commission; + + @ApiModelProperty(value = "关键字") + private String keywords; + + @ApiModelProperty(value = "资质图片") + private String files; + + @ApiModelProperty(value = "是否自营") + @QueryField(type = QueryType.EQ) + private Integer ownStore; + + @ApiModelProperty(value = "是否推荐") + @QueryField(type = QueryType.EQ) + private Integer recommend; + + @ApiModelProperty(value = "是否需要审核") + @QueryField(type = QueryType.EQ) + private Integer goodsReview; + + @ApiModelProperty(value = "备注") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/common/system/param/MerchantTypeParam.java b/src/main/java/com/gxwebsoft/common/system/param/MerchantTypeParam.java new file mode 100644 index 0000000..7538b58 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/param/MerchantTypeParam.java @@ -0,0 +1,43 @@ +package com.gxwebsoft.common.system.param; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.gxwebsoft.common.core.annotation.QueryField; +import com.gxwebsoft.common.core.annotation.QueryType; +import com.gxwebsoft.common.core.web.BaseParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 商户类型查询参数 + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@JsonInclude(JsonInclude.Include.NON_NULL) +@ApiModel(value = "MerchantTypeParam对象", description = "商户类型查询参数") +public class MerchantTypeParam extends BaseParam { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "ID") + @QueryField(type = QueryType.EQ) + private Integer id; + + @ApiModelProperty(value = "店铺类型") + private String name; + + @ApiModelProperty(value = "店铺入驻条件") + private String comments; + + @ApiModelProperty(value = "状态") + @QueryField(type = QueryType.EQ) + private Integer status; + + @ApiModelProperty(value = "排序号") + @QueryField(type = QueryType.EQ) + private Integer sortNumber; + +} diff --git a/src/main/java/com/gxwebsoft/common/system/service/MerchantAccountService.java b/src/main/java/com/gxwebsoft/common/system/service/MerchantAccountService.java new file mode 100644 index 0000000..df87b16 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/service/MerchantAccountService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.common.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.MerchantAccount; +import com.gxwebsoft.common.system.param.MerchantAccountParam; + +import java.util.List; + +/** + * 商户账号Service + * + * @author 科技小王子 + * @since 2024-04-19 12:02:24 + */ +public interface MerchantAccountService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(MerchantAccountParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(MerchantAccountParam param); + + /** + * 根据id查询 + * + * @param id ID + * @return MerchantAccount + */ + MerchantAccount getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/common/system/service/MerchantApplyService.java b/src/main/java/com/gxwebsoft/common/system/service/MerchantApplyService.java new file mode 100644 index 0000000..06f9bac --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/service/MerchantApplyService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.common.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.MerchantApply; +import com.gxwebsoft.common.system.param.MerchantApplyParam; + +import java.util.List; + +/** + * 商户入驻申请Service + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +public interface MerchantApplyService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(MerchantApplyParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(MerchantApplyParam param); + + /** + * 根据id查询 + * + * @param applyId ID + * @return MerchantApply + */ + MerchantApply getByIdRel(Integer applyId); + +} diff --git a/src/main/java/com/gxwebsoft/common/system/service/MerchantService.java b/src/main/java/com/gxwebsoft/common/system/service/MerchantService.java new file mode 100644 index 0000000..4bc53f8 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/service/MerchantService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.common.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.Merchant; +import com.gxwebsoft.common.system.param.MerchantParam; + +import java.util.List; + +/** + * 商户Service + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +public interface MerchantService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(MerchantParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(MerchantParam param); + + /** + * 根据id查询 + * + * @param merchantId ID + * @return Merchant + */ + Merchant getByIdRel(Integer merchantId); + +} diff --git a/src/main/java/com/gxwebsoft/common/system/service/MerchantTypeService.java b/src/main/java/com/gxwebsoft/common/system/service/MerchantTypeService.java new file mode 100644 index 0000000..563c7d6 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/service/MerchantTypeService.java @@ -0,0 +1,42 @@ +package com.gxwebsoft.common.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.MerchantType; +import com.gxwebsoft.common.system.param.MerchantTypeParam; + +import java.util.List; + +/** + * 商户类型Service + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +public interface MerchantTypeService extends IService { + + /** + * 分页关联查询 + * + * @param param 查询参数 + * @return PageResult + */ + PageResult pageRel(MerchantTypeParam param); + + /** + * 关联查询全部 + * + * @param param 查询参数 + * @return List + */ + List listRel(MerchantTypeParam param); + + /** + * 根据id查询 + * + * @param id ID + * @return MerchantType + */ + MerchantType getByIdRel(Integer id); + +} diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantAccountServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantAccountServiceImpl.java new file mode 100644 index 0000000..b867e49 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantAccountServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.common.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.MerchantAccount; +import com.gxwebsoft.common.system.mapper.MerchantAccountMapper; +import com.gxwebsoft.common.system.param.MerchantAccountParam; +import com.gxwebsoft.common.system.service.MerchantAccountService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 商户账号Service实现 + * + * @author 科技小王子 + * @since 2024-04-19 12:02:24 + */ +@Service +public class MerchantAccountServiceImpl extends ServiceImpl implements MerchantAccountService { + + @Override + public PageResult pageRel(MerchantAccountParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(MerchantAccountParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public MerchantAccount getByIdRel(Integer id) { + MerchantAccountParam param = new MerchantAccountParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantApplyServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantApplyServiceImpl.java new file mode 100644 index 0000000..ee77354 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantApplyServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.common.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.MerchantApply; +import com.gxwebsoft.common.system.mapper.MerchantApplyMapper; +import com.gxwebsoft.common.system.param.MerchantApplyParam; +import com.gxwebsoft.common.system.service.MerchantApplyService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 商户入驻申请Service实现 + * + * @author 科技小王子 + * @since 2024-04-05 01:24:36 + */ +@Service +public class MerchantApplyServiceImpl extends ServiceImpl implements MerchantApplyService { + + @Override + public PageResult pageRel(MerchantApplyParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(MerchantApplyParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public MerchantApply getByIdRel(Integer applyId) { + MerchantApplyParam param = new MerchantApplyParam(); + param.setApplyId(applyId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantServiceImpl.java new file mode 100644 index 0000000..57d7455 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.common.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.Merchant; +import com.gxwebsoft.common.system.mapper.MerchantMapper; +import com.gxwebsoft.common.system.param.MerchantParam; +import com.gxwebsoft.common.system.service.MerchantService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 商户Service实现 + * + * @author 科技小王子 + * @since 2024-04-05 00:03:54 + */ +@Service +public class MerchantServiceImpl extends ServiceImpl implements MerchantService { + + @Override + public PageResult pageRel(MerchantParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(MerchantParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public Merchant getByIdRel(Integer merchantId) { + MerchantParam param = new MerchantParam(); + param.setMerchantId(merchantId); + return param.getOne(baseMapper.selectListRel(param)); + } + +} diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantTypeServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantTypeServiceImpl.java new file mode 100644 index 0000000..ef57df7 --- /dev/null +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/MerchantTypeServiceImpl.java @@ -0,0 +1,47 @@ +package com.gxwebsoft.common.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gxwebsoft.common.core.web.PageParam; +import com.gxwebsoft.common.core.web.PageResult; +import com.gxwebsoft.common.system.entity.MerchantType; +import com.gxwebsoft.common.system.mapper.MerchantTypeMapper; +import com.gxwebsoft.common.system.param.MerchantTypeParam; +import com.gxwebsoft.common.system.service.MerchantTypeService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 商户类型Service实现 + * + * @author 科技小王子 + * @since 2024-04-05 00:08:51 + */ +@Service +public class MerchantTypeServiceImpl extends ServiceImpl implements MerchantTypeService { + + @Override + public PageResult pageRel(MerchantTypeParam param) { + PageParam page = new PageParam<>(param); + page.setDefaultOrder("sort_number asc, create_time desc"); + List list = baseMapper.selectPageRel(page, param); + return new PageResult<>(list, page.getTotal()); + } + + @Override + public List listRel(MerchantTypeParam param) { + List list = baseMapper.selectListRel(param); + // 排序 + PageParam page = new PageParam<>(); + page.setDefaultOrder("sort_number asc, create_time desc"); + return page.sortRecords(list); + } + + @Override + public MerchantType getByIdRel(Integer id) { + MerchantTypeParam param = new MerchantTypeParam(); + param.setId(id); + return param.getOne(baseMapper.selectListRel(param)); + } + +}