luodangjia
2024-08-20 9438642092a1775351dadd7a12b7da119042b0c2
8.20
10个文件已修改
2个文件已添加
209 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/EnterpriseQuery.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/ExchangeDto.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEnterpriseUserApplicationController.java 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TGoodsMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TGoodsService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/dto/EnterpriseQuery.java
New file
@@ -0,0 +1,10 @@
package com.ruoyi.account.api.dto;
import com.ruoyi.common.core.web.domain.BasePojo;
import com.ruoyi.common.core.web.page.BasePage;
import lombok.Data;
@Data
public class EnterpriseQuery extends BasePage {
    private String phone;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -4,8 +4,10 @@
import com.ruoyi.order.api.feignClient.ChargingOrderClient;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.order.api.model.TChargingOrder;
import com.ruoyi.order.api.model.TExchangeOrder;
import com.ruoyi.order.api.query.TActivityStatisticsQuery;
import com.ruoyi.order.api.vo.TActivityVO;
import com.ruoyi.other.api.dto.ExchangeDto;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
@@ -41,6 +43,17 @@
            }
            @Override
            public R<Long> getExchangeById(Integer goodsIds, Long userId) {
                return R.fail("根据订单数" + cause.getMessage());
            }
            @Override
            public R<Long> exchangeCreate(ExchangeDto exchangeDto) {
                return R.fail("创建订单" + cause.getMessage());
            }
            @Override
            public R<TActivityVO> activityStatistics(TActivityStatisticsQuery dto) {
                return R.fail("查询活动费用统计失败:" + cause.getMessage());
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -4,12 +4,15 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.order.api.factory.ChargingOrderFallbackFactory;
import com.ruoyi.order.api.factory.OrderFallbackFactory;
import com.ruoyi.order.api.model.TExchangeOrder;
import com.ruoyi.order.api.query.TActivityStatisticsQuery;
import com.ruoyi.order.api.vo.TActivityVO;
import com.ruoyi.other.api.dto.ExchangeDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -30,6 +33,12 @@
     */
    @PostMapping("/t-exchange-order/getCodeByOrderId")
    public R<List<String>> getCodeByOrderId(String goodsIds);
    //查询已兑换的订单数
    @PostMapping("/t-exchange-order/getById")
    public R<Long> getExchangeById(@RequestParam("goodId") Integer goodId,@RequestParam("userId")  Long userId);
    @PostMapping("/t-exchange-order/create")
    public R<Long> exchangeCreate(@RequestBody ExchangeDto exchangeDto);
    /**
     * 管理后台 活动费用统计
     * @param
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/dto/ExchangeDto.java
New file
@@ -0,0 +1,19 @@
package com.ruoyi.other.api.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ExchangeDto {
    @ApiModelProperty("商品id")
    Integer goodId;
    @ApiModelProperty("地址id")
    Integer addressId;
    @ApiModelProperty("备注")
    String remark;
    @ApiModelProperty(hidden = true)
    Long userId;
    @ApiModelProperty(hidden = true)
    Integer userId;
}
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -177,7 +177,7 @@
    @ApiOperation(tags = {"后台-申请表单-计费模板审核"},value = "查询计费审核分页列表")
    @PostMapping(value = "/auth/pageList")
    public AjaxResult authPageList(@RequestBody TAccountingStrategyQuery query) {
    public AjaxResult<PageInfo<TAccountingStrategyVO>> authPageList(@RequestBody TAccountingStrategyQuery query) {
        Long userid = tokenService.getLoginUser().getUserid();
        Page<TAccountingStrategy> page = accountingStrategyService.lambdaQuery()
                .in(TAccountingStrategy::getFirstUserId, userid)
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
@@ -40,7 +40,7 @@
     * 建桩申请
     */
    @Log(title = "建桩申请", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE)
    @ApiOperation(tags = {"小程序-建桩申请"},value = "建桩申请")
    @ApiOperation(tags = {"小程序-建桩申请","后台-申请表单-申请建桩"},value = "建桩申请")
    @PostMapping(value = "/add")
    public AjaxResult<Boolean> add(@RequestBody TApplyChargingPile dto) {
        // 用户id
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TEnterpriseUserApplicationController.java
@@ -1,6 +1,9 @@
package com.ruoyi.other.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.account.api.dto.EnterpriseQuery;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
@@ -10,10 +13,10 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
@@ -29,6 +32,8 @@
    private final TEnterpriseUserApplicationService enterpriseUserApplicationService;
    private final TokenService tokenService;
    @Resource
    private AppUserClient appUserClient;
    @Autowired
    public TEnterpriseUserApplicationController(TEnterpriseUserApplicationService enterpriseUserApplicationService, TokenService tokenService) {
@@ -40,7 +45,7 @@
     * 添加计费策略管理
     */
    @Log(title = "添加集团用户申请", businessType = BusinessType.INSERT)
    @ApiOperation(tags = {"小程序-计费策略"},value = "添加集团用户申请")
    @ApiOperation(tags = {"小程序-集团用户","后台-申请表单-集团用户"},value = "添加集团用户申请")
    @PostMapping(value = "/add")
    public AjaxResult<Boolean> add(@Validated @RequestBody TEnterpriseUserApplication dto) {
        // 用户id
@@ -49,13 +54,43 @@
    }
    @ApiOperation(tags = {"后台-申请表单-集团用户"},value = "集团用户列表")
    @PostMapping(value = "/page")
    public AjaxResult<Boolean> page(@RequestBody TEnterpriseUserApplication dto) {
    public AjaxResult<Page<TEnterpriseUserApplication>> page(EnterpriseQuery enterpriseQuery) {
        // 用户id
        dto.setAppUserId(tokenService.getLoginUserApplet().getUserId());
        return AjaxResult.ok(enterpriseUserApplicationService.save(dto));
        if (enterpriseQuery.getPhone()!=null) {
            List<Long> userIds = appUserClient.getUserIdsByPhone(enterpriseQuery.getPhone()).getData();
            if (userIds.isEmpty()){
                return AjaxResult.warn("未查询到用户");
            }
            Page<TEnterpriseUserApplication> page = enterpriseUserApplicationService.lambdaQuery().in(TEnterpriseUserApplication::getAppUserId, userIds).page(Page.of(enterpriseQuery.getPageCurr(), enterpriseQuery.getPageSize()));
        return AjaxResult.ok(page);
        }else {
            Page<TEnterpriseUserApplication> page = enterpriseUserApplicationService.lambdaQuery().page(Page.of(enterpriseQuery.getPageCurr(), enterpriseQuery.getPageSize()));
            return AjaxResult.ok(page);
        }
    }
    @ApiOperation(tags = {"后台-申请表单-集团用户"},value = "备注")
    @GetMapping(value = "/remark")
    public AjaxResult pass(Integer id,String remark) {
        // 用户id
        TEnterpriseUserApplication byId = enterpriseUserApplicationService.getById(id);
        byId.setRemark(remark);
        enterpriseUserApplicationService.updateById(byId);
        return AjaxResult.success();
    }
    @ApiOperation(tags = {"后台-申请表单-集团用户"},value = "备注")
    @DeleteMapping(value = "/delete")
    public AjaxResult delete(String ids) {
        String[] split = ids.split(",");
        for (String s : split) {
            enterpriseUserApplicationService.removeById(s);
        }
        return AjaxResult.success();
    }
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -1,12 +1,18 @@
package com.ruoyi.other.controller;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.model.TAppUser;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.other.api.domain.TActivity;
import com.ruoyi.other.api.domain.TGoods;
import com.ruoyi.other.api.dto.AdvertisingDTO;
import com.ruoyi.other.api.dto.ExchangeDto;
import com.ruoyi.other.api.dto.GoodsDTO;
import com.ruoyi.other.service.TActivityService;
import com.ruoyi.other.service.TAdvertisingService;
@@ -14,6 +20,8 @@
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
 * <p>
@@ -30,6 +38,12 @@
    private TGoodsService goodsService;
    @Autowired
    private TActivityService activityService;
    @Resource
    private TokenService tokenService;
    @Resource
    private AppUserClient appUserClient;
    @Resource
    private OrderClient orderClient;
@@ -62,7 +76,7 @@
    @GetMapping("/getInfo")
    @ApiOperation(tags = {"管理后台-商品管理"},value = "商品查看详情")
    @ApiOperation(tags = {"管理后台-商品管理","小程序-兑换商城"},value = "商品查看详情")
    public AjaxResult<TGoods> getInfo(Integer id) {
        return AjaxResult.ok(goodsService.getById(id));
    }
@@ -74,6 +88,44 @@
    public AjaxResult<PageInfo<TGoods>> pageList(@RequestBody GoodsDTO dto) {
        return AjaxResult.ok(goodsService.pageList(dto));
    }
    @ApiOperation(tags = {"小程序-兑换商城"},value = "商品列表分页查询")
    @PostMapping(value = "/app/pageList")
    public AjaxResult<PageInfo<TGoods>> apppageList(BasePage basePage) {
        return AjaxResult.ok(goodsService.pageList1(basePage));
    }
    @ApiOperation(tags = {"小程序-兑换商城"},value = "兑换商品")
    @PostMapping(value = "/app/shop")
    public AjaxResult<PageInfo<TGoods>> shop(@RequestBody ExchangeDto exchangeDto) {
        //查询当前商品信息
        TGoods good = goodsService.getById(exchangeDto.getGoodId());
        //检查当前用户积分是否够
        Long userId = tokenService.getLoginUserApplet().getUserId();
        TAppUser user = appUserClient.getUserById(userId).getData();
        if (user.getPoints()<good.getRedeemPoints()){
            return AjaxResult.error("当前用户积分不足");
        }
        //检查当前用户是否到达兑换上限
        Long count = orderClient.getExchangeById(exchangeDto.getGoodId(), userId).getData();
        if (good.getLimitExchangeTimes()!=-1&&count>=good.getLimitExchangeTimes()){
            return AjaxResult.error("当前用户已到达兑换上限");
        }
        //生成积分兑换成功的订单
        orderClient.exchangeCreate(exchangeDto);
        //如果是优惠卷,赠送优惠卷给用户
        //生成消耗积分的记录
    }
    
    /**
     * 根据id获取商品信息
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/mapper/TGoodsMapper.java
@@ -20,5 +20,6 @@
public interface TGoodsMapper extends BaseMapper<TGoods> {
    List<TGoods> pageList(@Param("pageInfo")PageInfo<TGoods> pageInfo, @Param("req") GoodsDTO dto);
    List<TGoods> pageList1(@Param("pageInfo")PageInfo<TGoods> pageInfo);
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/TGoodsService.java
@@ -1,6 +1,7 @@
package com.ruoyi.other.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.other.api.domain.TGoods;
import com.ruoyi.other.api.dto.GoodsDTO;
@@ -16,5 +17,6 @@
public interface TGoodsService extends IService<TGoods> {
    PageInfo<TGoods> pageList(GoodsDTO dto);
    PageInfo<TGoods> pageList1(BasePage basePage);
}
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/TGoodsServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.other.service.impl;
import com.ruoyi.common.core.web.page.BasePage;
import com.ruoyi.common.core.web.page.PageInfo;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.other.api.domain.TGoods;
@@ -55,4 +56,37 @@
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public PageInfo<TGoods> pageList1(BasePage basePage) {
        GoodsDTO dto = new GoodsDTO();
        dto.setType(2);
        dto.setStatus(1);
        dto.setPageCurr(basePage.getPageCurr());
        dto.setPageSize(basePage.getPageSize());
        PageInfo<TGoods> pageInfo = new PageInfo<>(dto.getPageCurr(),dto.getPageSize());
        List<TGoods> list = this.baseMapper.pageList1(pageInfo);
        StringBuilder stringBuilder = new StringBuilder();
        for (TGoods temp : list) {
            stringBuilder.append(temp.getId()).append(",");
        }
        if (StringUtils.hasLength(stringBuilder)){
            // 去除最后一个字符
            stringBuilder.deleteCharAt(stringBuilder.length()-1);
        }
        if (list.isEmpty()) {
            pageInfo.setRecords(list);
            return pageInfo;
        }
        String string = stringBuilder.toString();
        // 订单号加上商品类型
        String res = string+"-"+dto.getType();
        List<Integer> data = orderClient.getSalesCountByGoodsId(res).getData();
        for (int i = 0; i < list.size(); i++) {
            list.get(i).setSalesCount(data.get(i));
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TGoodsMapper.xml
@@ -50,4 +50,14 @@
        ORDER BY create_time DESC
    </select>
    <select id="pageList1" resultType="com.ruoyi.other.api.domain.TGoods">
        select * from t_goods
        <where>
            AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}
        </where>
        ORDER BY
        CASE WHEN `inventory` = 0 THEN 0 ELSE 1 END DESC,
        `redeem_points` ASC;
    </select>
</mapper>