فهرست منبع

web维修厂管理接口

bmmx 1 سال پیش
والد
کامیت
68002c354d

+ 1 - 1
.idea/JavaSceneConfigState.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="SmartInputSourceJavaSceneConfigState">
-    <option name="customChineseScenes" value="{&quot;capsLockState&quot;:false,&quot;code&quot;:&quot;;BadReqException(message);ApiModelProperty(value)&quot;,&quot;enable&quot;:true,&quot;languageType&quot;:&quot;CHINESE&quot;,&quot;name&quot;:&quot;自定义中文切换&quot;,&quot;tip&quot;:&quot;&quot;}" />
+    <option name="customChineseScenes" value="{&quot;capsLockState&quot;:false,&quot;code&quot;:&quot;;BadReqException(message);ApiModelProperty(value);ApiOperation()&quot;,&quot;enable&quot;:true,&quot;languageType&quot;:&quot;CHINESE&quot;,&quot;name&quot;:&quot;自定义中文切换&quot;,&quot;tip&quot;:&quot;&quot;}" />
   </component>
 </project>

+ 20 - 11
.idea/workspace.xml

@@ -4,15 +4,13 @@
     <option name="autoReloadType" value="SELECTIVE" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="46b159bd-08ca-42f0-b80f-41d4944a8a29" name="Changes" comment="管理员电话和邮箱修改">
-      <change afterPath="$PROJECT_DIR$/.idea/JavaSceneConfigState.xml" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/dto/BrandDTO.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/dto/BrandQueryPageDTO.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/vo/BrandQueryPageVO.java" afterDir="false" />
-      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/vo/BrandVO.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/vcs.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
+    <list default="true" id="46b159bd-08ca-42f0-b80f-41d4944a8a29" name="Changes" comment="web品牌管理接口">
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/dto/DistributorDTO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/dto/DistributorQueryPageDTO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/vo/DistributorQueryPageVO.java" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/src/main/java/com/om/entity/vo/DistributorVO.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/JavaSceneConfigState.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/JavaSceneConfigState.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/AdminController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/om/controller/admin/AdminController.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -28,6 +26,7 @@
   </component>
   <component name="Git.Settings">
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+    <option name="UPDATE_TYPE" value="REBASE" />
   </component>
   <component name="MarkdownSettingsMigration">
     <option name="stateVersion" value="1" />
@@ -164,7 +163,8 @@
       <workItem from="1707273858155" duration="5510000" />
       <workItem from="1707295344394" duration="5919000" />
       <workItem from="1707355242246" duration="627000" />
-      <workItem from="1707355884110" duration="7776000" />
+      <workItem from="1707355884110" duration="8433000" />
+      <workItem from="1707364400277" duration="8079000" />
     </task>
     <task id="LOCAL-00001" summary="管理员登录">
       <option name="closed" value="true" />
@@ -206,7 +206,15 @@
       <option name="project" value="LOCAL" />
       <updated>1707108782511</updated>
     </task>
-    <option name="localTasksCounter" value="6" />
+    <task id="LOCAL-00006" summary="web品牌管理接口">
+      <option name="closed" value="true" />
+      <created>1707363840812</created>
+      <option name="number" value="00006" />
+      <option name="presentableId" value="LOCAL-00006" />
+      <option name="project" value="LOCAL" />
+      <updated>1707363840812</updated>
+    </task>
+    <option name="localTasksCounter" value="7" />
     <servers />
   </component>
   <component name="TypeScriptGeneratedFilesManager">
@@ -216,7 +224,8 @@
     <MESSAGE value="管理员登录" />
     <MESSAGE value="初始化运维项目" />
     <MESSAGE value="管理员电话和邮箱修改" />
-    <option name="LAST_COMMIT_MESSAGE" value="管理员电话和邮箱修改" />
+    <MESSAGE value="web品牌管理接口" />
+    <option name="LAST_COMMIT_MESSAGE" value="web品牌管理接口" />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>

+ 73 - 0
src/main/java/com/om/controller/admin/DistributorController.java

@@ -0,0 +1,73 @@
+package com.om.controller.admin;
+
+
+import com.om.entity.dto.BrandQueryPageDTO;
+import com.om.entity.dto.DistributorDTO;
+import com.om.entity.dto.DistributorQueryPageDTO;
+import com.om.entity.vo.BrandQueryPageVO;
+import com.om.entity.vo.BrandVO;
+import com.om.entity.vo.DistributorQueryPageVO;
+import com.om.entity.vo.DistributorVO;
+import com.om.service.IDistributorService;
+import com.om.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * <p>
+ * 修理厂信息表 前端控制器
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-08
+ */
+@RestController
+@Api(tags = "维修厂管理相关接口")
+@RequestMapping("/web/distributor/info")
+public class DistributorController {
+
+    @Resource
+    private IDistributorService distributorService;
+
+
+    @PostMapping("/create")
+    @ApiOperation("新增维修厂信息")
+    public Result createDistributor(@RequestBody DistributorDTO dto){
+        return distributorService.createDistributor(dto);
+    }
+
+    @GetMapping("/getById")
+    @ApiOperation("根据id维修厂信息")
+    public Result<DistributorVO> queryDistributorById(@RequestParam Integer id){
+        return distributorService.queryDistributorById(id);
+    }
+
+    @GetMapping("/list")
+    @ApiOperation("查询维修厂信息列表")
+    public Result<List<DistributorVO>> queryList(){
+        return distributorService.queryList();
+    }
+
+    @GetMapping("/upStatus")
+    @ApiOperation("修改状态")
+    public Result upStatus(@RequestParam Integer id ,@RequestParam Integer status){
+        return distributorService.upStatus(id,status);
+    }
+
+    @PostMapping("/updateById")
+    @ApiOperation("修改维修厂信息")
+    public Result updateDistributor(@RequestBody DistributorDTO dto){
+        return distributorService.updateDistributor(dto);
+    }
+
+    @PostMapping("/listPage")
+    @ApiOperation("分页查询维修厂信息列表")
+    public Result<DistributorQueryPageVO> queryPageList(@RequestBody DistributorQueryPageDTO dto) {
+        return distributorService.queryPageList(dto);
+    }
+}

+ 47 - 0
src/main/java/com/om/entity/dto/DistributorDTO.java

@@ -0,0 +1,47 @@
+package com.om.entity.dto;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@NoArgsConstructor
+public class DistributorDTO {
+
+    @ApiModelProperty(value = "标识符")
+    private Integer id;
+
+
+    @ApiModelProperty(value = "公司名称")
+    private String company;
+
+    @ApiModelProperty(value = "联系人姓名")
+    private String contactName;
+
+    @ApiModelProperty(value = "联系人电话")
+    private String contactPhone;
+
+    @ApiModelProperty(value = "公司地址")
+    private String address;
+
+    @ApiModelProperty(value = "公司电话")
+    private String telephone;
+
+    @ApiModelProperty(value = "公司网址")
+    private String website;
+
+    @ApiModelProperty(value = "维修厂编号")
+    private Integer repairNo;
+
+    @ApiModelProperty(value = "启用状态")
+    private Integer enableStatus;
+
+    @ApiModelProperty(value = "额外备注")
+    private String remark;
+
+}

+ 21 - 0
src/main/java/com/om/entity/dto/DistributorQueryPageDTO.java

@@ -0,0 +1,21 @@
+package com.om.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class DistributorQueryPageDTO {
+    @ApiModelProperty(value = "当前页码")
+    private Integer pageIndex;
+
+    @ApiModelProperty(value = "每个页码的大小")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "搜索字段---搜索修理厂名称")
+    private String searchName;
+
+    @ApiModelProperty(value = "搜索字段---搜索修理厂电话")
+    private String searchTelephone;
+}

+ 69 - 0
src/main/java/com/om/entity/po/Distributor.java

