1
phpcjl
2024-12-18 55222e8c5867dd2bdacc046fdf7a6d9e37f55a10
1
5个文件已修改
1个文件已添加
154 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GoodsBargainPrice.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java 93 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/GoodsBargainPriceMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/GoodsBargainPriceMapper.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/GoodsBargainPrice.java
@@ -44,7 +44,7 @@
    @ApiModelProperty(value = "审核人id")
    @TableField("audit_user_id")
    private Integer auditUserId;
    private Long auditUserId;
    @ApiModelProperty(value = "审核时间")
    @TableField("audit_time")
@@ -78,6 +78,10 @@
    @TableField(exist = false)
    private String categoryName;
    @ApiModelProperty(value = "分类id")
    @TableField(exist = false)
    private Integer categoryId;
    @ApiModelProperty(value = "门店名称")
    @TableField(exist = false)
    private String shopName;
@@ -90,4 +94,8 @@
    @TableField(exist = false)
    private String ownerPhone;
    @ApiModelProperty(value = "商品类型")
    @TableField(exist = false)
    private Integer goodsType;
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsBargainPriceController.java
@@ -2,33 +2,25 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.other.api.domain.*;
import com.ruoyi.other.api.domain.GoodsBargainPrice;
import com.ruoyi.other.api.domain.GoodsBargainPriceDetail;
import com.ruoyi.other.api.vo.GetGoodsBargainPrice;
import com.ruoyi.other.service.*;
import com.ruoyi.other.service.GoodsBargainPriceDetailService;
import com.ruoyi.other.service.GoodsBargainPriceService;
import com.ruoyi.other.vo.AddGoodsBargainPriceVo;
import com.ruoyi.other.vo.GoodsBargainPriceInfo;
import com.ruoyi.other.vo.ShopGoodsList;
import com.ruoyi.other.vo.ShopGoodsListVo;
import com.ruoyi.system.api.model.LoginUser;
import io.swagger.annotations.*;
import io.swagger.models.auth.In;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
import static com.alibaba.nacos.shaded.org.checkerframework.checker.units.UnitsTools.g;
/**
 * <p>
@@ -51,18 +43,6 @@
    @Resource
    private TokenService tokenService;
    @Resource
    private GoodsService goodsService;
    @Resource
    private GoodsCategoryService goodsCategoryService;
    @Resource
    private AppUserClient appUserClient;
    @Resource
    private ShopService shopService;
    /**
@@ -156,46 +136,21 @@
     */
    @GetMapping("/list")
    @ApiOperation(value = "列表", tags = {"管理后台-商品管理-门店特殊售价"})
    public R<Page<GoodsBargainPrice>> list(@ApiParam("页码") @RequestParam(value = "pageNum", required = false) Integer pageNum,
    public R<IPage<GoodsBargainPrice>> list(@ApiParam("页码") @RequestParam(value = "pageNum", required = false) Integer pageNum,
                                           @ApiParam("每页数量") @RequestParam(value = "pageSize", required = false) Integer pageSize,
                                           @ApiParam("商品id") @RequestParam(value = "goodsId", required = false) Integer goodsId,
                                           @ApiParam("商品名称") @RequestParam(value = "goodsName", required = false) String goodsName,
                                           @ApiParam("商品类型") @RequestParam(value = "goodsType", required = false) Integer goodsType,
                                           @ApiParam("所属分类") @RequestParam(value = "categoryId", required = false) Integer categoryId,
                                           @ApiParam("审核状态") @RequestParam(value = "auditStatus", required = false) Integer auditStatus) {
        List<Goods> goodsList = goodsService.list(new LambdaQueryWrapper<Goods>()
                .eq(StringUtils.isNotEmpty(goodsName), Goods::getName, goodsName)
                .eq(goodsType != null, Goods::getType, goodsType)
                .eq(categoryId != null, Goods::getGoodsCategoryId, categoryId));
        List<Integer> goodsIds = goodsList.stream().map(Goods::getId).collect(Collectors.toList());
        if (CollectionUtils.isEmpty(goodsIds)){
            return R.ok();
        }
        Page<GoodsBargainPrice> page = goodsBargainPriceService.page(Page.of(pageNum, pageSize), new LambdaQueryWrapper<GoodsBargainPrice>()
                .in(!CollectionUtils.isEmpty(goodsIds), GoodsBargainPrice::getGoodsId, goodsIds)
                .eq(auditStatus != null, GoodsBargainPrice::getAuditStatus, auditStatus));
        page.getRecords().forEach(goodsBargainPrice -> goodsList.stream()
                .filter(goods -> goods.getId().equals(goodsBargainPrice.getGoodsId()))
                .findFirst().ifPresent(g -> {
                    GoodsCategory goodsCategory = goodsCategoryService.getById(g.getGoodsCategoryId());
                    Integer shopId = goodsBargainPrice.getShopId();
                    Shop shop = shopService.getById(shopId);
                    R<AppUser> r = appUserClient.getAppUserByPhone1(shop.getPhone());
                    if (R.isError(r)){
                        throw new RuntimeException("获取店长信息失败");
                    }
                    goodsBargainPrice.setOwnerName(r.getData().getName());
                    goodsBargainPrice.setOwnerPhone(shop.getPhone());
                    goodsBargainPrice.setShopName(shop.getName());
                    goodsBargainPrice.setGoodsName(g.getName());
                    goodsBargainPrice.setCategoryName(goodsCategory.getName());
                }));
        return R.ok(page);
        GoodsBargainPrice bargainPrice = new GoodsBargainPrice();
        bargainPrice.setGoodsName(goodsName);
        bargainPrice.setGoodsId(goodsId);
        bargainPrice.setGoodsType(goodsType);
        bargainPrice.setCategoryId(categoryId);
        bargainPrice.setAuditStatus(auditStatus);
        IPage<GoodsBargainPrice> goodsBargainPriceIPage = goodsBargainPriceService.queryGoodsBargainPricePage(Page.of(pageNum, pageSize), bargainPrice);
        return R.ok(goodsBargainPriceIPage);
    }
    
    
@@ -221,5 +176,23 @@
    public R addGoodsBargainPrice(@RequestBody AddGoodsBargainPriceVo vo){
        return goodsBargainPriceService.addGoodsBargainPrice(vo);
    }
    /**
     * 审核商品
     */
    @PostMapping("/auditGoods")
    @ApiOperation(value = "审核商品", tags = {"管理后台-商品管理-门店特殊售价"})
    public R<Void> auditGoods(@RequestBody GoodsBargainPrice goodsBargainPrice) {
        LoginUser loginUser = tokenService.getLoginUser();
        Integer id = goodsBargainPrice.getId();
        GoodsBargainPrice bargainPrice = goodsBargainPriceService.getById(id);
        bargainPrice.setAuditStatus(goodsBargainPrice.getAuditStatus());
        bargainPrice.setAuditMsg(goodsBargainPrice.getAuditMsg());
        bargainPrice.setAuditUserId(loginUser.getUserid());
        bargainPrice.setAuditTime(LocalDateTime.now());
        goodsBargainPriceService.updateById(bargainPrice);
        return R.ok();
    }
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/GoodsBargainPriceMapper.java
@@ -1,7 +1,10 @@
package com.ruoyi.other.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.other.api.domain.GoodsBargainPrice;
import org.apache.ibatis.annotations.Param;
/**
 * <p>
@@ -13,4 +16,6 @@
 */
public interface GoodsBargainPriceMapper extends BaseMapper<GoodsBargainPrice> {
    IPage<GoodsBargainPrice> queryGoodsBargainPricePage(@Param("page") Page<GoodsBargainPrice> page,@Param("gp") GoodsBargainPrice goodsBargainPrice);
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/GoodsBargainPriceService.java
@@ -1,5 +1,7 @@
package com.ruoyi.other.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.other.api.domain.GoodsBargainPrice;
@@ -34,4 +36,6 @@
     */
    R addGoodsBargainPrice(AddGoodsBargainPriceVo vo);
    IPage<GoodsBargainPrice> queryGoodsBargainPricePage(Page<GoodsBargainPrice> page,GoodsBargainPrice goodsBargainPrice);
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsBargainPriceServiceImpl.java
@@ -1,6 +1,8 @@
package com.ruoyi.other.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.service.TokenService;
@@ -96,4 +98,9 @@
        goodsBargainPriceDetailService.saveBatch(list);
        return R.ok();
    }
    @Override
    public IPage<GoodsBargainPrice> queryGoodsBargainPricePage(Page<GoodsBargainPrice> page, GoodsBargainPrice goodsBargainPrice) {
        return null;
    }
}
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/GoodsBargainPriceMapper.xml
New file
@@ -0,0 +1,35 @@
<?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.ruoyi.other.mapper.GoodsBargainPriceMapper">
    <select id="queryGoodsBargainPricePage" resultType="com.ruoyi.other.api.domain.GoodsBargainPrice">
        SELECT
            tgbp.*,
            tg.`name` AS goodsName,
            tgc.`name` AS categoryName,
            ts.`name` AS shop_name,
            ts.shop_manager AS ownerName,
            ts.phone AS ownerPhone
        FROM
            t_goods_bargain_price tgbp
                INNER JOIN t_goods tg ON tgbp.goods_id = tg.id and tg.del_flag = 0
                INNER JOIN t_shop ts ON tgbp.shop_id = ts.id and tg.del_flag = 0
                LEFT JOIN t_goods_category tgc ON tg.goods_category_id = tgc.id
        where tgbp.del_flag = 0
        <if test="gp.goodsId != null">
            and tgbp.goods_id = #{gp.goodsId}
        </if>
        <if test="gp.goodsName != null and gp.goodsName != ''">
            and tg.`name` like concat('%',#{gp.goodsName},'%')
        </if>
        <if test="gp.goodsType != null and gp.goodsType != ''">
            and tg.`type` = #{gp.goodsType}
        </if>
        <if test="gp.categoryId != null and gp.categoryId != ''">
            and tg.goods_category_id = #{gp.categoryId}
        </if>
        <if test="gp.auditStatus != null and gp.auditStatus != ''">
            and tgbp.audit_status = #{gp.auditStatus}
        </if>
    </select>
</mapper>