ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/dto/ResetPassword.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/PartnerMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/IPartnerService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/PartnerController.java
New file @@ -0,0 +1,89 @@ package com.ruoyi.chargingPile.controller; import com.ruoyi.chargingPile.api.dto.PartnerListDTO; import com.ruoyi.chargingPile.api.model.Partner; import com.ruoyi.chargingPile.api.query.GetPartnerList; import com.ruoyi.chargingPile.dto.ResetPassword; import com.ruoyi.chargingPile.service.IPartnerService; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; /** * @author zhibing.pu * @Date 2024/8/7 13:49 */ @RestController @RequestMapping("/partner") public class PartnerController { @Resource private IPartnerService partnerService; @ResponseBody @GetMapping("/getPartnerList") @ApiOperation(value = "获取合作商列表", tags = {"管理后台-合作商列表"}) public AjaxResult<PageInfo<PartnerListDTO>> getPartnerList(@RequestBody GetPartnerList partnerList){ PageInfo<PartnerListDTO> list = partnerService.getPartnerList(partnerList); return AjaxResult.success(list); } @ResponseBody @PostMapping("/addPartner") @ApiOperation(value = "添加合作商", tags = {"管理后台-合作商列表"}) public AjaxResult addPartner(@RequestBody Partner partner){ return partnerService.addPartner(partner); } @ResponseBody @GetMapping("/getPartner/{id}") @ApiOperation(value = "添加合作商", tags = {"管理后台-合作商列表"}) @ApiImplicitParams({ @ApiImplicitParam(value = "合作商id", name = "id", dataTypeClass = Integer.class, required = true) }) public AjaxResult<Partner> getPartner(@PathVariable @RequestParam Integer id){ Partner partner = partnerService.getPartner(id); return AjaxResult.success(partner); } @ResponseBody @PostMapping("/editPartner") @ApiOperation(value = "编辑合作商", tags = {"管理后台-合作商列表"}) public AjaxResult editPartner(@RequestBody Partner partner){ return partnerService.editPartner(partner); } @ResponseBody @DeleteMapping("/delPartner/{id}") @ApiOperation(value = "编辑合作商", tags = {"管理后台-合作商列表"}) @ApiImplicitParams({ @ApiImplicitParam(value = "合作商id", name = "id", dataTypeClass = Integer.class, required = true) }) public AjaxResult delPartner(@PathVariable @RequestParam Integer id){ partnerService.delPartner(id); return AjaxResult.success(); } @ResponseBody @PostMapping("/resetPassword") @ApiOperation(value = "合作商重置密码", tags = {"管理后台-合作商列表"}) public AjaxResult resetPassword(@RequestBody ResetPassword resetPassword){ return partnerService.resetPassword(resetPassword); } } ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/dto/ResetPassword.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.chargingPile.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @author zhibing.pu * @Date 2024/8/7 15:56 */ @Data @ApiModel public class ResetPassword { @ApiModelProperty(value = "合作商id", required = true) private Integer id; @ApiModelProperty(value = "新密码", required = true) private String password; } ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/mapper/PartnerMapper.java
New file @@ -0,0 +1,25 @@ package com.ruoyi.chargingPile.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.chargingPile.api.dto.PartnerListDTO; import com.ruoyi.chargingPile.api.model.Partner; import com.ruoyi.chargingPile.api.query.GetPartnerList; import com.ruoyi.common.core.web.page.PageInfo; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @author zhibing.pu * @Date 2024/8/7 13:44 */ public interface PartnerMapper extends BaseMapper<Partner> { /** * 获取合作商列表 * @param pageInfo * @param partnerList * @return */ List<PartnerListDTO> getPartnerList(PageInfo<PartnerListDTO> pageInfo, @Param("item") GetPartnerList partnerList); } ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/IPartnerService.java
New file @@ -0,0 +1,62 @@ package com.ruoyi.chargingPile.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.chargingPile.api.dto.PartnerListDTO; import com.ruoyi.chargingPile.api.model.Partner; import com.ruoyi.chargingPile.api.query.GetPartnerList; import com.ruoyi.chargingPile.dto.ResetPassword; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; /** * @author zhibing.pu * @Date 2024/8/7 13:48 */ public interface IPartnerService extends IService<Partner> { /** * 获取合作商列表数据 * @param partnerList * @return */ PageInfo<PartnerListDTO> getPartnerList(GetPartnerList partnerList); /** * 添加合作商 * @param partner * @return */ AjaxResult addPartner(Partner partner); /** * 获取合作商详情 * @param id 合作商id * @return */ Partner getPartner(Integer id); /** * 编辑合作商数据 * @param partner * @return */ AjaxResult editPartner(Partner partner); /** * 删除合作商 * @param id */ void delPartner(Integer id); /** * 重置密码 * @param resetPassword */ AjaxResult resetPassword(ResetPassword resetPassword); } ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java
New file @@ -0,0 +1,226 @@ package com.ruoyi.chargingPile.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.chargingPile.api.dto.PartnerListDTO; import com.ruoyi.chargingPile.api.model.Partner; import com.ruoyi.chargingPile.api.query.GetPartnerList; import com.ruoyi.chargingPile.dto.ResetPassword; import com.ruoyi.chargingPile.mapper.PartnerMapper; import com.ruoyi.chargingPile.service.IPartnerService; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.feignClient.SysRoleClient; import com.ruoyi.system.api.model.GetSysRoleByIds; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Arrays; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; /** * @author zhibing.pu * @Date 2024/8/7 13:49 */ @Service public class PartnerServiceImpl extends ServiceImpl<PartnerMapper, Partner> implements IPartnerService { @Resource private SysRoleClient sysRoleClient; /** * 获取合作商列表数据 * @param partnerList * @return */ @Override public PageInfo<PartnerListDTO> getPartnerList(GetPartnerList partnerList) { PageInfo<PartnerListDTO> pageInfo = new PageInfo(partnerList.getPageCurr(), partnerList.getPageSize()); List<PartnerListDTO> list = this.baseMapper.getPartnerList(pageInfo, partnerList); List<Integer> roleIds = list.stream().map(PartnerListDTO::getRoleId).collect(Collectors.toList()); GetSysRoleByIds ids = new GetSysRoleByIds(); ids.setIds(roleIds); //获取相关的角色id R<List<SysRole>> r = sysRoleClient.getSysRoleByIds(ids); if(r.getCode() != 200){ throw new RuntimeException(r.getMsg()); } List<SysRole> data = r.getData(); for (PartnerListDTO partnerListDTO : list) { Integer roleId = partnerListDTO.getRoleId(); if(null != roleId){ continue; } SysRole sysRole = data.stream().filter(s -> roleId.equals(s.getRoleId())).findFirst().get(); if(null != sysRole){ partnerListDTO.setRoleName(sysRole.getRoleName()); } } pageInfo.setRecords(list); return pageInfo; } /** * 添加合作商 * @param partner * @return */ @Override public AjaxResult addPartner(Partner partner) { //校验参数和重复数据 AjaxResult ajaxResult = addPartnerParameterCheck(partner); if(ajaxResult.isError()){ return ajaxResult; } Partner one = this.getOne(new LambdaQueryWrapper<Partner>() .eq(Partner::getCode, partner.getCode()) .eq(Partner::getDelFlag, 0) ); if(null != one){ return AjaxResult.error("合作商ID已存在"); } one = this.getOne(new LambdaQueryWrapper<Partner>() .eq(Partner::getAccount, partner.getAccount()) .eq(Partner::getDelFlag, 0) ); if(null != one){ return AjaxResult.error("登录账号不能重复"); } //添加新数据 this.save(partner); //添加登录账户 return AjaxResult.success(); } /** * 校验参数是否为空 * @param partner * @return */ AjaxResult addPartnerParameterCheck(Partner partner){ if(StringUtils.isEmpty(partner.getCode())){ return AjaxResult.error("合作商ID不能为空"); } if(StringUtils.isEmpty(partner.getName())){ return AjaxResult.error("合作商名称不能为空"); } if(null == partner.getRoleId()){ return AjaxResult.error("合作商角色不能为空"); } if(StringUtils.isEmpty(partner.getPhoneOne())){ return AjaxResult.error("合作商电话1不能为空"); } if(StringUtils.isEmpty(partner.getAccount())){ return AjaxResult.error("登录账号不能为空"); } if(StringUtils.isEmpty(partner.getPassword())){ return AjaxResult.error("登录密码不能为空"); } return AjaxResult.success(); } /** * 获取合作商详情 * @param id 合作商id * @return */ @Override public Partner getPartner(Integer id) { Partner partner = this.getById(id); GetSysRoleByIds ids = new GetSysRoleByIds(); ids.setIds(Arrays.asList(partner.getRoleId())); //获取相关的角色id R<List<SysRole>> r = sysRoleClient.getSysRoleByIds(ids); if(r.getCode() != 200){ throw new RuntimeException(r.getMsg()); } List<SysRole> data = r.getData(); if(data.size() > 0){ partner.setRoleName(data.get(0).getRoleName()); } return partner; } /** * 编辑合作商 * @param partner * @return */ @Override public AjaxResult editPartner(Partner partner) { //校验参数和重复数据 AjaxResult ajaxResult = addPartnerParameterCheck(partner); if(ajaxResult.isError()){ return ajaxResult; } Partner one = this.getOne(new LambdaQueryWrapper<Partner>() .eq(Partner::getCode, partner.getCode()) .eq(Partner::getDelFlag, 0) ); if(null != one && !one.getId().equals(partner.getId())){ return AjaxResult.error("合作商ID已存在"); } one = this.getOne(new LambdaQueryWrapper<Partner>() .eq(Partner::getAccount, partner.getAccount()) .eq(Partner::getDelFlag, 0) ); if(null != one && !one.getId().equals(partner.getId())){ return AjaxResult.error("登录账号不能重复"); } //修改数据 this.updateById(partner); //修改登录账户 return AjaxResult.success(); } /** * 删除合作商 * @param id 合作商id */ @Override public void delPartner(Integer id) { //查询有无关联数据 //站点 //充电桩 Partner partner = this.getById(id); partner.setDelFlag(true); this.updateById(partner); } /** * 重置密码 * @param resetPassword */ @Override public AjaxResult resetPassword(ResetPassword resetPassword) { if(null == resetPassword.getId()){ return AjaxResult.error("合作商id不能为空"); } if(StringUtils.isEmpty(resetPassword.getPassword())){ return AjaxResult.error("密码不能为空"); } Partner partner = this.getById(resetPassword.getId()); partner.setPassword(resetPassword.getPassword()); this.updateById(partner); //修改登录账号的密码 return AjaxResult.success(); } }