Commit f2f43b58 authored by lcl's avatar lcl

update:

密码生成逻辑
add:
项目详情-开标记录
parent b50b5bba
...@@ -168,6 +168,7 @@ tenant: ...@@ -168,6 +168,7 @@ tenant:
- business_follow_record - business_follow_record
- business_label - business_label
- business_relate_company - business_relate_company
- business_open_tender
# MyBatisPlus配置 # MyBatisPlus配置
......
...@@ -32,17 +32,22 @@ public class PasswordUtils { ...@@ -32,17 +32,22 @@ public class PasswordUtils {
// 至少包含一个大写字母 // 至少包含一个大写字母
password.append(UPPER_CASE.charAt(random.nextInt(UPPER_CASE.length()))); password.append(UPPER_CASE.charAt(random.nextInt(UPPER_CASE.length())));
// 至少包含一个数字
password.append(NUMBERS.charAt(random.nextInt(NUMBERS.length())));
// 生成剩余部分的密码 // 生成剩余部分的密码
for (int i = 0; i < length - 3; i++) { for (int i = 0; i < length - 2; i++) {
String characters = LOWER_CASE + UPPER_CASE + NUMBERS; // 至少包含一个数字
password.append(characters.charAt(random.nextInt(characters.length()))); password.append(NUMBERS.charAt(random.nextInt(NUMBERS.length())));
// String characters = LOWER_CASE + UPPER_CASE + NUMBERS;
// password.append(characters.charAt(random.nextInt(characters.length())));
} }
// 打乱密码中字符的顺序 // 打乱密码中字符的顺序
return shufflePassword(password.toString()); // return shufflePassword(password.toString());
return password.toString();
}
public static void main(String[] args) {
System.out.println(PasswordUtils.generatePwd(8));
} }
public static String shufflePassword(String password) { public static String shufflePassword(String password) {
......
package com.dsk.biz.controller;
import com.dsk.biz.domain.BusinessOpenTender;
import com.dsk.biz.domain.bo.BusinessOpenTenderDto;
import com.dsk.biz.domain.bo.BusinessSearchDto;
import com.dsk.biz.service.IBusinessOpenTenderService;
import com.dsk.common.annotation.RepeatSubmit;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 项目开标记录
*
* @author lcl
* @date 2023-10-23
*/
@RestController
@RequestMapping("/business/open/tender")
public class BusinessOpenTenderController extends BaseController {
@Autowired
private IBusinessOpenTenderService baseService;
/**
* 开标记录列表
*/
@GetMapping("/list")
public TableDataInfo<BusinessOpenTender> list(BusinessOpenTenderDto dto, PageQuery pageQuery){
return baseService.selectList(dto, pageQuery);
}
/**
* 添加开标记录
*/
@PostMapping
@RepeatSubmit()
public R<Void> add(@RequestBody BusinessOpenTender bo){
return toAjax(baseService.add(bo));
}
/**
* 修改开标记录
*/
@PutMapping
@RepeatSubmit()
public R<Void> edit(@RequestBody BusinessOpenTender bo){
return toAjax(baseService.edit(bo));
}
/**
* 删除开标记录
*/
@DeleteMapping("/{ids}")
@RepeatSubmit()
public R<Void> remove(@PathVariable Long[] ids){
return toAjax(baseService.remove(ids));
}
}
package com.dsk.biz.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* @Author lcl
* @Data 2023/10/23 16:26
*/
@Data
public class BusinessOpenTender implements Serializable {
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/**
* 项目id
*/
private Integer businessId;
/**
* 投标人id
*/
private Integer tendererId;
/**
* 投标人
*/
private String tenderer;
/**
* 企业性质
*/
private String tendererNature;
/**
* 项目经理
*/
private String businessManager;
/**
* 联系方式
*/
private String contact;
/**
* 投标金额
*/
private Double tenderAmount;
private Date createTime;
private Date updateTime;
}
package com.dsk.biz.domain.bo;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author lcl
* @create 2023/8/14
*/
@Data
@NoArgsConstructor
public class BusinessOpenTenderDto implements Serializable {
/**
* 项目id
*/
private Integer businessId;
}
package com.dsk.biz.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.biz.domain.BusinessOpenTender;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface BusinessOpenTenderMapper extends BaseMapper<BusinessOpenTender> {
}
package com.dsk.biz.service;
import com.dsk.biz.domain.BusinessOpenTender;
import com.dsk.biz.domain.bo.BusinessOpenTenderDto;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
public interface IBusinessOpenTenderService {
TableDataInfo<BusinessOpenTender> selectList(BusinessOpenTenderDto dto, PageQuery pageQuery);
int add(BusinessOpenTender bo);
int edit(BusinessOpenTender bo);
int remove(Long[] ids);
}
package com.dsk.biz.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.biz.domain.BusinessOpenTender;
import com.dsk.biz.domain.bo.BusinessOpenTenderDto;
import com.dsk.biz.domain.bo.BusinessSearchDto;
import com.dsk.biz.mapper.BusinessOpenTenderMapper;
import com.dsk.biz.service.IBusinessOpenTenderService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import jodd.bean.BeanException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.sql.Wrapper;
import java.util.Arrays;
import java.util.List;
/**
* @Author lcl
* @Data 2023/10/23 16:29
*/
@Slf4j
@Service
public class BusinessOpenTenderServiceImpl implements IBusinessOpenTenderService {
@Resource
private BusinessOpenTenderMapper baseMapper;
@Override
public TableDataInfo<BusinessOpenTender> selectList(BusinessOpenTenderDto dto, PageQuery pageQuery) {
return TableDataInfo.build(baseMapper.selectPage(pageQuery.build(),
Wrappers.<BusinessOpenTender>lambdaQuery().eq(BusinessOpenTender::getBusinessId, dto.getBusinessId())));
}
@Override
public int add(BusinessOpenTender bo) {
verifyBean(bo);
return baseMapper.insert(bo);
}
@Override
public int edit(BusinessOpenTender bo) {
if(ObjectUtils.isArray(bo.getId())) throw new BeanException("id不能为空!");
verifyBean(bo);
return baseMapper.updateById(bo);
}
@Override
public int remove(Long[] ids) {
return baseMapper.deleteBatchIds(Arrays.asList(ids));
}
private void verifyBean(BusinessOpenTender bo){
if(ObjectUtils.isArray(bo.getBusinessId())) throw new BeanException("项目id不能为空!");
if(ObjectUtils.isArray(bo.getTenderer())) throw new BeanException("开标人不能为空!");
if(ObjectUtils.isArray(bo.getTendererNature())) throw new BeanException("企业性质不能为空!");
if(ObjectUtils.isArray(bo.getTenderAmount())) throw new BeanException("投标金额不能为空!");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment