13 changed files with 263 additions and 91 deletions
@ -0,0 +1,22 @@
|
||||
package com.logpm.basicdata.vo; |
||||
|
||||
import com.logpm.basicdata.entity.BasicdataClientUserEntity; |
||||
import io.swagger.annotations.ApiModelProperty; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
|
||||
@Data |
||||
@EqualsAndHashCode(callSuper = true) |
||||
public class BasicdataClientAccountVO extends BasicdataClientUserEntity { |
||||
|
||||
@ApiModelProperty(value = "姓名") |
||||
private String name; |
||||
|
||||
@ApiModelProperty(value = "电话|账号") |
||||
private String phone; |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} |
@ -0,0 +1,64 @@
|
||||
package com.logpm.basicdata.controller; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
||||
import com.logpm.basicdata.entity.BasicdataClientEntity; |
||||
import com.logpm.basicdata.service.IBasicdataClientUserService; |
||||
import com.logpm.basicdata.vo.BasicdataClientAccountVO; |
||||
import com.logpm.basicdata.vo.BasicdataClientVO; |
||||
import io.swagger.annotations.Api; |
||||
import io.swagger.annotations.ApiOperation; |
||||
import io.swagger.annotations.ApiParam; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.log4j.Log4j2; |
||||
import org.springblade.core.boot.ctrl.BladeController; |
||||
import org.springblade.core.mp.support.Condition; |
||||
import org.springblade.core.mp.support.Query; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springblade.core.tool.utils.Func; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import javax.validation.Valid; |
||||
import java.security.NoSuchAlgorithmException; |
||||
|
||||
@RestController |
||||
@AllArgsConstructor |
||||
@RequestMapping("/basicdataClientAccount") |
||||
@Api(value = "客户账号列表", tags = "客户账号列表") |
||||
@Log4j2 |
||||
public class BasicdataClientAccountController extends BladeController { |
||||
|
||||
|
||||
private final IBasicdataClientUserService basicdataClientUserService; |
||||
|
||||
@GetMapping("/page") |
||||
@ApiOperationSupport(order = 3) |
||||
@ApiOperation(value = "分页", notes = "传入basicdataClient") |
||||
public R<IPage<BasicdataClientAccountVO>> page(BasicdataClientAccountVO basicdataClientAccountVO, Query query) { |
||||
IPage<BasicdataClientAccountVO> pages = basicdataClientUserService.selectBasicdataClientAccountPage(Condition.getPage(query), basicdataClientAccountVO); |
||||
return R.data(pages); |
||||
} |
||||
|
||||
|
||||
/** |
||||
* 基础客户表 新增或修改 |
||||
*/ |
||||
@PostMapping("/submit") |
||||
@ApiOperationSupport(order = 6) |
||||
@ApiOperation(value = "新增或修改", notes = "传入basicdataClient") |
||||
public R submit(@Valid @RequestBody BasicdataClientAccountVO basicdataClientAccountVO) throws NoSuchAlgorithmException { |
||||
return R.status(basicdataClientUserService.ownSaveOrUpdate(basicdataClientAccountVO)); |
||||
} |
||||
|
||||
/** |
||||
* 基础客户表 删除 |
||||
*/ |
||||
@PostMapping("/remove") |
||||
@ApiOperationSupport(order = 7) |
||||
@ApiOperation(value = "逻辑删除", notes = "传入ids") |
||||
public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { |
||||
return R.status(basicdataClientUserService.ownDeleteLogic(Func.toLongList(ids))); |
||||
} |
||||
|
||||
|
||||
} |
@ -1,23 +1,148 @@
|
||||
package com.logpm.basicdata.service.impl; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import com.logpm.basicdata.entity.BasicdataClientEntity; |
||||
import com.logpm.basicdata.entity.BasicdataClientUserEntity; |
||||
import com.logpm.basicdata.mapper.BasicdataClientUserMapper; |
||||
import com.logpm.basicdata.service.IBasicdataClientService; |
||||
import com.logpm.basicdata.service.IBasicdataClientUserService; |
||||
import com.logpm.basicdata.service.IBasicdataStoreContactService; |
||||
import com.logpm.basicdata.vo.BasicdataClientAccountVO; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.checkerframework.checker.units.qual.A; |
||||
import org.springblade.common.constant.DictBizConstant; |
||||
import org.springblade.core.mp.base.BaseServiceImpl; |
||||
import org.springblade.core.secure.utils.AuthUtil; |
||||
import org.springblade.core.tool.api.R; |
||||
import org.springblade.core.tool.utils.ObjectUtil; |
||||
import org.springblade.system.cache.DictBizCache; |
||||
import org.springblade.system.entity.User; |
||||
import org.springblade.system.entity.UserInfo; |
||||
import org.springblade.system.feign.ISysClient; |
||||
import org.springblade.system.feign.IUserClient; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.security.NoSuchAlgorithmException; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
@Slf4j |
||||
@Service |
||||
@AllArgsConstructor |
||||
public class BasicdataClientUserServiceImpl extends BaseServiceImpl<BasicdataClientUserMapper, BasicdataClientUserEntity> implements IBasicdataClientUserService { |
||||
|
||||
private final IUserClient userClient; |
||||
|
||||
private final IBasicdataClientService basicdataClientService; |
||||
|
||||
@Override |
||||
public List<BasicdataClientEntity> getBasicdataClientUserEntityListByUserId(Long userId) { |
||||
return baseMapper.getBasicdataClientUserEntityListByUserId(userId); |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public IPage<BasicdataClientAccountVO> selectBasicdataClientAccountPage(IPage<BasicdataClientAccountVO> page, BasicdataClientAccountVO basicdataClientAccountVO) { |
||||
List<BasicdataClientUserEntity> ls = baseMapper.selectBasicdataClientAccountPage(page, basicdataClientAccountVO); |
||||
|
||||
List<BasicdataClientAccountVO> result = new ArrayList<>(); |
||||
for (BasicdataClientUserEntity l : ls) { |
||||
BasicdataClientAccountVO basicdataClientAccountVO1 = new BasicdataClientAccountVO(); |
||||
basicdataClientAccountVO1.setClientId(l.getClientId()); |
||||
basicdataClientAccountVO1.setUserId(l.getUserId()); |
||||
basicdataClientAccountVO1.setCreateTime(l.getCreateTime()); |
||||
|
||||
R<User> r = userClient.userInfoById(basicdataClientAccountVO1.getUserId()); |
||||
if (r.isSuccess()) { |
||||
User u = r.getData(); |
||||
basicdataClientAccountVO1.setName(u.getName()); |
||||
basicdataClientAccountVO1.setPhone(u.getPhone()); |
||||
|
||||
} |
||||
result.add(basicdataClientAccountVO1); |
||||
|
||||
} |
||||
page.setRecords(result); |
||||
|
||||
return page; |
||||
} |
||||
|
||||
@Override |
||||
public boolean ownSaveOrUpdate(BasicdataClientAccountVO basicdataClientAccountVO) { |
||||
|
||||
if (basicdataClientAccountVO.getId() != null) { |
||||
// 修改
|
||||
return false; |
||||
} else { |
||||
// 新增
|
||||
try { |
||||
return saveCustomerAndAddAcount(basicdataClientAccountVO.getPhone(), basicdataClientAccountVO.getName(), basicdataClientAccountVO.getClientId()); |
||||
} catch (NoSuchAlgorithmException e) { |
||||
log.error("新增客户账户异常"); |
||||
throw new RuntimeException(e); |
||||
} |
||||
|
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 保存客户账号信息 |
||||
* |
||||
* @param phone |
||||
* @param name |
||||
* @param clientId |
||||
* @return |
||||
* @throws NoSuchAlgorithmException |
||||
*/ |
||||
public boolean saveCustomerAndAddAcount(String phone, String name, Long clientId) throws NoSuchAlgorithmException { |
||||
boolean isSuccess = false; |
||||
// 客户电话作为客户的账号登录
|
||||
R<User> r = userClient.userByAccount(AuthUtil.getTenantId(), phone); |
||||
// 标识这个账户不存在 需要新建
|
||||
User u = r.getData(); |
||||
if (ObjectUtil.isEmpty(u)) { |
||||
// 标识这个账户不存在 需要新建
|
||||
u = new User(); |
||||
u.setAccount(phone); |
||||
u.setTenantId(AuthUtil.getTenantId()); |
||||
u.setUserType(1);// Web
|
||||
String defaultPassword = DictBizCache.getValue(DictBizConstant.DEFAULT_PASSWORD, DictBizConstant.DEFAULT_PASSWORD); |
||||
// 加密
|
||||
u.setPassword(defaultPassword); |
||||
|
||||
u.setName(name); |
||||
u.setRealName(name); |
||||
u.setPhone(phone); |
||||
String defaultRoleId = DictBizCache.getValue(DictBizConstant.DEFAULT_MALL_ROLE_ID, DictBizConstant.DEFAULT_MALL_ROLE_ID); |
||||
u.setRoleId(defaultRoleId); |
||||
|
||||
String defaultDeptId = DictBizCache.getValue(DictBizConstant.DEFAULT_DEPT_ID, DictBizConstant.DEFAULT_DEPT_ID); |
||||
u.setDeptId(defaultDeptId); |
||||
userClient.saveUser(u); |
||||
|
||||
// 获取ID
|
||||
R<UserInfo> userInfoR = userClient.userInfo(AuthUtil.getTenantId(), u.getAccount()); |
||||
if (userInfoR.isSuccess()) { |
||||
u = userInfoR.getData().getUser(); |
||||
} |
||||
|
||||
} |
||||
// 建立客户和用户的绑定关系
|
||||
BasicdataClientUserEntity basicdataClientUserEntity = new BasicdataClientUserEntity(); |
||||
basicdataClientUserEntity.setClientId(clientId); |
||||
basicdataClientUserEntity.setUserId(u.getId()); |
||||
|
||||
// 保存
|
||||
isSuccess = save(basicdataClientUserEntity); |
||||
|
||||
return isSuccess; |
||||
} |
||||
|
||||
@Override |
||||
public boolean ownDeleteLogic(List<Long> longList) { |
||||
|
||||
return false; |
||||
|
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue