商品、礼包代码
This commit is contained in:
17
src/main/java/com/yxt/yyth/api/lpkgiftbag/GiftBagGoods.java
Normal file
17
src/main/java/com/yxt/yyth/api/lpkgiftbag/GiftBagGoods.java
Normal file
@@ -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; //商品单价
|
||||
}
|
||||
@@ -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<>();
|
||||
}
|
||||
|
||||
@@ -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<>();
|
||||
}
|
||||
@@ -11,5 +11,5 @@ import lombok.Data;
|
||||
@ApiModel(value = "礼包信息 查询条件", description = "礼包信息 查询条件")
|
||||
@Data
|
||||
public class LpkGiftBagQuery implements Query {
|
||||
|
||||
private String name;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -11,5 +11,5 @@ import lombok.Data;
|
||||
@ApiModel(value = "商品信息 查询条件", description = "商品信息 查询条件")
|
||||
@Data
|
||||
public class LpkGoodsQuery implements Query {
|
||||
|
||||
private String name;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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,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);
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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/
|
||||
|
||||
Reference in New Issue
Block a user