Oliver
2022-09-14 91a9dd80b51af93c9305bb39b3757e6750f88008
积分相关接口
2个文件已修改
6个文件已添加
5 文件已重命名
338 ■■■■ 已修改文件
ycl-common/src/main/java/com/ycl/entity/store/StoreInfo.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/entity/store/StoreScoreRule.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/mapper/store/StoreInfoMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/mapper/store/StoreScoreRuleMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/store/StoreInfoService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/store/StoreScoreRuleService.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/store/impl/StoreInfoServiceImpl.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/store/impl/StoreScoreRuleServiceImpl.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/utils/ExcelUtils.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/vo/store/StoreScoreRuleVO.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/resources/mapper/store/UmsStoreInfoMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/store/StoreScoreRuleController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/entity/store/StoreInfo.java
File was renamed from ycl-common/src/main/java/com/ycl/entity/store/UmsStoreInfo.java
@@ -7,6 +7,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -23,10 +24,11 @@
@TableName("ums_store_storeinfo")
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "UmsStoreStoreinfo对象", description = "")
@ApiModel(value = "StoreInfo对象", description = "")
@Builder
public class UmsStoreInfo implements Serializable {
public class StoreInfo implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("主键")
ycl-common/src/main/java/com/ycl/entity/store/StoreScoreRule.java
New file
@@ -0,0 +1,48 @@
package com.ycl.entity.store;
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.*;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
 * <p>
 * 商铺积分规则管理
 * </p>
 *
 * @author lyq
 * @since 2022-09-14
 */
@Getter
@Setter
@TableName("ums_store_score_rule")
@ApiModel(value = "StoreScoreRule对象", description = "商铺积分规则管理")
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class StoreScoreRule implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty("规则类别")
    private String category;
    @ApiModelProperty("扣分项")
    private String deductionItem;
    @ApiModelProperty("扣除分数")
    private BigDecimal markScore;
}
ycl-common/src/main/java/com/ycl/mapper/store/StoreInfoMapper.java
File was renamed from ycl-common/src/main/java/com/ycl/mapper/store/UmsStoreInfoMapper.java
@@ -1,7 +1,7 @@
package com.ycl.mapper.store;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.entity.store.UmsStoreInfo;
import com.ycl.entity.store.StoreInfo;
/**
 * <p>
@@ -11,6 +11,6 @@
 * @author lyq
 * @since 2022-09-08
 */
