Browse Source

feat(shop): 升级Swagger注解并优化经销商申请逻辑- 将Swagger注解从v2升级至v3版本

- 优化经销商申请时用户ID设置逻辑,避免重复赋值
- 更新控制器返回信息文案,统一为"保存成功"
-修正权限注解中的权限标识引用错误
- 为实体类添加JSON时间格式化注解
- 统一使用Schema替代ApiModel和ApiModelProperty注解
dev3
科技小王子 2 weeks ago
parent
commit
94f4895754
  1. 6
      src/main/java/com/gxwebsoft/shop/controller/ShopDealerApplyController.java
  2. 39
      src/main/java/com/gxwebsoft/shop/controller/ShopDealerRecordController.java
  3. 35
      src/main/java/com/gxwebsoft/shop/entity/ShopDealerRecord.java
  4. 25
      src/main/java/com/gxwebsoft/shop/param/ShopDealerRecordParam.java

6
src/main/java/com/gxwebsoft/shop/controller/ShopDealerApplyController.java

@ -89,7 +89,9 @@ public class ShopDealerApplyController extends BaseController {
User loginUser = getLoginUser();
if (loginUser != null) {
shopDealerApply.setApplyTime(LocalDateTime.now());
shopDealerApply.setUserId(loginUser.getUserId());
if(shopDealerApply.getUserId() == null) {
shopDealerApply.setUserId(loginUser.getUserId());
}
}
if (shopDealerApply.getRefereeId() != null) {
if(shopDealerUserService.getByIdRel(shopDealerApply.getRefereeId()) == null){
@ -129,7 +131,7 @@ public class ShopDealerApplyController extends BaseController {
shopDealerUserService.save(dealerUser);
}
}
return success("修改成功");
return success("保存成功");
}
return fail("修改失败");
}

39
src/main/java/com/gxwebsoft/shop/controller/ShopDealerRecordController.java

