ruoyi若依框架中货道关联商品

package com.dkd.manage.domain.dto;

import lombok.Data;

import java.util.List;
@Data
public class ChannelConfigDto {
private String innerCode;//售货机编号
private List<ChannelSkuDto> channelList;//货道Dto集合
}

package com.dkd.manage.domain.dto;

import lombok.Data;

@Data
public class ChannelSkuDto {
private String innerCode;//售货机编号
private String channelCode;//货道编号
private Long skuId;//商品id
}

controller层

/**
* 货道关联商品
*/
@PreAuthorize("@ss.hasPermi('manage:channel:edit')")
@Log(title = "售货机货道", businessType = BusinessType.UPDATE)
@PutMapping("/config")
public AjaxResult setChannel(@RequestBody ChannelConfigDto channelConfigDto){
return toAjax(channelService.setChannel(channelConfigDto));
}

/**
* 货道关联商品
* @param channelConfigDto
* @return 结果
*/

serviceimpl

@Override
public int setChannel(ChannelConfigDto channelConfigDto) {
//1、将dto转为po对象
List<Channel> channelList = channelConfigDto.getChannelList().stream()
.map(dto -> {
//根据售货机编号和货道编号查询货道信息
Channel channel = channelMapper.getChannelInfo(dto.getInnerCode(), dto.getChannelCode());
if (channel != null) {
//关联最新商品id
channel.setSkuId(dto.getSkuId());
//货道修改时间
channel.setUpdateTime(DateUtils.getNowDate());
}
return channel;
})
.collect(Collectors.toList()); // 注意这里的collect是正确的拼写
//2、批量修改货道
return channelMapper.batchUpdateChannels(channelList);
}

service层

/**
* 货道关联商品
* @param channelConfigDto
* @return 结果
*/
int setChannel(ChannelConfigDto channelConfigDto);

napper层

/**
* 根据售货机编号和货道编号查询货道编号查询货道信息
* @param innenCodde
* @param channelCode
* @return 售货机货道信息
*/
@Select("select * from tb_channel where inner_code=#{innerCode} and channel_code=#{channelCode}")
Channel getChannelInfo(@Param("innerCode") String innerCode,@Param("channelCode") String channelCode);

/**
* 批量修改货道信息
* @param channelList
* @return
*/
int batchUpdateChannels(List<Channel>channelList);

xml

<update id="batchUpdateChannels" parameterType="java.util.List">
<foreach item="channel" index="index" collection="list" separator=";">
UPDATE tb_channel
<trim prefix="SET" suffixOverrides="," prefixOverrides=",">
<if test="channel.channelCode != null and channel.channelCode != ''">channel_code = #{channel.channelCode},</if>
<if test="channel.skuId != null">sku_id = #{channel.skuId},</if>
<if test="channel.vmId != null">vm_id = #{channel.vmId},</if>
<if test="channel.innerCode != null and channel.innerCode != ''">inner_code = #{channel.innerCode},</if>
<if test="channel.maxCapacity != null">max_capacity = #{channel.maxCapacity},</if>
<if test="channel.currentCapacity != null">current_capacity = #{channel.currentCapacity},</if>
<if test="channel.lastSupplyTime != null">last_supply_time = #{channel.lastSupplyTime},</if>
<if test="channel.createTime != null">create_time = #{channel.createTime},</if>
<if test="channel.updateTime != null">update_time = #{channel.updateTime}</if>
</trim>
WHERE id = #{channel.id}
</foreach>
</update>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃java的羊儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值