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; |
package com.logpm.basicdata.service.impl; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||||
import com.logpm.basicdata.entity.BasicdataClientEntity; |
import com.logpm.basicdata.entity.BasicdataClientEntity; |
||||||
import com.logpm.basicdata.entity.BasicdataClientUserEntity; |
import com.logpm.basicdata.entity.BasicdataClientUserEntity; |
||||||
import com.logpm.basicdata.mapper.BasicdataClientUserMapper; |
import com.logpm.basicdata.mapper.BasicdataClientUserMapper; |
||||||
|
import com.logpm.basicdata.service.IBasicdataClientService; |
||||||
import com.logpm.basicdata.service.IBasicdataClientUserService; |
import com.logpm.basicdata.service.IBasicdataClientUserService; |
||||||
|
import com.logpm.basicdata.service.IBasicdataStoreContactService; |
||||||
|
import com.logpm.basicdata.vo.BasicdataClientAccountVO; |
||||||
import lombok.AllArgsConstructor; |
import lombok.AllArgsConstructor; |
||||||
import lombok.extern.slf4j.Slf4j; |
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.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 org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.security.NoSuchAlgorithmException; |
||||||
|
import java.util.ArrayList; |
||||||
import java.util.List; |
import java.util.List; |
||||||
|
|
||||||
@Slf4j |
@Slf4j |
||||||
@Service |
@Service |
||||||
@AllArgsConstructor |
@AllArgsConstructor |
||||||
public class BasicdataClientUserServiceImpl extends BaseServiceImpl<BasicdataClientUserMapper, BasicdataClientUserEntity> implements IBasicdataClientUserService { |
public class BasicdataClientUserServiceImpl extends BaseServiceImpl<BasicdataClientUserMapper, BasicdataClientUserEntity> implements IBasicdataClientUserService { |
||||||
|
|
||||||
|
private final IUserClient userClient; |
||||||
|
|
||||||
|
private final IBasicdataClientService basicdataClientService; |
||||||
|
|
||||||
@Override |
@Override |
||||||
public List<BasicdataClientEntity> getBasicdataClientUserEntityListByUserId(Long userId) { |
public List<BasicdataClientEntity> getBasicdataClientUserEntityListByUserId(Long userId) { |
||||||
return baseMapper.getBasicdataClientUserEntityListByUserId(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