@@ -0,0 +1,69 @@
+package com.om.entity.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 修理厂信息表
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("distributor")
+@ApiModel(value="Distributor对象", description="修理厂信息表")
+public class Distributor implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "标识符")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty(value = "公司名称")
+    private String company;
+
+    @ApiModelProperty(value = "联系人姓名")
+    private String contactName;
+
+    @ApiModelProperty(value = "联系人电话")
+    private String contactPhone;
+
+    @ApiModelProperty(value = "公司地址")
+    private String address;
+
+    @ApiModelProperty(value = "公司电话")
+    private String telephone;
+
+    @ApiModelProperty(value = "公司网址")
+    private String website;
+
+    @ApiModelProperty(value = "维修编号")
+    private Integer repairNo;
+
+    @ApiModelProperty(value = "启用状态")
+    private Integer enableStatus;
+
+    @ApiModelProperty(value = "额外备注")
+    private String remark;
+
+    @ApiModelProperty(value = "创建时间")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    private LocalDateTime updateTime;
+
+
+}

+ 31 - 0
src/main/java/com/om/entity/vo/DistributorQueryPageVO.java

@@ -0,0 +1,31 @@
+package com.om.entity.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@NoArgsConstructor
+public class DistributorQueryPageVO {
+
+    @ApiModelProperty(value = "当前页码")
+    private Integer current;
+
+    @ApiModelProperty(value = "总页码")
+    private Integer pages;
+
+    @ApiModelProperty(value = "每个页码的大小")
+    private Integer size;
+
+    @ApiModelProperty(value = "总数量")
+    private Integer total;
+
+    @ApiModelProperty(value = "是否是查询")
+    private Boolean searchCount = false;
+
+    @ApiModelProperty(value = "结果集")
+    private List<DistributorVO> records;
+
+}

+ 57 - 0
src/main/java/com/om/entity/vo/DistributorVO.java

