Selaa lähdekoodia

添加产品信息

yq 3 vuotta sitten
vanhempi
commit
00d20c14d4

+ 80 - 0
src/main/java/com/usky/dxtop/controller/web/CompanyController.java

@@ -0,0 +1,80 @@
+package com.usky.dxtop.controller.web;
+
+
+import com.usky.dxtop.common.annotation.RepeatSubmit;
+import com.usky.dxtop.common.constant.UserConstants;
+import com.usky.dxtop.common.core.domain.AjaxResult;
+import com.usky.dxtop.controller.BaseController;
+import com.usky.dxtop.model.Company;
+import com.usky.dxtop.service.CompanyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author yq
+ * @since 2021-09-29
+ */
+@RestController
+@RequestMapping("/dxtop/company")
+public class CompanyController extends BaseController {
+
+
+    @Autowired
+    private CompanyService companyService;
+    /**
+     * 新增
+     * @param company
+     * @return
+     */
+    @RepeatSubmit
+    @PostMapping
+    public AjaxResult add(@RequestBody Company company){
+        if (UserConstants.NOT_UNIQUE.equals(companyService.checkNameUnique(company)))
+        {
+            return AjaxResult.error("新增产品信息'" + company.getName() + "'失败,产品信息已存在");
+        }
+        return toAjax(companyService.add(company));
+
+    }
+
+    /**
+     * 修改
+     */
+    @PutMapping
+    public AjaxResult edit(@RequestBody Company company)
+    {
+        if (UserConstants.NOT_UNIQUE.equals(companyService.checkNameUnique(company)))
+        {
+            return AjaxResult.error("修改产品信息'" + company.getName() + "'失败,产品信息已存在");
+        }
+        return toAjax(companyService.updateById(company));
+    }
+
+    /**
+     * 分页
+     * @param
+     * @return
+     */
+    @GetMapping("/list")
+    public AjaxResult list(@RequestParam Integer current,
+                           @RequestParam Integer size,
+                           @RequestParam(required = false) String name)
+    {
+        return AjaxResult.success(companyService.list(current, size, name));
+    }
+
+
+    /**
+     * 删除
+     */
+    @DeleteMapping("/{id}")
+    public AjaxResult remove(@PathVariable("id") Long id)
+    {
+        return toAjax(companyService.remove(id));
+    }
+}
+

+ 17 - 0
src/main/java/com/usky/dxtop/mapper/CompanyMapper.java

@@ -0,0 +1,17 @@
+package com.usky.dxtop.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.usky.dxtop.model.Company;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author yq
+ * @since 2021-09-29
+ */
+public interface CompanyMapper extends BaseMapper<Company> {
+
+}

+ 38 - 0
src/main/java/com/usky/dxtop/model/Company.java

@@ -0,0 +1,38 @@
+package com.usky.dxtop.model;
+
+import com.usky.dxtop.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author yq
+ * @since 2021-09-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class Company extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID=1L;
+
+    private Long id;
+
+    private String name;
+
+    private String logo;
+
+    private String introduce;
+
+    private Boolean delFlag;
+
+    private Boolean enable;
+
+
+}

+ 28 - 0
src/main/java/com/usky/dxtop/service/CompanyService.java

@@ -0,0 +1,28 @@
+package com.usky.dxtop.service;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.usky.dxtop.common.core.page.CommonPage;
+import com.usky.dxtop.model.Company;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author yq
+ * @since 2021-09-29
+ */
+public interface CompanyService extends IService<Company> {
+
+
+    boolean add(Company company);
+
+    String checkNameUnique(Company company);
+
+    CommonPage<Company> list(Integer current, Integer size, String name);
+
+
+    boolean remove(Long id);
+
+}

+ 69 - 0
src/main/java/com/usky/dxtop/service/impl/CompanyServiceImpl.java

@@ -0,0 +1,69 @@
+package com.usky.dxtop.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.usky.dxtop.common.constant.UserConstants;
+import com.usky.dxtop.common.core.page.CommonPage;
+import com.usky.dxtop.common.utils.StringUtils;
+import com.usky.dxtop.mapper.CompanyMapper;
+import com.usky.dxtop.model.Company;
+import com.usky.dxtop.service.CompanyService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author yq
+ * @since 2021-09-29
+ */
+@Service
+public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
+
+
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public boolean add(Company company) {
+        return this.save(company);
+    }
+
+    @Override
+    public String checkNameUnique(Company company) {
+        Long configId = StringUtils.isNull(company.getId()) ? -1L : company.getId();
+        LambdaQueryWrapper<Company> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(Company::getName,company.getName())
+                .eq(Company::getDelFlag,0);
+        Company one = this.getOne(queryWrapper);
+        if (StringUtils.isNotNull(one) && one.getId() != configId.longValue())
+        {
+            return UserConstants.NOT_UNIQUE;
+        }
+        return UserConstants.UNIQUE;
+    }
+
+    @Override
+    public CommonPage<Company> list(Integer current,Integer size,String name) {
+        IPage<Company> page = new Page<>(current, size);
+        LambdaQueryWrapper<Company> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.like(StringUtils.isNotBlank(name),Company::getName,name);
+        page = this.page(page,queryWrapper);
+        return new CommonPage<>(page.getRecords(),page.getTotal(),page.getCurrent(),page.getSize());
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean remove(Long id) {
+        Company company = new Company();
+        company.setId(id);
+        company.setDelFlag(true);
+        return this.updateById(company);
+    }
+
+}

+ 15 - 0
src/main/resources/mapper/CompanyMapper.xml

@@ -0,0 +1,15 @@
+<?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.usky.dxtop.mapper.CompanyMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.usky.dxtop.model.Company">
+        <id column="id" property="id" />
+        <result column="name" property="name" />
+        <result column="logo" property="logo" />
+        <result column="introduce" property="introduce" />
+        <result column="del_flag" property="delFlag" />
+        <result column="enable" property="enable" />
+    </resultMap>
+
+</mapper>