zhibing.pu
2024-08-21 5c41048a7b55e5df92fc88996ef10e58cbf967d1
Merge remote-tracking branch 'origin/master'
15个文件已修改
321 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysOperLog.java 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/RequestParamGlobalFilter.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/FileController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TActivityMapper.xml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/domain/TCoupon.java
@@ -106,8 +106,8 @@
    private BigDecimal vipPaymentAmount;
    @ApiModelProperty(value = "优惠券说明")
    @TableField("explain")
    private String explain;
    @TableField("explains")
    private String explains;
    @ApiModelProperty(value = "说明")
    @TableField("remark")
ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysOperLog.java
@@ -22,7 +22,7 @@
@Data
@ApiModel
@TableName("sys_oper_log")
public class SysOperLog extends BaseEntity {
public class SysOperLog {
    private static final long serialVersionUID = 1L;
    
    /**
@@ -156,140 +156,4 @@
    @ApiModelProperty("消耗时间")
    @TableField("cost_time")
    private Long costTime;
    public Long getOperId() {
        return operId;
    }
    public void setOperId(Long operId) {
        this.operId = operId;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public Integer getBusinessType() {
        return businessType;
    }
    public void setBusinessType(Integer businessType) {
        this.businessType = businessType;
    }
    public Integer[] getBusinessTypes() {
        return businessTypes;
    }
    public void setBusinessTypes(Integer[] businessTypes) {
        this.businessTypes = businessTypes;
    }
    public String getMethod() {
        return method;
    }
    public void setMethod(String method) {
        this.method = method;
    }
    public String getRequestMethod() {
        return requestMethod;
    }
    public void setRequestMethod(String requestMethod) {
        this.requestMethod = requestMethod;
    }
    public Integer getOperatorType() {
        return operatorType;
    }
    public void setOperatorType(Integer operatorType) {
        this.operatorType = operatorType;
    }
    public String getOperName() {
        return operName;
    }
    public void setOperName(String operName) {
        this.operName = operName;
    }
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    public String getOperUrl() {
        return operUrl;
    }
    public void setOperUrl(String operUrl) {
        this.operUrl = operUrl;
    }
    public String getOperIp() {
        return operIp;
    }
    public void setOperIp(String operIp) {
        this.operIp = operIp;
    }
    public String getOperParam() {
        return operParam;
    }
    public void setOperParam(String operParam) {
        this.operParam = operParam;
    }
    public String getJsonResult() {
        return jsonResult;
    }
    public void setJsonResult(String jsonResult) {
        this.jsonResult = jsonResult;
    }
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    public String getErrorMsg() {
        return errorMsg;
    }
    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }
    public Date getOperTime() {
        return operTime;
    }
    public void setOperTime(Date operTime) {
        this.operTime = operTime;
    }
    public Long getCostTime() {
        return costTime;
    }
    public void setCostTime(Long costTime) {
        this.costTime = costTime;
    }
}
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/RequestParamGlobalFilter.java
@@ -6,6 +6,7 @@
import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.html.EscapeUtil;
import com.ruoyi.gateway.config.properties.IgnoreWhiteProperties;
import com.ruoyi.gateway.config.properties.XssProperties;
import io.netty.buffer.ByteBufAllocator;
import org.apache.commons.codec.binary.Base64;
@@ -43,9 +44,23 @@
@Component
public class RequestParamGlobalFilter implements GlobalFilter, Ordered {
    
    @Autowired
    private IgnoreWhiteProperties ignoreWhite;
    
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
        ServerHttpRequest request = exchange.getRequest();
        ServerHttpRequest.Builder mutate = request.mutate();
        HttpMethod method = request.getMethod();
        if(method != HttpMethod.POST){
            return chain.filter(exchange.mutate().request(mutate.build()).build());
        }
        // 跳过不需要验证的路径
        String url = request.getURI().getPath();
        if (StringUtils.matches(url, ignoreWhite.getWhites())) {
            return chain.filter(exchange);
        }
        ServerHttpRequestDecorator httpRequestDecorator = requestDecorator(exchange);
        return chain.filter(exchange.mutate().request(httpRequestDecorator).build());
    }
ruoyi-gateway/src/main/java/com/ruoyi/gateway/filter/SignFilter.java
@@ -51,6 +51,9 @@
    @Value("${security.sign}")
    private boolean parameter_signature;
    @Autowired
    private IgnoreWhiteProperties ignoreWhite;
    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
@@ -61,6 +64,11 @@
        if(method != HttpMethod.POST){
            return chain.filter(exchange.mutate().request(mutate.build()).build());
        }
        // 跳过不需要验证的路径
        String url = request.getURI().getPath();
        if (StringUtils.matches(url, ignoreWhite.getWhites())) {
            return chain.filter(exchange);
        }
        String sign = request.getHeaders().getFirst(TokenConstants.SIGN);
        String nonce_str = request.getHeaders().getFirst(TokenConstants.NONCE_STR);
        if (parameter_signature && StringUtils.isEmpty(sign)) {
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -174,6 +174,9 @@
    public AjaxResult<List<String>> getRoleSiteName(@PathVariable Integer roleId){
        List<Integer> ids = roleSiteClient.getSiteIds(roleId.longValue()).getData();
        List<Site> data = siteClient.getSiteByIds(ids).getData();
        if(null == data){
            return AjaxResult.success(new ArrayList<>());
        }
        List<String> siteNames = data.stream().map(Site::getName).collect(Collectors.toList());
        return AjaxResult.success(siteNames);
    }
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -14,10 +14,7 @@
import com.ruoyi.system.domain.vo.MetaVo;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.domain.vo.TreeSelect;
import com.ruoyi.system.mapper.SysMenuMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysRoleMenuMapper;
import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.service.ISysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -27,6 +24,8 @@
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import javax.annotation.Resource;
/**
 * 菜单 业务层处理
@@ -52,6 +51,12 @@
    @Autowired
    private SysUserRoleMapper sysUserRoleMapper;
    @Resource
    private SysUserMapper sysUserMapper;
    /**
     * 根据用户查询系统菜单列表
@@ -352,7 +357,9 @@
    @Override
    public List<SysMenus> getAllMenu() {
        Long roleId = tokenService.getLoginUser().getSysUser().getRoles().get(0).getRoleId();
        Long userid = tokenService.getLoginUser().getUserid();
        SysUserRole sysUserRole = sysUserRoleMapper.selectSysUserRoleByUserId(userid);
        Long roleId = sysUserRole.getRoleId();
        List<SysMenus> list=null;
        if(roleId!=1){
            list = menuMapper.getAllOne();
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/TAppCouponController.java
@@ -145,7 +145,7 @@
     * @return 优惠券ids 查询每个优惠券的发放数量
     */
    @PostMapping("/getCountByCouponIds")
    public R<List<Integer>> getCountByCouponIds(@RequestParam("couponIds") String couponIds) {
    public R<List<Integer>> getCountByCouponIds( String couponIds) {
        // 最终结果 和优惠券id一一对应
        List<Integer> res = new ArrayList<>();
        String[] split = couponIds.split(",");
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/FileController.java
@@ -21,7 +21,6 @@
 */
@Api(tags = "服务器文件上传")
@RestController
@CrossOrigin
@RequestMapping("/file/")
public class FileController {
@@ -47,7 +46,7 @@
        // 获取文件名称
        String filename = mf.getOriginalFilename();
        // 获取文件后缀
        String ext = filename.substring(filename.lastIndexOf("."), filename.length());
        String ext = filename.substring(filename.lastIndexOf(".") + 1, filename.length());
        // 检查文件类型
        if (!fileUploadConfig.getAllowExt().contains(ext)) {
            return AjaxResult.error("上传文件格式不正确,仅支持" + fileUploadConfig.getAllowExt());
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/SiteController.java
@@ -109,7 +109,7 @@
        return AjaxResult.success(siteService.list(new QueryWrapper<>()));
    }
    @PostMapping("/getSiteListGun")
    @GetMapping("/getSiteListGun")
    @ApiOperation(value = "获取站点列表 不分页", tags = {"管理后台-接口信息使用"})
    public AjaxResult<List<Site>> getSiteListGun(){
        return AjaxResult.success(siteService.getSiteListGun());
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TAccountingStrategyController.java
@@ -23,6 +23,8 @@
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.log.enums.OperatorType;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -34,9 +36,12 @@
import java.math.BigDecimal;
import java.math.BigInteger;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Arrays;
import java.util.List;
import static com.ruoyi.common.core.context.SecurityContextHolder.getUserId;
/**
 * <p>
@@ -97,6 +102,11 @@
    @ApiOperation(tags = {"后台-计费策略", "管理后台-站点管理"},value = "添加计费策略")
    @PostMapping(value = "/add")
    public AjaxResult<Integer> add(@RequestBody TAccountingStrategyDTO dto) {
        if(null != dto.getSiteId()){
            dto.setAuditStatus(3);
        }
        Long userId = SecurityUtils.getLoginUser().getUserid();
        dto.setUserId(userId);
        accountingStrategyService.save(dto);
        // 添加明细
        dto.getAccountingStrategyDetails().forEach(detail -> detail.setAccountingStrategyId(dto.getId()));
@@ -132,10 +142,14 @@
        TAccountingStrategyVO accountingStrategyVO = new TAccountingStrategyVO();
        BeanUtils.copyProperties(accountingStrategy,accountingStrategyVO);
        // 查询用户信息
        if(null != accountingStrategy.getFirstUserId()){
        String firstUserName = sysUserClient.getSysUser(accountingStrategy.getFirstUserId()).getData().getNickName();
        String twoUserName = sysUserClient.getSysUser(accountingStrategy.getTwoUserId()).getData().getNickName();
        accountingStrategyVO.setFirstUserName(firstUserName);
        }
        if(null != accountingStrategy.getTwoUserId()){
            String twoUserName = sysUserClient.getSysUser(accountingStrategy.getTwoUserId()).getData().getNickName();
        accountingStrategyVO.setTwoUserName(twoUserName);
        }
        return AjaxResult.ok(accountingStrategyVO);
    }
@@ -183,38 +197,52 @@
        return AjaxResult.ok(accountingStrategyService.pageList(query));
    }
//    @ApiOperation(tags = {"后台-申请表单-计费模板审核"},value = "审核")
//    @PostMapping(value = "/auth/pass")
//    public AjaxResult<PageInfo<TAccountingStrategyVO>> authPass(@RequestBody SteategyPassDto steategyPassDto) {
//        TAccountingStrategy byId = accountingStrategyService.getById(steategyPassDto.getId());
//        Long userId = tokenService.getLoginUser().getSysUser().getUserId();
//        if (byId.getAuditStatus()==1&&byId.getFirstUserId()!=userId){
//            return AjaxResult.error("您不是一级审核人员,无法审核");
//        }
//        if (byId.getAuditStatus()==2&&byId.getTwoUserId()!=userId){
//            return AjaxResult.error("您不是二级审核人员,无法审核");
//        }
//        if (steategyPassDto.getPass()==1){
//            if (byId.getAuditStatus()==1){
//
//                byId.setAuditStatus(2);
//                byId.setFirstRemark(steategyPassDto.getRemark());
//
//            }else if (byId.getAuditStatus()==2){
//                byId.setAuditStatus(3);
//                byId.setTwoRemark(steategyPassDto.getRemark());
//
//            }
//        }else {
//            byId.setAuditStatus(4);
//        }
//
//
//
//
//
//
//    }
    @ApiOperation(tags = {"后台-申请表单-计费模板审核"},value = "审核")
    @PostMapping(value = "/auth/pass")
    public AjaxResult<PageInfo<TAccountingStrategyVO>> authPass(@RequestBody SteategyPassDto steategyPassDto) {
        TAccountingStrategy byId = accountingStrategyService.getById(steategyPassDto.getId());
        Long userId = SecurityUtils.getLoginUser().getUserid();
        if (byId.getAuditStatus()==1&&byId.getFirstUserId()!=userId){
            return AjaxResult.error("您不是一级审核人员,无法审核");
        }
        if (byId.getAuditStatus()==2&&byId.getTwoUserId()!=userId){
            return AjaxResult.error("您不是二级审核人员,无法审核");
        }
        if (steategyPassDto.getPass()==1){
            if (byId.getAuditStatus()==1){
                byId.setAuditStatus(2);
                byId.setFirstRemark(steategyPassDto.getRemark());
                byId.setFirstAuditTime(LocalDateTime.now());
            }else if (byId.getAuditStatus()==2){
                byId.setAuditStatus(3);
                byId.setTwoRemark(steategyPassDto.getRemark());
                byId.setTwoAuditTime(LocalDateTime.now());
            }
        }else {
            byId.setAuditStatus(4);
        }
        accountingStrategyService.updateById(byId);
        return AjaxResult.success();
    }
    @ApiOperation(tags = {"后台-申请表单-计费模板审核"},value = "删除")
    @DeleteMapping(value = "/delete")
    public R delete(String ids) {
        String[] split = ids.split(",");
        for (String s : split) {
            accountingStrategyService.removeById(s);
        }
        return R.ok();
    }
    /**
     * 小程序远程调用 根据会员折扣、预付金额 计算服务费
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TApplyChargingPileController.java
@@ -6,6 +6,7 @@
import com.ruoyi.chargingPile.api.dto.ApplyChargingRemarkDto;
import com.ruoyi.chargingPile.api.model.TApplyChargingPile;
import com.ruoyi.chargingPile.service.TApplyChargingPileService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.domain.AjaxResult;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
@@ -40,12 +41,20 @@
     * 建桩申请
     */
    @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
        Long userId = tokenService.getLoginUserApplet().getUserId();
        dto.setAppUserId(userId);
        return AjaxResult.ok(applyChargingPileService.save(dto));
    }
    @Log(title = "建桩申请", businessType = BusinessType.INSERT,operatorType = OperatorType.MOBILE)
    @ApiOperation(tags = {"后台-申请表单-申请建桩"},value = "建桩申请")
    @PostMapping(value = "/manage/add")
    public AjaxResult<Boolean> manageAdd(@RequestBody TApplyChargingPile dto) {
        return AjaxResult.ok(applyChargingPileService.save(dto));
    }
@@ -59,6 +68,12 @@
    }
    @ApiOperation(tags = {"后台-申请表单-申请建桩"},value = "导出")
    @PostMapping(value = "/export")
    public R export() {
            return R.ok();
    }
    @ApiOperation(tags = {"后台-申请表单-申请建桩"},value = "详情")
    @PostMapping(value = "/detail/{id}")
    public AjaxResult<TApplyChargingPile> detail(@PathVariable Integer id) {
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java
@@ -114,8 +114,8 @@
     */
    @Log(title = "结束充电", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
    @ApiOperation(tags = {"后台-充电枪"},value = "结束充电")
    @PostMapping(value = "/stopCharging")
    public AjaxResult<String> stopCharging() {
    @PutMapping(value = "/stopCharging")
    public AjaxResult<String> stopCharging(@RequestParam("id") Integer id) {
        // TODO 硬件 结束充电
        return AjaxResult.success();
    }
ruoyi-service/ruoyi-chargingPile/src/main/resources/mapper/chargingPile/TChargingGunMapper.xml
@@ -56,7 +56,7 @@
                AND tcg.status = #{query.status}
            </if>
            <if test="query.chargeMode != null">
                AND tcg.chargeMode = #{query.chargeMode}
                AND tcg.charge_mode = #{query.chargeMode}
            </if>
            <if test="null != siteIds">
                and tcg.site_id in
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/TGoodsController.java
@@ -115,7 +115,7 @@
            return AjaxResult.error("当前用户已到达兑换上限");
        }
        //生成积分兑换成功的订单
        orderClient.exchangeCreate(exchangeDto);
//        orderClient.exchangeCreate(exchangeDto);
        //如果是优惠卷,赠送优惠卷给用户
ruoyi-service/ruoyi-other/src/main/resources/mapper/other/TActivityMapper.xml
@@ -23,16 +23,16 @@
    <select id="pageList" resultType="com.ruoyi.other.api.domain.TActivity">
        select * from t_activity
        <where>
            <if test="req.name != null and req.name != ''">
                AND  `name` LIKE concat('%',#{req.name}, '%')
            <if test="req.title != null and req.title != ''">
                AND  `name` LIKE concat('%',#{req.title}, '%')
            </if>
            <if test="req.state == 1">
            <if test="req.startState == 1">
                AND  start_time >= NOW()
            </if>
            <if test="req.state == 2">
            <if test="req.startState == 2">
                AND  start_time &lt;= NOW() AND end_time >= NOW()
            </if>
            <if test="req.state == 3">
            <if test="req.startState == 3">
                AND  end_time &lt;= NOW()
            </if>
            AND del_flag = ${@com.ruoyi.common.core.enums.DelFlagEnum@NO.getCode()}