Helius
2022-05-28 bcffc7b5e9ece6061192c815af12e3981ff2dbb2
add yunfei
15 files modified
89 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsDto.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/MallGoodsUpdateDto.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java 4 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsListVo.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/OrderListVo.java 3 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallGoodsMapper.xml 2 ●●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderInfoMapper.xml 1 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/modules/MallOrderItemMapper.xml 6 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html 24 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/AddMallGoodsDto.java
@@ -76,4 +76,8 @@
    private Integer goodsType;
    private Integer hasCarriage;
    private BigDecimal carriage;
}
src/main/java/cc/mrbird/febs/mall/dto/MallGoodsUpdateDto.java
@@ -80,4 +80,8 @@
    private Integer goodsType;
    private List<Long> delSkuId;
    private Integer hasCarriage;
    private BigDecimal carriage;
}
src/main/java/cc/mrbird/febs/mall/entity/MallGoods.java
@@ -104,4 +104,8 @@
    @TableField(exist = false)
    private String orderNo;
    private Integer hasCarriage;
    private BigDecimal carriage;
}
src/main/java/cc/mrbird/febs/mall/entity/MallOrderInfo.java
@@ -78,4 +78,6 @@
     * 订单类型 1-普通订单 2-积分订单
     */
    private Integer orderType;
    private BigDecimal carriage;
}
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderItemMapper.java
@@ -2,6 +2,11 @@
import cc.mrbird.febs.mall.entity.MallOrderItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface MallOrderItemMapper extends BaseMapper<MallOrderItem> {
    List<MallOrderItem> selectItemByGoodsIdUnCancel(@Param("goodsId") Long goodsId);
}
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallGoodsService.java
@@ -109,6 +109,10 @@
        //新增商品
        MallGoods mallGoods = MallGoodsConversion.INSTANCE.dtoToEntity(addMallGoodsDto);
        mallGoods.setIsSale(MallGoods.ISSALE_STATUS_DISABLED);
        if (mallGoods.getHasCarriage() == 2) {
            mallGoods.setCarriage(BigDecimal.ZERO);
        }
        mallGoodsMapper.insert(mallGoods);
        String thumbs = addMallGoodsDto.getThumbs();
@@ -337,6 +341,10 @@
        }
        BeanUtil.copyProperties(mallGoodsUpdateDto, mallGoods);
        if (mallGoods.getHasCarriage() == 2) {
            mallGoods.setCarriage(BigDecimal.ZERO);
        }
        mallGoodsMapper.updateById(mallGoods);
        mallGoodsImagesMapper.deleteByGoodsId(mallGoodsUpdateDto.getId());
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -90,6 +90,7 @@
        this.baseMapper.insert(orderInfo);
        BigDecimal total = BigDecimal.ZERO;
        BigDecimal carriage = BigDecimal.ZERO;
        for (AddOrderItemDto item : addOrderDto.getItems()) {
            MallOrderItem orderItem = new MallOrderItem();
@@ -127,6 +128,15 @@
                }
                MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId());
                // 零撸专区购买
                if (new BigDecimal(mallGoods.getPresentPrice()).compareTo(BigDecimal.ZERO) == 0) {
                    List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId());
                    if (CollUtil.isNotEmpty(items)) {
                        throw new FebsException("无法重复领取同一个商品");
                    }
                }
                if (MallGoods.ISSALE_STATUS_DISABLED.equals(mallGoods.getIsSale())) {
                    throw new FebsException(mallGoods.getGoodsName() + "已下架");
                }
@@ -146,6 +156,7 @@
                orderItem.setCostPrice(sku.getCostPrice());
                total = total.add(amount);
                carriage = carriage.add(mallGoods.getCarriage());
                sku.setStock(sku.getStock() - item.getCnt());
                sku.setSkuVolume(sku.getSkuVolume() + item.getCnt());
@@ -159,6 +170,7 @@
        }
        orderInfo.setAmount(total);
        orderInfo.setCarriage(carriage);
        this.baseMapper.updateById(orderInfo);
        agentProducer.sendOrderCancelDelayMsg(orderInfo.getId(), 15 * 60 * 1000L);
