Aslee 2 роки тому
батько
коміт
b606a38ae1

+ 77 - 0
src/main/java/com/caimei/controller/admin/auth/AuthTemplateApi.java

@@ -0,0 +1,77 @@
+package com.caimei.controller.admin.auth;
+
+import com.alibaba.fastjson.JSONObject;
+import com.caimei.model.ResponseJson;
+import com.caimei.model.dto.ProductSaveDto;
+import com.caimei.model.vo.ProductFormVo;
+import com.caimei.model.vo.ProductListVo;
+import com.caimei.model.vo.ProductTypeListVo;
+import com.caimei.model.vo.TemplateListVo;
+import com.caimei.service.auth.AuthProductService;
+import com.caimei.service.auth.AuthTemplateService;
+import com.github.pagehelper.PageInfo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 授权牌模板API
+ * @author Aslee
+ * @date 2022/7/6
+ */
+@Api(tags = "授权牌模板API")
+@Slf4j
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/auth/template")
+public class AuthTemplateApi {
+
+    private final AuthTemplateService authTemplateService;
+
+    /**
+     * 授权牌模板列表
+     */
+    @ApiOperation("授权牌模板列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "listType", required = true, value = "列表类型:1管理员列表,2供应商列表"),
+            @ApiImplicitParam(name = "authUserId", required = false, value = "供应商用户id"),
+            @ApiImplicitParam(name = "pageNum", required = false, value = "第几页"),
+            @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
+    })
+    @GetMapping("/list")
+    public ResponseJson<PageInfo<TemplateListVo>> getTemplateList(Integer listType, Integer authUserId,
+                                                                  @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
+                                                                  @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
+        return authTemplateService.getTemplateList(listType, authUserId, pageNum, pageSize);
+    }
+
+    @ApiOperation("添加/编辑授权模板")
+    @ApiImplicitParam(name = "params", required = true, value = "templateId:模板id;templateImage:模板图片;authUserId:供应商用户id")
+    @PostMapping("/save")
+    public ResponseJson saveTemplate(@RequestBody String params){
+        JSONObject parseObject = JSONObject.parseObject(params);
+        Integer templateId = parseObject.getInteger("templateId");
+        String templateImage = parseObject.getString("templateImage");
+        Integer authUserId = parseObject.getInteger("authUserId");
+        Integer status = parseObject.getInteger("status");
+        String qrPosition = parseObject.getString("qrPosition");
+        if (null != templateId) {
+            if (StringUtils.isEmpty(templateImage)) {
+                return ResponseJson.error("授权牌模板不能为空");
+            }
+            if (null == authUserId) {
+                return ResponseJson.error("供应商用户id不能为空");
+            }
+        }
+        return authTemplateService.saveTemplate(templateId, templateImage, authUserId, status, qrPosition);
+    }
+}

+ 28 - 0
src/main/java/com/caimei/mapper/cmMapper/AuthTemplateMapper.java

@@ -0,0 +1,28 @@
+package com.caimei.mapper.cmMapper;
+
+import com.caimei.model.vo.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Aslee
+ * @date : 2022/7/6
+ */
+@Mapper
+public interface AuthTemplateMapper {
+    /**
+     * 模板列表
+     * @param listType
+     * @param authUserId
+     * @return
+     */
+    List<TemplateListVo> getTemplateList(@Param("listType") Integer listType, @Param("authUserId") Integer authUserId);
+
+    void insertTemplate(@Param("templateImage") String templateImage, @Param("authUserId") Integer authUserId);
+
+    void updateSelective(@Param("templateId") Integer templateId, @Param("templateImage") String templateImage, @Param("authUserId") Integer authUserId, @Param("status") Integer status, @Param("qrPosition") String qrPosition);
+}

+ 38 - 0
src/main/java/com/caimei/service/auth/AuthTemplateService.java

