Browse Source

商品、礼包代码

master
fanzongzhe 1 year ago
parent
commit
3b253559f2
  1. 17
      src/main/java/com/yxt/yyth/api/lpkgiftbag/GiftBagGoods.java
  2. 17
      src/main/java/com/yxt/yyth/api/lpkgiftbag/LpkGiftBagDto.java
  3. 26
      src/main/java/com/yxt/yyth/api/lpkgiftbag/LpkGiftBagInitVo.java
  4. 2
      src/main/java/com/yxt/yyth/api/lpkgiftbag/LpkGiftBagQuery.java
  5. 8
      src/main/java/com/yxt/yyth/api/lpkgiftbag/LpkGiftBagVo.java
  6. 28
      src/main/java/com/yxt/yyth/api/lpkgoods/LpkGoodsDetailsVo.java
  7. 9
      src/main/java/com/yxt/yyth/api/lpkgoods/LpkGoodsDto.java
  8. 2
      src/main/java/com/yxt/yyth/api/lpkgoods/LpkGoodsQuery.java
  9. 15
      src/main/java/com/yxt/yyth/api/lpkgoods/LpkGoodsVo.java
  10. 2
      src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagMapper.java
  11. 14
      src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagMapper.xml
  12. 29
      src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagRest.java
  13. 160
      src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java
  14. 5
      src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java
  15. 10
      src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.xml
  16. 10
      src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsService.java
  17. 10
      src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.java
  18. 28
      src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.xml
  19. 43
      src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsRest.java
  20. 98
      src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsService.java
  21. 8
      src/main/resources/application-devv.yml

17
src/main/java/com/yxt/yyth/api/lpkgiftbag/GiftBagGoods.java

@ -0,0 +1,17 @@
package com.yxt.yyth.api.lpkgiftbag;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/11/22 11:08
*/
@Data
public class GiftBagGoods {
private String goodsSid;
private String goodsNumber;
private String name; //商品名
private String unitName; //单位
private String price; //商品单价
}

17
src/main/java/com/yxt/yyth/api/lpkgiftbag/LpkGiftBagDto.java

@ -1,9 +1,15 @@
package com.yxt.yyth.api.lpkgiftbag;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* @author wangpengfei
* @date 2023/11/21 15:13
@ -11,4 +17,15 @@ import lombok.Data;
@ApiModel(value = "礼包信息 数据传输对象", description = "礼包信息 数据传输对象")
@Data
public class LpkGiftBagDto implements Dto {
private String sid;
private String remarks;
private String dateStart;
private String dateEnd;
private String name;
private String boundary;
private String boundaryPrice;
private String iconUrl;
//商品sid
private List<GiftBagGoods> goods = new ArrayList<>();
}

26
src/main/java/com/yxt/yyth/api/lpkgiftbag/LpkGiftBagInitVo.java

@ -0,0 +1,26 @@
package com.yxt.yyth.api.lpkgiftbag;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/22 11:15
*/
@Data
public class LpkGiftBagInitVo implements Vo {
private String sid;
private String remarks;
private String dateStart;
private String dateEnd;
private String name;
private String boundary;
private String boundaryPrice;
private String iconUrl;
//商品sid
private List<GiftBagGoods> goods = new ArrayList<>();
}

2
src/main/java/com/yxt/yyth/api/lpkgiftbag/LpkGiftBagQuery.java

@ -11,5 +11,5 @@ import lombok.Data;
@ApiModel(value = "礼包信息 查询条件", description = "礼包信息 查询条件")
@Data
public class LpkGiftBagQuery implements Query {
private String name;
}

8
src/main/java/com/yxt/yyth/api/lpkgiftbag/LpkGiftBagVo.java

@ -13,5 +13,11 @@ import lombok.NoArgsConstructor;
@ApiModel(value = "礼包信息 视图数据对象", description = "礼包信息 视图数据对象")
@NoArgsConstructor
public class LpkGiftBagVo implements Vo {
private String sid;
private String name;
private String dateStart;
private String dateEnd;
private String boundary;
private String boundaryPrice;
private String iconUrl;
}

