40 changed files with 1122 additions and 175 deletions
@ -0,0 +1,35 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbag; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
import java.util.UUID; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:06 |
||||
|
*/ |
||||
|
@ApiModel(value = "礼包信息", description = "礼包信息") |
||||
|
@TableName("applet_giftbag") |
||||
|
@Data |
||||
|
public class RecommendNewUserBag { |
||||
|
private String id; |
||||
|
private String sid = UUID.randomUUID().toString(); |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||
|
private Date createTime; |
||||
|
private String remarks; |
||||
|
private String isEnable; |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||
|
private Date dateStart; |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||
|
private Date dateEnd; |
||||
|
private String name; |
||||
|
private String price; |
||||
|
private String iconUrl; |
||||
|
private String isGrounding; |
||||
|
private String isRecommend; |
||||
|
private String preferentialPrice; |
||||
|
} |
@ -0,0 +1,27 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbag; |
||||
|
|
||||
|
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2024/1/6 15:39 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class RecommendNewUserBagDetailVo { |
||||
|
private String sid; |
||||
|
private String name; |
||||
|
private String dateStart; |
||||
|
private String dateEnd; |
||||
|
private String price; |
||||
|
private String iconUrl; |
||||
|
private String isEnable; |
||||
|
private String isGrounding; |
||||
|
private String isRecommend; |
||||
|
private String remark; |
||||
|
private String count; |
||||
|
private List<GiftBagGoods> goods = new ArrayList<>(); |
||||
|
} |
@ -0,0 +1,31 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbag; |
||||
|
|
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:13 |
||||
|
*/ |
||||
|
@ApiModel(value = "礼包信息 数据传输对象", description = "礼包信息 数据传输对象") |
||||
|
@Data |
||||
|
public class RecommendNewUserBagDto implements Dto { |
||||
|
|
||||
|
private String sid; |
||||
|
private String remarks; |
||||
|
private String dateStart; |
||||
|
private String dateEnd; |
||||
|
private String name; |
||||
|
private String price; |
||||
|
private String iconUrl; |
||||
|
private String isGrounding; |
||||
|
private String isRecommend; |
||||
|
private String preferentialPrice; |
||||
|
//商品sid
|
||||
|
private List<GiftBagGoods> goods = new ArrayList<>(); |
||||
|
} |
@ -0,0 +1,28 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbag; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author Administrator |
||||
|
* @description |
||||
|
* @date 2023/11/22 11:15 |
||||
|
*/ |
||||
|
@Data |
||||
|
public class RecommendNewUserBagInitVo implements Vo { |
||||
|
private String sid; |
||||
|
private String remarks; |
||||
|
private String dateStart; |
||||
|
private String dateEnd; |
||||
|
private String name; |
||||
|
private String price; |
||||
|
private String iconUrl; |
||||
|
private String isRecommend; |
||||
|
private String preferentialPrice; |
||||
|
//商品sid
|
||||
|
private List<GiftBagGoods> goods = new ArrayList<>(); |
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbag; |
||||
|
|
||||
|
import com.yxt.common.core.query.Query; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:31 |
||||
|
*/ |
||||
|
@ApiModel(value = "礼包信息 查询条件", description = "礼包信息 查询条件") |
||||
|
@Data |
||||
|
public class RecommendNewUserBagQuery implements Query { |
||||
|
private String name; |
||||
|
} |
@ -0,0 +1,45 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbag; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods; |
||||
|
import com.yxt.yythmall.api.appletgiftbag.RecommendRecord; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import java.text.DecimalFormat; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:12 |
||||
|
*/ |
||||
|
@Data |
||||
|
@ApiModel(value = "礼包信息 视图数据对象", description = "礼包信息 视图数据对象") |
||||
|
@NoArgsConstructor |
||||
|
public class RecommendNewUserBagVo implements Vo { |
||||
|
private String sid; |
||||
|
private String name;//
|
||||
|
private String dateStart; |
||||
|
private String dateEnd; |
||||
|
private String price;//礼包总价格
|
||||
|
private String prefPrice;//优惠价格
|
||||
|
private String iconUrl;//图片
|
||||
|
private String isEnable; |
||||
|
private String isGrounding; |
||||
|
private String isRecommend;//是否推荐 1 推荐 0 默认
|
||||
|
private String remarks; |
||||
|
private String count;//
|
||||
|
private String goodsSid; |
||||
|
private String weight="0";//重量
|
||||
|
private List<GiftBagGoods> giftBagGoods; |
||||
|
private List<RecommendRecord> recordList; |
||||
|
|
||||
|
public String getPrice() { |
||||
|
DecimalFormat decimalFormat = new DecimalFormat("#0.00"); |
||||
|
if(null==price){ |
||||
|
price="0"; |
||||
|
} |
||||
|
return price=decimalFormat.format(Double.valueOf(price)); |
||||
|
} |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbagdetails; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||
|
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import java.util.Date; |
||||
|
import java.util.UUID; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:06 |
||||
|
*/ |
||||
|
@ApiModel(value = "礼包包含商品信息", description = "礼包包含商品信息") |
||||
|
@TableName("applet_giftbag_goods") |
||||
|
@Data |
||||
|
public class RecommendNewUserBagDetails { |
||||
|
private String id; |
||||
|
private String sid = UUID.randomUUID().toString(); |
||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
||||
|
private Date createTime; |
||||
|
private String remarks; |
||||
|
private String giftbagSid; |
||||
|
private String goodsSid; |
||||
|
private String goodsNumber; |
||||
|
// private String isGrounding;
|
||||
|
private double price; |
||||
|
} |
@ -0,0 +1,14 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbagdetails; |
||||
|
|
||||
|
import com.yxt.common.core.dto.Dto; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:13 |
||||
|
*/ |
||||
|
@ApiModel(value = "礼包包含商品信息 数据传输对象", description = "礼包包含商品信息 数据传输对象") |
||||
|
@Data |
||||
|
public class RecommendNewUserBagDetailsDto implements Dto { |
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbagdetails; |
||||
|
|
||||
|
import com.yxt.common.core.query.Query; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:31 |
||||
|
*/ |
||||
|
@ApiModel(value = "礼包包含商品信息 查询条件", description = "礼包包含商品信息 查询条件") |
||||
|
@Data |
||||
|
public class RecommendNewUserBagDetailsQuery implements Query { |
||||
|
|
||||
|
} |
@ -0,0 +1,23 @@ |
|||||
|
package com.yxt.yythmall.api.recommendnewuserbagdetails; |
||||
|
|
||||
|
import com.yxt.common.core.vo.Vo; |
||||
|
import io.swagger.annotations.ApiModel; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:12 |
||||
|
*/ |
||||
|
@Data |
||||
|
@ApiModel(value = "礼包包含商品信息 视图数据对象", description = "礼包包含商品信息 视图数据对象") |
||||
|
@NoArgsConstructor |
||||
|
public class RecommendNewUserBagDetailsVo implements Vo { |
||||
|
private String goodsName; |
||||
|
private double goodsNumber; |
||||
|
private String picUrl; |
||||
|
private String goodsSid; |
||||
|
private String price; |
||||
|
private String unitName; |
||||
|
private String remarks; |
||||
|
} |
@ -0,0 +1,29 @@ |
|||||
|
package com.yxt.yythmall.biz.recommendnewuserbag; |
||||
|
|
||||
|
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.yythmall.api.appletgiftbag.GiftBagGoodss; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBag; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:03 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface RecommendNewUserBagMapper extends BaseMapper<RecommendNewUserBag> { |
||||
|
|
||||
|
|
||||
|
IPage<RecommendNewUserBagVo> giftBagListPage(IPage<RecommendNewUserBag> page, @Param(Constants.WRAPPER) QueryWrapper<RecommendNewUserBag> qw); |
||||
|
List<RecommendNewUserBagVo> giftBagList(); |
||||
|
|
||||
|
List<RecommendNewUserBagVo> giftBagGoodsList(); |
||||
|
List<GiftBagGoodss> getGoodsByBagSid(@Param("bagSid") String bagSid); |
||||
|
int saveBags(@Param("bags") List<RecommendNewUserBag> bags); |
||||
|
} |
@ -0,0 +1,62 @@ |
|||||
|
<?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.yxt.yythmall.biz.recommendnewuserbag.RecommendNewUserBagMapper"> |
||||
|
<!-- <where> ${ew.sqlSegment} </where>--> |
||||
|
<!-- ${ew.customSqlSegment} --> |
||||
|
|
||||
|
<insert id="saveBags" parameterType="java.util.List"> |
||||
|
insert into lpk_giftbag(sid,createTime,`name`,dateStart,dateEnd) |
||||
|
values |
||||
|
<foreach collection="bags" item="item" index="index" separator=","> |
||||
|
(#{item.sid},#{item.createTime},#{item.name},#{item.dateStart},#{item.dateEnd}) |
||||
|
</foreach> |
||||
|
</insert> |
||||
|
|
||||
|
<select id="giftBagListPage" resultType="com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo"> |
||||
|
select |
||||
|
sid, |
||||
|
`name`, |
||||
|
date_format(dateStart, '%Y-%m-%d') as dateStart, |
||||
|
date_format(dateEnd, '%Y-%m-%d') as dateEnd, |
||||
|
price, |
||||
|
iconUrl, |
||||
|
isEnable, |
||||
|
isGrounding, |
||||
|
isRecommend |
||||
|
from recommend_newuser_bag |
||||
|
<where> |
||||
|
${ew.sqlSegment} |
||||
|
</where> |
||||
|
</select> |
||||
|
<select id="giftBagList" resultType="com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo"> |
||||
|
select |
||||
|
* |
||||
|
from recommend_newuser_bag |
||||
|
where isGrounding=1 |
||||
|
order by isRecommend desc,createTime desc |
||||
|
</select> |
||||
|
<select id="giftBagGoodsList" resultType="com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo"> |
||||
|
select |
||||
|
a.sid, |
||||
|
a.name , |
||||
|
a.iconUrl, |
||||
|
a.price , |
||||
|
a.preferentialPrice as prefPrice |
||||
|
from recommend_newuser_bag a |
||||
|
</select> |
||||
|
<select id="getGoodsByBagSid" resultType="com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss"> |
||||
|
select |
||||
|
a.preferentialPrice as prefPrice, |
||||
|
c.name as name, |
||||
|
c.sid as goodsSid, |
||||
|
c.specificationUnit as specificationUnit, |
||||
|
c.unitName as unitName, |
||||
|
b.goodsNumber as goodsNumber, |
||||
|
c.weight as weight |
||||
|
from recommend_newuser_bag a |
||||
|
left join recommend_newuser_bag_details b on b.giftbagSid=a.sid |
||||
|
left join lpk_goods c on c.sid =b.goodsSid |
||||
|
where a.sid=#{bagSid} |
||||
|
</select> |
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,79 @@ |
|||||
|
package com.yxt.yythmall.biz.recommendnewuserbag; |
||||
|
|
||||
|
import com.yxt.common.core.query.PagerQuery; |
||||
|
import com.yxt.common.core.result.ResultBean; |
||||
|
import com.yxt.common.core.vo.PagerVo; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagDto; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagQuery; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbag.RecommendNewUserBagVo; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:03 |
||||
|
*/ |
||||
|
|
||||
|
@Api(tags = "小程序礼包信息") |
||||
|
@RestController |
||||
|
@RequestMapping("RecommendNewUserBag") |
||||
|
public class RecommendNewUserBagRest { |
||||
|
|
||||
|
@Autowired |
||||
|
RecommendNewUserBagService recommendNewUserBagService; |
||||
|
|
||||
|
|
||||
|
@ApiOperation("礼包信息列表") |
||||
|
@PostMapping("/giftBagListPage") |
||||
|
public ResultBean<PagerVo<RecommendNewUserBagVo>> giftBagListPage(@RequestBody PagerQuery<RecommendNewUserBagQuery> pq) { |
||||
|
return recommendNewUserBagService.giftBagListPage(pq); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("保存修改") |
||||
|
@PostMapping("/saveGiftBag") |
||||
|
public ResultBean<String> saveGiftBag(@RequestBody RecommendNewUserBagDto dto) { |
||||
|
return recommendNewUserBagService.saveGiftBag(dto); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("礼包初始化") |
||||
|
@GetMapping("/giftBagInit/{sid}") |
||||
|
public ResultBean giftBagInit(@PathVariable String sid) { |
||||
|
return recommendNewUserBagService.giftBagInit(sid); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("删除礼包") |
||||
|
@DeleteMapping("/deleteBag/{sid}") |
||||
|
public ResultBean deleteBag(@PathVariable("sid") String sid) { |
||||
|
return recommendNewUserBagService.deleteBag(sid); |
||||
|
} |
||||
|
@ApiOperation("礼包信息列表") |
||||
|
@GetMapping("/giftBagList") |
||||
|
public ResultBean giftBagList() { |
||||
|
return recommendNewUserBagService.giftBagList(); |
||||
|
} |
||||
|
@GetMapping("/isGrounding/{sid}/{state}") |
||||
|
@ApiOperation(value = "设置是否上下架") |
||||
|
public ResultBean isGrounding(@PathVariable("sid")String sid,@PathVariable("state") String state) { |
||||
|
return recommendNewUserBagService.isGrounding(sid, state); |
||||
|
} |
||||
|
@ApiOperation("小程序礼包信息列表") |
||||
|
@GetMapping("/recommendNewUserBagList") |
||||
|
public ResultBean<List<RecommendNewUserBagVo>> recommendNewUserBagList() { |
||||
|
return recommendNewUserBagService.recommendNewUserBagList(); |
||||
|
} |
||||
|
@ApiOperation("礼包初始化") |
||||
|
@GetMapping("/getGiftBagBySid/{sid}") |
||||
|
public ResultBean getGiftBagBySid(@PathVariable String sid) { |
||||
|
return recommendNewUserBagService.getGiftBagBySid(sid); |
||||
|
} |
||||
|
|
||||
|
@ApiOperation("新人专属购买礼包") |
||||
|
@PostMapping("/newUserQuota") |
||||
|
public ResultBean newUserQuota() { |
||||
|
return recommendNewUserBagService.newUserQuota(); |
||||
|
} |
||||
|
} |
@ -0,0 +1,302 @@ |
|||||
|
package com.yxt.yythmall.biz.recommendnewuserbag; |
||||
|
|
||||
|
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.yythmall.api.appletgiftbag.GiftBagGoods; |
||||
|
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoodss; |
||||
|
import com.yxt.yythmall.api.appletgiftbag.RecommendRecord; |
||||
|
import com.yxt.yythmall.api.lpkgoods.LpkGoods; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbag.*; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails; |
||||
|
import com.yxt.yythmall.biz.lpkgoods.LpkGoodsService; |
||||
|
import com.yxt.yythmall.biz.recommendnewuserbagdetails.RecommendNewUserBagDetailsService; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
import java.math.BigDecimal; |
||||
|
import java.text.DecimalFormat; |
||||
|
import java.text.SimpleDateFormat; |
||||
|
import java.util.ArrayList; |
||||
|
import java.util.Collections; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:03 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class RecommendNewUserBagService extends MybatisBaseService<RecommendNewUserBagMapper, RecommendNewUserBag> { |
||||
|
|
||||
|
@Autowired |
||||
|
private FileUploadComponent fileUploadComponent; |
||||
|
@Autowired |
||||
|
private RecommendNewUserBagDetailsService recommendNewUserBagDetailsService; |
||||
|
@Autowired |
||||
|
private LpkGoodsService lpkGoodsService; |
||||
|
|
||||
|
public ResultBean<PagerVo<RecommendNewUserBagVo>> giftBagListPage(PagerQuery<RecommendNewUserBagQuery> pq) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
RecommendNewUserBagQuery query = pq.getParams(); |
||||
|
QueryWrapper<RecommendNewUserBag> qw = new QueryWrapper<>(); |
||||
|
qw.eq("1", "1"); |
||||
|
if (StringUtils.isNotBlank(query.getName())) { |
||||
|
qw.like("name", query.getName()); |
||||
|
} |
||||
|
qw.orderByDesc("isRecommend"); |
||||
|
qw.orderByDesc("createTime"); |
||||
|
IPage<RecommendNewUserBag> page = PagerUtil.queryToPage(pq); |
||||
|
IPage<RecommendNewUserBagVo> pagging = baseMapper.giftBagListPage(page, qw); |
||||
|
PagerVo<RecommendNewUserBagVo> p = PagerUtil.pageToVo(pagging, null); |
||||
|
List<RecommendNewUserBagVo> records = pagging.getRecords(); |
||||
|
records.removeAll(Collections.singleton(null)); |
||||
|
if (!records.isEmpty()) { |
||||
|
for (RecommendNewUserBagVo record : records) { |
||||
|
if (StringUtils.isNotBlank(record.getIconUrl())) { |
||||
|
record.setIconUrl(fileUploadComponent.getUrlPrefix() + record.getIconUrl()); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return rb.success().setData(p); |
||||
|
} |
||||
|
|
||||
|
@Transactional(rollbackFor = Exception.class) |
||||
|
public ResultBean<String> saveGiftBag(RecommendNewUserBagDto dto) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
String sid = ""; |
||||
|
if (StringUtils.isNotBlank(dto.getSid())) { |
||||
|
sid = dto.getSid(); |
||||
|
recommendNewUserBagDetailsService.deleteGoodsByBagSid(dto.getSid()); |
||||
|
RecommendNewUserBag RecommendNewUserBag = fetchBySid(dto.getSid()); |
||||
|
BeanUtil.copyProperties(dto, RecommendNewUserBag, "id", "sid"); |
||||
|
RecommendNewUserBag.setCreateTime(new DateTime()); |
||||
|
if (StringUtils.isNotBlank(dto.getIconUrl())) { |
||||
|
String urlPrefix = fileUploadComponent.getUrlPrefix(); |
||||
|
String path = dto.getIconUrl().substring(urlPrefix.length()); |
||||
|
RecommendNewUserBag.setIconUrl(path); |
||||
|
} |
||||
|
baseMapper.updateById(RecommendNewUserBag); |
||||
|
if (!dto.getGoods().isEmpty()) { |
||||
|
List<GiftBagGoods> goodsList = dto.getGoods(); |
||||
|
for (GiftBagGoods goods : goodsList) { |
||||
|
RecommendNewUserBagDetails RecommendNewUserBagGoods = new RecommendNewUserBagDetails(); |
||||
|
RecommendNewUserBagGoods.setCreateTime(new DateTime()); |
||||
|
RecommendNewUserBagGoods.setGoodsSid(goods.getGoodsSid()); |
||||
|
RecommendNewUserBagGoods.setGiftbagSid(RecommendNewUserBag.getSid()); |
||||
|
RecommendNewUserBagGoods.setGoodsNumber(goods.getGoodsNumber()); |
||||
|
RecommendNewUserBagGoods.setPrice(Double.valueOf(goods.getPrice())); |
||||
|
recommendNewUserBagDetailsService.insert(RecommendNewUserBagGoods); |
||||
|
} |
||||
|
} |
||||
|
} else { |
||||
|
RecommendNewUserBag RecommendNewUserBag = new RecommendNewUserBag(); |
||||
|
sid = RecommendNewUserBag.getSid(); |
||||
|
BeanUtil.copyProperties(dto, RecommendNewUserBag, "id", "sid"); |
||||
|
RecommendNewUserBag.setCreateTime(new DateTime()); |
||||
|
if (StringUtils.isNotBlank(dto.getIconUrl())) { |
||||
|
String urlPrefix = fileUploadComponent.getUrlPrefix(); |
||||
|
String path = dto.getIconUrl().substring(urlPrefix.length()); |
||||
|
RecommendNewUserBag.setIconUrl(path); |
||||
|
} |
||||
|
baseMapper.insert(RecommendNewUserBag); |
||||
|
if (!dto.getGoods().isEmpty()) { |
||||
|
List<GiftBagGoods> goodsList = dto.getGoods(); |
||||
|
for (GiftBagGoods goods : goodsList) { |
||||
|
RecommendNewUserBagDetails RecommendNewUserBagGoods = new RecommendNewUserBagDetails(); |
||||
|
RecommendNewUserBagGoods.setCreateTime(new DateTime()); |
||||
|
RecommendNewUserBagGoods.setGoodsSid(goods.getGoodsSid()); |
||||
|
RecommendNewUserBagGoods.setGiftbagSid(RecommendNewUserBag.getSid()); |
||||
|
RecommendNewUserBagGoods.setGoodsNumber(goods.getGoodsNumber()); |
||||
|
RecommendNewUserBagGoods.setPrice(Double.valueOf(goods.getPrice())); |
||||
|
recommendNewUserBagDetailsService.insert(RecommendNewUserBagGoods); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return rb.success().setData(sid); |
||||
|
} |
||||
|
|
||||
|
public ResultBean giftBagInit(String sid) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
RecommendNewUserBagInitVo vo = new RecommendNewUserBagInitVo(); |
||||
|
RecommendNewUserBag 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<RecommendNewUserBagDetails> records = recommendNewUserBagDetailsService.getRecordsByBagSid(sid); |
||||
|
if (!records.isEmpty()) { |
||||
|
for (RecommendNewUserBagDetails 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.getPicUrl())) { |
||||
|
bagGoods.setIconUrl(lpkGoods.getPicUrl()); |
||||
|
} |
||||
|
if (StringUtils.isNotBlank(lpkGoods.getUnitName())) { |
||||
|
bagGoods.setUnitName(lpkGoods.getUnitName()); |
||||
|
} |
||||
|
if (StringUtils.isNotBlank(lpkGoods.getPrice())) { |
||||
|
bagGoods.setPrice(lpkGoods.getPrice()); |
||||
|
} |
||||
|
bagGoods.setWeight(lpkGoods.getWeight()); |
||||
|
bagGoods.setSpecificationUnit(lpkGoods.getSpecificationUnit()); |
||||
|
} |
||||
|
} |
||||
|
goods.add(bagGoods); |
||||
|
} |
||||
|
} |
||||
|
vo.setGoods(goods); |
||||
|
} |
||||
|
return rb.success().setData(vo); |
||||
|
} |
||||
|
|
||||
|
public ResultBean deleteBag(String sid) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
RecommendNewUserBag RecommendNewUserBag = fetchBySid(sid); |
||||
|
if (null != RecommendNewUserBag) { |
||||
|
baseMapper.deleteById(RecommendNewUserBag.getId()); |
||||
|
recommendNewUserBagDetailsService.deleteGoodsByBagSid(sid); |
||||
|
} |
||||
|
return rb.success(); |
||||
|
} |
||||
|
|
||||
|
public ResultBean giftBagList() { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
List<RecommendNewUserBagVo> pagging = baseMapper.giftBagList(); |
||||
|
return rb.success().setData(pagging); |
||||
|
} |
||||
|
public ResultBean isGrounding(String sid,String state) { |
||||
|
ResultBean rb = new ResultBean().fail(); |
||||
|
RecommendNewUserBag bag=baseMapper.selectOne(new QueryWrapper<RecommendNewUserBag>().eq("sid",sid)); |
||||
|
bag.setIsGrounding(state); |
||||
|
baseMapper.updateById(bag); |
||||
|
return rb.success().setMsg("修改成功"); |
||||
|
} |
||||
|
|
||||
|
public int saveBags(List<RecommendNewUserBag> bags) { |
||||
|
return baseMapper.saveBags(bags); |
||||
|
} |
||||
|
public ResultBean<List<RecommendNewUserBagVo>> recommendNewUserBagList() { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
List<RecommendNewUserBagVo> list=baseMapper.giftBagList(); |
||||
|
list.forEach(s->{ |
||||
|
// s.setPrice(Double.valueOf(aa(s.getPrice())));
|
||||
|
List<com.yxt.yythmall.api.appletgiftbag.GiftBagGoods> list1=recommendNewUserBagDetailsService.getGoodsByBagSidB(s.getSid()); |
||||
|
list1.forEach(l->{ |
||||
|
l.setCount("共"+Integer.valueOf(l.getGoodsNumber())+l.getUnitName()); |
||||
|
l.setSpec(l.getWeight()+l.getSpecificationUnit()+"/"+l.getUnitName()); |
||||
|
|
||||
|
}); |
||||
|
// List<RecommendNewUserBagGoods> RecommendNewUserBagGoods=RecommendNewUserBagGoodsService.list(new QueryWrapper<RecommendNewUserBagGoods>().eq("giftbagSid",s.getSid()));
|
||||
|
s.setCount(list1.size()+"种蔬菜"); |
||||
|
s.setIconUrl(fileUploadComponent.getUrlPrefix() +s.getIconUrl()); |
||||
|
s.setGiftBagGoods(list1); |
||||
|
}); |
||||
|
|
||||
|
return rb.success().setData(list); |
||||
|
} |
||||
|
public ResultBean<RecommendNewUserBagDetailVo> getGiftBagBySid(String sid ) { |
||||
|
ResultBean rb = ResultBean.fireFail(); |
||||
|
List<com.yxt.yythmall.api.appletgiftbag.GiftBagGoods> goodsList=recommendNewUserBagDetailsService.getGoodsByBagSidA(sid); |
||||
|
RecommendNewUserBagDetailVo RecommendNewUserBagVo=new RecommendNewUserBagDetailVo(); |
||||
|
RecommendNewUserBag s= baseMapper.selectOne(new QueryWrapper<RecommendNewUserBag>().eq("sid",sid)); |
||||
|
double i=0; |
||||
|
DecimalFormat decimalFormat = new DecimalFormat("#0.00"); |
||||
|
for(com.yxt.yythmall.api.appletgiftbag.GiftBagGoods goods:goodsList){ |
||||
|
// i=i+Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getGoodsNumber());
|
||||
|
i=i+Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())*Double.valueOf(goods.getGoodsNumber()); |
||||
|
goods.setIconUrl(fileUploadComponent.getUrlPrefix() +goods.getIconUrl()); |
||||
|
goods.setTotalValue(String.valueOf(decimalFormat.format(Double.valueOf(goods.getGoodsNumber())*Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())))); |
||||
|
// goods.setJPrice(String.valueOf(decimalFormat.format(Double.valueOf(goods.getPrice())*Double.valueOf(goods.getWeight()))));
|
||||
|
goods.setPrice(String.valueOf(decimalFormat.format(Double.valueOf(goods.getJPrice())*Double.valueOf(goods.getWeight())))); |
||||
|
} |
||||
|
RecommendNewUserBagVo.setPrice(decimalFormat.format(i)); |
||||
|
RecommendNewUserBagVo.setGoods(goodsList); |
||||
|
RecommendNewUserBagVo.setName(s.getName()); |
||||
|
return rb.success().setData(RecommendNewUserBagVo); |
||||
|
} |
||||
|
public static String aa(double a){ |
||||
|
BigDecimal d=new BigDecimal(a); |
||||
|
String c= d.setScale(2,BigDecimal.ROUND_HALF_UP).toString(); |
||||
|
return String.valueOf(c); |
||||
|
} |
||||
|
public ResultBean recommendRecord(String sid ) { |
||||
|
ResultBean rb=new ResultBean().fail(); |
||||
|
RecommendNewUserBagVo vo=new RecommendNewUserBagVo(); |
||||
|
RecommendNewUserBag bag=baseMapper.selectOne(new QueryWrapper<RecommendNewUserBag>().eq("sid","e49555f2-5370-45b0-9637-aa4d54c22e31")); |
||||
|
vo.setRemarks(bag.getRemarks()); |
||||
|
vo.setIconUrl(fileUploadComponent.getUrlPrefix() +bag.getIconUrl()); |
||||
|
RecommendRecord recommendRecord=new RecommendRecord(); |
||||
|
recommendRecord.setContent("梧桐居助力您获得7斤白菜"); |
||||
|
RecommendRecord recommendRecord1=new RecommendRecord(); |
||||
|
recommendRecord1.setContent("龙助力您获得7斤白菜"); |
||||
|
RecommendRecord recommendRecord2=new RecommendRecord(); |
||||
|
recommendRecord2.setContent("美人助力您获得15斤土豆"); |
||||
|
List<RecommendRecord> list=new ArrayList<>(); |
||||
|
list.add(recommendRecord); |
||||
|
list.add(recommendRecord1); |
||||
|
list.add(recommendRecord2); |
||||
|
vo.setRecordList(list); |
||||
|
return rb.success().setData(vo); |
||||
|
} |
||||
|
public ResultBean newUserQuota() { |
||||
|
ResultBean rb=new ResultBean().fail(); |
||||
|
List<RecommendNewUserBagVo> s=baseMapper.giftBagGoodsList(); |
||||
|
for (RecommendNewUserBagVo RecommendNewUserBagVo : s) { |
||||
|
List<RecommendNewUserBagDetails> giftBagGoods=recommendNewUserBagDetailsService.list(new QueryWrapper<RecommendNewUserBagDetails>().eq("giftbagSid",RecommendNewUserBagVo.getSid())); |
||||
|
for(RecommendNewUserBagDetails goods:giftBagGoods){ |
||||
|
LpkGoods lpkGoods=lpkGoodsService.getOne(new QueryWrapper<LpkGoods>().eq("sid",goods.getGoodsSid())); |
||||
|
RecommendNewUserBagVo.setWeight(removeZeros(String.valueOf(Double.valueOf(lpkGoods.getWeight())*Double.valueOf(goods.getGoodsNumber())+Double.valueOf(RecommendNewUserBagVo.getWeight())))); |
||||
|
} |
||||
|
RecommendNewUserBagVo.setIconUrl(fileUploadComponent.getUrlPrefix() +RecommendNewUserBagVo.getIconUrl()); |
||||
|
} |
||||
|
return rb.success().setData(s); |
||||
|
} |
||||
|
public ResultBean<List<GiftBagGoodss>> getGoodsByBagSid(String bagSid) { |
||||
|
ResultBean rb=new ResultBean().fail(); |
||||
|
List<GiftBagGoodss> s=baseMapper.getGoodsByBagSid(bagSid); |
||||
|
return rb.success().setData(s); |
||||
|
} |
||||
|
/** |
||||
|
* 去除多余.0 |
||||
|
* @param num |
||||
|
* @return |
||||
|
*/ |
||||
|
public static String removeZeros(String num) { |
||||
|
if (num.indexOf(".") > 0) { |
||||
|
// 去掉多余的0
|
||||
|
num = num.replaceAll("0+?$", ""); |
||||
|
// 如果最后一位是. 则去掉
|
||||
|
num = num.replaceAll("[.]$", ""); |
||||
|
} |
||||
|
return num; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
package com.yxt.yythmall.biz.recommendnewuserbagdetails; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
||||
|
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetailsVo; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
import org.apache.ibatis.annotations.Select; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:03 |
||||
|
*/ |
||||
|
@Mapper |
||||
|
public interface RecommendNewUserBagDetailsMapper extends BaseMapper<RecommendNewUserBagDetails> { |
||||
|
|
||||
|
|
||||
|
int deleteGoodsByBagSid(@Param("sid") String sid); |
||||
|
|
||||
|
@Select("select goods.name as goodsName,bads.goodsNumber ,bads.goodsSid,goods.picUrl,goods.price,goods.unitName,goods.remarks " + |
||||
|
" from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") |
||||
|
List<RecommendNewUserBagDetailsVo> getGoodsByBagSid(String sid); |
||||
|
|
||||
|
@Select("select goods.name as name,bads.goodsNumber ,bads.goodsSid,goods.picUrl as iconUrl,goods.price as jPrice,goods.unitName,goods.content as remark " + |
||||
|
" ,goods.weight, goods.specificationUnit from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") |
||||
|
List<GiftBagGoods> getGoodsByBagSidA(String sid); |
||||
|
@Select("select goods.name as name,bads.goodsNumber ,bads.goodsSid,goods.picUrl as iconUrl,goods.price as jPrice,goods.unitName,goods.content as remark " + |
||||
|
" ,goods.weight, goods.specificationUnit from applet_giftbag_goods bads left join lpk_goods goods on goods.sid =bads.goodsSid where bads.giftbagSid=#{sid}") |
||||
|
List<GiftBagGoods> getGoodsByBagSidB(String sid); |
||||
|
List<RecommendNewUserBagDetails> getRecordsByBagSid(@Param("sid") String sid); |
||||
|
|
||||
|
int saveBagGoods(@Param("bagGoods") List<RecommendNewUserBagDetails> bagGoods); |
||||
|
} |
@ -0,0 +1,24 @@ |
|||||
|
<?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.yxt.yythmall.biz.recommendnewuserbagdetails.RecommendNewUserBagDetailsMapper"> |
||||
|
<!-- <where> ${ew.sqlSegment} </where>--> |
||||
|
<!-- ${ew.customSqlSegment} --> |
||||
|
|
||||
|
<delete id="deleteGoodsByBagSid"> |
||||
|
DELETE |
||||
|
FROM applet_giftbag_goods |
||||
|
WHERE giftbagSid = #{sid} |
||||
|
</delete> |
||||
|
<select id="getRecordsByBagSid" resultType="com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails"> |
||||
|
select * |
||||
|
from applet_giftbag_goods |
||||
|
WHERE giftbagSid = #{sid} |
||||
|
</select> |
||||
|
<insert id="saveBagGoods" parameterType="java.util.List"> |
||||
|
insert into applet_giftbag_goods(sid,createTime,giftbagSid,goodsSid,goodsNumber) |
||||
|
values |
||||
|
<foreach collection="bagGoods" item="item" index="index" separator=","> |
||||
|
(#{item.sid},#{item.createTime},#{item.giftbagSid},#{item.goodsSid},#{item.goodsNumber}) |
||||
|
</foreach> |
||||
|
</insert> |
||||
|
</mapper> |
@ -0,0 +1,24 @@ |
|||||
|
package com.yxt.yythmall.biz.recommendnewuserbagdetails; |
||||
|
|
||||
|
import io.swagger.annotations.Api; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:03 |
||||
|
*/ |
||||
|
|
||||
|
@Api(tags = "礼包包含商品信息") |
||||
|
@RestController |
||||
|
@RequestMapping("recobagdetails") |
||||
|
public class RecommendNewUserBagDetailsRest { |
||||
|
|
||||
|
@Autowired |
||||
|
RecommendNewUserBagDetailsService recommendNewUserBagDetailsService; |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,40 @@ |
|||||
|
package com.yxt.yythmall.biz.recommendnewuserbagdetails; |
||||
|
|
||||
|
import com.yxt.common.base.service.MybatisBaseService; |
||||
|
import com.yxt.yythmall.api.appletgiftbag.GiftBagGoods; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetails; |
||||
|
import com.yxt.yythmall.api.recommendnewuserbagdetails.RecommendNewUserBagDetailsVo; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author wangpengfei |
||||
|
* @date 2023/11/21 15:03 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class RecommendNewUserBagDetailsService extends MybatisBaseService<RecommendNewUserBagDetailsMapper, RecommendNewUserBagDetails> { |
||||
|
|
||||
|
public int deleteGoodsByBagSid(String sid) { |
||||
|
return baseMapper.deleteGoodsByBagSid(sid); |
||||
|
} |
||||
|
|
||||
|
public List<RecommendNewUserBagDetails> getRecordsByBagSid(String sid) { |
||||
|
return baseMapper.getRecordsByBagSid(sid); |
||||
|
} |
||||
|
|
||||
|
public List<RecommendNewUserBagDetailsVo> getGoodsByBagSid(String sid) { |
||||
|
return baseMapper.getGoodsByBagSid(sid); |
||||
|
} |
||||
|
public List<GiftBagGoods> getGoodsByBagSidA(String sid) { |
||||
|
return baseMapper.getGoodsByBagSidA(sid); |
||||
|
} |
||||
|
public List<GiftBagGoods> getGoodsByBagSidB(String sid) { |
||||
|
return baseMapper.getGoodsByBagSidB(sid); |
||||
|
} |
||||
|
|
||||
|
public int saveBagGoods(List<RecommendNewUserBagDetails> bagGoods) { |
||||
|
return baseMapper.saveBagGoods(bagGoods); |
||||
|
} |
||||
|
|
||||
|
} |
Loading…
Reference in new issue