@@ -0,0 +1,57 @@
+package com.om.entity.vo;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+
+@Data
+@NoArgsConstructor
+public class DistributorVO implements Serializable {
+
+    @ApiModelProperty(value = "标识符")
+    private Integer id;
+
+    @ApiModelProperty(value = "公司名称")
+    private String company;
+
+    @ApiModelProperty(value = "联系人姓名")
+    private String contactName;
+
+    @ApiModelProperty(value = "联系人电话")
+    private String contactPhone;
+
+    @ApiModelProperty(value = "公司地址")
+    private String address;
+
+    @ApiModelProperty(value = "公司电话")
+    private String telephone;
+
+    @ApiModelProperty(value = "公司网址")
+    private String website;
+
+    @ApiModelProperty(value = "维修编号")
+    private Integer repairNo;
+
+    @ApiModelProperty(value = "启用状态")
+    private Integer enableStatus;
+
+    @ApiModelProperty(value = "额外备注")
+    private String remark;
+
+    @ApiModelProperty(value = "创建时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "更新时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+
+}

+ 16 - 0
src/main/java/com/om/mapper/DistributorMapper.java

@@ -0,0 +1,16 @@
+package com.om.mapper;
+
+import com.om.entity.po.Distributor;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 修理厂信息表 Mapper 接口
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-08
+ */
+public interface DistributorMapper extends BaseMapper<Distributor> {
+
+}

+ 34 - 0
src/main/java/com/om/service/IDistributorService.java

@@ -0,0 +1,34 @@
+package com.om.service;
+
+import com.om.entity.dto.DistributorDTO;
+import com.om.entity.dto.DistributorQueryPageDTO;
+import com.om.entity.po.Distributor;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.om.entity.vo.DistributorQueryPageVO;
+import com.om.entity.vo.DistributorVO;
+import com.om.utils.Result;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 修理厂信息表 服务类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-08
+ */
+public interface IDistributorService extends IService<Distributor> {
+
+    Result createDistributor(DistributorDTO dto);
+
+    Result<DistributorVO> queryDistributorById(Integer id);
+
+    Result<List<DistributorVO>> queryList();
+
+    Result upStatus(Integer id, Integer status);
+
+    Result updateDistributor(DistributorDTO dto);
+
+    Result<DistributorQueryPageVO> queryPageList(DistributorQueryPageDTO dto);
+}

+ 139 - 0
src/main/java/com/om/service/impl/DistributorServiceImpl.java

@@ -0,0 +1,139 @@
+package com.om.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.DistributorDTO;
+import com.om.entity.dto.DistributorQueryPageDTO;
+import com.om.entity.po.Brand;
+import com.om.entity.po.Distributor;
+import com.om.entity.vo.DistributorQueryPageVO;
+import com.om.entity.vo.DistributorVO;
+import com.om.exception.BadReqException;
+import com.om.mapper.DistributorMapper;
+import com.om.service.IDistributorService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.om.utils.Result;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * <p>
+ * 修理厂信息表 服务实现类
+ * </p>
+ *
+ * @author bmmx
+ * @since 2024-02-08
+ */
+@Service
+public class DistributorServiceImpl extends ServiceImpl<DistributorMapper, Distributor> implements IDistributorService {
+
+    @Override
+    public Result createDistributor(DistributorDTO dto) {
+        //判断是否为空
+        if (BeanUtil.isEmpty(dto)){
+            throw new BadReqException("参数为空");
+        }
+
+        Distributor distributor = BeanUtil.copyProperties(dto, Distributor.class);
+        LocalDateTime now = LocalDateTime.now();
+        distributor.setCreateTime(now);
+        distributor.setUpdateTime(now);
+
+        //保存
+        this.save(distributor);
+        return Result.ok();
+    }
+
+    @Override
+    public Result<DistributorVO> queryDistributorById(Integer id) {
+        //根据id查询
+        Distributor distributor = this.getById(id);
+        //判断是否为空
+        if (BeanUtil.isEmpty(distributor)){
+            throw new BadReqException("该维修厂不存在");
+        }
+
+        //封装vo
+        DistributorVO distributorVO = BeanUtil.copyProperties(distributor, DistributorVO.class);
+        return Result.ok(distributorVO);
+    }
+
+    @Override
+    public Result<List<DistributorVO>> queryList() {
+        //查询集合
+        List<Distributor> list = this.list();
+        if (CollectionUtil.isEmpty(list)){
+            return Result.ok(Collections.emptyList());
+        }
+
+        List<DistributorVO> distributorVOS = BeanUtil.copyToList(list, DistributorVO.class);
+
+        return Result.ok(distributorVOS);
+    }
+
+    @Override
+    public Result upStatus(Integer id, Integer status) {
+        //根据id查询
+        Distributor distributor = this.getById(id);
+        if (BeanUtil.isEmpty(distributor)){
+            throw new BadReqException("该维修厂不存在");
+        }
+
+        //修改状态
+        distributor.setEnableStatus(status);
+        this.updateById(distributor);
+        return Result.ok();
+    }
+
+    @Override
+    public Result updateDistributor(DistributorDTO dto) {
+        //根据id查询
+        Distributor distributor = this.getById(dto.getId());
+        if (BeanUtil.isEmpty(distributor)){
+            throw new BadReqException("该维修厂不存在");
+        }
+
+        BeanUtil.copyProperties(dto,distributor);
+        distributor.setUpdateTime(LocalDateTime.now());
+
+        //修改
+        this.updateById(distributor);
+        return Result.ok();
+    }
+
+    @Override
+    public Result<DistributorQueryPageVO> queryPageList(DistributorQueryPageDTO dto) {
+        Integer pageSize = dto.getPageSize();
+        Integer pageIndex = dto.getPageIndex();
+        String searchName = dto.getSearchName();
+        String searchTelephone = dto.getSearchTelephone();
+        //分页查询
+        Page<Distributor> page = this.lambdaQuery()
+                .like(searchName != null, Distributor::getCompany, searchName)
+                .like(searchTelephone != null, Distributor::getTelephone, searchTelephone)
+                .orderByDesc(Distributor::getCreateTime)
+                .page(new Page<>(pageIndex, pageSize));
+
+        //封装vo
+        DistributorQueryPageVO vo = new DistributorQueryPageVO();
+        vo.setCurrent((int) page.getCurrent());
+        vo.setSize((int) page.getSize());
+        vo.setPages((int) page.getPages());
+        vo.setTotal((int) page.getTotal());
+        if (searchName !=null || searchTelephone !=null){
+            vo.setSearchCount(true);
+        }
+        List<Distributor> records = page.getRecords();
+
+        List<DistributorVO> distributorVOS = BeanUtil.copyToList(records, DistributorVO.class);
+
+        vo.setRecords(distributorVOS);
+
+        return Result.ok(vo);
+    }
+}

+ 5 - 0
src/main/resources/mapper/DistributorMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.om.mapper.DistributorMapper">
+
+</mapper>