@@ -0,0 +1,38 @@
+package com.caimei.service.auth;
+
+import com.caimei.model.ResponseJson;
+import com.caimei.model.vo.*;
+import com.github.pagehelper.PageInfo;
+
+/**
+ * Description
+ *
+ * @author : Aslee
+ * @date : 2022/7/6
+ */
+public interface AuthTemplateService {
+
+    /**
+     * 授权牌模板列表
+     * @param listType
+     * @param authUserId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    ResponseJson<PageInfo<TemplateListVo>> getTemplateList(Integer listType, Integer authUserId, Integer pageNum, Integer pageSize);
+
+    /**
+     * 保存授权牌模板
+     *
+     * @param templateId
+     * @param templateImage
+     * @param authUserId
+     * @param status
+     * @param qrPosition
+     * @return
+     */
+    ResponseJson saveTemplate(Integer templateId, String templateImage, Integer authUserId, Integer status, String qrPosition);
+}
+
+

+ 52 - 0
src/main/java/com/caimei/service/auth/impl/AuthTemplateServiceImpl.java

@@ -0,0 +1,52 @@
+package com.caimei.service.auth.impl;
+
+import com.caimei.mapper.cmMapper.AuthTemplateMapper;
+import com.caimei.model.ResponseJson;
+import com.caimei.model.vo.*;
+import com.caimei.service.auth.AuthTemplateService;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Description
+ *
+ * @author : Aslee
+ * @date : 2022/7/6
+ */
+@Slf4j
+@Service
+public class AuthTemplateServiceImpl implements AuthTemplateService {
+
+    @Resource
+    private AuthTemplateMapper authTemplateMapper;
+
+    @Override
+    public ResponseJson<PageInfo<TemplateListVo>> getTemplateList(Integer listType, Integer authUserId, Integer pageNum, Integer pageSize) {
+        if (null == listType) {
+            return ResponseJson.error("列表类型不能为空", null);
+        }
+        if (2 == listType && null == authUserId) {
+            return ResponseJson.error("供应商用户id不能为空", null);
+        }
+        PageHelper.startPage(pageNum, pageSize);
+        List<TemplateListVo> templateList = authTemplateMapper.getTemplateList(listType, authUserId);
+        PageInfo<TemplateListVo> pageInfo = new PageInfo<>(templateList);
+        return ResponseJson.success(pageInfo);
+    }
+
+    @Override
+    public ResponseJson saveTemplate(Integer templateId, String templateImage, Integer authUserId, Integer status, String qrPosition) {
+        boolean insertFlag = null == templateId;
+        if (insertFlag) {
+            authTemplateMapper.insertTemplate(templateImage, authUserId);
+        } else {
+            authTemplateMapper.updateSelective(templateId, templateImage, authUserId, status, qrPosition);
+        }
+        return ResponseJson.success();
+    }
+}

+ 40 - 0
src/main/resources/mapper/AuthTemplateMapper.xml

@@ -0,0 +1,40 @@
+<?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.caimei.mapper.cmMapper.AuthTemplateMapper">
+    <insert id="insertTemplate">
+        insert into cm_brand_auth_template (authUserId, templateImage)
+        values (#{authUserId}, #{templateImage})
+    </insert>
+    <update id="updateSelective">
+        update cm_brand_auth_template
+        <set>
+            <if test="authUserId != null">
+                authUserId = #{authUserId},
+            </if>
+            <if test="templateImage != null and templateImage != ''">
+                templateImage = #{templateImage},
+            </if>
+            <if test="status != null">
+                status = #{status},
+            </if>
+            <if test="qrPosition != null and qrPosition != ''">
+                qrPosition = #{qrPosition},
+            </if>
+        </set>
+        where id = #{templateId}
+    </update>
+
+    <select id="getTemplateList" resultType="com.caimei.model.vo.TemplateListVo">
+        select id as templateId,authUserId, templateImage, authFlag, productFlag, qrPosition, status, addTime
+        from cm_brand_auth_template
+        <where>
+            <if test="authUserId != null">
+                and authUserId = #{authUserId}
+            </if>
+            <if test="listType == 2">
+                and status = 1
+            </if>
+        </where>
+        order by addTime desc
+    </select>
+</mapper>