Pu Zhibing
2024-12-09 853572a113fd9b818b230212986c7ef5be605d52
Merge remote-tracking branch 'origin/master'
24个文件已修改
2个文件已添加
354 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/UserAddressClientFallbackFactory.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/UserAddressClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserAddress.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponInfoVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/RemoteOrderGoodsClient.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserAddressController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/VipCenterController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/VipCenterService.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/VipCenterServiceImpl.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderGoodController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/RefundPassController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderGoodMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderGoodService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderGoodServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/ShoppingCartPayment.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderGoodMapper.xml 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsVO.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/UserAddressClientFallbackFactory.java
@@ -20,7 +20,7 @@
            }
            
            @Override
            public R<UserAddress> getUserAddressById(Integer id) {
            public R<UserAddress> getUserAddressById(Long id) {
                return R.fail("根据id获取用户地址信息失败:" + cause.getMessage());
            }
        };
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/UserAddressClient.java
@@ -30,5 +30,5 @@
     * @return
     */
    @PostMapping("/user-address/getUserAddressById")
    R<UserAddress> getUserAddressById(@RequestParam("id") Integer id);
    R<UserAddress> getUserAddressById(@RequestParam("id") Long id);
}
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/model/UserAddress.java
@@ -30,6 +30,10 @@
    @TableId("id")
    private Long id;
    @TableField(exist = false)
    private String idStr;
    @TableField(exist = false)
    private String uid;
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/vo/CouponInfoVo.java
@@ -10,6 +10,7 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
@@ -116,5 +117,9 @@
    @TableField("person_ids")
    private String personIds;
    @ApiModelProperty(value = "商品卷对应的商品名称")
    @TableField(exist = false)
    private List<String> goodNames;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/feignClient/RemoteOrderGoodsClient.java
