diff --git a/src/main/java/com/ycwl/basic/controller/pc/PriceConfigController.java b/src/main/java/com/ycwl/basic/controller/pc/PriceConfigController.java index be25b34..7d36fbb 100644 --- a/src/main/java/com/ycwl/basic/controller/pc/PriceConfigController.java +++ b/src/main/java/com/ycwl/basic/controller/pc/PriceConfigController.java @@ -1,13 +1,7 @@ package com.ycwl.basic.controller.pc; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; -import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity; -import com.ycwl.basic.model.pc.price.req.PriceConfigListReq; +import com.ycwl.basic.biz.PriceBiz; import com.ycwl.basic.model.pc.price.resp.GoodsListRespVO; -import com.ycwl.basic.model.pc.price.resp.PriceConfigRespVO; -import com.ycwl.basic.repository.PriceRepository; -import com.ycwl.basic.service.pc.PriceConfigService; import com.ycwl.basic.utils.ApiResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -19,61 +13,11 @@ import java.util.List; public class PriceConfigController { @Autowired - private PriceConfigService priceConfigService; - @Autowired - private PriceRepository priceRepository; + private PriceBiz priceBiz; @GetMapping("/goodsList") public ApiResponse> goodsList(@RequestParam Long scenicId) { - return ApiResponse.success(priceConfigService.listGoodsByScenic(scenicId)); + return ApiResponse.success(priceBiz.listGoodsByScenic(scenicId)); } - @PostMapping("/add") - public ApiResponse addPriceConfig(@RequestBody PriceConfigEntity priceConfig) { - priceConfig.setId(null); - priceConfigService.save(priceConfig); - return ApiResponse.success(priceConfig); - } - - @PostMapping("/update") - public ApiResponse updatePriceConfig(@RequestBody PriceConfigEntity priceConfig) { - priceRepository.clearPriceCache(priceConfig.getId()); - priceConfigService.updateById(priceConfig); - priceRepository.clearPriceCache(priceConfig.getId()); - return ApiResponse.success(priceConfig); - } - - @DeleteMapping("/delete/{id}") - public ApiResponse deletePriceConfig(@PathVariable Integer id) { - priceRepository.clearPriceCache(id); - priceConfigService.removeById(id); - priceRepository.clearPriceCache(id); - return ApiResponse.success(true); - } - - @PostMapping("/{id}/status") - public ApiResponse updateStatus(@PathVariable Integer id) { - priceRepository.clearPriceCache(id); - priceConfigService.updateStatus(id); - priceRepository.clearPriceCache(id); - return ApiResponse.success(true); - } - - @GetMapping("/{id}") - public ApiResponse getPriceConfigById(@PathVariable Integer id) { - PriceConfigRespVO config = priceConfigService.findById(id); - priceConfigService.fillGoodsName(config); - return ApiResponse.success(config); - } - - @GetMapping("/list") - public ApiResponse> list(@RequestParam(defaultValue = "1") int pageNum, - @RequestParam(defaultValue = "10") int pageSize, - @ModelAttribute PriceConfigListReq req) { - PageHelper.startPage(pageNum, pageSize); - List result = priceConfigService.listByCondition(req); - priceConfigService.fillGoodsName(result); - PageInfo pageInfo = new PageInfo<>(result); - return ApiResponse.success(pageInfo); - } } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/controller/pc/VideoController.java b/src/main/java/com/ycwl/basic/controller/pc/VideoController.java index adad59d..c3f36ec 100644 --- a/src/main/java/com/ycwl/basic/controller/pc/VideoController.java +++ b/src/main/java/com/ycwl/basic/controller/pc/VideoController.java @@ -18,7 +18,6 @@ import java.util.List; @RestController @RequestMapping("/api/video/v1") -@Deprecated // 视频成片管理 public class VideoController { diff --git a/src/main/java/com/ycwl/basic/mapper/PriceConfigMapper.java b/src/main/java/com/ycwl/basic/mapper/PriceConfigMapper.java deleted file mode 100644 index 3398dc0..0000000 --- a/src/main/java/com/ycwl/basic/mapper/PriceConfigMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.ycwl.basic.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity; -import com.ycwl.basic.model.pc.price.req.PriceConfigListReq; -import com.ycwl.basic.model.pc.price.resp.PriceConfigRespVO; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -@Mapper -public interface PriceConfigMapper extends BaseMapper { - PriceConfigRespVO getById(@Param("id") Integer id); - List listByCondition(@Param("req") PriceConfigListReq req); - - PriceConfigEntity getPriceByScenicTypeGoods(Long scenicId, Integer type, String goodsId); - - int updateStatus(Integer id); -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/model/pc/price/entity/PriceConfigEntity.java b/src/main/java/com/ycwl/basic/model/pc/price/entity/PriceConfigEntity.java index 5e2c4c6..f71af46 100644 --- a/src/main/java/com/ycwl/basic/model/pc/price/entity/PriceConfigEntity.java +++ b/src/main/java/com/ycwl/basic/model/pc/price/entity/PriceConfigEntity.java @@ -1,17 +1,12 @@ package com.ycwl.basic.model.pc.price.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.math.BigDecimal; import java.util.Date; @Data -@TableName("price_config") public class PriceConfigEntity { - @TableId(type = IdType.AUTO) private Integer id; /** * 景区ID diff --git a/src/main/java/com/ycwl/basic/repository/PriceRepository.java b/src/main/java/com/ycwl/basic/repository/PriceRepository.java index c3a66d2..376dbad 100644 --- a/src/main/java/com/ycwl/basic/repository/PriceRepository.java +++ b/src/main/java/com/ycwl/basic/repository/PriceRepository.java @@ -3,23 +3,17 @@ package com.ycwl.basic.repository; import com.ycwl.basic.pricing.entity.PriceOnePriceConfig; import com.ycwl.basic.pricing.service.IOnePricePurchaseService; import com.ycwl.basic.utils.JacksonUtil; -import com.ycwl.basic.mapper.PriceConfigMapper; import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; -import java.util.Collections; import java.util.Set; -import java.util.concurrent.TimeUnit; @Component public class PriceRepository { - @Autowired - private PriceConfigMapper mapper; @Autowired private RedisTemplate redisTemplate; - public static final String PRICE_SCENIC_TYPE_GOODS_CACHE = "price:s%s:t%s:g%s"; public static final String PRICE_ID_CACHE = "price:%s"; @Autowired private IOnePricePurchaseService onePricePurchaseService; @@ -39,19 +33,7 @@ public class PriceRepository { entity.setGoodsIds(goodsId); return entity; } - String cacheKey = String.format(PRICE_SCENIC_TYPE_GOODS_CACHE, scenicId, type, goodsId); - PriceConfigEntity priceConfigEntity = null; - if (redisTemplate.hasKey(cacheKey)) { - priceConfigEntity = JacksonUtil.parseObject(redisTemplate.opsForValue().get(cacheKey), PriceConfigEntity.class); - } - if (priceConfigEntity == null) { - priceConfigEntity = mapper.getPriceByScenicTypeGoods(scenicId, type, goodsId); - if (priceConfigEntity != null) { - redisTemplate.opsForValue().set(cacheKey, JacksonUtil.toJSONString(priceConfigEntity), 12, TimeUnit.HOURS); - redisTemplate.opsForValue().set(String.format(PRICE_ID_CACHE, priceConfigEntity.getId()), JacksonUtil.toJSONString(priceConfigEntity), 12, TimeUnit.HOURS); - } - } - return priceConfigEntity; + return null; } public PriceConfigEntity getPriceConfig(Integer id) { diff --git a/src/main/java/com/ycwl/basic/service/pc/PriceConfigService.java b/src/main/java/com/ycwl/basic/service/pc/PriceConfigService.java deleted file mode 100644 index f09ae27..0000000 --- a/src/main/java/com/ycwl/basic/service/pc/PriceConfigService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ycwl.basic.service.pc; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity; -import com.ycwl.basic.model.pc.price.req.PriceConfigListReq; -import com.ycwl.basic.model.pc.price.resp.GoodsListRespVO; -import com.ycwl.basic.model.pc.price.resp.PriceConfigRespVO; - -import java.util.List; - -public interface PriceConfigService extends IService { - - List listByCondition(PriceConfigListReq req); - - PriceConfigRespVO findById(Integer id); - - List listGoodsByScenic(Long scenicId); - - void fillGoodsName(List result); - - void fillGoodsName(PriceConfigRespVO config); - - void updateStatus(Integer id); -} \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/PriceConfigServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/PriceConfigServiceImpl.java deleted file mode 100644 index d8a9612..0000000 --- a/src/main/java/com/ycwl/basic/service/pc/impl/PriceConfigServiceImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.ycwl.basic.service.pc.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycwl.basic.biz.PriceBiz; -import com.ycwl.basic.mapper.PriceConfigMapper; -import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity; -import com.ycwl.basic.model.pc.price.req.PriceConfigListReq; -import com.ycwl.basic.model.pc.price.resp.GoodsListRespVO; -import com.ycwl.basic.model.pc.price.resp.PriceConfigRespVO; -import com.ycwl.basic.model.pc.template.resp.TemplateRespVO; -import com.ycwl.basic.repository.TemplateRepository; -import com.ycwl.basic.service.pc.PriceConfigService; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.Strings; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.List; - -@Service -public class PriceConfigServiceImpl extends ServiceImpl implements PriceConfigService { - - @Autowired - private TemplateRepository templateRepository; - @Autowired - private PriceBiz priceBiz; - - @Override - public List listByCondition(PriceConfigListReq req) { - return baseMapper.listByCondition(req); - } - - @Override - public PriceConfigRespVO findById(Integer id) { - return baseMapper.getById(id); - } - - @Override - public List listGoodsByScenic(Long scenicId) { - return priceBiz.listGoodsByScenic(scenicId); - } - - @Override - public void fillGoodsName(List result) { - for (PriceConfigRespVO item : result) { - fillGoodsName(item); - } - } - - @Override - public void fillGoodsName(PriceConfigRespVO item) { - if (Integer.valueOf(-1).equals(item.getType())) { - item.setGoodsNames("景区内所有售卖商品"); - } else if (Integer.valueOf(3).equals(item.getType())) { - item.setGoodsNames("打印照片"); - } else if (StringUtils.isNotBlank(item.getGoodsIds())) { - List goodsNames = new ArrayList<>(); - for (String s : item.getGoodsIds().split(",")) { - if (Strings.CS.equals(s, "1")) { - goodsNames.add("录像集"); - } else if (Strings.CS.equals(s, "2")) { - goodsNames.add("照片集"); - } else { - if (StringUtils.isNumeric(s)) { - TemplateRespVO template = templateRepository.getTemplate(Long.valueOf(s)); - if (template != null) { - goodsNames.add(template.getName()); - } else { - goodsNames.add("?未知商品【"+s+"】?"); - } - } else { - goodsNames.add("!未知商品【"+s+"】!"); - } - } - } - item.setGoodsNames(StringUtils.join(goodsNames, ",")); - } - } - - @Override - public void updateStatus(Integer id) { - baseMapper.updateStatus(id); - } -} \ No newline at end of file diff --git a/src/main/resources/mapper/PriceConfigMapper.xml b/src/main/resources/mapper/PriceConfigMapper.xml deleted file mode 100644 index 7e201b0..0000000 --- a/src/main/resources/mapper/PriceConfigMapper.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - insert into price_config (scenic_id, type, goods_ids, price, slash_price, create_time, update_time) - values (#{scenicId}, #{type}, #{goodsIds}, #{price}, #{slashPrice}, now(), now()) - - - - update price_config - - scenic_id = #{scenicId}, - type = #{type}, - goods_ids = #{goodsIds}, - price = #{price}, - slash_price = #{slashPrice}, - update_time = now() - - where id = #{id} - - - update price_config - set `status` = IF(`status` = 0, 1, 0), - update_time = now() - where id = #{id} - - - - delete from price_config where id = #{id} - - - - - - - \ No newline at end of file