28
src/main/java/com/yxt/yyth/api/lpkgoods/LpkGoodsDetailsVo.java

@ -0,0 +1,28 @@
package com.yxt.yyth.api.lpkgoods;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.Date;
import java.util.UUID;
/**
* @author Administrator
* @description
* @date 2023/11/22 9:48
*/
@Data
public class LpkGoodsDetailsVo implements Vo {
private String sid;
private String createTime;
private String remarks;
private String code;
private String barcode;
private String name;
private String unitName;
private String typeCode;
private String price;
private String picUrl;
}

9
src/main/java/com/yxt/yyth/api/lpkgoods/LpkGoodsDto.java

@ -11,4 +11,13 @@ import lombok.Data;
@ApiModel(value = "商品信息 数据传输对象", description = "商品信息 数据传输对象")
@Data
public class LpkGoodsDto implements Dto {
private String sid;
private String remarks;
private String code;
private String barcode;
private String name;
private String unitName;
private String typeCode;
private String price;
private String picUrl;
}

2
src/main/java/com/yxt/yyth/api/lpkgoods/LpkGoodsQuery.java

@ -11,5 +11,5 @@ import lombok.Data;
@ApiModel(value = "商品信息 查询条件", description = "商品信息 查询条件")
@Data
public class LpkGoodsQuery implements Query {
private String name;
}

15
src/main/java/com/yxt/yyth/api/lpkgoods/LpkGoodsVo.java

