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(); } } }