From b5aba60916c0e815b33b1eb40c85d631eeb2fbc3 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期四, 08 八月 2024 09:15:51 +0800 Subject: [PATCH] 新增加管理后台合作商接口 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java | 77 +++++++++++++++++++++++++++++++++++--- 1 files changed, 71 insertions(+), 6 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java index be37d3e..3e8b420 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/service/impl/PartnerServiceImpl.java @@ -13,14 +13,17 @@ 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.domain.SysUser; import com.ruoyi.system.api.feignClient.SysRoleClient; +import com.ruoyi.system.api.feignClient.SysUserClient; import com.ruoyi.system.api.model.GetSysRoleByIds; +import io.seata.spring.annotation.GlobalTransactional; +import org.springframework.http.HttpStatus; 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; /** @@ -32,6 +35,9 @@ @Resource private SysRoleClient sysRoleClient; + + @Resource + private SysUserClient sysUserClient; @@ -74,6 +80,7 @@ * @return */ @Override + @GlobalTransactional//分布式事务 public AjaxResult addPartner(Partner partner) { //校验参数和重复数据 AjaxResult ajaxResult = addPartnerParameterCheck(partner); @@ -97,7 +104,20 @@ //添加新数据 this.save(partner); //添加登录账户 - + SysUser user = new SysUser(); + user.setAccount(partner.getAccount()); + user.setPhonenumber(partner.getPhoneOne()); + user.setUserName(partner.getName()); + user.setNickName(partner.getName()); + user.setAvatar(partner.getLogoUrl()); + user.setPassword(partner.getPassword()); + user.setStatus("0"); + user.setDelFlag("0"); + user.setRoleId(partner.getRoleId().longValue()); + R r = sysUserClient.addSysUser(user); + if(200 != r.getCode()){ + throw new RuntimeException(r.getMsg()); + } return AjaxResult.success(); } @@ -138,6 +158,9 @@ @Override public Partner getPartner(Integer id) { Partner partner = this.getById(id); + if(null == partner){ + return partner; + } GetSysRoleByIds ids = new GetSysRoleByIds(); ids.setIds(Arrays.asList(partner.getRoleId())); //获取相关的角色id @@ -159,6 +182,7 @@ * @return */ @Override + @GlobalTransactional//分布式事务 public AjaxResult editPartner(Partner partner) { //校验参数和重复数据 AjaxResult ajaxResult = addPartnerParameterCheck(partner); @@ -179,10 +203,40 @@ if(null != one && !one.getId().equals(partner.getId())){ return AjaxResult.error("登录账号不能重复"); } + Partner oldPartner = this.getById(partner.getId()); + SysUser user = sysUserClient.queryUserByAccount(oldPartner.getAccount()).getData(); + //修改数据 this.updateById(partner); //修改登录账户 - + if(null == user){ + user = new SysUser(); + user.setStatus("0"); + user.setDelFlag("0"); + user.setAccount(partner.getAccount()); + user.setPhonenumber(partner.getPhoneOne()); + user.setUserName(partner.getName()); + user.setNickName(partner.getName()); + user.setAvatar(partner.getLogoUrl()); + user.setPassword(partner.getPassword()); + user.setRoleId(partner.getRoleId().longValue()); + R r = sysUserClient.addSysUser(user); + if(200 != r.getCode()){ + throw new RuntimeException(r.getMsg()); + } + }else{ + user.setAccount(partner.getAccount()); + user.setPhonenumber(partner.getPhoneOne()); + user.setUserName(partner.getName()); + user.setNickName(partner.getName()); + user.setAvatar(partner.getLogoUrl()); + user.setPassword(partner.getPassword()); + user.setRoleId(partner.getRoleId().longValue()); + R r = sysUserClient.updateSysUser(user); + if(200 != r.getCode()){ + throw new RuntimeException(r.getMsg()); + } + } return AjaxResult.success(); } @@ -192,15 +246,23 @@ * @param id 合作商id */ @Override - public void delPartner(Integer id) { + @GlobalTransactional//分布式事务 + public AjaxResult delPartner(Integer id) { //查询有无关联数据 //站点 - + // todo 代码完善 //充电桩 Partner partner = this.getById(id); + if(null == partner){ + return AjaxResult.error("删除失败"); + } partner.setDelFlag(true); this.updateById(partner); + SysUser user = sysUserClient.queryUserByAccount(partner.getAccount()).getData(); + user.setDelFlag("2"); + sysUserClient.updateUser(user); + return AjaxResult.success(); } @@ -209,6 +271,7 @@ * @param resetPassword */ @Override + @GlobalTransactional//分布式事务 public AjaxResult resetPassword(ResetPassword resetPassword) { if(null == resetPassword.getId()){ return AjaxResult.error("合作商id不能为空"); @@ -220,7 +283,9 @@ partner.setPassword(resetPassword.getPassword()); this.updateById(partner); //修改登录账号的密码 - + SysUser user = sysUserClient.queryUserByAccount(partner.getAccount()).getData(); + user.setPassword(partner.getPassword()); + sysUserClient.resetPassword(user); return AjaxResult.success(); } } -- Gitblit v1.7.1