记录实习第一天
是在郑州的一个小公司里面
实习内容基本也都是增删改查。
boot+mp+shiro+swwager
客户池的处理,建表+CRUD
1、根据一些字段检索
@ApiResponses({
@ApiResponse(code = 200, message = "OK"),
})
@ApiOperation(value = "GET", notes = "客户列表")
@ResponseBody
@RequestMapping(value = "/queryCustomerPoolList", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
public Response listByCustomerUser(@ApiParam(value = "current", name = "current", required = true) int current,@RequestBody @ApiParam(value = "客户", name = "CustomerPool", required = true) CustomerPool pool) {
log.info("客户池管理列表:{}", current);
IPage<CustomerPool> page = new Page<>(current, 10);
LambdaQueryWrapper<CustomerPool> queryWrapper = new LambdaQueryWrapper<CustomerPool>();
queryWrapper = queryWrapper.eq(StringUtils.isNotBlank(pool.getRecipientsOf()),CustomerPool::getRecipientsOf, pool.getRecipientsOf())
.eq(StringUtils.isNotBlank(pool.getRecipientsWho()),CustomerPool::getRecipientsWho,pool.getRecipientsWho())
.eq(StringUtils.isNotBlank(pool.getRecipientsDate()),CustomerPool::getRecipientsDate,pool.getRecipientsDate())
.eq(StringUtils.isNotBlank(pool.getDesignatedPerson()),CustomerPool::getDesignatedPerson,pool.getDesignatedPerson())
.eq(StringUtils.isNotBlank(pool.getGiveUpTo()),CustomerPool::getGiveUpTo,pool.getGiveUpTo())
// .eq(StringUtils.isNotBlank(pool.getGiveUpDate().toString()),CustomerPool::getGiveUpDate,pool.getGiveUpDate()) //放弃时间
.eq(StringUtils.isNotBlank(pool.getCustomerClassification()),CustomerPool::getCustomerClassification,pool.getCustomerClassification()) // 客户分类
.eq(StringUtils.isNotBlank(pool.getCustomerAddress()),CustomerPool::getCustomerAddress,pool.getCustomerAddress()) // 客户地区
.eq(StringUtils.isNotBlank(pool.getAccountName()),CustomerPool::getAccountName,pool.getAccountName()) // 客户名称
.eq(StringUtils.isNotBlank(pool.getCustomerNumber()),CustomerPool::getCustomerNumber,pool.getCustomerNumber()) // 客户编号
.eq(StringUtils.isNotBlank(pool.getMobilePhone()),CustomerPool::getMobilePhone,pool.getMobilePhone()); // 办公电话
// .eq(StringUtils.isNotBlank(pool.getCreateTime().toString()),CustomerPool::getCreateTime,pool.getCreateTime());
page = iCustomerPoolService.page(page, queryWrapper);
return response.success(200, "客户池检索列表!", page);
}
2、逻辑删除
逻辑删除只是修改了 绑定 的某个字段
使用delete或remove实际执行update ,select会自动拼接where delete = ?
有个问题 :怎样真实删除…(未解决)
加注解
@TableLogic
@ApiModelProperty(value = "逻辑删除", required = false)
private Integer deleted;
yml配置
mybatis-plus:
global-config:
db-config:
logic-delete-value: 1 #已删
logic-not-delete-value: 0 #默认
业务
/**
* delete 逻辑删除
*/
@ApiResponses({
@ApiResponse(code = 200, message = "OK"),
})
@ApiOperation(value = "POST", notes = "逻辑删除客户池里数据")
@ResponseBody
@RequestMapping(value = "/deleteById", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.POST)
public Response deleteByCustomerUser(@ApiParam(value = "id", name = "id", required = true) Integer id) {
log.info("删除客户:{}", id);
if (!StringUtils.isNotBlank(id.toString())) {
return response.failure(588, "传的空的池客户对应id");
}
this.iCustomerPoolService.removeById(id);
return response.success(200, "删除池客户成功!");
}
3、批量随机领取客户
从池中随机抽取若干客户,使用set保证唯一 ,目前单机 未登录 指派人之类的 先写死。。。。。
还有个数据没有获取,毫无 健壮性 可言。。。。。。前端给还是我搞以后再说吧
/**
* 批量领用
*/
@ApiResponses({
@ApiResponse(code = 200, message = "OK"),
})
@ApiOperation(value = "GET", notes = "批量领取客户")
@ResponseBody
@RequestMapping(value = "/batchList", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
public Response listByCustomerUser(@ApiParam(value = "领取客户数量", name = "num", required = true) int num) {
List<CustomerPool> customerPools = iCustomerPoolService.getBaseMapper().selectList(null);
Random random = new Random();
int size = customerPools.size();
HashSet<CustomerPool> total = new HashSet<>();
while(total.size() < num){
total.add(customerPools.get(random.nextInt(size)));
}
Iterator<CustomerPool> iterator = total.iterator();
while(iterator.hasNext()){
CustomerPool customer = iterator.next();
customer.setRecipientsOf("已领用");
customer.setRecipientsWho("wwwwww");
customer.setDesignatedPerson("wwwwwwwww");
customer.setCustomerSource("hhhhhhhhhh");
iCustomerPoolService.saveOrUpdate(customer);
}
return response.success(200, "成功");
}
4、批量领用统计
应该还有个字段 。。。。再搞吧
/**
* 批量领用统计
*/
@ApiResponses({
@ApiResponse(code = 200, message = "OK"),
})
@ApiOperation(value = "GET", notes = "客户列表")
@ResponseBody
@RequestMapping(value = "/adoptStats", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
public Response adoptStats(@RequestBody @ApiParam(value = "领用", name = "CustomerUser", required = true) CustomerUser user) {
log.info("领用统计");
LambdaQueryWrapper<CustomerUser> queryWrapper = new LambdaQueryWrapper<CustomerUser>();
queryWrapper.eq(StringUtils.isNotBlank(user.getCustomerClassification()),CustomerUser::getCustomerClassification,user.getCustomerClassification())
.eq(StringUtils.isNotBlank(user.getTofollowUp()),CustomerUser::getTofollowUp,user.getTofollowUp());
List<CustomerUser> list = iCustomerUserService.list(queryWrapper);
return response.success(200, "客户池检索列表!", list);
}
加班
晚上六点半,产品来对需求,一下子到八点四五十。。。。
总结
举了几个典型的案例,基本上还是增删改查。。。
总得来说。。。不想说了。。。