public interface UmsStoreInfoMapper extends BaseMapper<UmsStoreInfo> {
public interface StoreInfoMapper extends BaseMapper<StoreInfo> {
}
ycl-common/src/main/java/com/ycl/mapper/store/StoreScoreRuleMapper.java
New file
@@ -0,0 +1,16 @@
package com.ycl.mapper.store;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.entity.store.StoreScoreRule;
/**
 * <p>
 * 商铺积分规则管理 Mapper 接口
 * </p>
 *
 * @author lyq
 * @since 2022-09-14
 */
public interface StoreScoreRuleMapper extends BaseMapper<StoreScoreRule> {
}
ycl-common/src/main/java/com/ycl/service/store/StoreInfoService.java
File was renamed from ycl-common/src/main/java/com/ycl/service/store/UmsStoreInfoService.java
@@ -2,8 +2,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.store.UmsStoreInfo;
import com.ycl.entity.user.UmsAdmin;
import com.ycl.entity.store.StoreInfo;
import org.springframework.web.multipart.MultipartFile;
/**
@@ -14,7 +13,7 @@
 * @author lyq
 * @since 2022-09-08
 */
public interface UmsStoreInfoService extends IService<UmsStoreInfo> {
public interface StoreInfoService extends IService<StoreInfo> {
    /**
     * 根据门店名称分页获取门店列表列表
     * @param keyword 关键字
@@ -22,7 +21,7 @@
     * @param pageNum 页码
     * @return 分页实体
     */
    Page<UmsStoreInfo> list(String keyword, Integer pageSize, Integer pageNum);
    Page<StoreInfo> list(String keyword, Integer pageSize, Integer pageNum);
    /**
     * 读取excel文件动态加载文件
ycl-common/src/main/java/com/ycl/service/store/StoreScoreRuleService.java
New file
@@ -0,0 +1,33 @@
package com.ycl.service.store;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.store.StoreScoreRule;
import com.ycl.vo.store.StoreScoreRuleVO;
/**
 * <p>
 * 商铺积分规则管理 服务类
 * </p>
 *
 * @author lyq
 * @since 2022-09-14
 */
public interface StoreScoreRuleService extends IService<StoreScoreRule> {
    /**
     * 列表
     *
     * @param keyword  关键字
     * @param pageSize 页面大小
     * @param pageNum  页面num
     * @return {@link Page}<{@link StoreScoreRule}>
     */
    Page<StoreScoreRule> list(String keyword, Integer pageSize, Integer pageNum);
    /**
     * 添加
     *
     * @param addScoreVO 添加积分规则
     */
    void add(StoreScoreRuleVO.AddScoreVO addScoreVO);
}
ycl-common/src/main/java/com/ycl/service/store/impl/StoreInfoServiceImpl.java
File was renamed from ycl-common/src/main/java/com/ycl/service/store/impl/UmsStoreInfoServiceImpl.java
@@ -4,16 +4,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.entity.store.UmsStoreInfo;
import com.ycl.entity.store.StoreInfo;
import com.ycl.enums.common.ResultCode;
import com.ycl.exception.ApiException;
import com.ycl.mapper.store.UmsStoreInfoMapper;
import com.ycl.service.store.UmsStoreInfoService;
import com.ycl.mapper.store.StoreInfoMapper;
import com.ycl.service.store.StoreInfoService;
import com.ycl.utils.ExcelUtils;
import com.ycl.vo.store.StoreInfoExcelVo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -31,14 +30,14 @@
 */
@Service
@Slf4j
public class UmsStoreInfoServiceImpl extends ServiceImpl<UmsStoreInfoMapper, UmsStoreInfo> implements UmsStoreInfoService {
public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo> implements StoreInfoService {
    @Override
    public Page<UmsStoreInfo> list(String keyword, Integer pageSize, Integer pageNum) {
        Page<UmsStoreInfo> page = new Page<>(pageSize, pageNum);
        LambdaQueryWrapper<UmsStoreInfo> wrapper = new LambdaQueryWrapper<>();
    public Page<StoreInfo> list(String keyword, Integer pageSize, Integer pageNum) {
        Page<StoreInfo> page = new Page<>(pageSize, pageNum);
        LambdaQueryWrapper<StoreInfo> wrapper = new LambdaQueryWrapper<>();
        if (StrUtil.isNotEmpty(keyword)) {
            wrapper.like(UmsStoreInfo::getStorename, keyword);
            wrapper.like(StoreInfo::getStorename, keyword);
        }
        return page(page, wrapper);
    }
@@ -56,9 +55,9 @@
        try {
            List<StoreInfoExcelVo> datas = ExcelUtils.getExcelModelData(file.getInputStream(), StoreInfoExcelVo.class);
            log.info("读取到{}条数据", datas.size());
            List<UmsStoreInfo> infos = new ArrayList<>();
            List<StoreInfo> infos = new ArrayList<>();
            for (StoreInfoExcelVo data : datas) {
                UmsStoreInfo info = new UmsStoreInfo();
                StoreInfo info = new StoreInfo();
                BeanUtils.copyProperties(data,info);
                infos.add(info);
            }
ycl-common/src/main/java/com/ycl/service/store/impl/StoreScoreRuleServiceImpl.java
New file
@@ -0,0 +1,49 @@
package com.ycl.service.store.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.entity.store.StoreScoreRule;
import com.ycl.exception.ApiException;
import com.ycl.mapper.store.StoreScoreRuleMapper;
import com.ycl.service.store.StoreScoreRuleService;
import com.ycl.vo.store.StoreScoreRuleVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
 * <p>
 * 商铺积分规则管理 服务实现类
 * </p>
 *
 * @author lyq
 * @since 2022-09-14
 */
@Service
public class StoreScoreRuleServiceImpl extends ServiceImpl<StoreScoreRuleMapper, StoreScoreRule> implements StoreScoreRuleService {
    @Override
    public Page<StoreScoreRule> list(String keyword, Integer pageSize, Integer pageNum) {
        Page<StoreScoreRule> page = new Page<>(pageSize, pageNum);
        LambdaQueryWrapper<StoreScoreRule> wrapper = new LambdaQueryWrapper<>();
        if (StrUtil.isNotEmpty(keyword)) {
            wrapper.like(StoreScoreRule::getCategory, keyword);
        }
        wrapper.orderByDesc(StoreScoreRule::getCategory);
        return page(page, wrapper);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void add(StoreScoreRuleVO.AddScoreVO addScoreVO) {
        StoreScoreRule build = StoreScoreRule.builder()
                .category(addScoreVO.getCategory())
                .deductionItem(addScoreVO.getDeductionItem())
                .markScore(addScoreVO.getMarkScore()).build();
        boolean save = save(build);
        if (!save) {
            throw new ApiException("添加失败");
        }
    }
}
ycl-common/src/main/java/com/ycl/utils/ExcelUtils.java
@@ -8,9 +8,22 @@
import java.io.InputStream;
import java.util.List;
/**
 * excel工具
 *
 * @author 安瑾然
 * @date 2022/09/11
 */
@Slf4j
public class ExcelUtils {
    /**
     * 将excel文件流转换成实体类
     *
     * @param inputStream 输入流
     * @param clazz       泛型
     * @return {@link List}<{@link T}>
     */
    public static <T> List<T> getExcelModelData(final InputStream inputStream, Class<T> clazz) {
        if (null == inputStream) {
            throw new NullPointerException("the inputStream is null!");
ycl-common/src/main/java/com/ycl/vo/store/StoreScoreRuleVO.java
New file
@@ -0,0 +1,26 @@
package com.ycl.vo.store;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
public class StoreScoreRuleVO {
    @Data
    @ApiModel
    public static class AddScoreVO {
        @NotBlank(message = "规则类别不能为空")
        @ApiModelProperty("规则类别")
        private String category;
        @NotBlank(message = "扣分项不能为空")
        @ApiModelProperty("扣分项")
        private String deductionItem;
        @NotBlank(message = "扣分项不能为空")
        @ApiModelProperty("扣除分数")
        private BigDecimal markScore;
    }
}
ycl-common/src/main/resources/mapper/store/UmsStoreInfoMapper.xml
@@ -1,9 +1,9 @@
<?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.ycl.mapper.store.UmsStoreInfoMapper">
<mapper namespace="com.ycl.mapper.store.StoreInfoMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ycl.entity.store.UmsStoreInfo">
    <resultMap id="BaseResultMap" type="com.ycl.entity.store.StoreInfo">
        <id column="id" property="id"/>
        <result column="owner" property="owner"/>
        <result column="storename" property="storename"/>
ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/store/UmsStoreInfoController.java
@@ -5,19 +5,14 @@
import com.ycl.api.CommonPage;
import com.ycl.api.CommonResult;
import com.ycl.dto.UmsStoreInfoParam;
import com.ycl.entity.store.UmsStoreInfo;
import com.ycl.enums.common.ResultCode;
import com.ycl.exception.ApiException;
import com.ycl.service.store.UmsStoreInfoService;
import com.ycl.entity.store.StoreInfo;
import com.ycl.service.store.StoreInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
/**
 * <p>
@@ -30,37 +25,37 @@
@RestController
@RequestMapping("/store/storeinfo")
@Api(tags = "门店管理")
public class UmsStoreInfoController {
    private UmsStoreInfoService umsStoreInfoService;
public class StoreInfoController {
    private StoreInfoService storeInfoService;
    @Autowired
    public void setUmsStoreInfoService(UmsStoreInfoService umsStoreInfoService) {
        this.umsStoreInfoService = umsStoreInfoService;
    public void setUmsStoreInfoService(StoreInfoService umsStoreInfoService) {
        this.storeInfoService = umsStoreInfoService;
    }
    @ApiOperation("根据门店名称分页获取门店列表列表")
    @RequestMapping(value = "/list", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult<CommonPage<UmsStoreInfo>> list(@RequestParam(value = "keyword", required = false) String keyword,
                                                       @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
                                                       @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) {
        Page<UmsStoreInfo> storeInfoPage = umsStoreInfoService.list(keyword, pageSize, pageNum);
    public CommonResult<CommonPage<StoreInfo>> list(@RequestParam(value = "keyword", required = false) String keyword,
                                                    @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
                                                    @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) {
        Page<StoreInfo> storeInfoPage = storeInfoService.list(keyword, pageSize, pageNum);
        return CommonResult.success(CommonPage.restPage(storeInfoPage));
    }
    @ApiOperation("根据id获取门店信息")
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult<UmsStoreInfo> getItem(@PathVariable Long id) {
        UmsStoreInfo umsStoreInfo = umsStoreInfoService.getById(id);
        return CommonResult.success(umsStoreInfo);
    public CommonResult<StoreInfo> getItem(@PathVariable Long id) {
        StoreInfo storeInfo = storeInfoService.getById(id);
        return CommonResult.success(storeInfo);
    }
    @ApiOperation(value = "添加门店信息")
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    @ResponseBody
    public CommonResult<UmsStoreInfo> add(@Validated @RequestBody UmsStoreInfoParam umsStoreInfoParam) {
        UmsStoreInfo umsStoreInfo = UmsStoreInfo.builder()
    public CommonResult<StoreInfo> add(@Validated @RequestBody UmsStoreInfoParam umsStoreInfoParam) {
        StoreInfo storeInfo = StoreInfo.builder()
                .owner(umsStoreInfoParam.getOwner())
                .storename(umsStoreInfoParam.getStorename())
                .contact(umsStoreInfoParam.getContact())
@@ -68,7 +63,7 @@
                .storephoto(umsStoreInfoParam.getStorephoto())
                .idcardinfo(umsStoreInfoParam.getIdcardinfo())
                .storescore(umsStoreInfoParam.getStorescore()).build();
        boolean success = umsStoreInfoService.save(umsStoreInfo);
        boolean success = storeInfoService.save(storeInfo);
        if (success) {
            return CommonResult.success(null);
        } else {
@@ -80,7 +75,7 @@
    @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult delete(@PathVariable Long id) {
        boolean success = umsStoreInfoService.removeById(id);
        boolean success = storeInfoService.removeById(id);
        if (success) {
            return CommonResult.success(null);
        } else {
@@ -91,8 +86,8 @@
    @ApiOperation(value = "修改门店信息")
    @RequestMapping(value = "/update", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult update(@RequestBody UmsStoreInfo umsStoreInfo) {
        boolean success = umsStoreInfoService.updateById(umsStoreInfo);
    public CommonResult update(@RequestBody StoreInfo storeInfo) {
        boolean success = storeInfoService.updateById(storeInfo);
        if (success) {
            return CommonResult.success(null);
        } else {
@@ -104,7 +99,7 @@
    @RequestMapping(value = "/add/excel", method = RequestMethod.POST)
    @ResponseBody
    public CommonResult addByExcel(MultipartFile file) {
        boolean success = umsStoreInfoService.addByExcel(file);
        boolean success = storeInfoService.addByExcel(file);
        if (success) {
            return CommonResult.success(null);
        } else {
ycl-platform/src/main/java/com/ycl/controller/store/StoreScoreRuleController.java
New file
@@ -0,0 +1,66 @@
package com.ycl.controller.store;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.api.CommonPage;
import com.ycl.api.CommonResult;
import com.ycl.entity.store.StoreInfo;
import com.ycl.entity.store.StoreScoreRule;
import com.ycl.service.store.StoreScoreRuleService;
import com.ycl.vo.store.StoreScoreRuleVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
 * <p>
 * 商铺积分规则管理 前端控制器
 * </p>
 *
 * @author lyq
 * @since 2022-09-14
 */
@RestController
@RequestMapping("/store/scorerule")
public class StoreScoreRuleController {
    private StoreScoreRuleService storeScoreRuleService;
    @Autowired
    public void setStoreScoreRuleService(StoreScoreRuleService storeScoreRuleService) {
        this.storeScoreRuleService = storeScoreRuleService;
    }
    @ApiOperation("获取分页的积分信息")
    @RequestMapping(value = "page", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult<CommonPage<StoreScoreRule>> page(@RequestParam(value = "keyword", required = false) String keyword,
                                                         @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,
                                                         @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) {
        Page<StoreScoreRule> storeScoreRules = storeScoreRuleService.list(keyword, pageSize, pageNum);
        return CommonResult.success(CommonPage.restPage(storeScoreRules));
    }
    @ApiOperation("添加积分信息")
    @RequestMapping(value = "add", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult<CommonPage<StoreScoreRule>> add(@Validated @RequestBody StoreScoreRuleVO.AddScoreVO addScoreVO) {
        storeScoreRuleService.add(addScoreVO);
        return CommonResult.success(null);
    }
    @ApiOperation("删除积分信息")
    @RequestMapping(value = "delete/{id}", method = RequestMethod.GET)
    @ResponseBody
    public CommonResult<CommonPage<StoreScoreRule>> delete(@PathVariable Integer id) {
        boolean success = storeScoreRuleService.removeById(id);
        if (success) {
            return CommonResult.success(null);
        } else {
            return CommonResult.failed();
        }
    }
}