ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/Order.java
@@ -61,7 +61,7 @@ @ApiModelProperty(value = "支付合计") private BigDecimal totalAmount; @ApiModelProperty(value = "订单状态 1=待支付 2=待发货 3=待收货 4=已完成 5=已取消 6=售后中 7=已退款 8=已退款退货") @ApiModelProperty(value = "订单状态 1=待支付 2=待发货 3=待收货 4=已完成 5=已取消 6=售后中") private OrderStatusEnum orderStatus; @ApiModelProperty(value = "支付时间") ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/SysRole.java
@@ -1,16 +1,15 @@ package com.ruoyi.system.api.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.common.core.annotation.Excel; import com.ruoyi.common.core.annotation.Excel.ColumnType; import com.ruoyi.common.core.web.domain.BaseEntity; import java.util.Set; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import com.baomidou.mybatisplus.annotation.TableField; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.core.annotation.Excel; import com.ruoyi.common.core.annotation.Excel.ColumnType; import com.ruoyi.common.core.web.domain.BaseEntity; /** * 角色表 sys_role @@ -78,19 +77,6 @@ @TableField(exist = false) private Set<String> permissions; /** 车辆数据权限:1=所有数据 2=已租 3=未租 4=已租(仅自己负责的合同) 5=无数据权限 */ private Integer carDataAuth; /** 车务数据权限:1=所有数据 2=已租 3=未租 4=已租(仅自己负责的合同) 5=无数据权限 */ private Integer carTrainOperAuth; /** 合同数据权限:1=所有数据 2=仅自己负责的合同 3=无数据权限 */ private Integer contractDataAuth; /** 公司id */ private Integer companyId; public SysRole() { @@ -101,39 +87,7 @@ { this.roleId = roleId; } public Integer getCarDataAuth() { return carDataAuth; } public void setCarDataAuth(Integer carDataAuth) { this.carDataAuth = carDataAuth; } public Integer getCarTrainOperAuth() { return carTrainOperAuth; } public void setCarTrainOperAuth(Integer carTrainOperAuth) { this.carTrainOperAuth = carTrainOperAuth; } public Integer getContractDataAuth() { return contractDataAuth; } public void setContractDataAuth(Integer contractDataAuth) { this.contractDataAuth = contractDataAuth; } public Integer getCompanyId() { return companyId; } public void setCompanyId(Integer companyId) { this.companyId = companyId; } public Long getRoleId() { return roleId; ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/enums/OrderStatusEnum.java
@@ -16,9 +16,7 @@ GOODS_TO_BE_RECEIVED(3, "待收货"), FINISHED(4, "已完成"), CANCELED(5, "已取消"), AFTER_SALE(6, "售后中"), REFUNDED(7, "已退款"), REFUNDED_AND_RETURNED(8, "已退货退款"); AFTER_SALE(6, "售后中"); @EnumValue private final int code; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/MemberInvoiceOrder.java
@@ -44,7 +44,7 @@ private BigDecimal orderMoney; @ApiModelProperty(value = "订单id") private Integer orderId; private Long orderId; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/MemberInvoiceServiceImpl.java
@@ -208,5 +208,18 @@ memberInvoice.setRemark(dto.getRemark()); } this.updateById(memberInvoice); // 更新关联订单状态 List<MemberInvoiceOrder> memberInvoiceOrderList = iMemberInvoiceOrderService.lambdaQuery() .eq(MemberInvoiceOrder::getInvoiceId, memberInvoice) .list(); Set<Long> orderIdSet = memberInvoiceOrderList.stream() .map(MemberInvoiceOrder::getOrderId) .collect(Collectors.toSet()); if (!orderIdSet.isEmpty()) { iOrderService.lambdaUpdate() .set(Order::getInvoiceStatus, dto.getInvoiceStatus() == 2 ? 3 : 4) .in(Order::getId, orderIdSet).update(); } } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderReturnRequestServiceImpl.java
@@ -262,9 +262,7 @@ boolean result = handleRefund(paymentMethod, paylog, orderNo); if (result) { paylog.setState(3);// 已退款 order.setOrderStatus(OrderStatusEnum.REFUNDED); paylogService.updateById(paylog); orderMapper.updateById(order); } } } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -1065,9 +1065,7 @@ boolean result = handleRefund(paymentMethod, paylog, orderNo); if (result) { paylog.setState(3);// 已退款 order.setOrderStatus(OrderStatusEnum.REFUNDED); iPaylogService.updateById(paylog); this.updateById(order); } OrderReturnRequest orderReturnRequest = new OrderReturnRequest(); orderReturnRequest.setOrderId(id); ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/AgreementController.java
@@ -2,13 +2,21 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.system.domain.Agreement; import com.ruoyi.system.domain.dto.AgreementDTO; import com.ruoyi.system.service.IAgreementService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.List; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; 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.ResponseBody; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; /** @@ -21,14 +29,38 @@ */ @RestController @RequestMapping("/agreement") @Api(tags = "系统管理相关接口") public class AgreementController { @Resource private IAgreementService iAgreementService; @RequestMapping("/getAgreement") @ResponseBody @RequestMapping(value = "/getAgreement/{agreementType}", method = RequestMethod.GET) @ApiOperation(value = "获取用户协议/隐私协议") public R<Agreement> getAgreement(@PathVariable("agreementType") Integer agreementType) { return R.ok(iAgreementService.getAgreement(agreementType)); } /** * 管理后台-获取协议列表 * * @return List<AgreementDTO> */ @ApiOperation("管理后台-获取协议列表") @GetMapping("/list") public R<List<AgreementDTO>> getAgreementList() { List<Agreement> list = iAgreementService.lambdaQuery().last("limit 2").list(); return R.ok(BeanUtils.copyList(list, AgreementDTO.class)); } /** * 保存协议 * * @param dto 协议对象 */ @ApiOperation(value = "管理后台-保存用户协议", notes = "接收一个包含多个AgreementDTO的列表") @PostMapping("/save") public R<?> saveAgreement(@Validated @RequestBody AgreementDTO dto) { iAgreementService.saveAgreement(dto); return R.ok(); } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/CustomConfigController.java
@@ -10,6 +10,8 @@ import com.ruoyi.system.domain.vo.CustomConfigVO; import com.ruoyi.system.service.ICustomConfigService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import javax.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -112,4 +114,43 @@ public R<MgtAfterSaleSettingDTO> getAfterSaleSetting() { return R.ok(iCustomConfigService.getAfterSaleSetting()); } /** * 获取客服电话 * * @return 客服电话 */ @ApiOperation("获取客服电话") @GetMapping("/service-phone") public R<String> servicePhone() { return R.ok(iCustomConfigService.getServicePhone()); } /** * 保存客服电话 * * @param phone 客服电话 */ @ApiOperation("保存客服电话") @PostMapping("/save-service-phone") @ApiImplicitParams({ @ApiImplicitParam(name = "phone", value = "客服电话", example = "18888888888", required = true)}) public R<?> servicePhone(@RequestParam(value = "phone", required = true) String phone) { iCustomConfigService.updateServicePhone(phone); return R.ok(); } /** * 删除客户电话 * * @param phone 客服电话 */ @ApiOperation("删除客服电话") @PostMapping("/delete-service-phone") @ApiImplicitParams({ @ApiImplicitParam(name = "phone", value = "客服电话", example = "18888888888", required = true)}) public R<?> deleteServicePhone(@RequestParam(value = "phone", required = true) String phone) { iCustomConfigService.deleteServicePhone(phone); return R.ok(); } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysRoleController.java
@@ -1,18 +1,19 @@ package com.ruoyi.system.controller; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.management.relation.Role; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.SysDept; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.domain.SysMenus; import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.SysUserRole; @@ -27,21 +28,25 @@ import com.ruoyi.system.service.ISysUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import com.ruoyi.common.core.utils.poi.ExcelUtil; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.SysDept; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** * 角色信息 @@ -72,30 +77,29 @@ @Resource private SysMenuMapper menuMapper; @ApiOperation("获取所有角色信息根据公司id") // @ApiOperation("获取所有角色信息根据公司id") @GetMapping("/list") public AjaxResult list(Integer companyId) { SysRole role = new SysRole(); role.setCompanyId(companyId); List<SysRole> list = roleService.selectRoleList(role); return AjaxResult.success(list); } @ApiOperation("获取所有角色信息根据公司id--分页") // @ApiOperation("获取所有角色信息根据公司id--分页") @GetMapping("/listPage") public AjaxResult listPage(Integer companyId,int pageNumber,int pageSize) { PageInfo<SysRole> pageInfo = new PageInfo<>(pageNumber, pageSize); PageInfo<SysRole> page = roleService.page(pageInfo, new LambdaQueryWrapper<SysRole>().eq(SysRole::getCompanyId, companyId).ne(SysRole::getRoleId,20)); PageInfo<SysRole> page = roleService.page(pageInfo, new LambdaQueryWrapper<SysRole>().ne(SysRole::getRoleId, 20)); return AjaxResult.success(page); } @ApiOperation("角色启用停用") // @ApiOperation("角色启用停用") @GetMapping("/roleStart") public AjaxResult roleStart(Long roleId) { @@ -109,7 +113,7 @@ } @Log(title = "角色管理", businessType = BusinessType.INSERT) @ApiOperation("添加角色") @PostMapping("/roleAdd") public AjaxResult roleAdd(@Validated @RequestBody RoleAddDto dto) @@ -117,8 +121,7 @@ SysRole role = new SysRole(); role.setRoleName(dto.getRoleName()); long count = roleService.count(Wrappers.lambdaQuery(SysRole.class) .eq(SysRole::getRoleName,dto.getRoleName()) .eq(SysRole::getCompanyId,dto.getCompanyId())); .eq(SysRole::getRoleName, dto.getRoleName())); if(count>0){ return AjaxResult.error("角色已存在,请重新输入"); } @@ -126,12 +129,8 @@ if(CollectionUtils.isEmpty(menuIds1)){ return AjaxResult.error("菜单id不能为空"); } role.setMenuIds(dto.getMenuIds().toArray((new Long[dto.getMenuIds().size()]))); role.setMenuIds(dto.getMenuIds().toArray(new Long[0])); // 添加角色 role.setCompanyId(dto.getCompanyId()); role.setCarDataAuth(dto.getCarDataAuth()); role.setCarTrainOperAuth(dto.getCarTrainOperAuth()); role.setContractDataAuth(dto.getContractDataAuth()); role.setCreateBy(SecurityUtils.getUsername()); role.setCreateTime(new Date()); roleService.insertRole(role); @@ -149,15 +148,13 @@ @ApiOperation("角色详情") @GetMapping("/roleInfo") public AjaxResult roleInfo( @RequestParam Long id) @GetMapping("/roleInfo/{id}") public AjaxResult roleInfo( @ApiParam(value = "角色id", name = "id", required = true) @PathVariable("id") Long id) { SysRole role = roleService.selectRoleById(id); RoleInfoVo roleInfoVo = new RoleInfoVo(); roleInfoVo.setRoleId(role.getRoleId()); roleInfoVo.setCarDataAuth(role.getCarDataAuth()); roleInfoVo.setCarTrainOperAuth(role.getCarTrainOperAuth()); roleInfoVo.setContractDataAuth(role.getContractDataAuth()); roleInfoVo.setRoleName(role.getRoleName()); // 获取当前角色的菜单id List<Long> menusId = sysRoleMenuMapper.selectList(new LambdaQueryWrapper<SysRoleMenu>().eq(SysRoleMenu::getRoleId, id)).stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); @@ -224,6 +221,7 @@ return AjaxResult.success(s1); } @Log(title = "角色管理", businessType = BusinessType.UPDATE) @ApiOperation("编辑角色") @PostMapping("/roleUpdate") public AjaxResult roleUpdate(@Validated @RequestBody RoleUpdateDto dto) @@ -231,14 +229,11 @@ SysRole role = new SysRole(); role.setRoleName(dto.getRoleName()); SysRole one = roleService.getOne(new LambdaQueryWrapper<SysRole>().eq(SysRole::getRoleId, dto.getRoleId())); List<SysRole> sysRoles = roleService.isExitUpdate(dto.getRoleName(),dto.getRoleId(),one.getCompanyId()); List<SysRole> sysRoles = roleService.isExitUpdate(dto.getRoleName(), dto.getRoleId()); if(sysRoles.size()>0){ return AjaxResult.error("角色已存在,请重新输入"); } // 编辑角色 role.setCarDataAuth(dto.getCarDataAuth()); role.setCarTrainOperAuth(dto.getCarTrainOperAuth()); role.setContractDataAuth(dto.getContractDataAuth()); role.setUpdateBy(SecurityUtils.getUsername()); role.setUpdateTime(new Date()); role.setRoleId(dto.getRoleId()); @@ -270,6 +265,14 @@ return AjaxResult.success(); } @Log(title = "角色管理", businessType = BusinessType.DELETE) @ApiOperation("删除角色") @DeleteMapping("/{id}") public AjaxResult removeRole( @ApiParam(name = "id", value = "角色ID", required = true) @PathVariable Long id) { roleService.removeRole(id); return AjaxResult.success(); } @Log(title = "角色管理", businessType = BusinessType.EXPORT) @RequiresPermissions("system:role:export") @PostMapping("/export") ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/Agreement.java
@@ -1,6 +1,7 @@ package com.ruoyi.system.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -32,24 +33,31 @@ private Long id; @ApiModelProperty(value = "协议类型 1=用户协议 2=隐私协议") @TableField(value = "agreement_type") private Integer agreementType; @ApiModelProperty(value = "协议内容") @TableField(value = "agreement_content") private String agreementContent; @ApiModelProperty(value = "创建者") @TableField(value = "create_by") private String createBy; @ApiModelProperty(value = "创建时间") @TableField(value = "create_time") private LocalDateTime createTime; @ApiModelProperty(value = "更新者") @TableField(value = "update_by") private String updateBy; @ApiModelProperty(value = "更新时间") @TableField(value = "update_time") private LocalDateTime updateTime; @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") @TableField(value = "del_flag") private Integer delFlag; ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/AgreementDTO.java
New file @@ -0,0 +1,30 @@ package com.ruoyi.system.domain.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import lombok.Data; /** * @author mitao * @date 2024/6/18 */ @Data @ApiModel(value = "协议对象") public class AgreementDTO implements Serializable { private static final long serialVersionUID = 7144114465287126540L; @ApiModelProperty(value = "协议id") private Long id; @ApiModelProperty(value = "协议类型 1=用户协议 2=隐私协议") @NotNull(message = "协议类型不能为空") private Integer agreementType; @ApiModelProperty(value = "协议内容") @NotBlank(message = "协议内容不能为空") private String agreementContent; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/RoleAddDto.java
@@ -1,27 +1,24 @@ package com.ruoyi.system.domain.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.util.List; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.List; @Data public class RoleAddDto { @ApiModel("角色添加数据传输对象") public class RoleAddDto implements Serializable { private static final long serialVersionUID = 5748474501961956215L; @ApiModelProperty("角色名称") @NotBlank(message = "角色名称不能为空") private String roleName; @ApiModelProperty("车辆数据权限:1=所有数据 2=已租 3=未租 4=已租(仅自己负责的合同) 5=无数据权限") private Integer carDataAuth; @ApiModelProperty("车务数据权限:1=所有数据 2=已租 3=未租 4=已租(仅自己负责的合同) 5=无数据权限") private Integer carTrainOperAuth; @ApiModelProperty("合同数据权限:1=所有数据 2=仅自己负责的合同 3=无数据权限") private Integer contractDataAuth; @ApiModelProperty("公司id") @NotNull(message = "公司id不能为空") private Integer companyId; @ApiModelProperty("菜单id") @NotNull(message = "菜单id不能为空") @NotEmpty(message = "菜单id不能为空") private List<Long> menuIds; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/dto/RoleUpdateDto.java
@@ -1,24 +1,27 @@ package com.ruoyi.system.domain.dto; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; import java.util.List; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import lombok.Data; import javax.validation.constraints.NotBlank; import java.util.List; @Data public class RoleUpdateDto { public class RoleUpdateDto implements Serializable { private static final long serialVersionUID = 8640434597899168206L; @ApiModelProperty("角色id") @NotNull(message = "角色id不能为空") private Long roleId; @ApiModelProperty("角色名称") @NotBlank(message = "角色名称不能为空") private String roleName; @ApiModelProperty("车辆数据权限:1=所有数据 2=已租 3=未租 4=已租(仅自己负责的合同) 5=无数据权限") private Integer carDataAuth; @ApiModelProperty("车务数据权限:1=所有数据 2=已租 3=未租 4=已租(仅自己负责的合同) 5=无数据权限") private Integer carTrainOperAuth; @ApiModelProperty("合同数据权限:1=所有数据 2=仅自己负责的合同 3=无数据权限") private Integer contractDataAuth; @ApiModelProperty("菜单id") @NotEmpty(message = "菜单id不能为空") private List<Long> menuIds; } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
@@ -1,9 +1,8 @@ package com.ruoyi.system.mapper; import java.util.List; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.system.api.domain.SysRole; import java.util.List; import org.apache.ibatis.annotations.Param; /** @@ -108,7 +107,7 @@ */ public int deleteRoleByIds(Long[] roleIds); List<SysRole> isExitUpdate(@Param("roleName") String roleName, @Param("roleId") Long roleId, @Param("companyId") Integer companyId); List<SysRole> isExitUpdate(@Param("roleName") String roleName, @Param("roleId") Long roleId); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IAgreementService.java
@@ -2,9 +2,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.domain.Agreement; import org.springframework.web.bind.annotation.PathVariable; import com.ruoyi.system.domain.dto.AgreementDTO; /** * <p> @@ -18,4 +17,10 @@ Agreement getAgreement(Integer agreementType); /** * 保存协议 * * @param dto 协议对象 */ void saveAgreement(AgreementDTO dto); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ICustomConfigService.java
@@ -58,4 +58,25 @@ * @return List<CustomConfigVO> */ MgtAfterSaleSettingDTO getAfterSaleSetting(); /** * 保存客服电话 * * @param phone 客服电话 */ void updateServicePhone(String phone); /** * 获取客服电话 * * @return 客服电话 */ String getServicePhone(); /** * 删除客户电话 * * @param phone 客服电话 */ void deleteServicePhone(String phone); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
@@ -1,11 +1,10 @@ package com.ruoyi.system.service; import java.util.List; import java.util.Set; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.domain.SysUserRole; import java.util.List; import java.util.Set; /** * 角色业务层 @@ -173,6 +172,7 @@ */ public int insertAuthUsers(Long roleId, Long[] userIds); List<SysRole> isExitUpdate(String roleName, Long roleId,Integer companyId); List<SysRole> isExitUpdate(String roleName, Long roleId); void removeRole(Long id); } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/AgreementServiceImpl.java
@@ -3,9 +3,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.domain.Agreement; import com.ruoyi.system.domain.dto.AgreementDTO; import com.ruoyi.system.mapper.AgreementMapper; import com.ruoyi.system.service.IAgreementService; import java.time.LocalDateTime; import java.util.Optional; import org.springframework.stereotype.Service; /** @@ -26,4 +31,30 @@ wrapper.eq(Agreement::getDelFlag,0); return this.getOne(wrapper); } /** * 保存协议 * * @param dto 协议对象 */ @Override public void saveAgreement(AgreementDTO dto) { Optional<Agreement> agreementOpt = this.lambdaQuery() .eq(Agreement::getAgreementType, dto.getAgreementType()).oneOpt(); Agreement agreement; if (agreementOpt.isPresent()) { agreement = agreementOpt.get(); agreement.setAgreementType(dto.getAgreementType()); agreement.setAgreementContent(dto.getAgreementContent()); agreement.setUpdateBy(SecurityUtils.getUsername()); agreement.setUpdateTime(LocalDateTime.now()); this.updateById(agreement); } else { agreement = BeanUtils.copyBean(dto, Agreement.class); agreement.setCreateBy(SecurityUtils.getUsername()); agreement.setCreateTime(LocalDateTime.now()); this.save(agreement); } } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CustomConfigServiceImpl.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.page.BeanUtils; import com.ruoyi.system.api.constants.ConfigEnum; import com.ruoyi.system.api.domain.CustomConfig; @@ -11,8 +13,11 @@ import com.ruoyi.system.mapper.CustomConfigMapper; import com.ruoyi.system.service.ICustomConfigService; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -179,4 +184,85 @@ } return dto; } /** * 保存客服电话 * * @param phone 客服电话 */ @Override public void updateServicePhone(String phone) { Optional<CustomConfig> customConfigByKey = getCustomConfigByKey( ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); if (customConfigByKey.isPresent()) { CustomConfig customConfig = customConfigByKey.get(); String[] split = customConfig.getConfigValue().split(","); if (split.length > 1) { throw new ServiceException("客户电话最多配置两个"); } boolean flag = Arrays.asList(split).contains(phone); if (flag) { throw new ServiceException("客户电话已存在"); } if (StringUtils.isBlank(customConfig.getConfigValue())) { customConfig.setConfigValue(phone); } else { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(customConfig.getConfigValue()); stringBuilder.append(","); stringBuilder.append(phone); customConfig.setConfigValue(stringBuilder.toString()); } customConfig.setUpdateTime(LocalDateTime.now()); this.updateById(customConfig); } else { CustomConfig config = new CustomConfig(); config.setConfigKey(ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); config.setConfigType(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyType()); config.setConfigName(ConfigEnum.PLATFORM_SERVICE_PHONE.getKeyName()); config.setConfigValue(phone); config.setCreateTime(LocalDateTime.now()); this.save(config); } } /** * 获取客服电话 * * @return 客服电话 */ @Override public String getServicePhone() { Optional<CustomConfig> customConfigByKey = getCustomConfigByKey( ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); return customConfigByKey.map(CustomConfig::getConfigValue).orElse(null); } /** * 删除客户电话 * * @param phone 客服电话 */ @Override public void deleteServicePhone(String phone) { Optional<CustomConfig> customConfigByKey = getCustomConfigByKey( ConfigEnum.PLATFORM_SERVICE_PHONE.getKey()); if (customConfigByKey.isPresent()) { CustomConfig customConfig = customConfigByKey.get(); String configValue = customConfig.getConfigValue(); if (StringUtils.isNotBlank(configValue)) { String[] split = configValue.split(","); // 判断当前phone是否存在 boolean flag = Arrays.asList(split).contains(phone); if (flag) { // 删除 split 中与phone相同的元素 configValue = Arrays.stream(split).filter(s -> !s.equals(phone)) .collect(Collectors.joining(",")); customConfig.setConfigValue(configValue); this.updateById(customConfig); } } } } } ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -1,23 +1,6 @@ package com.ruoyi.system.service.impl; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.mapper.SysRoleDeptMapper; import com.ruoyi.system.mapper.SysRoleMapper; import com.ruoyi.system.mapper.SysRoleMenuMapper; import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysRoleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.SpringUtils; @@ -26,6 +9,22 @@ import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.mapper.SysRoleDeptMapper; import com.ruoyi.system.mapper.SysRoleMapper; import com.ruoyi.system.mapper.SysRoleMenuMapper; import com.ruoyi.system.mapper.SysUserRoleMapper; import com.ruoyi.system.service.ISysRoleService; import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * 角色 业务层处理 @@ -249,9 +248,9 @@ public int updateRole(SysRole role) { // 修改角色信息 // roleMapper.updateRole(role); // roleMapper.updateRole(role); // 删除角色与菜单关联 // roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId()); roleMenuMapper.deleteRoleMenuByRoleId(role.getRoleId()); return roleMapper.updateRole(role); } @@ -440,7 +439,17 @@ } @Override public List<SysRole> isExitUpdate(String roleName, Long roleId,Integer companyId) { return roleMapper.isExitUpdate(roleName,roleId,companyId); public List<SysRole> isExitUpdate(String roleName, Long roleId) { return roleMapper.isExitUpdate(roleName, roleId); } @Override public void removeRole(Long id) { SysRole sysRole = this.getById(id); if (StringUtils.isNull(sysRole)) { throw new ServiceException("角色不存在"); } sysRole.setDelFlag("2"); this.updateRole(sysRole); } } ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
@@ -93,7 +93,10 @@ where r.role_key=#{roleKey} and r.del_flag = '0' limit 1 </select> <select id="isExitUpdate" resultType="com.ruoyi.system.api.domain.SysRole"> select role_name romeName from sys_role where role_name=#{roleName} and companyId =#{companyId} and role_id != #{roleId} select role_name romeName from sys_role where role_name = #{roleName} and role_id != #{roleId} </select> <insert id="insertRole" parameterType="com.ruoyi.system.api.domain.SysRole" useGeneratedKeys="true" keyProperty="roleId"> @@ -124,10 +127,6 @@ <if test="status != null and status != ''">#{status},</if> <if test="remark != null and remark != ''">#{remark},</if> <if test="createBy != null and createBy != ''">#{createBy},</if> <if test="carDataAuth != null and carDataAuth != ''">#{carDataAuth},</if> <if test="carTrainOperAuth != null and carTrainOperAuth != ''">#{carTrainOperAuth},</if> <if test="contractDataAuth != null and contractDataAuth != ''">#{contractDataAuth},</if> <if test="companyId != null and companyId != ''">#{companyId},</if> sysdate() ) </insert> @@ -144,9 +143,6 @@ <if test="status != null and status != ''">status = #{status},</if> <if test="remark != null">remark = #{remark},</if> <if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if> <if test="carDataAuth != null and carDataAuth != ''">carDataAuth = #{carDataAuth},</if> <if test="carTrainOperAuth != null and carTrainOperAuth != ''">carTrainOperAuth = #{carTrainOperAuth},</if> <if test="contractDataAuth != null and contractDataAuth != ''">contractDataAuth = #{contractDataAuth},</if> update_time = sysdate() </set> where role_id = #{roleId}