@@ -297,7 +309,7 @@
            throw new FebsException("支付密码错误");
        }
        memberWalletService.reduce(orderInfo.getAmount(), mallMember.getId(), field);
        memberWalletService.reduce(orderInfo.getAmount().add(orderInfo.getCarriage()), mallMember.getId(), field);
        return orderInfo.getOrderNo();
    }
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsDetailsVo.java
@@ -51,6 +51,12 @@
    @ApiModelProperty(value = "积分")
    private BigDecimal score;
    @ApiModelProperty(value = "是否有运费")
    private Integer hasCarriage;
    @ApiModelProperty(value = "运费")
    private BigDecimal carriage;
    @ApiModelProperty(value = "轮播图")
    private List<String> images;
src/main/java/cc/mrbird/febs/mall/vo/MallGoodsListVo.java
@@ -37,4 +37,7 @@
    @ApiModelProperty(value = "积分")
    private BigDecimal score;
    @ApiModelProperty(value = "是否有运费 1-是 2-包邮")
    private Integer hasCarriage;
}
src/main/java/cc/mrbird/febs/mall/vo/OrderDetailVo.java
@@ -63,6 +63,9 @@
    @ApiModelProperty(value = "剩余时间")
    private Long remainTime;
    @ApiModelProperty(value = "运费")
    private BigDecimal carriage;
    public Integer getPayMethodType() {
        if (this.payMethod == null) {
            return 0;
src/main/java/cc/mrbird/febs/mall/vo/OrderListVo.java
@@ -36,4 +36,7 @@
    @ApiModelProperty(value = "订单类型 1-普通订单 2-积分订单")
    private Integer orderType;
    @ApiModelProperty(value = "运费")
    private BigDecimal carriage;
}
src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -18,6 +18,8 @@
        <result property="stock" column="stock" />
        <result property="score" column="score" />
        <result property="goodsType" column="goods_type" />
        <result property="hasCarriage" column="has_carriage" />
        <result property="carriage" column="carriage" />
        <collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
            <id property="id" column="style_id" />
            <result property="name" column="style_name" />
src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -96,6 +96,7 @@
        <result column="longitude" property="longitude" />
        <result column="latitude" property="latitude" />
        <result column="order_type" property="orderType" />
        <result column="carriage" property="carriage" />
        <result column="remark" property="remark" />
        <result column="del_flag" property="delFlag" />
        <collection property="items" ofType="cc.mrbird.febs.mall.entity.MallOrderItem">
src/main/resources/mapper/modules/MallOrderItemMapper.xml
@@ -2,4 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cc.mrbird.febs.mall.mapper.MallOrderItemMapper">
    <select id="selectItemByGoodsIdUnCancel" resultType="cc.mrbird.febs.mall.entity.MallOrderItem">
        select a.* from mall_order_item a
            inner join mall_order_info b on a.order_id=b.ID and b.status in (1,2,3,4)
        where a.goods_id=#{goodsId}
    </select>
</mapper>
src/main/resources/templates/febs/views/modules/goods/goodsAddNew.html
@@ -163,6 +163,7 @@
                                                <label class="layui-form-label febs-form-item-require">现价:</label>
                                                <div class="layui-input-block">
                                                    <input type="text" name="presentPrice" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                                                    <div class="layui-form-mid layui-word-aux">现价设置为0进入零撸专区</div>
                                                </div>
                                            </div>
                                        </div>
@@ -171,6 +172,21 @@
                                            <label class="layui-form-label febs-form-item-require">成本价:</label>
                                            <div class="layui-input-block">
                                                <input type="text" name="costPrice" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
                                            </div>
                                        </div>
                                        <div class="layui-form-item">
                                            <label class="layui-form-label">设置运费:</label>
                                            <div class="layui-input-block">
                                                <input type="radio" name="hasCarriage" value="1" title="开启" lay-filter="hasCarriage" />
                                                <input type="radio" name="hasCarriage" value="2" title="关闭" lay-filter="hasCarriage" checked />
                                            </div>
                                        </div>
                                        <div class="layui-form-item carriage-input febs-hide">
                                            <label class="layui-form-label">运费:</label>
                                            <div class="layui-input-block">
                                                <input type="text" name="carriage" placeholder="" autocomplete="off" class="layui-input">
                                            </div>
                                        </div>
@@ -375,6 +391,14 @@
            }
        });
        form.on('radio(hasCarriage)', function(data){
            if (data.value == 2) {
                $('.carriage-input').hide();
            } else {
                $('.carriage-input').show();
            }
        });
        function addTableDate(data) {
            var hasData = table.cache['multiSku'];