@ -9,8 +9,8 @@ import com.gxwebsoft.common.system.entity.User;
import com.gxwebsoft.shop.entity.ShopDealerRecord;
import com.gxwebsoft.shop.param.ShopDealerRecordParam;
import com.gxwebsoft.shop.service.ShopDealerRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@ -23,40 +23,37 @@ import java.util.List;
* @author 科技小王子
* @since 2025-10-02 12:21:50
*/
@Api(tags = "客户跟进情况管理")
@Tag(name = "客户跟进情况管理")
@RestController
@RequestMapping("/api/shop/shop-dealer-record")
public class ShopDealerRecordController extends BaseController {
@Resource
private ShopDealerRecordService shopDealerRecordService;
@PreAuthorize("hasAuthority('shop:shopDealerRecord:list')")
@ApiOperation("分页查询客户跟进情况")
@Operation(summary = "分页查询客户跟进情况")
@GetMapping("/page")
public ApiResult<PageResult<ShopDealerRecord>> page(ShopDealerRecordParam param) {
// 使用关联查询
return success(shopDealerRecordService.pageRel(param));
}
@PreAuthorize("hasAuthority('shop:shopDealerRecord:list')")
@ApiOperation("查询全部客户跟进情况")
@Operation(summary = "查询全部客户跟进情况")
@GetMapping()
public ApiResult<List<ShopDealerRecord>> list(ShopDealerRecordParam param) {
// 使用关联查询
return success(shopDealerRecordService.listRel(param));
}
@PreAuthorize("hasAuthority('shop:shopDealerRecord:list')")
@ApiOperation("根据id查询客户跟进情况")
@Operation(summary = "根据id查询客户跟进情况")
@GetMapping("/{id}")
public ApiResult<ShopDealerRecord> get(@PathVariable("id") Integer id) {
// 使用关联查询
return success(shopDealerRecordService.getByIdRel(id));
}
@PreAuthorize("hasAuthority('shop:shopDealerRecord:save')")
@PreAuthorize("hasAuthority('shop:shopDealerApply:save')")
@OperationLog
@ApiOperation("添加客户跟进情况")
@Operation(summary = "添加客户跟进情况")
@PostMapping()
public ApiResult<?> save(@RequestBody ShopDealerRecord shopDealerRecord) {
// 记录当前登录用户id
@ -70,9 +67,9 @@ public class ShopDealerRecordController extends BaseController {
return fail("添加失败");
}
@PreAuthorize("hasAuthority('shop:shopDealerRecord:update')")
@PreAuthorize("hasAuthority('shop:shopDealerApply:update')")
@OperationLog
@ApiOperation("修改客户跟进情况")
@Operation(summary = "修改客户跟进情况")
@PutMapping()
public ApiResult<?> update(@RequestBody ShopDealerRecord shopDealerRecord) {
if (shopDealerRecordService.updateById(shopDealerRecord)) {
@ -81,9 +78,9 @@ public class ShopDealerRecordController extends BaseController {
return fail("修改失败");
}
@PreAuthorize("hasAuthority('shop:shopDealerRecord:remove')")
@PreAuthorize("hasAuthority('shop:shopDealerApply:remove')")
@OperationLog
@ApiOperation("删除客户跟进情况")
@Operation(summary = "删除客户跟进情况")
@DeleteMapping("/{id}")
public ApiResult<?> remove(@PathVariable("id") Integer id) {
if (shopDealerRecordService.removeById(id)) {
@ -92,9 +89,9 @@ public class ShopDealerRecordController extends BaseController {
return fail("删除失败");
}
@PreAuthorize("hasAuthority('shop:shopDealerRecord:save')")
@PreAuthorize("hasAuthority('shop:shopDealerApply:save')")
@OperationLog
@ApiOperation("批量添加客户跟进情况")
@Operation(summary = "批量添加客户跟进情况")
@PostMapping("/batch")
public ApiResult<?> saveBatch(@RequestBody List<ShopDealerRecord> list) {
if (shopDealerRecordService.saveBatch(list)) {
@ -103,9 +100,9 @@ public class ShopDealerRecordController extends BaseController {
return fail("添加失败");
}
@PreAuthorize("hasAuthority('shop:shopDealerRecord:update')")
@PreAuthorize("hasAuthority('shop:shopDealerApply:update')")
@OperationLog
@ApiOperation("批量修改客户跟进情况")
@Operation(summary = "批量修改客户跟进情况")
@PutMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody BatchParam<ShopDealerRecord> batchParam) {
if (batchParam.update(shopDealerRecordService, "id")) {
@ -114,9 +111,9 @@ public class ShopDealerRecordController extends BaseController {
return fail("修改失败");
}
@PreAuthorize("hasAuthority('shop:shopDealerRecord:remove')")
@PreAuthorize("hasAuthority('shop:shopDealerApply:remove')")
@OperationLog
@ApiOperation("批量删除客户跟进情况")
@Operation(summary = "批量删除客户跟进情况")
@DeleteMapping("/batch")
public ApiResult<?> removeBatch(@RequestBody List<Integer> ids) {
if (shopDealerRecordService.removeByIds(ids)) {

35
src/main/java/com/gxwebsoft/shop/entity/ShopDealerRecord.java

@ -3,8 +3,9 @@ package com.gxwebsoft.shop.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -19,46 +20,48 @@ import java.time.LocalDateTime;
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "ShopDealerRecord对象", description = "客户跟进情况")
@Schema(description = "客户跟进情况")
public class ShopDealerRecord implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "ID")
@Schema(description = "ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "上级id, 0是顶级")
@Schema(description = "上级id, 0是顶级")
private Integer parentId;
@ApiModelProperty(value = "客户ID")
@Schema(description = "客户ID")
private Integer dealerId;
@ApiModelProperty(value = "内容")
@Schema(description = "内容")
private String content;
@ApiModelProperty(value = "用户ID")
@Schema(description = "用户ID")
private Integer userId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@Schema(description = "排序(数字越小越靠前)")
private Integer sortNumber;
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0待处理, 1已完成")
@Schema(description = "状态, 0待处理, 1已完成")
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@Schema(description = "是否删除, 0否, 1是")
@TableLogic
private Integer deleted;
@ApiModelProperty(value = "租户id")
@Schema(description = "租户id")
private Integer tenantId;
@ApiModelProperty(value = "创建时间")
@Schema(description = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
@ApiModelProperty(value = "修改时间")
@Schema(description = "修改时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;
}
}

25
src/main/java/com/gxwebsoft/shop/param/ShopDealerRecordParam.java

@ -4,8 +4,7 @@ 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 io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -18,42 +17,42 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "ShopDealerRecordParam对象", description = "客户跟进情况查询参数")
@Schema(description = "客户跟进情况查询参数")
public class ShopDealerRecordParam extends BaseParam {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "ID")
@Schema(description = "ID")
@QueryField(type = QueryType.EQ)
private Integer id;
@ApiModelProperty(value = "上级id, 0是顶级")
@Schema(description = "上级id, 0是顶级")
@QueryField(type = QueryType.EQ)
private Integer parentId;
@ApiModelProperty(value = "客户ID")
@Schema(description = "客户ID")
@QueryField(type = QueryType.EQ)
private Integer dealerId;
@ApiModelProperty(value = "内容")
@Schema(description = "内容")
private String content;
@ApiModelProperty(value = "用户ID")
@Schema(description = "用户ID")
@QueryField(type = QueryType.EQ)
private Integer userId;
@ApiModelProperty(value = "排序(数字越小越靠前)")
@Schema(description = "排序(数字越小越靠前)")
@QueryField(type = QueryType.EQ)
private Integer sortNumber;
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
private String comments;
@ApiModelProperty(value = "状态, 0待处理, 1已完成")
@Schema(description = "状态, 0待处理, 1已完成")
@QueryField(type = QueryType.EQ)
private Integer status;
@ApiModelProperty(value = "是否删除, 0否, 1是")
@Schema(description = "是否删除, 0否, 1是")
@QueryField(type = QueryType.EQ)
private Integer deleted;
}
}
Loading…
Cancel
Save