@@ -26,4 +26,10 @@
     */
    @PostMapping("/order/getOrderListByIds")
    public R<List<Order>> getOrderListByIds(@RequestBody List<Long> orderIds);
    /**
     * 根据用户id和商品id查找订单列表
     */
    @PostMapping("/order/getOrderListByUserIdAndGoodsId")
    public R<List<Order>> getOrderListByUserIdAndGoodsId(@RequestBody OrderGood orderGood);
}
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java
@@ -29,6 +29,11 @@
            public R<Goods> getGoodsById(Integer id) {
                return R.fail("根据id获取商品详情失败:" + cause.getMessage());
            }
            @Override
            public R<List<Goods>> getGoodsById(String [] ids) {
                return R.fail("根据ids获取商品详情失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java
@@ -34,4 +34,7 @@
     */
    @PostMapping("/goods/getGoodsById")
    R<Goods> getGoodsById(@RequestParam("id") Integer id);
    @PostMapping("/goods/getGoodsByIds")
    R<List<Goods>> getGoodsById(@RequestParam("ids") String[]  ids);
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserAddressController.java
@@ -85,6 +85,7 @@
        Long userId = tokenService.getLoginUserApplet().getUserid();
        List<UserAddress> list = userAddressService.lambdaQuery().eq(UserAddress::getAppUserId, userId).orderByDesc(UserAddress::getIsDefault).list();
        for (UserAddress userAddress : list) {
            userAddress.setIdStr(userAddress.getId().toString());
            userAddress.setUid(userAddress.getId().toString());
        }
        return R.ok(list);
@@ -140,6 +141,9 @@
    public R<List<UserAddress>> getUserAddressList(){
        Long userId = tokenService.getLoginUserApplet().getUserid();
        List<UserAddress> list = userAddressService.lambdaQuery().eq(UserAddress::getAppUserId, userId).list();
        for (UserAddress userAddress : list) {
            userAddress.setIdStr(userAddress.getId().toString());
        }
        return R.ok(list);
    }
    
@@ -150,7 +154,7 @@
     */
    @ResponseBody
    @PostMapping("/getUserAddressById")
    public R<UserAddress> getUserAddressById(@RequestParam("id") Integer id){
    public R<UserAddress> getUserAddressById(@RequestParam("id") Long id){
        UserAddress userAddress = userAddressService.getById(id);
        return R.ok(userAddress);
    }
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
@@ -13,9 +13,13 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.account.api.vo.PaymentUserCoupon;
import com.ruoyi.other.api.domain.Goods;
import com.ruoyi.other.api.feignClient.GoodsClient;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.other.api.domain.CouponInfo;
@@ -48,6 +52,8 @@
    @Resource
    private UserPointService userPointService;
    @Resource
    private GoodsClient goodsClient;
@@ -65,6 +71,25 @@
            CouponInfo data = couponClient.detail(record.getCouponId()).getData();
            CouponInfoVo vo = new CouponInfoVo();
            BeanUtils.copyProperties(data,vo);
            //如果是商品券,将商品名称返回
            if (vo.getCouponType()==4){
                List<String> goodNames = new ArrayList<>();
                if (vo.getForGoodIds().equals("-1")){
                        goodNames.add("全部商品");
                }else{
                    String[] split = vo.getForGoodIds().split(",");
                    R<List<Goods>> goodsById = goodsClient.getGoodsById(split);
                    if (goodsById.getData()!=null){
                        for (Goods datum : goodsById.getData()) {
                            goodNames.add(datum.getName());
                        }
                    }
                    vo.setGoodNames(goodNames);
                }
            }
            record.setCouponInfoVo(vo);
            if (record.getUseTime()==null){
                record.setStatus(1);
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/VipCenterController.java
@@ -127,18 +127,14 @@
    public R<Void> test() {
        LoginUser loginUserApplet = tokenService.getLoginUserApplet();
        AppUser appUser = appUserService.getById(loginUserApplet.getUserid());
        if (appUser.getShopPoint() < 500){
            return R.fail("消费积分不足500");
        if (appUser.getShopPoint() >= 500){
            return R.ok();
        }
        if (appUser.getSharePoint() < 500){
            return R.fail("返佣积分不足500");
        if (appUser.getSharePoint() >= 400){
            return R.ok();
        }
        // 当前用户的直推用户
//        List<AppUser> bottomUsers = appUserService.list(new LambdaQueryWrapper<AppUser>()
//                .eq(AppUser::getInviteUserId, loginUserApplet.getUserid())
//                .eq(AppUser::getVipId));
        return null;
        return R.fail();
    }
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/VipCenterService.java
New file
@@ -0,0 +1,24 @@
package com.ruoyi.account.service;
public interface VipCenterService {
    /**
     * 校验准代理的申请条件
     */
    Boolean checkReadyToBeProxy(Long userId);
    /**
     * 校验代理的申请条件
     */
    Boolean checkReadyToBeAgent(Long userId);
    /**
     * 校验总代理的申请条件
     */
    Boolean checkReadyToBeTotalAgent(Long userId);
    /**
     * 校验合伙人的申请条件
     */
    Boolean checkReadyToBePartner(Long userId);
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/VipCenterServiceImpl.java
New file
@@ -0,0 +1,52 @@
package com.ruoyi.account.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.account.api.model.AppUser;
import com.ruoyi.account.service.AppUserService;
import com.ruoyi.account.service.VipCenterService;
import com.ruoyi.common.core.domain.R;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
@RequiredArgsConstructor
public class VipCenterServiceImpl implements VipCenterService {
    private final AppUserService appUserService;
    @Override
    public Boolean checkReadyToBeProxy(Long userId) {
        AppUser appUser = appUserService.getById(userId);
        if (appUser.getShopPoint() >= 500){
            return true;
        }
        if (appUser.getSharePoint() >= 400){
            return true;
        }
        // 当前用户的直推用户
        List<AppUser> bottomUsers = appUserService.list(new LambdaQueryWrapper<AppUser>()
                .eq(AppUser::getInviteUserId, userId)
                .eq(AppUser::getVipId,3));
        if (bottomUsers.size() >= 5){
            return true;
        }
        return false;
    }
    @Override
    public Boolean checkReadyToBeAgent(Long userId) {
        return false;
    }
    @Override
    public Boolean checkReadyToBeTotalAgent(Long userId) {
        return false;
    }
    @Override
    public Boolean checkReadyToBePartner(Long userId) {
        return false;
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -1,17 +1,22 @@
package com.ruoyi.order.controller;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.ruoyi.account.api.feignClient.UserAddressClient;
import com.ruoyi.account.api.model.UserAddress;
import com.ruoyi.common.core.domain.R;
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.order.model.Order;
import com.ruoyi.order.service.OrderService;
import com.ruoyi.order.vo.OrderDetailVO;
import com.ruoyi.order.vo.OrderVO;
import com.ruoyi.system.api.model.LoginUser;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.order.vo.OrderDetailVO;
import com.ruoyi.system.api.model.LoginUser;
import com.ruoyi.order.model.Order;
import javax.annotation.Resource;
import java.util.List;
@@ -31,7 +36,9 @@
    @Resource
    private OrderService orderService;
    @Resource
    TokenService tokenService;
    private TokenService tokenService;
    @Resource
    private UserAddressClient addressClient;
    /**
@@ -42,7 +49,7 @@
            @ApiImplicitParam(value = "订单状态", name = "status", required = true, dataType = "int"),
    })
    @GetMapping("/getMyOrderList")
    public TableDataInfo getMyOrderList(@ApiParam("订单状态") Integer status){
    public TableDataInfo<OrderVO> getMyOrderList(@ApiParam("订单状态") Integer status){
        startPage();
        LoginUser loginUserApplet = tokenService.getLoginUserApplet();
        return getDataTable(orderService.selectOrderListByUserId(status, loginUserApplet.getUserid()));
@@ -90,9 +97,9 @@
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单号", name = "code", required = true, dataType = "String"),
    })
    @GetMapping("/writeOff/{code}")
    public R<Void> writeOff(@PathVariable("code") String code){
        // TODO 待完善
    @GetMapping("/writeOff/{code}/{shopId}")
    public R<Void> writeOff(@PathVariable("code") String code, @PathVariable("shopId") Integer shopId){
        orderService.writeOff(code, shopId);
        return R.ok();
    }
@@ -122,6 +129,27 @@
        return R.ok();
    }
    /**
     * 更换收货地址
     */
    @ApiOperation(value = "更换收货地址", tags = {"小程序-个人中心-我的订单-更换收货地址"})
    @ApiImplicitParams({
            @ApiImplicitParam(value = "订单id", name = "orderId", required = true, dataType = "int"),
    })
    @GetMapping("/changeAddress")
    public R<Void> changeAddress(@RequestParam("orderId") Long orderId, @RequestParam("addressId") Long addressId){
        R<UserAddress> userAddressR = addressClient.getUserAddressById(addressId);
        if(R.isError(userAddressR)){
            return R.fail("收货地址不存在");
        }
        UserAddress userAddress = userAddressR.getData();
        String addressJson = JSONObject.toJSONString(userAddress);
        orderService.update(new LambdaUpdateWrapper<Order>()
                .eq(Order::getId, orderId)
                .set(Order::getAddressJson, addressJson));
        return R.ok();
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderGoodController.java
@@ -35,5 +35,10 @@
                .in(OrderGood::getGoodsId, goodsIds));
        return R.ok(orderGoods);
    }
    @GetMapping("/getOrderListByUserIdAndGoodsId")
    public R<List<OrderGood>> getOrderListByUserIdAndGoodsId(Long userId, Long goodsId){
        return R.ok(orderGoodService.getOrderListByUserIdAndGoodsId(userId, goodsId));
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/RefundPassController.java
@@ -60,7 +60,7 @@
            return R.fail("权限不足");
        }
        RefundPass one = refundPassService.getOne(new LambdaQueryWrapper<RefundPass>().eq(RefundPass::getOrderId, orderId)
                .eq(RefundPass::getDelFlag, 0).last(" order by createTime desc limit 0,1"));
                .eq(RefundPass::getDelFlag, 0).last(" order by create_time desc limit 0,1"));
        one.setIdStr(one.getId().toString());
        return R.ok(one);
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderGoodMapper.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.order.model.OrderGood;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -12,5 +15,6 @@
 * @since 2024-11-21
 */
public interface OrderGoodMapper extends BaseMapper<OrderGood> {
    public List<OrderGood> getOrderListByUserIdAndGoodsId(@Param("userId") Long userId,@Param("goodsId") Long goodsId);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderGoodService.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.order.model.OrderGood;
import java.util.List;
/**
 * <p>
 *  服务类
@@ -13,4 +15,6 @@
 */
public interface OrderGoodService extends IService<OrderGood> {
    public List<OrderGood> getOrderListByUserIdAndGoodsId(Long userId, Long goodsId);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderGoodServiceImpl.java
@@ -4,7 +4,11 @@
import com.ruoyi.order.mapper.OrderGoodMapper;
import com.ruoyi.order.model.OrderGood;
import com.ruoyi.order.service.OrderGoodService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
 * <p>
@@ -15,6 +19,12 @@
 * @since 2024-11-21
 */
@Service
@RequiredArgsConstructor
public class OrderGoodServiceImpl extends ServiceImpl<OrderGoodMapper, OrderGood> implements OrderGoodService {
    private final OrderGoodMapper orderGoodMapper;
    @Override
    public List<OrderGood> getOrderListByUserIdAndGoodsId(Long userId, Long goodsId) {
        return orderGoodMapper.getOrderListByUserIdAndGoodsId(userId, goodsId);
    }
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -629,12 +629,15 @@
        if(data.size() != goodsList.size()){
            String goodsName = "";
            for (Integer goodsId : goodsIds) {
                if(!collect.contains(goodsId)){
                    goodsName = goodsClient.getGoodsById(goodsId).getData().getName();
                Goods goods = goodsClient.getGoodsById(goodsId).getData();
                if(1 == goods.getAppointStore() && !collect.contains(goodsId)){
                    goodsName = goods.getName();
                    break;
                }
            }
            return R.fail(goodsName + "不能在该门店核销");
            if(StringUtils.isNotEmpty(goodsName)){
                return R.fail(goodsName + "不能在该门店核销");
            }
        }
        //开始构建支付信息
        //现金支付的订单金额
@@ -853,12 +856,15 @@
                orderGood.setSeckillJson(JSON.toJSONString(goodsSeckill));
            }
            for (int i = 0; i < objects.size(); i++) {
                Integer id = objects.getJSONObject(i).getInteger("id");
                Integer num1 = objects.getJSONObject(i).getInteger("num");
                orderGood.setNum(num1);
                Goods goods1 = goodsClient.getGoodsById(id).getData();
                orderGood.setGoodJson(JSON.toJSONString(goods1));
                break;
                Long id = objects.getJSONObject(i).getLong("id");
                if(myShoppingCartVo.getId().equals(id.toString())){
                    ShoppingCart shoppingCart = this.getById(id);
                    Integer num1 = objects.getJSONObject(i).getInteger("num");
                    orderGood.setNum(num1);
                    Goods goods1 = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
                    orderGood.setGoodJson(JSON.toJSONString(goods1));
                    break;
                }
            }
            orderGood.setDelFlag(0);
            orderGood.setCreateTime(LocalDateTime.now());
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/ShoppingCartPayment.java
@@ -24,7 +24,7 @@
    @ApiModelProperty(value = "配送方式(1=自提,2=快递)", required = false)
    private Integer distributionMode;
    @ApiModelProperty(value = "配送地址id", required = false)
    private Integer userAddressId;
    private Long userAddressId;
    @ApiModelProperty(value = "预计提货时间", required = false)
    private String expectedDeliveryTime;
}
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderGoodMapper.xml
@@ -1,7 +1,13 @@
<?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.account.mapper.OrderGoodMapper">
<mapper namespace="com.ruoyi.order.mapper.OrderGoodMapper">
    <select id="getOrderListByUserIdAndGoodsId" resultType="com.ruoyi.order.model.OrderGood">
        SELECT
            *
        FROM
            t_order_good og
                LEFT JOIN t_order o ON og.order_id = o.id
        WHERE og.goods_id = #{goodsId} and o.app_user_id = #{userId}
    </select>
</mapper>
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
@@ -88,6 +88,12 @@
        return R.ok(goods);
    }
    @ResponseBody
    @PostMapping("/getGoodsByIds")
    public R<List<Goods>> getGoodsByIds(@RequestParam("ids") String [] ids){
        List<Goods> goods = goodsService.lambdaQuery().in(Goods::getId, ids).eq(Goods::getStatus, 0).list();
        return R.ok(goods);
    }
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/ShareController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.security.service.TokenService;
@@ -109,6 +110,61 @@
    }
    @ApiOperation(value = "添加", tags = {"后台-分享管理"})
    @PostMapping("/manage/add")
    public R<Void> manage(@RequestBody Share share){
        Long userid = tokenService.getLoginUser().getUserid();
        share.setAddType(1);
            share.setAuditStatus(ShareAuditStatus.SUCCESS.getCode());
            share.setObjectId(userid.toString());
        share.setDelFlag(0);
        shareService.save(share);
        return R.ok();
    }
    @ApiOperation(value = "编辑", tags = {"后台-分享管理"})
    @PostMapping("/manage/edit")
    public R<Void> manageedit(@RequestBody Share share){
        shareService.updateById(share);
        return R.ok();
    }
    @ApiOperation(value = "删除", tags = {"后台-分享管理"})
    @GetMapping("/manage/delete")
    public R<Void> managedelete(@RequestParam Integer id){
        shareService.removeById(id);
        return R.ok();
    }
    @ApiOperation(value = "列表", tags = {"后台-分享管理"})
    @GetMapping("/manage/list")
    public R<Void> managelist(String name,Integer addType,@RequestParam Integer PageNum,Integer pageSize){
        shareService.lambdaQuery().like(name!=null,Share::getName,name).eq(addType!=null,Share::getAddType,addType).page(Page.of(pageSize,pageSize));
        return R.ok();
    }
    @ApiOperation(value = "设为小程序分享", tags = {"后台-分享管理"})
    @GetMapping("/manage/set")
    public R<Void> set(@RequestParam Integer id){
        //将所有分享设为不是小程序分享
        List<Share> list = shareService.lambdaQuery().list();
        if (!list.isEmpty()){
            for (Share share : list) {
            }
        }
        //设置小程序分享
        return R.ok();
    }
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
@@ -7,13 +7,12 @@
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.other.api.domain.Goods;
import com.ruoyi.other.api.domain.GoodsArea;
import com.ruoyi.other.api.domain.GoodsVip;
import com.ruoyi.other.api.domain.VipSetting;
import com.ruoyi.other.api.domain.*;
import com.ruoyi.other.enums.GoodsStatus;
import com.ruoyi.other.mapper.GoodsAreaMapper;
import com.ruoyi.other.mapper.GoodsMapper;
import com.ruoyi.other.mapper.GoodsShopMapper;
import com.ruoyi.other.mapper.ShopMapper;
import com.ruoyi.other.service.GoodsService;
import com.ruoyi.other.service.GoodsVipService;
import com.ruoyi.other.service.VipSettingService;
@@ -26,6 +25,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * <p>
@@ -49,6 +49,10 @@
    private GoodsVipService goodsVipService;
    @Resource
    private AppUserClient appUserClient;
    @Resource
    private GoodsShopMapper goodsShopMapper;
    @Resource
    private ShopMapper shopMapper;
    @Override
    public List<GoodsVO> goodsList(Goods search) {
@@ -99,7 +103,14 @@
        }
        Goods goods = this.getById(goodsId);
        List<GoodsShop> goodsShopList = goodsShopMapper.selectList(new LambdaQueryWrapper<GoodsShop>()
                .eq(GoodsShop::getGoodsId, goodsId));
        List<Integer> shopIds = goodsShopList.stream().map(GoodsShop::getShopId).collect(Collectors.toList());
        List<Shop> shopList = shopMapper.selectList(new LambdaQueryWrapper<Shop>()
                .in(Shop::getId, shopIds));
        GoodsVO goodsVO = new GoodsVO();
        goodsVO.setShopList(shopList);
        BeanUtils.copyBeanProp(goodsVO, goods);
        goodsVO.setGoodsId(goods.getId());
        goodsVO.setGoodsName(goods.getName());
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/vo/GoodsVO.java
@@ -1,11 +1,12 @@
package com.ruoyi.other.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.other.api.domain.Shop;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@ApiModel(value="商品热销对象", description="热门商品")
@Data
@@ -39,7 +40,6 @@
    private Integer pointPayment;
    @ApiModelProperty(value = "基础积分")
    @TableField("integral")
    private Integer integral;
    @ApiModelProperty(value = "划线价")
@@ -51,4 +51,11 @@
    @ApiModelProperty(value = "已售数量")
    private Integer saleNum;
    @ApiModelProperty(value = "门店id")
    private Integer shopId;
    @ApiModelProperty(value = "门店列表")
    private List<Shop> shopList;
}
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TechnicianMapper.xml
@@ -36,10 +36,10 @@
        FROM
            t_technician tt
                LEFT JOIN t_technician_subscribe tts ON tt.id = tts.technician_id
                AND tts.`status` != 0
                LEFT JOIN t_technician_score ttsc ON ttsc.technician_id = tt.id
        WHERE
            tts.`status` != 0
          AND tt.`status` = 2
          tt.`status` = 2
          AND tt.del_flag = 0
          AND tt.subscribe_status = 1
          AND tt.id = #{technicianId}
@@ -48,6 +48,7 @@
            tt.`name`,
            tt.introduction,
            tt.home_picture,
            tt.introduction
            tt.introduction,
            tt.info_picture
    </select>
</mapper>