@ -1,10 +1,14 @@
package com.yxt.yyth.api.lpkgoods;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.UUID;
/**
* @author wangpengfei
* @date 2023/11/21 15:12
@ -14,4 +18,15 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public class LpkGoodsVo implements Vo {
private String sid;
private String createTime;
private String remarks;
private String code;
private String barcode;
private String name;
private String unitName;
private String typeCode;
private String price;
private String picUrl;
}

2
src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagMapper.java

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.yyth.api.lpkcustomer.LpkCustomer;
import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBagVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -18,4 +19,5 @@ import org.apache.ibatis.annotations.Param;
public interface LpkGiftBagMapper extends BaseMapper<LpkGiftBag> {
IPage<LpkGiftBagVo> giftBagListPage(IPage<LpkGiftBag> page, @Param(Constants.WRAPPER) QueryWrapper<LpkGiftBag> qw);
}

14
src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagMapper.xml

@ -4,4 +4,18 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="giftBagListPage" resultType="com.yxt.yyth.api.lpkgiftbag.LpkGiftBagVo">
select
sid,
`name`,
date_format(dateStart, '%Y-%m-%d') as dateStart,
date_format(dateEnd, '%Y-%m-%d') as dateEnd,
boundary,
boundaryPrice,
iconUrl
from lpk_giftbag
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

29
src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagRest.java

@ -6,6 +6,11 @@ import com.yxt.common.core.vo.PagerVo;
import com.yxt.yyth.api.lpkcustomer.LpkCustomerQuery;
import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo;
import com.yxt.yyth.api.lpkcustomer.WxBindMobileDto;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBagDto;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBagQuery;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBagVo;
import com.yxt.yyth.api.lpkgoods.LpkGoodsQuery;
import com.yxt.yyth.api.lpkgoods.LpkGoodsVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -25,6 +30,28 @@ public class LpkGiftBagRest {
LpkGiftBagService lpkGiftBagService;
@ApiOperation("礼包信息列表")
@PostMapping("/giftBagListPage")
public ResultBean<PagerVo<LpkGiftBagVo>> giftBagListPage(@RequestBody PagerQuery<LpkGiftBagQuery> pq) {
return lpkGiftBagService.giftBagListPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveGiftBag")
public ResultBean saveGiftBag(@RequestBody LpkGiftBagDto dto) {
return lpkGiftBagService.saveGiftBag(dto);
}
@ApiOperation("礼包初始化")
@PostMapping("/giftBagInit/{sid}")
public ResultBean giftBagInit(@PathVariable String sid) {
return lpkGiftBagService.giftBagInit(sid);
}
@ApiOperation("删除礼包")
@DeleteMapping("/deleteBag/{sid}")
public ResultBean deleteBag(@PathVariable("sid") String sid) {
return lpkGiftBagService.deleteBag(sid);
}
}

160
src/main/java/com/yxt/yyth/biz/lpkgiftbag/LpkGiftBagService.java

@ -1,9 +1,32 @@
package com.yxt.yyth.biz.lpkgiftbag;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yyth.api.lpkcustomer.LpkCustomer;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag;
import com.yxt.yyth.api.lpkgiftbag.*;
import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoods;
import com.yxt.yyth.api.lpkgoods.LpkGoods;
import com.yxt.yyth.api.lpkgoods.LpkGoodsQuery;
import com.yxt.yyth.api.lpkgoods.LpkGoodsVo;
import com.yxt.yyth.biz.lpkgiftbaggoods.LpkGiftBagGoodsService;
import com.yxt.yyth.biz.lpkgoods.LpkGoodsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* @author wangpengfei
@ -12,4 +35,139 @@ import org.springframework.stereotype.Service;
@Service
public class LpkGiftBagService extends MybatisBaseService<LpkGiftBagMapper, LpkGiftBag> {
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private LpkGiftBagGoodsService lpkGiftBagGoodsService;
@Autowired
private LpkGoodsService lpkGoodsService;
public ResultBean<PagerVo<LpkGiftBagVo>> giftBagListPage(PagerQuery<LpkGiftBagQuery> pq) {
ResultBean rb = ResultBean.fireFail();
LpkGiftBagQuery query = pq.getParams();
QueryWrapper<LpkGiftBag> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getName())) {
qw.like("name", query.getName());
}
IPage<LpkGiftBag> page = PagerUtil.queryToPage(pq);
IPage<LpkGiftBagVo> pagging = baseMapper.giftBagListPage(page, qw);
PagerVo<LpkGiftBagVo> p = PagerUtil.pageToVo(pagging, null);
List<LpkGiftBagVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (LpkGiftBagVo record : records) {
if (StringUtils.isNotBlank(record.getIconUrl())) {
record.setIconUrl(fileUploadComponent.getUrlPrefix() + record.getIconUrl());
}
}
}
return rb.success().setData(p);
}
@Transactional(rollbackFor = Exception.class)
public ResultBean saveGiftBag(LpkGiftBagDto dto) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isNotBlank(dto.getSid())) {
lpkGiftBagGoodsService.deleteGoodsByBagSid(dto.getSid());
LpkGiftBag lpkGiftBag = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, lpkGiftBag, "id", "sid");
lpkGiftBag.setCreateTime(new DateTime());
if (StringUtils.isNotBlank(dto.getIconUrl())) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = dto.getIconUrl().substring(urlPrefix.length());
lpkGiftBag.setIconUrl(path);
}
baseMapper.updateById(lpkGiftBag);
if (!dto.getGoods().isEmpty()) {
List<GiftBagGoods> goodsList = dto.getGoods();
for (GiftBagGoods goods : goodsList) {
LpkGiftBagGoods lpkGiftBagGoods = new LpkGiftBagGoods();
lpkGiftBagGoods.setCreateTime(new DateTime());
lpkGiftBagGoods.setGoodsSid(goods.getGoodsSid());
lpkGiftBagGoods.setGiftbagSid(lpkGiftBag.getSid());
lpkGiftBagGoods.setGoodsNumber(goods.getGoodsNumber());
lpkGiftBagGoodsService.insert(lpkGiftBagGoods);
}
}
} else {
LpkGiftBag lpkGiftBag = new LpkGiftBag();
BeanUtil.copyProperties(dto, lpkGiftBag, "id", "sid");
lpkGiftBag.setCreateTime(new DateTime());
if (StringUtils.isNotBlank(dto.getIconUrl())) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = dto.getIconUrl().substring(urlPrefix.length());
lpkGiftBag.setIconUrl(path);
}
baseMapper.insert(lpkGiftBag);
if (!dto.getGoods().isEmpty()) {
List<GiftBagGoods> goodsList = dto.getGoods();
for (GiftBagGoods goods : goodsList) {
LpkGiftBagGoods lpkGiftBagGoods = new LpkGiftBagGoods();
lpkGiftBagGoods.setCreateTime(new DateTime());
lpkGiftBagGoods.setGoodsSid(goods.getGoodsSid());
lpkGiftBagGoods.setGiftbagSid(lpkGiftBag.getSid());
lpkGiftBagGoods.setGoodsNumber(goods.getGoodsNumber());
lpkGiftBagGoodsService.insert(lpkGiftBagGoods);
}
}
}
return rb.success();
}
public ResultBean giftBagInit(String sid) {
ResultBean rb = ResultBean.fireFail();
LpkGiftBagInitVo vo = new LpkGiftBagInitVo();
LpkGiftBag entity = fetchBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (null != entity) {
BeanUtil.copyProperties(entity, vo);
if (null != entity.getDateStart()) {
vo.setDateStart(sdf.format(entity.getDateStart()));
}
if (null != entity.getDateEnd()) {
vo.setDateEnd(sdf.format(entity.getDateEnd()));
}
if (StringUtils.isNotBlank(entity.getIconUrl())) {
vo.setIconUrl(fileUploadComponent.getUrlPrefix() + entity.getIconUrl());
}
List<GiftBagGoods> goods = new ArrayList<>();
List<LpkGiftBagGoods> records = lpkGiftBagGoodsService.getRecordsByBagSid(sid);
if (!records.isEmpty()) {
for (LpkGiftBagGoods record : records) {
GiftBagGoods bagGoods = new GiftBagGoods();
if (StringUtils.isNotBlank(record.getGoodsNumber())) {
bagGoods.setGoodsNumber(record.getGoodsNumber());
}
if (StringUtils.isNotBlank(record.getGoodsSid())) {
bagGoods.setGoodsSid(record.getGoodsSid());
LpkGoods lpkGoods = lpkGoodsService.fetchBySid(record.getGoodsSid());
if (null != lpkGoods) {
if (StringUtils.isNotBlank(lpkGoods.getName())) {
bagGoods.setName(lpkGoods.getName());
}
if (StringUtils.isNotBlank(lpkGoods.getUnitName())) {
bagGoods.setUnitName(lpkGoods.getUnitName());
}
if (StringUtils.isNotBlank(lpkGoods.getPrice())) {
bagGoods.setPrice(lpkGoods.getPrice());
}
}
}
goods.add(bagGoods);
}
}
vo.setGoods(goods);
}
return rb.success().setData(vo);
}
public ResultBean deleteBag(String sid) {
ResultBean rb = ResultBean.fireFail();
LpkGiftBag lpkGiftBag = fetchBySid(sid);
if (null != lpkGiftBag) {
baseMapper.deleteById(lpkGiftBag.getId());
lpkGiftBagGoodsService.deleteGoodsByBagSid(sid);
}
return rb.success();
}
}

5
src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.java

@ -5,6 +5,8 @@ import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag;
import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoods;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
@ -13,4 +15,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface LpkGiftBagGoodsMapper extends BaseMapper<LpkGiftBagGoods> {
int deleteGoodsByBagSid(String sid);
List<LpkGiftBagGoods> getRecordsByBagSid(String sid);
}

10
src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsMapper.xml

@ -4,4 +4,14 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<delete id="deleteGoodsByBagSid">
DELETE
FROM lpk_giftbag_goods
WHERE giftbagSid = # {sid}
</delete>
<select id="getRecordsByBagSid" resultType="com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoods">
select *
from lpk_giftbag_goods
WHERE giftbagSid = # {sid}
</select>
</mapper>

10
src/main/java/com/yxt/yyth/biz/lpkgiftbaggoods/LpkGiftBagGoodsService.java

@ -5,6 +5,8 @@ import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag;
import com.yxt.yyth.api.lpkgiftbaggoods.LpkGiftBagGoods;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
@ -12,4 +14,12 @@ import org.springframework.stereotype.Service;
@Service
public class LpkGiftBagGoodsService extends MybatisBaseService<LpkGiftBagGoodsMapper, LpkGiftBagGoods> {
public int deleteGoodsByBagSid(String sid) {
return baseMapper.deleteGoodsByBagSid(sid);
}
public List<LpkGiftBagGoods> getRecordsByBagSid(String sid) {
return baseMapper.getRecordsByBagSid(sid);
}
}

10
src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.java

@ -1,9 +1,16 @@
package com.yxt.yyth.biz.lpkgoods;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag;
import com.yxt.yyth.api.lpkgoods.LpkGoods;
import com.yxt.yyth.api.lpkgoods.LpkGoodsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author wangpengfei
@ -13,4 +20,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface LpkGoodsMapper extends BaseMapper<LpkGoods> {
IPage<LpkGoodsVo> goodsListPage(IPage<LpkGoods> page, @Param(Constants.WRAPPER) QueryWrapper<LpkGoods> qw);
List<LpkGoodsVo> getGoods();
}

28
src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsMapper.xml

@ -4,4 +4,32 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="goodsListPage" resultType="com.yxt.yyth.api.lpkgoods.LpkGoodsVo">
select
sid,
date_format(createTime, '%Y-%m-%d') as createTime,
code,
barcode,
`name`,
unitName,
typeCode,
price,
picUrl
from lpk_goods
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getGoods" resultType="com.yxt.yyth.api.lpkgoods.LpkGoodsVo">
select sid,
date_format(createTime, '%Y-%m-%d') as createTime,
code,
barcode,
`name`,
unitName,
typeCode,
price,
picUrl
from lpk_goods
</select>
</mapper>

43
src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsRest.java

@ -1,9 +1,17 @@
package com.yxt.yyth.biz.lpkgoods;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yyth.api.lpkcustomer.LpkCustomerQuery;
import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo;
import com.yxt.yyth.api.lpkgoods.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author wangpengfei
@ -19,6 +27,33 @@ public class LpkGoodsRest {
LpkGoodsService lpkGoodsService;
@ApiOperation("商品信息列表")
@PostMapping("/goodsListPage")
public ResultBean<PagerVo<LpkGoodsVo>> goodsListPage(@RequestBody PagerQuery<LpkGoodsQuery> pq) {
return lpkGoodsService.goodsListPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveGoods")
public ResultBean saveGoods(@RequestBody LpkGoodsDto dto) {
return lpkGoodsService.saveGoods(dto);
}
@ApiOperation("初始化商品")
@GetMapping("/goodsInit/{sid}")
public ResultBean<LpkGoodsDetailsVo> goodsInit(@PathVariable("sid") String sid) {
return lpkGoodsService.goodsInit(sid);
}
@ApiOperation("批量删除商品")
@DeleteMapping("/deleteGoods/{sid}")
public ResultBean deleteGoods(@PathVariable("sid") String sid) {
return lpkGoodsService.deleteGoods(sid);
}
@ApiOperation("礼包选择获取商品信息列表")
@PostMapping("/getGoods")
public ResultBean<List<LpkGoodsVo>> getGoods() {
return lpkGoodsService.getGoods();
}
}

98
src/main/java/com/yxt/yyth/biz/lpkgoods/LpkGoodsService.java

@ -1,10 +1,24 @@
package com.yxt.yyth.biz.lpkgoods;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.yyth.api.lpkgiftbag.LpkGiftBag;
import com.yxt.yyth.api.lpkgoods.LpkGoods;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.yyth.api.lpkgoods.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.List;
/**
* @author wangpengfei
* @date 2023/11/21 15:03
@ -12,4 +26,84 @@ import org.springframework.stereotype.Service;
@Service
public class LpkGoodsService extends MybatisBaseService<LpkGoodsMapper, LpkGoods> {
@Autowired
private FileUploadComponent fileUploadComponent;
public ResultBean<PagerVo<LpkGoodsVo>> goodsListPage(PagerQuery<LpkGoodsQuery> pq) {
ResultBean rb = ResultBean.fireFail();
LpkGoodsQuery query = pq.getParams();
QueryWrapper<LpkGoods> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getName())) {
qw.like("name", query.getName());
}
IPage<LpkGoods> page = PagerUtil.queryToPage(pq);
IPage<LpkGoodsVo> pagging = baseMapper.goodsListPage(page, qw);
PagerVo<LpkGoodsVo> p = PagerUtil.pageToVo(pagging, null);
List<LpkGoodsVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (LpkGoodsVo record : records) {
if (StringUtils.isNotBlank(record.getPicUrl())) {
record.setPicUrl(fileUploadComponent.getUrlPrefix() + record.getPicUrl());
}
}
}
return rb.success().setData(p);
}
public ResultBean saveGoods(LpkGoodsDto dto) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isNotBlank(dto.getSid())) {
LpkGoods lpkGoods = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, lpkGoods, "id", "sid");
if (StringUtils.isNotBlank(dto.getPicUrl())) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = dto.getPicUrl().substring(urlPrefix.length());
lpkGoods.setPicUrl(path);
}
baseMapper.updateById(lpkGoods);
} else {
LpkGoods lpkGoods = new LpkGoods();
BeanUtil.copyProperties(dto, lpkGoods, "id", "sid");
lpkGoods.setCreateTime(new DateTime());
if (StringUtils.isNotBlank(dto.getPicUrl())) {
String urlPrefix = fileUploadComponent.getUrlPrefix();
String path = dto.getPicUrl().substring(urlPrefix.length());
lpkGoods.setPicUrl(path);
}
baseMapper.insert(lpkGoods);
}
return rb.success();
}
public ResultBean<LpkGoodsDetailsVo> goodsInit(String sid) {
ResultBean rb = ResultBean.fireFail();
LpkGoodsDetailsVo vo = new LpkGoodsDetailsVo();
LpkGoods lpkGoods = fetchBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (null != lpkGoods) {
BeanUtil.copyProperties(lpkGoods, vo);
if (StringUtils.isNotBlank(lpkGoods.getPicUrl())) {
vo.setPicUrl(fileUploadComponent.getUrlPrefix() + lpkGoods.getPicUrl());
}
vo.setCreateTime(sdf.format(lpkGoods.getCreateTime()));
}
return rb.success().setData(vo);
}
public ResultBean deleteGoods(String sid) {
ResultBean rb = ResultBean.fireFail();
LpkGoods lpkGoods = fetchBySid(sid);
if (null != lpkGoods) {
baseMapper.deleteById(lpkGoods.getId());
}
return rb.success();
}
public ResultBean<List<LpkGoodsVo>> getGoods() {
ResultBean rb = ResultBean.fireFail();
List<LpkGoodsVo> list = baseMapper.getGoods();
return rb.success().setData(list);
}
}

8
src/main/resources/application-devv.yml

@ -24,10 +24,8 @@ spring:
timeout: 0 # 连接超时时间(毫秒)
image:
xlsxtmpl: E:/code/yxt-yyth/target/classes/static/upload/
upload:
path: D:\supervise\upload\
path: E:/code/yxt-yyth/target/classes/static/upload/
url:
prefix: http://127.0.0.1:8112/upload/
import:
filePath: d:/yxt-supervise-gf/upload/
prefix: http://192.168.0.104:7201/upload/

Loading…
Cancel
Save