From 4380fe375f13326d012ffdd5832e7e764aae5a1a Mon Sep 17 00:00:00 2001 From: zhizhi wu <2377881365@qq.com> Date: Wed, 22 Apr 2020 14:48:30 +0800 Subject: [PATCH 01/72] =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/health/api/DebugController.java | 3 +- .../com/ccsens/ht/api/DoctorController.java | 18 +++++ .../com/ccsens/ht/api/PatientController.java | 3 +- .../java/com/ccsens/ht/bean/po/HtDoctor.java | 11 +++ .../ccsens/ht/bean/po/HtDoctorExample.java | 70 +++++++++++++++++++ .../ccsens/ht/bean/vo/PatientReportVo.java | 13 ++-- .../com/ccsens/ht/service/DoctorService.java | 40 +++++++++-- .../com/ccsens/ht/service/IDoctorService.java | 7 ++ .../ht/service/PatientReportService.java | 16 ++--- ht/src/main/resources/application-dev.yml | 4 +- ht/src/main/resources/application-prod.yml | 1 + ht/src/main/resources/application-test.yml | 1 + .../resources/mapper_raw/HtDoctorMapper.xml | 25 +++++-- .../main/java/com/ccsens/util/CodeEnum.java | 2 + .../main/java/com/ccsens/util/PdfUtil.java | 27 ++++++- .../com/ccsens/util/RestTemplateUtil.java | 13 +++- .../java/com/ccsens/util/PdfUtilTest.java | 2 +- 17 files changed, 225 insertions(+), 31 deletions(-) diff --git a/health/src/main/java/com/ccsens/health/api/DebugController.java b/health/src/main/java/com/ccsens/health/api/DebugController.java index 3545f2c7..f4c8b5ec 100644 --- a/health/src/main/java/com/ccsens/health/api/DebugController.java +++ b/health/src/main/java/com/ccsens/health/api/DebugController.java @@ -23,8 +23,7 @@ public class DebugController { }) @RequestMapping(value="",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) public JsonResponse debug(HttpServletRequest request) throws Exception { - - return JsonResponse.newInstance().ok("测试"); + return JsonResponse.newInstance().ok("测试0\\\\\\\0"); } @ApiOperation(value = "/测试二维码",notes = "") diff --git a/ht/src/main/java/com/ccsens/ht/api/DoctorController.java b/ht/src/main/java/com/ccsens/ht/api/DoctorController.java index eb4f5c4b..708b0fd6 100644 --- a/ht/src/main/java/com/ccsens/ht/api/DoctorController.java +++ b/ht/src/main/java/com/ccsens/ht/api/DoctorController.java @@ -4,6 +4,7 @@ package com.ccsens.ht.api; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.ht.annotation.DoctorAudit; import com.ccsens.ht.bean.dto.DoctorDto; +import com.ccsens.ht.bean.vo.PatientReportVo; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.ht.bean.vo.DoctorVo; import com.ccsens.ht.service.IDoctorService; @@ -94,5 +95,22 @@ public class DoctorController { return JsonResponse.newInstance().ok(dtos); } + @MustLogin + @DoctorAudit + @ApiOperation(value = "分享编辑病友信息",notes = "分享编辑病友信息") + @ApiImplicitParams({ + @ApiImplicitParam(name = "json", value = "分享编辑病友信息", required = true) + }) + @RequestMapping(value="/patientFillShare", method = RequestMethod.POST) + public JsonResponse patientFillShare(@RequestBody @ApiParam @Valid QueryDto params) throws Exception { + log.info("查询其他信息请求参数:{}", params); + Long userId = params.getUserId(); + String path = doctorService.getShareUrl(userId); + PatientReportVo.Export export = new PatientReportVo.Export(); + export.setPath(path); + log.info("{}分享路径:{}", userId, export); + return JsonResponse.newInstance().ok(export); + } + } diff --git a/ht/src/main/java/com/ccsens/ht/api/PatientController.java b/ht/src/main/java/com/ccsens/ht/api/PatientController.java index c8a45e76..1ee2b3fd 100644 --- a/ht/src/main/java/com/ccsens/ht/api/PatientController.java +++ b/ht/src/main/java/com/ccsens/ht/api/PatientController.java @@ -112,7 +112,7 @@ public class PatientController { patient.setIdcard(null); } //设置记录值 - patient.setRecorder(patient.getId() == null ? Constant.Ht.NUMBER_DEFAULT : params.getUserId()); +// patient.setRecorder(patient.getId() == null ? Constant.Ht.NUMBER_DEFAULT : params.getUserId()); long id = patientService.editPatient(patient.copy(), params.getUserId()); log.info("病友编辑结果:{}", id); if (id <= 0) { @@ -160,4 +160,5 @@ public class PatientController { json.put("id", id); return JsonResponse.newInstance().ok(CodeEnum.SUCCESS, json); } + } diff --git a/ht/src/main/java/com/ccsens/ht/bean/po/HtDoctor.java b/ht/src/main/java/com/ccsens/ht/bean/po/HtDoctor.java index c058792a..7fd62e80 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/po/HtDoctor.java +++ b/ht/src/main/java/com/ccsens/ht/bean/po/HtDoctor.java @@ -24,6 +24,8 @@ public class HtDoctor implements Serializable { private String remark; + private String sharePatientEdit; + private Date createTime; private Date updateTime; @@ -112,6 +114,14 @@ public class HtDoctor implements Serializable { this.remark = remark == null ? null : remark.trim(); } + public String getSharePatientEdit() { + return sharePatientEdit; + } + + public void setSharePatientEdit(String sharePatientEdit) { + this.sharePatientEdit = sharePatientEdit == null ? null : sharePatientEdit.trim(); + } + public Date getCreateTime() { return createTime; } @@ -152,6 +162,7 @@ public class HtDoctor implements Serializable { sb.append(", auditorId=").append(auditorId); sb.append(", auditState=").append(auditState); sb.append(", remark=").append(remark); + sb.append(", sharePatientEdit=").append(sharePatientEdit); sb.append(", createTime=").append(createTime); sb.append(", updateTime=").append(updateTime); sb.append(", isDel=").append(isDel); diff --git a/ht/src/main/java/com/ccsens/ht/bean/po/HtDoctorExample.java b/ht/src/main/java/com/ccsens/ht/bean/po/HtDoctorExample.java index 5d8e1909..fe582899 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/po/HtDoctorExample.java +++ b/ht/src/main/java/com/ccsens/ht/bean/po/HtDoctorExample.java @@ -725,6 +725,76 @@ public class HtDoctorExample { return (Criteria) this; } + public Criteria andSharePatientEditIsNull() { + addCriterion("share_patient_edit is null"); + return (Criteria) this; + } + + public Criteria andSharePatientEditIsNotNull() { + addCriterion("share_patient_edit is not null"); + return (Criteria) this; + } + + public Criteria andSharePatientEditEqualTo(String value) { + addCriterion("share_patient_edit =", value, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditNotEqualTo(String value) { + addCriterion("share_patient_edit <>", value, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditGreaterThan(String value) { + addCriterion("share_patient_edit >", value, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditGreaterThanOrEqualTo(String value) { + addCriterion("share_patient_edit >=", value, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditLessThan(String value) { + addCriterion("share_patient_edit <", value, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditLessThanOrEqualTo(String value) { + addCriterion("share_patient_edit <=", value, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditLike(String value) { + addCriterion("share_patient_edit like", value, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditNotLike(String value) { + addCriterion("share_patient_edit not like", value, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditIn(List values) { + addCriterion("share_patient_edit in", values, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditNotIn(List values) { + addCriterion("share_patient_edit not in", values, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditBetween(String value1, String value2) { + addCriterion("share_patient_edit between", value1, value2, "sharePatientEdit"); + return (Criteria) this; + } + + public Criteria andSharePatientEditNotBetween(String value1, String value2) { + addCriterion("share_patient_edit not between", value1, value2, "sharePatientEdit"); + return (Criteria) this; + } + public Criteria andCreateTimeIsNull() { addCriterion("create_time is null"); return (Criteria) this; diff --git a/ht/src/main/java/com/ccsens/ht/bean/vo/PatientReportVo.java b/ht/src/main/java/com/ccsens/ht/bean/vo/PatientReportVo.java index 99fb8ab7..24e58b4e 100644 --- a/ht/src/main/java/com/ccsens/ht/bean/vo/PatientReportVo.java +++ b/ht/src/main/java/com/ccsens/ht/bean/vo/PatientReportVo.java @@ -108,6 +108,7 @@ public class PatientReportVo { List rows = new ArrayList<>(); + //第一栏 rows.add( fillRow( @@ -118,7 +119,7 @@ public class PatientReportVo { //第二栏 rows.add( fillRow( - "文化程度(年或月):" + this.educationalStatusUnit, + "文化程度:" + this.educationalStatusUnit + "年", "编号:" + this.serialNumber, "职业:" + careerMap.get(this.career)) ); @@ -152,6 +153,7 @@ public class PatientReportVo { PdfUtil.Cell cell = new PdfUtil.Cell(); cell.setContent(param); cell.setBorder(0); + cell.setCenter(false); row.addCell(cell); } @@ -253,14 +255,12 @@ public class PatientReportVo { scoreCell.setContent(this.score == null ? "" : this.score + (this.totalScore > 0 ? "/" + this.totalScore : "")); scoreCell.setRowSpan(4); row2.addCell(scoreCell); -// fillBlankCell(row1, row2); rows.add(row1); rows.add(row2); //下一行 PdfUtil.Row row3 = new PdfUtil.Row(); PdfUtil.Row row4 = new PdfUtil.Row(); PdfUtil.Row row5 = new PdfUtil.Row(); -// fillBlankCell(row3, row4, row5); //延迟回忆特殊处理 String ychy = "YCHY"; for (int i = firstIndex; i < this.subReport.size(); i++) { @@ -288,21 +288,22 @@ public class PatientReportVo { scoreScoreCell.setContent(score); scoreScoreCell.setRowSpan(2); row4.addCell(scoreScoreCell); -// fillBlankCell(row5); } -// fillBlankCell(row3); -// fillBlankCell(row3, row4, row5); rows.add(row3); rows.add(row4); rows.add(row5); } } + if (StrUtil.isBlank(this.description)) { + return rows; + } PdfUtil.Row descRow = new PdfUtil.Row(); PdfUtil.Cell cell = new PdfUtil.Cell(); cell.setColSpan(colNum); cell.setContent(this.description); + cell.setCenter(false); descRow.addCell(cell); rows.add(descRow); diff --git a/ht/src/main/java/com/ccsens/ht/service/DoctorService.java b/ht/src/main/java/com/ccsens/ht/service/DoctorService.java index 3b8afa29..e05e5c02 100644 --- a/ht/src/main/java/com/ccsens/ht/service/DoctorService.java +++ b/ht/src/main/java/com/ccsens/ht/service/DoctorService.java @@ -1,6 +1,8 @@ package com.ccsens.ht.service; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.bean.tall.dto.MemberRoleDto; import com.ccsens.cloudutil.feign.TallFeignClient; @@ -13,17 +15,20 @@ import com.ccsens.ht.persist.dao.HtTitleDao; import com.ccsens.ht.persist.mapper.HtDoctorMapper; import com.ccsens.ht.uitl.Constant; import com.ccsens.util.*; +import com.ccsens.util.exception.BaseException; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -41,16 +46,18 @@ public class DoctorService implements IDoctorService { @Autowired private Snowflake snowflake; - @Autowired + @Resource private HtDoctorMapper htDoctorMapper; - @Autowired + @Resource private HtPositionDao htPositionDao; - @Autowired + @Resource private HtTitleDao htTitleDao; - @Autowired + @Resource private HtDoctorAuditDao htDoctorAuditDao; @Autowired private TallFeignClient tallFeignClient; + @Value("${ht.project.patientUrl}") + private String patientUrl; @@ -274,6 +281,31 @@ public class DoctorService implements IDoctorService { return htDoctorMapper.selectByExample(doctorExample); } + @Override + public String getShareUrl(Long userId) throws Exception { + + HtDoctorExample example = new HtDoctorExample(); + example.createCriteria().andUserIdEqualTo(userId).andAuditStateEqualTo(Constant.Ht.Doctor.CHECK_SUCCESS); + List htDoctors = htDoctorMapper.selectByExample(example); + if (CollectionUtil.isEmpty(htDoctors)) { + log.info("没有找到{}对应的医生信息", userId); + throw new BaseException(CodeEnum.PARAM_ERROR); + } + HtDoctor doctor = htDoctors.get(0); + if (StrUtil.isNotBlank(doctor.getSharePatientEdit())) { + return doctor.getSharePatientEdit(); + } + log.info("生成分享评测对象信息录入页面"); + String shareUrl = patientUrl + "?userId=" + userId; + String codePath = QrCodeUtil.urlToQRCode(shareUrl, PropUtil.path); + String codeUrl = PropUtil.imgDomain + "/" + codePath; + log.info("生成的二维码路径:{}", codeUrl); + doctor.setSharePatientEdit(codeUrl); + log.info("修改医生分享评测对象信息录入页面路径"); + return codeUrl; + + } + @Override public DoctorVo.Query queryDoctorStatus(Long userId) { DoctorVo.Query query = htDoctorAuditDao.queryDoctorStatus(userId); diff --git a/ht/src/main/java/com/ccsens/ht/service/IDoctorService.java b/ht/src/main/java/com/ccsens/ht/service/IDoctorService.java index f979a8e9..6faaf09c 100644 --- a/ht/src/main/java/com/ccsens/ht/service/IDoctorService.java +++ b/ht/src/main/java/com/ccsens/ht/service/IDoctorService.java @@ -58,4 +58,11 @@ public interface IDoctorService { /**查询医生审核状态*/ DoctorVo.Query queryDoctorStatus(Long userId); + + /** + * 医生分享病人编辑路径 + * @param userId + * @return + */ + String getShareUrl(Long userId) throws Exception; } diff --git a/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java b/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java index 0093f4c5..254d94d0 100644 --- a/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java +++ b/ht/src/main/java/com/ccsens/ht/service/PatientReportService.java @@ -78,9 +78,7 @@ public class PatientReportService implements IPatientReportService { return JsonResponse.newInstance().ok(CodeEnum.PARAM_ERROR); } - HtPatientReportExample example = new HtPatientReportExample(); - example.createCriteria().andPatientIdEqualTo(htPatient.getId()); - long times = htPatientReportDao.countByExample(example); + HtPatientReport htPatientReport = new HtPatientReport(); htPatientReport.setId(snowflake.nextId()); htPatientReport.setDoctorId(doctors.get(0).getId()); @@ -89,7 +87,6 @@ public class PatientReportService implements IPatientReportService { htPatientReport.setPatientAge(StrUtil.isEmpty(htPatient.getIdcard()) ? null : (byte)IdcardUtil.getAgeByIdCard(htPatient.getIdcard())); htPatientReport.setEvaluationCode(Constant.Ht.Report.PARENT_CODE); htPatientReport.setName(Constant.Ht.Report.PARENT_NAME + DateUtil.today()); - htPatientReport.setSerialNumber(htPatient.getId() + "_" + (times + 1)); htPatientReport.setReportTime(System.currentTimeMillis()); // 查询医院信息 String hospital = htPositionDao.queryHospital(doctors.get(0).getPositionId()); @@ -383,28 +380,31 @@ public class PatientReportService implements IPatientReportService { content.addAll(reportScore.toRow()); }); PdfUtil.Row row = new PdfUtil.Row(); - addCell(row,"初步印象",2,2); - addCell(row, detail.getPatient().getInitialImpression(), 6, 2); + PdfUtil.Cell initWordCell = addCell(row, "初步印象", 2, 2); + initWordCell.setHeight(50); + PdfUtil.Cell initImplCell = addCell(row, detail.getPatient().getInitialImpression(), 6, 2); + initImplCell.setHeight(50); content.add(row); PdfUtil.Row row2 = new PdfUtil.Row(); addCell(row2,"测评员:",4,1, 0); addCell(row2,"报告日期:",4,1, 0); content.add(row2); - String path = PropUtil.imgDomain + "/" + PdfUtil.credatePdf(PropUtil.path, detail.getPatient().getHospital()+Constant.Ht.Report.PARENT_NAME, detail.getPatient().toPdfRow(), content); + String path = PropUtil.imgDomain + "/" + PdfUtil.credatePdf(PropUtil.path, detail.getPatient().getHospital(), Constant.Ht.Report.PARENT_NAME, detail.getPatient().toPdfRow(), content); report.setUrl(path); htPatientReportDao.updateByPrimaryKeySelective(report); log.info("生成文件路径:{}", path); return path; } - private void addCell(PdfUtil.Row row, String content, int colSpan, int rowSpan, int... border) { + private PdfUtil.Cell addCell(PdfUtil.Row row, String content, int colSpan, int rowSpan, int... border) { PdfUtil.Cell cell1 = new PdfUtil.Cell(); cell1.setContent(content); cell1.setColSpan(colSpan); cell1.setRowSpan(rowSpan); cell1.setBorder(border == null || border.length == 0 ? 1 : border[0]); row.addCell(cell1); + return cell1; } @Override diff --git a/ht/src/main/resources/application-dev.yml b/ht/src/main/resources/application-dev.yml index b81b45bc..d43d9469 100644 --- a/ht/src/main/resources/application-dev.yml +++ b/ht/src/main/resources/application-dev.yml @@ -34,4 +34,6 @@ file: imgDomain: http://localhost:7040/uploads ht: project: - name: 认知功能评测云平台系统 \ No newline at end of file + patientUrl: https://www.baidu.com/ + name: 认知功能评测云平台系统 + diff --git a/ht/src/main/resources/application-prod.yml b/ht/src/main/resources/application-prod.yml index d459dbb8..1fa8f33c 100644 --- a/ht/src/main/resources/application-prod.yml +++ b/ht/src/main/resources/application-prod.yml @@ -34,6 +34,7 @@ file: imgDomain: https://www.tall.wiki/gateway/ht/uploads ht: project: + patientUrl: https://www.tall.wiki/ht-dev/htPatientRegister name: 认知功能评测云平台系统 eureka: instance: diff --git a/ht/src/main/resources/application-test.yml b/ht/src/main/resources/application-test.yml index c6847e52..b97c2755 100644 --- a/ht/src/main/resources/application-test.yml +++ b/ht/src/main/resources/application-test.yml @@ -35,6 +35,7 @@ file: imgDomain: https://test.tall.wiki/gateway/ht/uploads ht: project: + patientUrl: https://test.tall.wiki/ht-dev/htPatientRegister name: 认知功能评测云平台系统 eureka: instance: diff --git a/ht/src/main/resources/mapper_raw/HtDoctorMapper.xml b/ht/src/main/resources/mapper_raw/HtDoctorMapper.xml index 7fc9ec4b..a794870e 100644 --- a/ht/src/main/resources/mapper_raw/HtDoctorMapper.xml +++ b/ht/src/main/resources/mapper_raw/HtDoctorMapper.xml @@ -12,6 +12,7 @@ + @@ -76,7 +77,7 @@ id, user_id, position_id, title_id, name, sex, age, auditor_id, audit_state, remark, - create_time, update_time, is_del + share_patient_edit, create_time, update_time, is_del - select option_name as optionName, sum(score) as score from t_ht_patient_score where patient_report_id = #{id, jdbcType=BIGINT} and question_parent_code = 'NPI' and option_name in ('carer','result') and is_del = 0 group by option_name; + + \ No newline at end of file diff --git a/ht/src/main/resources/mapper_raw/HtPatientPersionalMapper.xml b/ht/src/main/resources/mapper_raw/HtPatientPersionalMapper.xml index 5463ac95..7667aff0 100644 --- a/ht/src/main/resources/mapper_raw/HtPatientPersionalMapper.xml +++ b/ht/src/main/resources/mapper_raw/HtPatientPersionalMapper.xml @@ -11,15 +11,15 @@ - + - + - + @@ -28,6 +28,8 @@ + + @@ -91,7 +93,8 @@ id, patient_id, smoking_history, smoking_year, smoking_amount, smoking_quit, smoking_quit_year, drink_history, drink_year, drink_type, drink_amount, tea_coffee_history, tea_coffee_year, tea_coffee_type, tea_coffee_frequency, tea_coffee_quit, tea_coffee_quit_year, dietary_habit, - workout_time, sleep_time, snore, remark, create_time, update_time, is_del, recorder + workout_time, sleep_time, snore, remark, create_time, update_time, is_del, recorder, + drink_quit, drink_quit_year @@ -343,7 +360,7 @@ drink_year = #{record.drinkYear,jdbcType=INTEGER}, - drink_type = #{record.drinkType,jdbcType=TINYINT}, + drink_type = #{record.drinkType,jdbcType=VARCHAR}, drink_amount = #{record.drinkAmount,jdbcType=INTEGER}, @@ -355,7 +372,7 @@ tea_coffee_year = #{record.teaCoffeeYear,jdbcType=INTEGER}, - tea_coffee_type = #{record.teaCoffeeType,jdbcType=TINYINT}, + tea_coffee_type = #{record.teaCoffeeType,jdbcType=VARCHAR}, tea_coffee_frequency = #{record.teaCoffeeFrequency,jdbcType=TINYINT}, @@ -367,7 +384,7 @@ tea_coffee_quit_year = #{record.teaCoffeeQuitYear,jdbcType=INTEGER}, - dietary_habit = #{record.dietaryHabit,jdbcType=TINYINT}, + dietary_habit = #{record.dietaryHabit,jdbcType=VARCHAR}, workout_time = #{record.workoutTime,jdbcType=TINYINT}, @@ -393,6 +410,12 @@ recorder = #{record.recorder,jdbcType=BIGINT}, + + drink_quit = #{record.drinkQuit,jdbcType=TINYINT}, + + + drink_quit_year = #{record.drinkQuitYear,jdbcType=INTEGER}, + @@ -409,15 +432,15 @@ smoking_quit_year = #{record.smokingQuitYear,jdbcType=INTEGER}, drink_history = #{record.drinkHistory,jdbcType=TINYINT}, drink_year = #{record.drinkYear,jdbcType=INTEGER}, - drink_type = #{record.drinkType,jdbcType=TINYINT}, + drink_type = #{record.drinkType,jdbcType=VARCHAR}, drink_amount = #{record.drinkAmount,jdbcType=INTEGER}, tea_coffee_history = #{record.teaCoffeeHistory,jdbcType=TINYINT}, tea_coffee_year = #{record.teaCoffeeYear,jdbcType=INTEGER}, - tea_coffee_type = #{record.teaCoffeeType,jdbcType=TINYINT}, + tea_coffee_type = #{record.teaCoffeeType,jdbcType=VARCHAR}, tea_coffee_frequency = #{record.teaCoffeeFrequency,jdbcType=TINYINT}, tea_coffee_quit = #{record.teaCoffeeQuit,jdbcType=TINYINT}, tea_coffee_quit_year = #{record.teaCoffeeQuitYear,jdbcType=INTEGER}, - dietary_habit = #{record.dietaryHabit,jdbcType=TINYINT}, + dietary_habit = #{record.dietaryHabit,jdbcType=VARCHAR}, workout_time = #{record.workoutTime,jdbcType=TINYINT}, sleep_time = #{record.sleepTime,jdbcType=INTEGER}, snore = #{record.snore,jdbcType=TINYINT}, @@ -425,7 +448,9 @@ create_time = #{record.createTime,jdbcType=TIMESTAMP}, update_time = #{record.updateTime,jdbcType=TIMESTAMP}, is_del = #{record.isDel,jdbcType=TINYINT}, - recorder = #{record.recorder,jdbcType=BIGINT} + recorder = #{record.recorder,jdbcType=BIGINT}, + drink_quit = #{record.drinkQuit,jdbcType=TINYINT}, + drink_quit_year = #{record.drinkQuitYear,jdbcType=INTEGER} @@ -458,7 +483,7 @@ drink_year = #{drinkYear,jdbcType=INTEGER}, - drink_type = #{drinkType,jdbcType=TINYINT}, + drink_type = #{drinkType,jdbcType=VARCHAR}, drink_amount = #{drinkAmount,jdbcType=INTEGER}, @@ -470,7 +495,7 @@ tea_coffee_year = #{teaCoffeeYear,jdbcType=INTEGER}, - tea_coffee_type = #{teaCoffeeType,jdbcType=TINYINT}, + tea_coffee_type = #{teaCoffeeType,jdbcType=VARCHAR}, tea_coffee_frequency = #{teaCoffeeFrequency,jdbcType=TINYINT}, @@ -482,7 +507,7 @@ tea_coffee_quit_year = #{teaCoffeeQuitYear,jdbcType=INTEGER}, - dietary_habit = #{dietaryHabit,jdbcType=TINYINT}, + dietary_habit = #{dietaryHabit,jdbcType=VARCHAR}, workout_time = #{workoutTime,jdbcType=TINYINT}, @@ -508,6 +533,12 @@ recorder = #{recorder,jdbcType=BIGINT}, + + drink_quit = #{drinkQuit,jdbcType=TINYINT}, + + + drink_quit_year = #{drinkQuitYear,jdbcType=INTEGER}, + where id = #{id,jdbcType=BIGINT} @@ -521,15 +552,15 @@ smoking_quit_year = #{smokingQuitYear,jdbcType=INTEGER}, drink_history = #{drinkHistory,jdbcType=TINYINT}, drink_year = #{drinkYear,jdbcType=INTEGER}, - drink_type = #{drinkType,jdbcType=TINYINT}, + drink_type = #{drinkType,jdbcType=VARCHAR}, drink_amount = #{drinkAmount,jdbcType=INTEGER}, tea_coffee_history = #{teaCoffeeHistory,jdbcType=TINYINT}, tea_coffee_year = #{teaCoffeeYear,jdbcType=INTEGER}, - tea_coffee_type = #{teaCoffeeType,jdbcType=TINYINT}, + tea_coffee_type = #{teaCoffeeType,jdbcType=VARCHAR}, tea_coffee_frequency = #{teaCoffeeFrequency,jdbcType=TINYINT}, tea_coffee_quit = #{teaCoffeeQuit,jdbcType=TINYINT}, tea_coffee_quit_year = #{teaCoffeeQuitYear,jdbcType=INTEGER}, - dietary_habit = #{dietaryHabit,jdbcType=TINYINT}, + dietary_habit = #{dietaryHabit,jdbcType=VARCHAR}, workout_time = #{workoutTime,jdbcType=TINYINT}, sleep_time = #{sleepTime,jdbcType=INTEGER}, snore = #{snore,jdbcType=TINYINT}, @@ -537,7 +568,9 @@ create_time = #{createTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP}, is_del = #{isDel,jdbcType=TINYINT}, - recorder = #{recorder,jdbcType=BIGINT} + recorder = #{recorder,jdbcType=BIGINT}, + drink_quit = #{drinkQuit,jdbcType=TINYINT}, + drink_quit_year = #{drinkQuitYear,jdbcType=INTEGER} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/ht/src/main/resources/mapper_raw/HtPatientReportMapper.xml b/ht/src/main/resources/mapper_raw/HtPatientReportMapper.xml index 5a932103..9670a2ca 100644 --- a/ht/src/main/resources/mapper_raw/HtPatientReportMapper.xml +++ b/ht/src/main/resources/mapper_raw/HtPatientReportMapper.xml @@ -25,6 +25,7 @@ + @@ -87,7 +88,8 @@ id, name, patient_id, patient_idcard, patient_age, doctor_id, serial_number, initial_impression, clinical_diagnosis, pasi, department, bed_number, report_time, check_time, evaluation_code, - url, qr_code_url, remark, create_time, update_time, is_del, show_status, hospital + url, qr_code_url, remark, create_time, update_time, is_del, show_status, hospital, + complete_status @@ -360,6 +370,9 @@ hospital = #{record.hospital,jdbcType=VARCHAR}, + + complete_status = #{record.completeStatus,jdbcType=TINYINT}, + @@ -389,7 +402,8 @@ update_time = #{record.updateTime,jdbcType=TIMESTAMP}, is_del = #{record.isDel,jdbcType=TINYINT}, show_status = #{record.showStatus,jdbcType=TINYINT}, - hospital = #{record.hospital,jdbcType=VARCHAR} + hospital = #{record.hospital,jdbcType=VARCHAR}, + complete_status = #{record.completeStatus,jdbcType=TINYINT} @@ -463,6 +477,9 @@ hospital = #{hospital,jdbcType=VARCHAR}, + + complete_status = #{completeStatus,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -489,7 +506,8 @@ update_time = #{updateTime,jdbcType=TIMESTAMP}, is_del = #{isDel,jdbcType=TINYINT}, show_status = #{showStatus,jdbcType=TINYINT}, - hospital = #{hospital,jdbcType=VARCHAR} + hospital = #{hospital,jdbcType=VARCHAR}, + complete_status = #{completeStatus,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 93a7517a..e1cc5e6e 100644 --- a/pom.xml +++ b/pom.xml @@ -64,12 +64,12 @@ spring-boot-starter-jetty - + org.springframework.boot spring-boot-configuration-processor diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/DomainVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/DomainVo.java index 2f35101b..ed8a77e9 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/DomainVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/DomainVo.java @@ -30,7 +30,7 @@ public class DomainVo { private String headline; @ApiModelProperty("是否显示日历 0不显示 1显示") - private int showCalender; + private int showCalendar; @ApiModelProperty("不展示日历时。显示的项目的id") private Long showProjectId; } diff --git a/tall/src/main/java/com/ccsens/tall/service/SysDomainService.java b/tall/src/main/java/com/ccsens/tall/service/SysDomainService.java index 2e027abd..ecb14ab7 100644 --- a/tall/src/main/java/com/ccsens/tall/service/SysDomainService.java +++ b/tall/src/main/java/com/ccsens/tall/service/SysDomainService.java @@ -11,7 +11,6 @@ import com.ccsens.tall.persist.dao.SysDomainDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.sql.Struct; import java.util.List; @Service @@ -43,7 +42,7 @@ public class SysDomainService implements ISysDomainService{ domainInfo.setBackdropUrl(""); domainInfo.setCaption("TM"); domainInfo.setHeadline("TALL"); - domainInfo.setShowCalender(1); + domainInfo.setShowCalendar(1); } return domainInfo; } diff --git a/util/src/main/java/com/ccsens/util/PdfUtil.java b/util/src/main/java/com/ccsens/util/PdfUtil.java index 7237b2de..0116bb91 100644 --- a/util/src/main/java/com/ccsens/util/PdfUtil.java +++ b/util/src/main/java/com/ccsens/util/PdfUtil.java @@ -35,7 +35,7 @@ public class PdfUtil { * @param content * @return */ - public static String credatePdf(String parentPath, String title, String subhead, List intros, List content) { + public static String credatePdf(String parentPath, String title, String subhead, List intros, List content, Margin margin) { String fileName = "pdf/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".pdf"; log.info("pdf文件名:{}", fileName ); File file = new File(parentPath, fileName); @@ -45,10 +45,9 @@ public class PdfUtil { //新建文件 Document document = new Document(); try { - + document.setMargins(margin.left, margin.right, margin.top, margin.bottom); PdfWriter.getInstance(document, new FileOutputStream(file)); document.open(); - // 中文字体 BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); // 标题字体 @@ -57,6 +56,7 @@ public class PdfUtil { Paragraph par = new Paragraph(title, titleChinese); par.setAlignment(Element.ALIGN_CENTER); document.add(par); + if (StrUtil.isNotBlank(subhead)) { // 标题字体 Font subheadChinese = new Font(bfChinese, 22, Font.NORMAL); @@ -67,7 +67,6 @@ public class PdfUtil { } // 每行加空白 fillBlankRow(document, titleChinese); - //设置介绍内容 if (CollectionUtil.isNotEmpty(intros)) { fillRow(intros, document); @@ -122,7 +121,7 @@ public class PdfUtil { PdfPTable table = new PdfPTable(size); table.setSpacingBefore(0); - table.setWidthPercentage(100); + table.setWidthPercentage(90); for (int j = 0; j < rows.size(); j++) { Row row = rows.get(j); table.setHorizontalAlignment(row.align); @@ -130,10 +129,10 @@ public class PdfUtil { for (int i = 0; i < row.cells.size(); i++) { Cell cell = row.cells.get(i); PdfPCell pdfpCell = new PdfPCell(new Phrase(cell.content,font)); - pdfpCell.setBorderWidthTop(j == 0 ? cell.border : 0); - pdfpCell.setBorderWidthLeft(cell.border); - pdfpCell.setBorderWidthRight(i == row.cells.size() - 1 ? cell.border : 0); - pdfpCell.setBorderWidthBottom(cell.border); + pdfpCell.setBorderWidthTop(cell.borderTop == null ? 0 : cell.borderTop); + pdfpCell.setBorderWidthLeft(cell.borderLeft == null ? 0 : cell.borderLeft); + pdfpCell.setBorderWidthRight(cell.borderRight == null ? 0 : cell.borderRight); + pdfpCell.setBorderWidthBottom(cell.borderBottom == null ? 0 : cell.borderBottom); pdfpCell.setColspan(cell.colSpan); pdfpCell.setRowspan(cell.rowSpan); if (cell.isCenter) { @@ -143,7 +142,6 @@ public class PdfUtil { //垂直居中 pdfpCell.setVerticalAlignment(Element.ALIGN_MIDDLE); -// pdfpCell.setFixedHeight(cell.height); pdfpCell.setMinimumHeight(cell.height); table.addCell(pdfpCell); } @@ -175,18 +173,38 @@ public class PdfUtil { } @Data public static class Cell{ + public final static int defaultHeight = 24; //内容 private String content; //边框宽度 private int border = 1; + // 上边框宽度 + private Integer borderTop = null; + // 下边框宽度 + private Integer borderBottom = 1; + // 左边框宽度 + private Integer borderLeft = 1; + // 右边框宽度 + private Integer borderRight = null; //横向合并数 private int colSpan = 1; //纵向合并数 private int rowSpan = 1; //单元格高度 - private int height = 25; + private int height = defaultHeight; // 单元格是否居中 private boolean isCenter = true; } + + /** + * pdf位置 + */ + @Data + public static class Margin{ + private float left = 72; + private float right = 0; + private float top = 32; + private float bottom = 32; + } } diff --git a/util/src/test/java/com/ccsens/util/PdfUtilTest.java b/util/src/test/java/com/ccsens/util/PdfUtilTest.java index 738f41fe..cf481300 100644 --- a/util/src/test/java/com/ccsens/util/PdfUtilTest.java +++ b/util/src/test/java/com/ccsens/util/PdfUtilTest.java @@ -49,7 +49,7 @@ public class PdfUtilTest { contents.add(row); contents.add(row2); } - PdfUtil.credatePdf("/home/", "山大一院","评测", rows, contents); + PdfUtil.credatePdf("/home/", "山大一院","评测", rows, contents, new PdfUtil.Margin()); } From d6584ae62c8a066c4fb470da247d27b114eff9e6 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 7 Aug 2020 15:17:50 +0800 Subject: [PATCH 03/72] =?UTF-8?q?=E6=8D=A2=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/application-util-prod.yml | 3 +- ht/src/main/resources/application-prod.yml | 36 +++++++++---------- ht/src/main/resources/application.yml | 4 +-- tall/src/main/resources/application-prod.yml | 8 ++--- tall/src/main/resources/application.yml | 4 +-- tall/src/main/resources/druid-prod.yml | 7 ++-- .../test/java/com/ccsens/util/Base64Test.java | 14 ++------ 7 files changed, 34 insertions(+), 42 deletions(-) diff --git a/cloudutil/src/main/resources/application-util-prod.yml b/cloudutil/src/main/resources/application-util-prod.yml index 53261534..443213d8 100644 --- a/cloudutil/src/main/resources/application-util-prod.yml +++ b/cloudutil/src/main/resources/application-util-prod.yml @@ -20,7 +20,8 @@ eureka: service-url: # 指定eureka server通信地址,注意/eureka/小尾巴不能少 #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/ - defaultZone: http://admin:admin@140.143.228.3:7010/eureka/ +# defaultZone: http://admin:admin@140.143.228.3:7010/eureka/ + defaultZone: http://admin:admin@81.70.54.64:7010/eureka/ instance: # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server prefer-ip-address: true diff --git a/ht/src/main/resources/application-prod.yml b/ht/src/main/resources/application-prod.yml index d459dbb8..22df93c5 100644 --- a/ht/src/main/resources/application-prod.yml +++ b/ht/src/main/resources/application-prod.yml @@ -7,23 +7,23 @@ spring: name: ht datasource: type: com.alibaba.druid.pool.DruidDataSource - rabbitmq: - host: api.ccsens.com - password: 111111 - port: 5672 - username: admin - redis: - database: 0 - host: 127.0.0.1 - jedis: - pool: - max-active: 200 - max-idle: 10 - max-wait: -1ms - min-idle: 0 - password: 'areowqr!@43ef' - port: 6379 - timeout: 1000ms + rabbitmq: + host: 127.0.0.1 + password: 111111 + port: 5672 + username: admin + redis: + database: 0 + host: 127.0.0.1 + jedis: + pool: + max-active: 200 + max-idle: 10 + max-wait: -1ms + min-idle: 0 + password: '' + port: 6379 + timeout: 1000ms swagger: @@ -37,4 +37,4 @@ ht: name: 认知功能评测云平台系统 eureka: instance: - ip-address: 140.143.228.3 \ No newline at end of file + ip-address: 81.70.54.64 \ No newline at end of file diff --git a/ht/src/main/resources/application.yml b/ht/src/main/resources/application.yml index 5889ff7f..d082c0ea 100644 --- a/ht/src/main/resources/application.yml +++ b/ht/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: common, util-test \ No newline at end of file + active: prod + include: common, util-prod \ No newline at end of file diff --git a/tall/src/main/resources/application-prod.yml b/tall/src/main/resources/application-prod.yml index 602cd0ca..46ef7920 100644 --- a/tall/src/main/resources/application-prod.yml +++ b/tall/src/main/resources/application-prod.yml @@ -11,20 +11,20 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource rabbitmq: - host: api.ccsens.com + host: 127.0.0.1 password: 111111 port: 5672 username: admin redis: database: 0 - host: www.tall.wiki + host: 127.0.0.1 jedis: pool: max-active: 200 max-idle: 10 max-wait: -1ms min-idle: 0 - password: 'areowqr!@43ef' + password: '' port: 6379 timeout: 1000ms swagger: @@ -33,6 +33,6 @@ eureka: instance: # www.tall.wiki # ip-address: 140.143.228.3 - ip-address: 192.144.182.42 + ip-address: 81.70.54.64 gatewayUrl: https://www.tall.wiki/gateway/ \ No newline at end of file diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index b2acd365..4fc2efe4 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: util-dev,common + active: prod + include: util-prod,common diff --git a/tall/src/main/resources/druid-prod.yml b/tall/src/main/resources/druid-prod.yml index 2d3f9983..ee0316bc 100644 --- a/tall/src/main/resources/druid-prod.yml +++ b/tall/src/main/resources/druid-prod.yml @@ -3,7 +3,7 @@ spring: druid: connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 driverClassName: com.mysql.cj.jdbc.Driver - dynamicUrl: jdbc:mysql://api.ccsens.com:3306/${schema} + dynamicUrl: jdbc:mysql://127.0.0.1:3306/${schema} filterExclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*' filterName: druidFilter filterProfileEnable: true @@ -15,7 +15,8 @@ spring: maxWait: 60000 minEvictableIdleTimeMillis: 300000 minIdle: 5 - password: 7cdefb88e0b8c8a401b66a83ee0cf80387461268074d1c3dcb146ab485318633 +# password: 7cdefb88e0b8c8a401b66a83ee0cf80387461268074d1c3dcb146ab485318633 + password: poolPreparedStatements: true servletLogSlowSql: true servletLoginPassword: 111111 @@ -27,7 +28,7 @@ spring: testOnReturn: false testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 - url: jdbc:mysql://api.ccsens.com/tall?useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://127.0.0.1/tall?useUnicode=true&characterEncoding=UTF-8 username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_HEALTH \ No newline at end of file diff --git a/util/src/test/java/com/ccsens/util/Base64Test.java b/util/src/test/java/com/ccsens/util/Base64Test.java index cafd9a33..4da556b6 100644 --- a/util/src/test/java/com/ccsens/util/Base64Test.java +++ b/util/src/test/java/com/ccsens/util/Base64Test.java @@ -1,19 +1,11 @@ package com.ccsens.util; import cn.hutool.core.codec.Base64; -import cn.hutool.core.collection.CollectionUtil; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; -import com.ccsens.util.wx.WxXcxUtil; +import cn.hutool.core.util.ZipUtil; import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; -import javax.servlet.ServletOutputStream; -import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; -import java.io.IOException; -import java.util.List; /** * @description: @@ -38,8 +30,6 @@ public class Base64Test { @Test public void test02() throws Exception { - String s = ""; - String[] projectIds = s.split(","); - System.out.println(projectIds.toString()); + ZipUtil.zip("C:\\Users\\逗\\Desktop\\新建文件夹","C:\\Users\\逗\\Desktop\\ht.zip"); } } From 9c330df9f8d21e1ca8549f6efa1a8a366f143f68 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Mon, 10 Aug 2020 09:55:47 +0800 Subject: [PATCH 04/72] =?UTF-8?q?=E5=8E=BB=E6=8E=89mq=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tall/src/main/resources/application-prod.yml | 4 +- .../ccsens/util/config/RabbitMQConfig.java | 61 +++++----- .../com/ccsens/util/mq/DelayConsumer.java | 66 +++++------ .../com/ccsens/util/mq/DelayProducer.java | 108 +++++++++--------- 4 files changed, 118 insertions(+), 121 deletions(-) diff --git a/tall/src/main/resources/application-prod.yml b/tall/src/main/resources/application-prod.yml index 46ef7920..38ccf4af 100644 --- a/tall/src/main/resources/application-prod.yml +++ b/tall/src/main/resources/application-prod.yml @@ -4,8 +4,8 @@ server: context-path: /v1.0 spring: snowflake: - datacenterId: 2 - workerId: 2 + datacenterId: 1 + workerId: 1 application: name: tall datasource: diff --git a/util/src/main/java/com/ccsens/util/config/RabbitMQConfig.java b/util/src/main/java/com/ccsens/util/config/RabbitMQConfig.java index 9ccda900..f6cf5760 100644 --- a/util/src/main/java/com/ccsens/util/config/RabbitMQConfig.java +++ b/util/src/main/java/com/ccsens/util/config/RabbitMQConfig.java @@ -1,12 +1,9 @@ package com.ccsens.util.config; -import org.springframework.amqp.core.*; +import org.springframework.amqp.core.Queue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import java.util.HashMap; -import java.util.Map; - @Configuration public class RabbitMQConfig { public static final String RabbitMQ_QUEUE_NAME = "Queue_Anyring"; @@ -34,34 +31,34 @@ public class RabbitMQConfig { return new Queue(TALL_MESSAGE_2); } - /** - * 延时发送队列 - * @return - */ - @Bean - public Queue delayQueue(){ -// return QueueBuilder.durable(GAME_STATUS_DELAY_SEND_QUEUE).build(); - return new Queue(GAME_STATUS_DELAY_SEND_QUEUE,true); - } - - /** - * 延时交换机 - * @return - */ - @Bean - public CustomExchange delayExchange(){ - Map args = new HashMap<>(); - args.put("x-delayed-type", "direct"); - return new CustomExchange(GAME_STATUS_DELAY_SEND_EXCHANGE, "x-delayed-message", true, false, args); - } - - /** - * 绑定 - */ - @Bean - Binding queueBinding(Queue delayQueue, CustomExchange customExchange) { - return BindingBuilder.bind(delayQueue).to(customExchange).with(GAME_STATUS_DELAY_SEND_ROUTING_KEY).noargs(); - } +// /** +// * 延时发送队列 +// * @return +// */ +// @Bean +// public Queue delayQueue(){ +//// return QueueBuilder.durable(GAME_STATUS_DELAY_SEND_QUEUE).build(); +// return new Queue(GAME_STATUS_DELAY_SEND_QUEUE,true); +// } +// +// /** +// * 延时交换机 +// * @return +// */ +// @Bean +// public CustomExchange delayExchange(){ +// Map args = new HashMap<>(); +// args.put("x-delayed-type", "direct"); +// return new CustomExchange(GAME_STATUS_DELAY_SEND_EXCHANGE, "x-delayed-message", true, false, args); +// } +// +// /** +// * 绑定 +// */ +// @Bean +// Binding queueBinding(Queue delayQueue, CustomExchange customExchange) { +// return BindingBuilder.bind(delayQueue).to(customExchange).with(GAME_STATUS_DELAY_SEND_ROUTING_KEY).noargs(); +// } } diff --git a/util/src/main/java/com/ccsens/util/mq/DelayConsumer.java b/util/src/main/java/com/ccsens/util/mq/DelayConsumer.java index 6e1b4e94..1e6e57a7 100644 --- a/util/src/main/java/com/ccsens/util/mq/DelayConsumer.java +++ b/util/src/main/java/com/ccsens/util/mq/DelayConsumer.java @@ -1,33 +1,33 @@ -package com.ccsens.util.mq; - -import com.ccsens.util.config.RabbitMQConfig; -import com.rabbitmq.client.Channel; -import org.springframework.amqp.rabbit.annotation.RabbitHandler; -import org.springframework.amqp.rabbit.annotation.RabbitListener; -import org.springframework.amqp.support.AmqpHeaders; -import org.springframework.messaging.handler.annotation.Headers; -import org.springframework.messaging.handler.annotation.Payload; -import org.springframework.stereotype.Component; - -import java.io.IOException; -import java.util.Date; -import java.util.Map; - -/** - * @description: - * @author: wuHuiJuan - * @create: 2019/12/27 15:40 - */ -@Component -public class DelayConsumer { - @RabbitListener(queues = RabbitMQConfig.GAME_STATUS_DELAY_SEND_QUEUE) - @RabbitHandler - public void receive(@Payload Object msg, @Headers Map headers, Channel channel ) throws IOException { - System.out.println("接收到的消息:"+msg +"||" + new Date()); - - //ACK 手工签收,通知rabbitMQ,消费端消费成功 - Long deliveryTag = (Long)headers.get(AmqpHeaders.DELIVERY_TAG); - channel.basicAck(deliveryTag,false); - } - -} +//package com.ccsens.util.mq; +// +//import com.ccsens.util.config.RabbitMQConfig; +//import com.rabbitmq.client.Channel; +//import org.springframework.amqp.rabbit.annotation.RabbitHandler; +//import org.springframework.amqp.rabbit.annotation.RabbitListener; +//import org.springframework.amqp.support.AmqpHeaders; +//import org.springframework.messaging.handler.annotation.Headers; +//import org.springframework.messaging.handler.annotation.Payload; +//import org.springframework.stereotype.Component; +// +//import java.io.IOException; +//import java.util.Date; +//import java.util.Map; +// +///** +// * @description: +// * @author: wuHuiJuan +// * @create: 2019/12/27 15:40 +// */ +//@Component +//public class DelayConsumer { +// @RabbitListener(queues = RabbitMQConfig.GAME_STATUS_DELAY_SEND_QUEUE) +// @RabbitHandler +// public void receive(@Payload Object msg, @Headers Map headers, Channel channel ) throws IOException { +// System.out.println("接收到的消息:"+msg +"||" + new Date()); +// +// //ACK 手工签收,通知rabbitMQ,消费端消费成功 +// Long deliveryTag = (Long)headers.get(AmqpHeaders.DELIVERY_TAG); +// channel.basicAck(deliveryTag,false); +// } +// +//} diff --git a/util/src/main/java/com/ccsens/util/mq/DelayProducer.java b/util/src/main/java/com/ccsens/util/mq/DelayProducer.java index f4c371a6..58f05d74 100644 --- a/util/src/main/java/com/ccsens/util/mq/DelayProducer.java +++ b/util/src/main/java/com/ccsens/util/mq/DelayProducer.java @@ -1,54 +1,54 @@ -package com.ccsens.util.mq; - -import com.ccsens.util.config.RabbitMQConfig; -import lombok.extern.slf4j.Slf4j; -import org.springframework.amqp.rabbit.connection.CorrelationData; -import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -/** - * @description: - * @author: wuHuiJuan - * @create: 2019/12/27 15:16 - */ -@Slf4j -@Component -public class DelayProducer { - @Autowired - private RabbitTemplate rabbitTemplate; - - //消息发送后的回调函数 - /** - * 生产者回调函数:confirm确认消息投递成功 - */ - final RabbitTemplate.ConfirmCallback confirmCallback = (correlationData, ack, cause) -> { - - String messageId = correlationData.getId(); - if (ack) { - System.out.println("消息发送成功" + correlationData); - log.info("消息投递成功,{}",messageId); - //进行消息记录的数据库更新 - - }else{ - log.info("消息投递失败"); - } - - }; - - /** - * 通过延迟消息插件发动延迟消息 - * @param msg - * @param expiration - */ - public void sendDelayMessage(Object msg, Long expiration){ - - //绑定异步监听回调函数 - rabbitTemplate.setConfirmCallback(confirmCallback); - - rabbitTemplate.convertAndSend(RabbitMQConfig.GAME_STATUS_DELAY_SEND_EXCHANGE,RabbitMQConfig.GAME_STATUS_DELAY_SEND_ROUTING_KEY, msg,(message)->{ - message.getMessageProperties().setHeader("x-delay", expiration);//设置延迟时间 - return message; - }, new CorrelationData("123")); - } -} +//package com.ccsens.util.mq; +// +//import com.ccsens.util.config.RabbitMQConfig; +//import lombok.extern.slf4j.Slf4j; +//import org.springframework.amqp.rabbit.connection.CorrelationData; +//import org.springframework.amqp.rabbit.core.RabbitTemplate; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.stereotype.Component; +// +///** +// * @description: +// * @author: wuHuiJuan +// * @create: 2019/12/27 15:16 +// */ +//@Slf4j +//@Component +//public class DelayProducer { +// @Autowired +// private RabbitTemplate rabbitTemplate; +// +// //消息发送后的回调函数 +// /** +// * 生产者回调函数:confirm确认消息投递成功 +// */ +// final RabbitTemplate.ConfirmCallback confirmCallback = (correlationData, ack, cause) -> { +// +// String messageId = correlationData.getId(); +// if (ack) { +// System.out.println("消息发送成功" + correlationData); +// log.info("消息投递成功,{}",messageId); +// //进行消息记录的数据库更新 +// +// }else{ +// log.info("消息投递失败"); +// } +// +// }; +// +// /** +// * 通过延迟消息插件发动延迟消息 +// * @param msg +// * @param expiration +// */ +// public void sendDelayMessage(Object msg, Long expiration){ +// +// //绑定异步监听回调函数 +// rabbitTemplate.setConfirmCallback(confirmCallback); +// +// rabbitTemplate.convertAndSend(RabbitMQConfig.GAME_STATUS_DELAY_SEND_EXCHANGE,RabbitMQConfig.GAME_STATUS_DELAY_SEND_ROUTING_KEY, msg,(message)->{ +// message.getMessageProperties().setHeader("x-delay", expiration);//设置延迟时间 +// return message; +// }, new CorrelationData("123")); +// } +//} From 18723ec910d3e9086549f8f750f571950db52a36 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Mon, 10 Aug 2020 14:10:20 +0800 Subject: [PATCH 05/72] =?UTF-8?q?=E5=BC=80=E6=94=BE=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/tall/service/UserService.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/UserService.java b/tall/src/main/java/com/ccsens/tall/service/UserService.java index daca9f61..7c6eba40 100644 --- a/tall/src/main/java/com/ccsens/tall/service/UserService.java +++ b/tall/src/main/java/com/ccsens/tall/service/UserService.java @@ -1,13 +1,11 @@ package com.ccsens.tall.service; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; - import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.feign.HealthFeignClient; import com.ccsens.tall.bean.dto.ProjectDto; @@ -23,16 +21,13 @@ import com.ccsens.util.enterprisewx.vo.WeiXinVo; import com.ccsens.util.exception.BaseException; import com.ccsens.util.wx.WxGzhUtil; import com.ccsens.util.wx.WxXcxUtil; -import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomStringUtils; -import org.eclipse.jetty.http.HttpStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; -import org.xhtmlrenderer.css.parser.property.PrimitivePropertyBuilders; import java.util.ArrayList; import java.util.HashMap; @@ -623,8 +618,8 @@ public class UserService implements IUserService { } //2.生成随机验证码 -// String verifyCode = RandomUtil.randomNumbers(4); - String verifyCode = "1111"; + String verifyCode = RandomUtil.randomNumbers(4); +// String verifyCode = "1111"; //3.保存到redis中 Integer codeValidInSeconds = WebConstant.Expired_Verify_Code_In_Seconds; @@ -633,7 +628,7 @@ public class UserService implements IUserService { redisUtil.set(RedisKeyManager.getSigninSmsExistKey(phone), verifyCode, codeExistINSeconds); //5.发送验证码 -// SmsUtil.sendSms(phone, verifyCode, client_type.phase, codeValidInSeconds); + SmsUtil.sendSms(phone, verifyCode, client_type.phase, codeValidInSeconds); //6.返回 smsCodeVo = new UserVo.SmsCode(); From 1b9ed268e9d6732f1c4bf304346b31b4e1faeb05 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 13 Aug 2020 13:54:25 +0800 Subject: [PATCH 06/72] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B8=B8=E6=88=8FMQ?= =?UTF-8?q?=E8=AE=BF=E9=97=AE=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cloudutil/src/main/resources/application-util-test.yml | 3 ++- ct/src/main/resources/druid-test.yml | 2 +- .../src/main/java/com/ccsens/game/config/SpringConfig.java | 4 ++-- .../main/java/com/ccsens/game/service/ScreenService.java | 1 + game/src/main/resources/application-dev.yml | 2 +- game/src/main/resources/application-test.yml | 6 +++--- game/src/main/resources/druid-test.yml | 7 ++++--- mt/src/main/java/com/ccsens/mt/api/ScoreController.java | 2 -- 8 files changed, 14 insertions(+), 13 deletions(-) diff --git a/cloudutil/src/main/resources/application-util-test.yml b/cloudutil/src/main/resources/application-util-test.yml index 46e5e128..6559c69e 100644 --- a/cloudutil/src/main/resources/application-util-test.yml +++ b/cloudutil/src/main/resources/application-util-test.yml @@ -20,7 +20,8 @@ eureka: service-url: # 指定eureka server通信地址,注意/eureka/小尾巴不能少 #defaultZone: http://admin:admin@peer1:8761/eureka/,http://admin:admin@peer2:8762/eureka/ - defaultZone: http://admin:admin@49.233.89.188:7010/eureka/ +# defaultZone: http://admin:admin@49.233.89.188:7010/eureka/ + defaultZone: http://admin:admin@192.168.0.99:7010/eureka/ instance: # 是否注册IP到eureka server,如不指定或设为false,那就回注册主机名到eureka server prefer-ip-address: true diff --git a/ct/src/main/resources/druid-test.yml b/ct/src/main/resources/druid-test.yml index e38249c2..caf023d1 100644 --- a/ct/src/main/resources/druid-test.yml +++ b/ct/src/main/resources/druid-test.yml @@ -27,7 +27,7 @@ spring: testOnReturn: false testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 - url: jdbc:mysql://127.0.0.1/ct?useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://test.tall.wiki/ct?useUnicode=true&characterEncoding=UTF-8 username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_GAME \ No newline at end of file diff --git a/game/src/main/java/com/ccsens/game/config/SpringConfig.java b/game/src/main/java/com/ccsens/game/config/SpringConfig.java index fc3f8ab3..b6dcd3b5 100644 --- a/game/src/main/java/com/ccsens/game/config/SpringConfig.java +++ b/game/src/main/java/com/ccsens/game/config/SpringConfig.java @@ -8,7 +8,6 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -18,6 +17,7 @@ import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.*; +import javax.annotation.Resource; import javax.sql.DataSource; import java.nio.charset.Charset; import java.util.ArrayList; @@ -26,7 +26,7 @@ import java.util.List; @Configuration //public class SpringConfig extends WebMvcConfigurationSupport { public class SpringConfig implements WebMvcConfigurer { - @Autowired + @Resource private DruidProps druidPropsUtil; @Value("${spring.snowflake.workerId}") private String workerId; diff --git a/game/src/main/java/com/ccsens/game/service/ScreenService.java b/game/src/main/java/com/ccsens/game/service/ScreenService.java index 5fe719e9..da0e579f 100644 --- a/game/src/main/java/com/ccsens/game/service/ScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/ScreenService.java @@ -184,6 +184,7 @@ public class ScreenService implements IScreenService { } } chromeMessageDto.setReceivers(messageUserList); + log.info("给所有成员发送开始游戏的消息:{}",chromeMessageDto.toString()); messageService.sendGameMessageWithGetUrl(chromeMessageDto); return urlVo; diff --git a/game/src/main/resources/application-dev.yml b/game/src/main/resources/application-dev.yml index 662147ab..996b5efa 100644 --- a/game/src/main/resources/application-dev.yml +++ b/game/src/main/resources/application-dev.yml @@ -8,7 +8,7 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource rabbitmq: - host: 49.233.89.188 + host: 81.70.54.64 password: 111111 port: 5672 username: admin diff --git a/game/src/main/resources/application-test.yml b/game/src/main/resources/application-test.yml index 780923c8..dc6a2aa8 100644 --- a/game/src/main/resources/application-test.yml +++ b/game/src/main/resources/application-test.yml @@ -8,13 +8,13 @@ spring: datasource: type: com.alibaba.druid.pool.DruidDataSource rabbitmq: - host: api.ccsens.com + host: 81.70.54.64 password: 111111 port: 5672 username: admin redis: database: 0 - host: 127.0.0.1 + host: 192.168.0.99 jedis: pool: max-active: 200 @@ -28,4 +28,4 @@ swagger: enable: true eureka: instance: - ip-address: 49.233.89.188 \ No newline at end of file + ip-address: 192.168.0.99 \ No newline at end of file diff --git a/game/src/main/resources/druid-test.yml b/game/src/main/resources/druid-test.yml index 579863aa..7025ba18 100644 --- a/game/src/main/resources/druid-test.yml +++ b/game/src/main/resources/druid-test.yml @@ -15,7 +15,7 @@ spring: maxWait: 60000 minEvictableIdleTimeMillis: 300000 minIdle: 5 - password: + password: 37080c1f223685592316b02dad8816c019290a476e54ebb638f9aa3ba8b6bdb9 poolPreparedStatements: true servletLogSlowSql: true servletLoginPassword: 111111 @@ -27,7 +27,8 @@ spring: testOnReturn: false testWhileIdle: true timeBetweenEvictionRunsMillis: 60000 - url: jdbc:mysql://127.0.0.1/game?useUnicode=true&characterEncoding=UTF-8 - rname: root +# url: jdbc:mysql://test.tall.wiki/game?useUnicode=true&characterEncoding=UTF-8 + url: jdbc:mysql://49.233.89.188:3306/game?useUnicode=true&characterEncoding=UTF-8 + username: root validationQuery: SELECT 1 FROM DUAL env: CCSENS_GAME \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/api/ScoreController.java b/mt/src/main/java/com/ccsens/mt/api/ScoreController.java index 0dae91df..192c36d5 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ScoreController.java @@ -5,8 +5,6 @@ import com.ccsens.mt.bean.vo.ScoreVo; import com.ccsens.mt.service.IScoreService; import com.ccsens.mt.service.IUserService; import com.ccsens.util.JsonResponse; -import com.ccsens.util.WebConstant; -import io.jsonwebtoken.Claims; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; From c2ad3e7cae2a3ff2cb96de9945153e36bd2d3559 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Mon, 14 Sep 2020 15:36:34 +0800 Subject: [PATCH 07/72] =?UTF-8?q?=E6=AF=94=E8=B5=9B=E6=8A=A5=E5=90=8D?= =?UTF-8?q?=E6=A0=A1=E5=86=85=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/cloudutil/aspect/LogAspect.java | 4 +- .../ccsens/game/service/ScreenService.java | 17 +- .../ccsens/mt/api/DepartmentController.java | 68 ++ .../com/ccsens/mt/api/LevelController.java | 8 +- .../com/ccsens/mt/bean/dto/CompeteDto.java | 55 +- .../java/com/ccsens/mt/bean/dto/LevelDto.java | 6 - .../ccsens/mt/bean/po/CompeteCompanyRole.java | 95 +++ .../mt/bean/po/CompeteCompanyRoleExample.java | 621 ++++++++++++++++++ .../java/com/ccsens/mt/bean/vo/CompeteVo.java | 56 +- .../mt/persist/dao/CompetePlayerDao.java | 31 + .../com/ccsens/mt/persist/dao/LevelUpDao.java | 11 + .../mapper/CompeteCompanyRoleMapper.java | 30 + .../com/ccsens/mt/service/CompeteService.java | 4 +- .../ccsens/mt/service/DepartmentService.java | 220 +++++++ .../ccsens/mt/service/IDepartmentService.java | 41 ++ .../ccsens/mt/service/ILevelUpService.java | 5 +- .../com/ccsens/mt/service/LevelUpService.java | 117 +++- mt/src/main/resources/application-prod.yml | 4 +- .../resources/mapper_dao/CompetePlayerDao.xml | 124 ++++ .../main/resources/mapper_dao/LevelUpDao.xml | 19 +- .../mapper_raw/CompeteCompanyRoleMapper.xml | 243 +++++++ .../tall/scheduled/ScheduledService.java | 3 +- .../ccsens/tall/service/ProjectService.java | 15 +- .../com/ccsens/tall/service/UserService.java | 30 +- .../ccsens/tall/web/ProjectController.java | 3 +- .../main/java/com/ccsens/util/CodeEnum.java | 1 + .../main/java/com/ccsens/util/QrCodeUtil.java | 2 +- .../ccsens/util/UploadFileUtil_Servlet3.java | 2 +- .../java/com/ccsens/util/WebConstant.java | 40 +- .../java/com/ccsens/util/wx/WxXcxUtil.java | 24 + .../test/java/com/ccsens/util/TestQrCord.java | 2 +- 31 files changed, 1831 insertions(+), 70 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/api/DepartmentController.java create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyRole.java create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyRoleExample.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyRoleMapper.java create mode 100644 mt/src/main/java/com/ccsens/mt/service/DepartmentService.java create mode 100644 mt/src/main/java/com/ccsens/mt/service/IDepartmentService.java create mode 100644 mt/src/main/resources/mapper_raw/CompeteCompanyRoleMapper.xml diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java index 105e2908..7a43de2e 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java @@ -49,7 +49,9 @@ public class LogAspect { } - @Pointcut("execution(* com.ccsens.tall.web..*(..)) || execution(* com.ccsens.ht.api..*(..))") + @Pointcut("execution(* com.ccsens.tall.web..*(..)) || execution(* com.ccsens.ht.api..*(..))" + + " || execution(* com.ccsens.mt.api..*(..)) || execution(* com.ccsens.game.api..*(..))" + + " || execution(* com.ccsens.health.api..*(..)) || execution(* com.ccsens.pims.api..*(..))") public void logAdvice(){ } diff --git a/game/src/main/java/com/ccsens/game/service/ScreenService.java b/game/src/main/java/com/ccsens/game/service/ScreenService.java index 46140ccf..8d7c2ad4 100644 --- a/game/src/main/java/com/ccsens/game/service/ScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/ScreenService.java @@ -131,18 +131,21 @@ public class ScreenService implements IScreenService { gameRecord.setUrl(gameUrl + gameType.getScreenUrl() + "?id=" + gameRecord.getId()); // gameRecord.setQrCodeUrl(gameUrl + gameRecord.getId() + File.separator + gameType.getClientUrl()); - if("1".equalsIgnoreCase(PropUtil.openWx)){ +// if("1".equalsIgnoreCase(PropUtil.openWx)){ //生成二维码 String fileName = "/gameQrCode/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".png"; String path = WebConstant.UPLOAD_PATH_BASE + fileName; - WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME, "id=" + gameRecord.getId() + "&type=" + gameType.getCode(), null, path, gameType.getCode()); +// WxXcxUtil.getWxCode(WebConstant.QRCODE_GAME, "id=" + gameRecord.getId() + "&type=" + gameType.getCode(), null, path, gameType.getCode()); + WxXcxUtil.getWxCodeC(WebConstant.QRCODE_GAME+"?id=" + gameRecord.getId() + "&type=" + gameType.getCode(), path, gameType.getCode()); + gameRecord.setQrCodeUrl(PropUtil.qrCode + fileName); log.info("调用微信生成二维码"); - } else { - log.info("测试环境,不调用生成二维码"); - //给一个默认测试的 - gameRecord.setQrCodeUrl(PropUtil.qrCode + "/gameQrCode/2020-08-19/1597822577181.png"); - } + +// } else { +// log.info("测试环境,不调用生成二维码"); +// //给一个默认测试的 +// gameRecord.setQrCodeUrl(PropUtil.qrCode + "/gameQrCode/2020-08-19/1597822577181.png"); +// } //查找此任务下的游戏配置表 byte businessType = 8; diff --git a/mt/src/main/java/com/ccsens/mt/api/DepartmentController.java b/mt/src/main/java/com/ccsens/mt/api/DepartmentController.java new file mode 100644 index 00000000..c1a5c84f --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/api/DepartmentController.java @@ -0,0 +1,68 @@ +package com.ccsens.mt.api; + +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.service.IDepartmentService; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author 逗 + */ +@Slf4j +@Api(tags = "线上体育竞技比赛(校内报名)", description = "") +@RestController +@RequestMapping("/department") +public class DepartmentController { + @Resource + private IDepartmentService departmentService; + + @MustLogin + @ApiOperation(value = "查看院系信息", notes = "") + @RequestMapping(value = "/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getCompany(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查看院系信息:{}",params); + List competeCompanyList = departmentService.getCompany(params); + return JsonResponse.newInstance().ok(competeCompanyList); + } + + @MustLogin + @ApiOperation(value = "查看参赛项目信息", notes = "") + @RequestMapping(value = "/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryCompeteProject(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查看参赛项目信息:{}",params); + List competeProjects = departmentService.queryCompeteProject(params); + return JsonResponse.newInstance().ok(competeProjects); + } + + @MustLogin + @ApiOperation(value = "院系提交报名信息", notes = "") + @RequestMapping(value = "/save/department", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse saveDepartment(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查看参赛项目信息:{}",params); + CompeteVo.DepartmentInfo department = departmentService.saveDepartment(params); + return JsonResponse.newInstance().ok(department); + } + + @MustLogin + @ApiOperation(value = "查看院系报名信息", notes = "") + @RequestMapping(value = "/get/department", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getDepartment(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查看参赛项目信息:{}",params); + CompeteVo.DepartmentInfo department = departmentService.getDepartment(params); + return JsonResponse.newInstance().ok(department); + } +} diff --git a/mt/src/main/java/com/ccsens/mt/api/LevelController.java b/mt/src/main/java/com/ccsens/mt/api/LevelController.java index 204d2f79..81d5aec2 100644 --- a/mt/src/main/java/com/ccsens/mt/api/LevelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/LevelController.java @@ -6,6 +6,7 @@ import com.ccsens.mt.bean.vo.LevelVo; import com.ccsens.mt.service.ILevelUpService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -17,13 +18,12 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.List; /** * @author 逗 */ @Slf4j -@Api(tags = "线上体育竞技比赛", description = "") +@Api(tags = "晋级系统", description = "") @RestController @RequestMapping("/level") public class LevelController { @@ -43,9 +43,9 @@ public class LevelController { @MustLogin @ApiOperation(value = "查找晋级选手信息", notes = "") @RequestMapping(value = "/userInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> queryLevelUserInfo(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse> queryLevelUserInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("手动晋级:{}",params); - List levelUserInfoList = levelUpService.queryLevelUserInfo(params); + PageInfo levelUserInfoList = levelUpService.queryLevelUserInfo(params); return JsonResponse.newInstance().ok(levelUserInfoList); } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index a2309c3a..1424d088 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -6,6 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.util.List; /** * @author 逗 @@ -16,7 +17,7 @@ public class CompeteDto { @ApiModel public static class CompeteType{ @NotNull - @ApiModelProperty("比赛的类型,0跳绳比赛") + @ApiModelProperty("比赛的类型,0跳绳省赛 1跳绳校内比赛") private int type; } @@ -105,4 +106,56 @@ public class CompeteDto { @ApiModelProperty("团队ID") private Long id; } + + @Data + @ApiModel("院系提交报名信息") + public static class DepartmentInfo{ + @NotNull(message="请选择院系信息") + @ApiModelProperty("院系id") + private Long id; + @NotNull + @ApiModelProperty("比赛的类型,0跳绳省赛 1跳绳校内比赛") + private int type; + @ApiModelProperty("填表人裁判等信息") + private List roleList; + @ApiModelProperty("每个比赛项目的参赛名单") + private List projectList; + } + @Data + @ApiModel("填表人裁判等信息") + public static class DepartmentRole{ + @NotEmpty + @ApiModelProperty("名字") + private String name; + @NotEmpty + @ApiModelProperty("手机号") + private String phone; + @NotNull + @ApiModelProperty("担任的角色 0领队 1裁判 2填表人") + private int role; + } + + @Data + @ApiModel("每个比赛项目的参赛名单") + public static class DepartmentProject{ + @NotNull + @ApiModelProperty("比赛项目id(二级的)") + private Long competeProjectId; + @NotEmpty + @ApiModelProperty("参赛人员名单,名字中间用逗号隔开") + private String names; + @ApiModelProperty("性别组 0女 1男 2混合") + private int genderGroup; + } + + @Data + @ApiModel("获取院系提交的报名信息") + public static class GetDepartmentInfo{ +// @NotNull(message="请选择院系信息") +// @ApiModelProperty("院系id") +// private Long id; + @NotNull + @ApiModelProperty("比赛的类型,0跳绳省赛 1跳绳校内比赛") + private int type; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/LevelDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/LevelDto.java index d06f2ceb..7f8263d9 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/LevelDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/LevelDto.java @@ -68,12 +68,6 @@ public class LevelDto { public static class ManualLevelUpPlayer{ @ApiModelProperty("选手id") private Long playerId; -// @ApiModelProperty("分数") -// private int score; -// @ApiModelProperty("附加分数") -// private int additionScore; -// @ApiModelProperty("名次") -// private int ranking; } @Data @ApiModel("查询晋级信息") diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyRole.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyRole.java new file mode 100644 index 00000000..f3392174 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyRole.java @@ -0,0 +1,95 @@ +package com.ccsens.mt.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class CompeteCompanyRole implements Serializable { + private Long id; + + private Long playerId; + + private Long competeCompanyId; + + private Byte type; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getPlayerId() { + return playerId; + } + + public void setPlayerId(Long playerId) { + this.playerId = playerId; + } + + public Long getCompeteCompanyId() { + return competeCompanyId; + } + + public void setCompeteCompanyId(Long competeCompanyId) { + this.competeCompanyId = competeCompanyId; + } + + public Byte getType() { + return type; + } + + public void setType(Byte type) { + this.type = type; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", playerId=").append(playerId); + sb.append(", competeCompanyId=").append(competeCompanyId); + sb.append(", type=").append(type); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyRoleExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyRoleExample.java new file mode 100644 index 00000000..6b40a8a9 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyRoleExample.java @@ -0,0 +1,621 @@ +package com.ccsens.mt.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class CompeteCompanyRoleExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public CompeteCompanyRoleExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andPlayerIdIsNull() { + addCriterion("player_id is null"); + return (Criteria) this; + } + + public Criteria andPlayerIdIsNotNull() { + addCriterion("player_id is not null"); + return (Criteria) this; + } + + public Criteria andPlayerIdEqualTo(Long value) { + addCriterion("player_id =", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdNotEqualTo(Long value) { + addCriterion("player_id <>", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdGreaterThan(Long value) { + addCriterion("player_id >", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdGreaterThanOrEqualTo(Long value) { + addCriterion("player_id >=", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdLessThan(Long value) { + addCriterion("player_id <", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdLessThanOrEqualTo(Long value) { + addCriterion("player_id <=", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdIn(List values) { + addCriterion("player_id in", values, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdNotIn(List values) { + addCriterion("player_id not in", values, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdBetween(Long value1, Long value2) { + addCriterion("player_id between", value1, value2, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdNotBetween(Long value1, Long value2) { + addCriterion("player_id not between", value1, value2, "playerId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdIsNull() { + addCriterion("compete_company_id is null"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdIsNotNull() { + addCriterion("compete_company_id is not null"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdEqualTo(Long value) { + addCriterion("compete_company_id =", value, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdNotEqualTo(Long value) { + addCriterion("compete_company_id <>", value, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdGreaterThan(Long value) { + addCriterion("compete_company_id >", value, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdGreaterThanOrEqualTo(Long value) { + addCriterion("compete_company_id >=", value, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdLessThan(Long value) { + addCriterion("compete_company_id <", value, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdLessThanOrEqualTo(Long value) { + addCriterion("compete_company_id <=", value, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdIn(List values) { + addCriterion("compete_company_id in", values, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdNotIn(List values) { + addCriterion("compete_company_id not in", values, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdBetween(Long value1, Long value2) { + addCriterion("compete_company_id between", value1, value2, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andCompeteCompanyIdNotBetween(Long value1, Long value2) { + addCriterion("compete_company_id not between", value1, value2, "competeCompanyId"); + return (Criteria) this; + } + + public Criteria andTypeIsNull() { + addCriterion("type is null"); + return (Criteria) this; + } + + public Criteria andTypeIsNotNull() { + addCriterion("type is not null"); + return (Criteria) this; + } + + public Criteria andTypeEqualTo(Byte value) { + addCriterion("type =", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotEqualTo(Byte value) { + addCriterion("type <>", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeGreaterThan(Byte value) { + addCriterion("type >", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeGreaterThanOrEqualTo(Byte value) { + addCriterion("type >=", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeLessThan(Byte value) { + addCriterion("type <", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeLessThanOrEqualTo(Byte value) { + addCriterion("type <=", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeIn(List values) { + addCriterion("type in", values, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotIn(List values) { + addCriterion("type not in", values, "type"); + return (Criteria) this; + } + + public Criteria andTypeBetween(Byte value1, Byte value2) { + addCriterion("type between", value1, value2, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotBetween(Byte value1, Byte value2) { + addCriterion("type not between", value1, value2, "type"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java index ba978e1a..f30e8bf4 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java @@ -195,7 +195,7 @@ public class CompeteVo { private String parentProjectName; @ApiModelProperty("比赛的类型,0跳绳比赛") private byte type; - @ApiModelProperty("比赛的类型,0跳绳比赛") + @ApiModelProperty("二级项目信息") private List secondProjects; } @Data @@ -253,4 +253,58 @@ public class CompeteVo { private String proveImg; } + + @Data + @ApiModel("院系报名信息表") + public static class DepartmentInfo { + @ApiModelProperty("院系id") + private Long id; + @ApiModelProperty("院系名") + private String name; + @ApiModelProperty("返回的填表人裁判等信息") + private List departmentRoles; + @ApiModelProperty("返回每个比赛项目的参赛名单") + private List departmentProjects; + } + @Data + @ApiModel("返回的填表人裁判等信息") + public static class DepartmentRole{ + @ApiModelProperty("人员的id") + private String id; + @ApiModelProperty("名字") + private String name; + @ApiModelProperty("手机号") + private String phone; + @ApiModelProperty("担任的角色 0领队 1裁判 2填表人") + private int role; + } + @Data + @ApiModel("查找比赛项目报名信息") + public static class DepartmentProject { + @ApiModelProperty("一级项目id") + private Long parentProjectId; + @ApiModelProperty("一级项目名字") + private String parentProjectName; + @ApiModelProperty("比赛的类型,0跳绳比赛") + private byte type; + @ApiModelProperty("二级项目报名人员信息") + private List secondProjects; + } + @Data + @ApiModel("返回每个比赛项目的参赛名单") + public static class DepartmentSecondProject{ + @ApiModelProperty("比赛项目id(二级的)") + private Long competeProjectId; + @ApiModelProperty("比赛项目名字") + private String competeProjectName; + @ApiModelProperty("是否是团队项目 0否 1是") + private byte team; + @ApiModelProperty("男子参赛名单") + private String manName; + @ApiModelProperty("女子参赛名单") + private String womanName; + @ApiModelProperty("混合名单") + private String mixedName; + } + } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java index 5b0796ff..28c31040 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java @@ -4,6 +4,8 @@ import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.persist.mapper.CompetePlayerMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 参赛选手信息 */ @@ -14,4 +16,33 @@ public interface CompetePlayerDao extends CompetePlayerMapper { * @return 选手信息 */ CompeteVo.GetPlayerInfo getInfo(@Param("userId") Long userId); + + /** + * 查询院系信息和裁判领队填表人的信息 + * @param id 院系id + * @return 返回 + */ + CompeteVo.DepartmentInfo getDepartment(@Param("id") Long id); + + /** + * 查询项目信息 + * @param type + * @return + */ + List getDepartmentProject(@Param("type")int type); + + /** + * 获取单人项目参赛人员名单(用逗号分隔) + * @param competeProjectId 项目id + * @return 返回名字 + */ + String getMemberNamesByProjectId(@Param("companyId")Long companyId,@Param("competeProjectId")Long competeProjectId,@Param("genderGroup")int genderGroup); + /** + * 获取团队项目参赛人员名单(用逗号分隔) + * @param competeProjectId 项目id + * @return 返回名字 + */ + String getTeamMemberNamesByProjectId(@Param("companyId")Long companyId,@Param("competeProjectId")Long competeProjectId,@Param("genderGroup")int genderGroup); + + Long getCompanyIdByUser(@Param("userId")Long userId); } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/LevelUpDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/LevelUpDao.java index 40357e43..2c416b27 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/LevelUpDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/LevelUpDao.java @@ -1,9 +1,12 @@ package com.ccsens.mt.persist.dao; +import com.ccsens.mt.bean.vo.LevelVo; import com.ccsens.mt.persist.mapper.LevelUpMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.List; + /** * @author 逗 */ @@ -16,4 +19,12 @@ public interface LevelUpDao extends LevelUpMapper{ * @return 返回晋级信息id */ Long getByLevelUserIdAndCode(@Param("levelUserId") Long levelUserId, @Param("competeCode")String competeCode); + + /** + * 查找项目的晋级人员信息 + * @param competeCode 比赛code + * @param competeTimeId competeTimeId + * @return 返回晋级的人员信息 + */ + List queryLevelUserInfo(@Param("competeCode") String competeCode, @Param("competeTimeId") Long competeTimeId); } diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyRoleMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyRoleMapper.java new file mode 100644 index 00000000..6df59e25 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyRoleMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.mt.persist.mapper; + +import com.ccsens.mt.bean.po.CompeteCompanyRole; +import com.ccsens.mt.bean.po.CompeteCompanyRoleExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface CompeteCompanyRoleMapper { + long countByExample(CompeteCompanyRoleExample example); + + int deleteByExample(CompeteCompanyRoleExample example); + + int deleteByPrimaryKey(Long id); + + int insert(CompeteCompanyRole record); + + int insertSelective(CompeteCompanyRole record); + + List selectByExample(CompeteCompanyRoleExample example); + + CompeteCompanyRole selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") CompeteCompanyRole record, @Param("example") CompeteCompanyRoleExample example); + + int updateByExample(@Param("record") CompeteCompanyRole record, @Param("example") CompeteCompanyRoleExample example); + + int updateByPrimaryKeySelective(CompeteCompanyRole record); + + int updateByPrimaryKey(CompeteCompanyRole record); +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index c00e3c50..3b472b03 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -215,7 +215,9 @@ public class CompeteService implements ICompeteService{ team.setCompeteTimeId(params.getParam().getCompeteTimeId()); team.setCertificate(params.getParam().getCertificate()); team.setGenderGroup(player.getGender()); - String qrCode = PropUtil.signUpUrl + "home?teamId=" + team.getId(); + String url = PropUtil.signUpUrl + "home?teamId=" + team.getId(); + String qrCode = WebConstant.Wx.getAuthedUrl(url,WebConstant.WxGzhAuthType.SNSAPI_USERINFO + , (String) redisUtil.get(WebConstant.Wx.ACCOUNT_WX_APPID)); String qrCodeVisit = QrCodeUtil.urlToQRCode(qrCode, PropUtil.path); team.setQrCode(qrCodeVisit); competeTeamDao.insertSelective(team); diff --git a/mt/src/main/java/com/ccsens/mt/service/DepartmentService.java b/mt/src/main/java/com/ccsens/mt/service/DepartmentService.java new file mode 100644 index 00000000..63fd6903 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/DepartmentService.java @@ -0,0 +1,220 @@ +package com.ccsens.mt.service; + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.po.*; +import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.persist.dao.CompetePlayerDao; +import com.ccsens.mt.persist.dao.CompeteTeamDao; +import com.ccsens.mt.persist.dao.CompeteTimeDao; +import com.ccsens.mt.persist.mapper.*; +import com.ccsens.util.CodeEnum; +import com.ccsens.util.StringUtil; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.util.exception.BaseException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @author 逗 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class DepartmentService implements IDepartmentService{ + @Resource + private CompeteCompanyMapper competeCompanyMapper; + @Resource + private CompeteTimeDao competeTimeDao; + @Resource + private Snowflake snowflake; + @Resource + private CompetePlayerDao competePlayerDao; + @Resource + private CompeteCompanyRoleMapper competeCompanyRoleMapper; + @Resource + private CompeteProjectMapper competeProjectMapper; + @Resource + private CompeteProjectPlayerMapper competeProjectPlayerMapper; + @Resource + private CompeteTeamDao competeTeamDao; + @Resource + private CompeteTeamMemberMapper competeTeamMemberMapper; + + /** + * 查看院系信息 + */ + @Override + public List getCompany(QueryDto params) { + CompeteDto.CompeteType competeType = params.getParam(); + + List competeCompanyList = new ArrayList<>(); + //根据类型查找所有单位(院系)信息 + CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); + competeCompanyExample.createCriteria().andTypeEqualTo((byte) competeType.getType()); + List companyList = competeCompanyMapper.selectByExample(competeCompanyExample); + if(CollectionUtil.isNotEmpty(companyList)){ + companyList.forEach(company -> { + CompeteVo.CompeteCompany competeCompany = new CompeteVo.CompeteCompany(); + competeCompany.setGroupId(company.getId()); + competeCompany.setGroupName(company.getName()); + competeCompanyList.add(competeCompany); + }); + } + return competeCompanyList; + } + + /** + * 查看比赛项目 + */ + @Override + public List queryCompeteProject(QueryDto params) { + CompeteDto.CompeteType competeType = params.getParam(); + return competeTimeDao.queryCompeteProjectByType(competeType.getType()); + } + + @Override + public CompeteVo.DepartmentInfo saveDepartment(QueryDto params) { + CompeteDto.DepartmentInfo departmentInfo = params.getParam(); + Long userId = params.getUserId(); + //查看该院系的报名信息 + Long companyId = competePlayerDao.getCompanyIdByUser(params.getUserId()); + if(ObjectUtil.isNotNull(companyId)){ + throw new BaseException(CodeEnum.PLAYER_INFO_ALREADY); + } + CompeteCompanyRoleExample companyRoleExample = new CompeteCompanyRoleExample(); + companyRoleExample.createCriteria().andCompeteCompanyIdEqualTo(departmentInfo.getId()).andTypeEqualTo((byte)2); + if(competeCompanyRoleMapper.countByExample(companyRoleExample) == 0) { + //添加裁判领队等信息 + if (CollectionUtil.isNotEmpty(departmentInfo.getRoleList())) { + departmentInfo.getRoleList().forEach(departmentRole -> { + //添加player信息 + CompetePlayer competePlayer = new CompetePlayer(); + competePlayer.setId(snowflake.nextId()); + competePlayer.setName(departmentRole.getName()); + competePlayer.setPhone(departmentRole.getPhone()); + competePlayer.setCompanyId(departmentInfo.getId()); + if (departmentRole.getRole() == 2) { + competePlayer.setUserId(userId); + } + competePlayerDao.insertSelective(competePlayer); + //添加院系内担任的角色信息 + CompeteCompanyRole competeCompanyRole = new CompeteCompanyRole(); + competeCompanyRole.setId(snowflake.nextId()); + competeCompanyRole.setType((byte) departmentRole.getRole()); + competeCompanyRole.setCompeteCompanyId(departmentInfo.getId()); + competeCompanyRole.setPlayerId(competePlayer.getId()); + competeCompanyRoleMapper.insertSelective(competeCompanyRole); + }); + } + //添加比赛报名信息 + if (CollectionUtil.isNotEmpty(departmentInfo.getProjectList())) { + departmentInfo.getProjectList().forEach(departmentProject -> { + CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(departmentProject.getCompeteProjectId()); + if (ObjectUtil.isNotNull(competeProject)) { + if (competeProject.getTeam() == 0) { + //不是团队比赛 + String names = StringUtil.replaceComma(departmentProject.getNames()); + String[] playerNames = names.split(","); + if (ObjectUtil.isNotNull(playerNames)) { + for (String playerName : playerNames) { + //直接添加选手 + CompetePlayer competePlayer = new CompetePlayer(); + competePlayer.setId(snowflake.nextId()); + competePlayer.setName(playerName); + competePlayer.setCompanyId(departmentInfo.getId()); + competePlayerDao.insertSelective(competePlayer); + //添加选手比赛关联信息 + CompeteProjectPlayer competeProjectPlayer = new CompeteProjectPlayer(); + competeProjectPlayer.setId(snowflake.nextId()); + competeProjectPlayer.setProjectId(departmentProject.getCompeteProjectId()); + competeProjectPlayer.setPlayerId(competePlayer.getId()); + competeProjectPlayer.setGenderGroup((byte) departmentProject.getGenderGroup()); + competeProjectPlayerMapper.insertSelective(competeProjectPlayer); + } + } + } else if (competeProject.getTeam() == 1) { + //创建一个团队 + CompeteTeam competeTeam = new CompeteTeam(); + competeTeam.setId(snowflake.nextId()); + competeTeam.setProjectId(departmentProject.getCompeteProjectId()); + competeTeam.setGenderGroup((byte) departmentProject.getGenderGroup()); + competeTeamDao.insertSelective(competeTeam); + + String names = StringUtil.replaceComma(departmentProject.getNames()); + String[] playerNames = names.split(","); + if(playerNames.length > competeProject.getMemberMax()){ + throw new BaseException(CodeEnum.TEAM_MEMBER_ERROR); + } + if (ObjectUtil.isNotNull(playerNames)) { + for (String playerName : playerNames) { + //直接添加选手 + CompetePlayer competePlayer = new CompetePlayer(); + competePlayer.setId(snowflake.nextId()); + competePlayer.setName(playerName); + competePlayer.setCompanyId(departmentInfo.getId()); + competePlayerDao.insertSelective(competePlayer); + //将选手加进团队 + CompeteTeamMember competeTeamMember = new CompeteTeamMember(); + competeTeamMember.setId(snowflake.nextId()); + competeTeamMember.setPlayerId(competePlayer.getId()); + competeTeamMember.setCompeteTeamId(competeTeam.getId()); + competeTeamMemberMapper.insertSelective(competeTeamMember); + } + } + } + } + }); + } + } + + return getDepartmentInfo(departmentInfo.getId(),departmentInfo.getType()); + } + + @Override + public CompeteVo.DepartmentInfo getDepartment(QueryDto params) { + CompeteDto.GetDepartmentInfo getDepartmentInfo = params.getParam(); + + //查询该用户的院系,默认用户只提交了一个院系的信息,只取一条数据 + Long companyId = competePlayerDao.getCompanyIdByUser(params.getUserId()); + //查询院系信息和裁判领队填表人的信息 + return getDepartmentInfo(companyId,getDepartmentInfo.getType()); + } + + + private CompeteVo.DepartmentInfo getDepartmentInfo(Long companyId,int competeType) { + CompeteVo.DepartmentInfo departmentInfo = competePlayerDao.getDepartment(companyId); + if(ObjectUtil.isNotNull(departmentInfo)) { + //查找每个项目的参赛人员 + List departmentProject = competePlayerDao.getDepartmentProject(competeType); + if (CollectionUtil.isNotEmpty(departmentProject)) { + departmentProject.forEach(project -> { + if (CollectionUtil.isNotEmpty(project.getSecondProjects())) { + project.getSecondProjects().forEach(secondProject -> { + if (secondProject.getTeam() == 0) { + //不是团队比赛 + secondProject.setManName(competePlayerDao.getMemberNamesByProjectId(companyId,secondProject.getCompeteProjectId(), 0)); + secondProject.setWomanName(competePlayerDao.getMemberNamesByProjectId(companyId,secondProject.getCompeteProjectId(), 1)); + secondProject.setMixedName(competePlayerDao.getMemberNamesByProjectId(companyId,secondProject.getCompeteProjectId(), 2)); + } else { + secondProject.setManName(competePlayerDao.getTeamMemberNamesByProjectId(companyId,secondProject.getCompeteProjectId(), 0)); + secondProject.setWomanName(competePlayerDao.getTeamMemberNamesByProjectId(companyId,secondProject.getCompeteProjectId(), 1)); + secondProject.setMixedName(competePlayerDao.getTeamMemberNamesByProjectId(companyId,secondProject.getCompeteProjectId(), 2)); + } + }); + } + }); + } + departmentInfo.setDepartmentProjects(departmentProject); + } + return departmentInfo; + } +} diff --git a/mt/src/main/java/com/ccsens/mt/service/IDepartmentService.java b/mt/src/main/java/com/ccsens/mt/service/IDepartmentService.java new file mode 100644 index 00000000..fbc6030f --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/IDepartmentService.java @@ -0,0 +1,41 @@ +package com.ccsens.mt.service; + +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.util.bean.dto.QueryDto; + +import java.util.List; + +/** + * @author 逗 + */ +public interface IDepartmentService { + + /** + * 查询院系信息 + * @param params 比赛类型 + * @return 返回院系信息 + */ + List getCompany(QueryDto params); + + /** + * 查看参赛项目 + * @param params 比赛类型 + * @return 返回比赛项目 + */ + List queryCompeteProject(QueryDto params); + + /** + * 提交院系报名信息 + * @param params 院系报名信息 + * @return 返回报名信息 + */ + CompeteVo.DepartmentInfo saveDepartment(QueryDto params); + + /** + * 获取院系报名的信息 + * @param params 院系id和比赛类型id + * @return 返回报名信息 + */ + CompeteVo.DepartmentInfo getDepartment(QueryDto params); +} diff --git a/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java b/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java index f2d78327..21e48d8a 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java @@ -3,8 +3,7 @@ package com.ccsens.mt.service; import com.ccsens.mt.bean.dto.LevelDto; import com.ccsens.mt.bean.vo.LevelVo; import com.ccsens.util.bean.dto.QueryDto; - -import java.util.List; +import com.github.pagehelper.PageInfo; /** * @author 逗 @@ -40,5 +39,5 @@ public interface ILevelUpService { * @param params 比赛id和分页信息 * @return 返回查到的比赛下所有晋级的选手的信息 */ - List queryLevelUserInfo(QueryDto params); + PageInfo queryLevelUserInfo(QueryDto params); } diff --git a/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java b/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java index 43fd1631..172acefa 100644 --- a/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java +++ b/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java @@ -12,6 +12,8 @@ import com.ccsens.mt.persist.mapper.LevelUserMapper; import com.ccsens.mt.util.Constant; import com.ccsens.util.RedisUtil; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.data.redis.core.ZSetOperations; import org.springframework.stereotype.Service; @@ -103,28 +105,55 @@ public class LevelUpService implements ILevelUpService{ levelRule = ruleList.get(0); } log.info("查找到的比赛晋级规则:{}",levelRule); + //查找redis内的数据 String key = Constant.Redis.COMPETE_LEVEL + autoLevelUpDto.getCompeteTimeId() + "_" + autoLevelUpDto.getCompeteCode(); + Set> typedTuples = redisUtil.zsRevGetWithScore(key, 0, -1); + AtomicInteger index = new AtomicInteger(); + LevelRule finalLevelRule = levelRule; switch (levelRule.getRule()){ case Constant.LevelUp.RULE_RANK_NO_REPEAT : log.info("根据排名(不重复)晋级"); - Set> typedTuples = redisUtil.zsRevGetWithScore(key, 0, -1); - AtomicInteger index = new AtomicInteger(0); + index.set(0); typedTuples.forEach(type ->{ index.set(index.get() + 1); // 更新数据库分数 LevelUser levelUser = (LevelUser) type.getValue(); - Long levelUpId = levelUpDao.getByLevelUserIdAndCode(levelUser.getId(),autoLevelUpDto.getCompeteCode()); - LevelUp levelUp = new LevelUp(); - levelUp.setId(levelUpId); - levelUp.setScore(Objects.requireNonNull(type.getScore()).intValue()); -// levelUp.setRanking(); + updateLevelUpScore(autoLevelUpDto.getCompeteCode(), index.get(), Objects.requireNonNull(type.getScore()).intValue(), levelUser.getId()); + //如果是符合晋级条件,添加新的晋级信息 + if(index.get() <= finalLevelRule.getLevelCondition()){ + insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser.getId(), (byte) 0); + } }); break; case Constant.LevelUp.RULE_RANK_REPEAT : log.info("根据排名(可以重复)晋级"); + index.set(0); + AtomicInteger score = new AtomicInteger(0); + typedTuples.forEach(type ->{ + index.set(index.get() + 1); + // 更新数据库分数 + LevelUser levelUser = (LevelUser) type.getValue(); + updateLevelUpScore(autoLevelUpDto.getCompeteCode(), index.get(), Objects.requireNonNull(type.getScore()).intValue(), levelUser.getId()); + //如果是符合晋级条件,添加新的晋级信息 + if(index.get() <= finalLevelRule.getLevelCondition() || score.get() == Objects.requireNonNull(type.getScore()).intValue()){ + insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser.getId(), (byte) 0); + } + score.set(Objects.requireNonNull(type.getScore()).intValue()); + }); break; case Constant.LevelUp.RULE_SCORE : log.info("根据分数晋级"); + index.set(0); + typedTuples.forEach(type ->{ + index.set(index.get() + 1); + // 更新数据库分数 + LevelUser levelUser = (LevelUser) type.getValue(); + updateLevelUpScore(autoLevelUpDto.getCompeteCode(), index.get(), Objects.requireNonNull(type.getScore()).intValue(), levelUser.getId()); + //如果是符合晋级条件,添加新的晋级信息 + if(Objects.requireNonNull(type.getScore()).intValue() >= finalLevelRule.getLevelCondition()){ + insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser.getId(), (byte) 0); + } + }); break; case Constant.LevelUp.RULE_APPOINT : case Constant.LevelUp.RULE_TEAM_RANK : @@ -132,9 +161,40 @@ public class LevelUpService implements ILevelUpService{ default: break; } - //在redis中查找需要晋级的人 + } - //将选手和晋级信息添加至数据库 + /** + * 将晋级信息添加进数据库,存入redis + */ + private void insertLevelUp(Long competeTimeId, String competeCode, Long levelUser,byte levelUpType) { + LevelUp levelUp = new LevelUp(); + levelUp.setId(snowflake.nextId()); + levelUp.setLevelUserId(levelUser); + levelUp.setCompeteCode(competeCode); + levelUp.setCompeteTimeId(competeTimeId); + levelUp.setScore(0); + levelUp.setRanking(0); + levelUp.setLevelUpType(levelUpType); + levelUpDao.insertSelective(levelUp); + //存入redis + String keyNew = Constant.Redis.COMPETE_LEVEL + competeTimeId + "_" + competeCode; + redisUtil.zsSet(keyNew, levelUp, 0); + } + + /** + * 查找晋级信息,更新晋级信息里的分数和排名 + * @param competeCode 比赛code + * @param index 排名 + * @param score 分数 + * @param levelUserId levelUserId + */ + private void updateLevelUpScore(String competeCode, int index, int score, Long levelUserId) { + Long levelUpId = levelUpDao.getByLevelUserIdAndCode(levelUserId, competeCode); + LevelUp levelUpOld = new LevelUp(); + levelUpOld.setId(levelUpId); + levelUpOld.setScore(score); + levelUpOld.setRanking(index); + levelUpDao.updateByPrimaryKeySelective(levelUpOld); } /** @@ -143,7 +203,35 @@ public class LevelUpService implements ILevelUpService{ */ @Override public void manualLevelUpPlayer(QueryDto params) { - + LevelDto.ManualLevelUpDto manualLevelUp = params.getParam(); + //查找晋级规则, + LevelRule levelRule = new LevelRule(); + LevelRuleExample levelRuleExample = new LevelRuleExample(); + levelRuleExample.createCriteria().andCompeteCodeNowEqualTo(manualLevelUp.getCompeteCode()) + .andCompeteTimeIdEqualTo(manualLevelUp.getCompeteTimeId()); + List ruleList = levelRuleMapper.selectByExample(levelRuleExample); + if(CollectionUtil.isNotEmpty(ruleList)){ + levelRule = ruleList.get(0); + } + //查找redis内的数据 + String key = Constant.Redis.COMPETE_LEVEL + manualLevelUp.getCompeteTimeId() + "_" + manualLevelUp.getCompeteCode(); + Set> typedTuples = redisUtil.zsRevGetWithScore(key, 0, -1); + AtomicInteger index = new AtomicInteger(0); + LevelRule finalLevelRule = levelRule; + typedTuples.forEach(type ->{ + index.set(index.get() + 1); + // 更新数据库分数 + LevelUser levelUser = (LevelUser) type.getValue(); + updateLevelUpScore(manualLevelUp.getCompeteCode(), index.get(), Objects.requireNonNull(type.getScore()).intValue(), levelUser.getId()); + //如果是符合晋级条件,添加新的晋级信息 + if(CollectionUtil.isNotEmpty(manualLevelUp.getManualLevelUpPlayers())){ + manualLevelUp.getManualLevelUpPlayers().forEach(player -> { + if(player.getPlayerId().equals(levelUser.getPlayerId())){ + insertLevelUp(manualLevelUp.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser.getId(), (byte) 1); + } + }); + } + }); } /** @@ -152,8 +240,13 @@ public class LevelUpService implements ILevelUpService{ * @return 返回查到的比赛下所有晋级的选手的信息 */ @Override - public List queryLevelUserInfo(QueryDto params) { + public PageInfo queryLevelUserInfo(QueryDto params) { + LevelDto.QueryLevelUserInfo levelUserInfo = params.getParam(); + if(levelUserInfo.getPage() != -1){ + PageHelper.startPage(levelUserInfo.getPage(), levelUserInfo.getPageSize()); + } + List vos = levelUpDao.queryLevelUserInfo(levelUserInfo.getCompeteCode(),levelUserInfo.getCompeteTimeId()); - return null; + return new PageInfo<>(vos); } } diff --git a/mt/src/main/resources/application-prod.yml b/mt/src/main/resources/application-prod.yml index 41a2460b..a262e849 100644 --- a/mt/src/main/resources/application-prod.yml +++ b/mt/src/main/resources/application-prod.yml @@ -35,5 +35,5 @@ notGatewayUrl: https://www.tall.wiki/ file: path: /home/cloud/mt/uploads/ signUpUrl: https://www.tall.wiki/compete/ - domain: https://test.tall.wiki/gateway/mt/ - imgDomain: https://test.tall.wiki/gateway/mt/uploads/ \ No newline at end of file + domain: https://www.tall.wiki/gateway/mt/ + imgDomain: https://www.tall.wiki/gateway/mt/uploads/ \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index a943bcff..ce96149f 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -2,6 +2,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/LevelUpDao.xml b/mt/src/main/resources/mapper_dao/LevelUpDao.xml index 6d69d7b4..497a7405 100644 --- a/mt/src/main/resources/mapper_dao/LevelUpDao.xml +++ b/mt/src/main/resources/mapper_dao/LevelUpDao.xml @@ -2,8 +2,25 @@ - SELECT id FROM `t_level_up` WHERE level_user_id = #{levelUserId} and compete_code = #{competeCode} + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteCompanyRoleMapper.xml b/mt/src/main/resources/mapper_raw/CompeteCompanyRoleMapper.xml new file mode 100644 index 00000000..4a354c5d --- /dev/null +++ b/mt/src/main/resources/mapper_raw/CompeteCompanyRoleMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, player_id, compete_company_id, type, created_at, updated_at, rec_status + + + + + delete from t_compete_company_role + where id = #{id,jdbcType=BIGINT} + + + delete from t_compete_company_role + + + + + + insert into t_compete_company_role (id, player_id, compete_company_id, + type, created_at, updated_at, + rec_status) + values (#{id,jdbcType=BIGINT}, #{playerId,jdbcType=BIGINT}, #{competeCompanyId,jdbcType=BIGINT}, + #{type,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) + + + insert into t_compete_company_role + + + id, + + + player_id, + + + compete_company_id, + + + type, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{playerId,jdbcType=BIGINT}, + + + #{competeCompanyId,jdbcType=BIGINT}, + + + #{type,jdbcType=TINYINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_compete_company_role + + + id = #{record.id,jdbcType=BIGINT}, + + + player_id = #{record.playerId,jdbcType=BIGINT}, + + + compete_company_id = #{record.competeCompanyId,jdbcType=BIGINT}, + + + type = #{record.type,jdbcType=TINYINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_compete_company_role + set id = #{record.id,jdbcType=BIGINT}, + player_id = #{record.playerId,jdbcType=BIGINT}, + compete_company_id = #{record.competeCompanyId,jdbcType=BIGINT}, + type = #{record.type,jdbcType=TINYINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_compete_company_role + + + player_id = #{playerId,jdbcType=BIGINT}, + + + compete_company_id = #{competeCompanyId,jdbcType=BIGINT}, + + + type = #{type,jdbcType=TINYINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_compete_company_role + set player_id = #{playerId,jdbcType=BIGINT}, + compete_company_id = #{competeCompanyId,jdbcType=BIGINT}, + type = #{type,jdbcType=TINYINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/scheduled/ScheduledService.java b/tall/src/main/java/com/ccsens/tall/scheduled/ScheduledService.java index 79e8967f..c838931e 100644 --- a/tall/src/main/java/com/ccsens/tall/scheduled/ScheduledService.java +++ b/tall/src/main/java/com/ccsens/tall/scheduled/ScheduledService.java @@ -8,6 +8,7 @@ import com.ccsens.tall.service.IProjectMessageService; import com.ccsens.tall.service.IRobotService; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -38,7 +39,7 @@ public class ScheduledService { public static final String AFTER_END = "您在项目's'中的任务's'已经在's'结束了"; public static final String USER_DEFINED = "来自项目's'中的任务's'的提醒"; -// @Scheduled(cron = "*/60 * * * * ?") + @Scheduled(cron = "*/60 * * * * ?") public void runfirst(){ long now = System.currentTimeMillis(); // long now = 1594611047000L; diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index 1acfc957..44338890 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -127,14 +127,15 @@ public class ProjectService implements IProjectService { Calendar max = Calendar.getInstance(); min.setTime(s); max.setTime(e); - Calendar curr = min; - while (curr.before(max)) { - for (String str : dateList) { - if (!sdf.format(min.getTime()).equalsIgnoreCase(str)) { - dateList.add(sdf.format(min.getTime())); - } + while (min.before(max)) { +// for (String str : dateList) { +// if (!sdf.format(min.getTime()).equalsIgnoreCase(str)) { + if(!dateList.contains(sdf.format(min.getTime()))) { + dateList.add(sdf.format(min.getTime())); } - curr.add(Calendar.DATE, 1); +// } +// } + min.add(Calendar.DATE, 1); } } diff --git a/tall/src/main/java/com/ccsens/tall/service/UserService.java b/tall/src/main/java/com/ccsens/tall/service/UserService.java index 4f357332..3c5d662f 100644 --- a/tall/src/main/java/com/ccsens/tall/service/UserService.java +++ b/tall/src/main/java/com/ccsens/tall/service/UserService.java @@ -1237,17 +1237,6 @@ public class UserService implements IUserService { return null; } } -// -// private SysWx getSysWx(String unionId) { -// SysWx sysWx = null; -// SysWxExample sysWxExample = new SysWxExample(); -// sysWxExample.createCriteria().andUnionIdEqualTo(unionId); -// List sysWxList = sysWxDao.selectByExample(sysWxExample); -// if (CollectionUtil.isNotEmpty(sysWxList)) { -// sysWx = sysWxList.get(0); -// } -// return sysWx; -// } /** * 合并账号 @@ -1304,8 +1293,25 @@ public class UserService implements IUserService { List authList = authDao.selectByExample(authExample); if (CollectionUtil.isNotEmpty(authList)) { SysAuth auth = authList.get(0); - auth.setUserId(currentUserId); + //查找这个手机号以前的用户,并删除 + SysUser user = userDao.selectByPrimaryKey(auth.getUserId()); + user.setRecStatus((byte) 2); + userDao.updateByPrimaryKeySelective(user); + //删除这个手机号的认证方式 + auth.setRecStatus((byte) 2); authDao.updateByPrimaryKeySelective(auth); + //将当前的用户手机号改为新的手机号 + SysAuthExample sysAuthExample = new SysAuthExample(); + sysAuthExample.createCriteria().andUserIdEqualTo(currentUserId) + .andIdentifyTypeEqualTo((byte) WebConstant.IDENTIFY_TYPE.Phone.value); + List sysAuthList = authDao.selectByExample(authExample); + if (CollectionUtil.isNotEmpty(sysAuthList)) { + SysAuth sysAuth = sysAuthList.get(0); + sysAuth.setIdentifier(wxPhone.getPhone()); + authDao.updateByPrimaryKeySelective(sysAuth); + } +// auth.setUserId(currentUserId); +// authDao.updateByPrimaryKeySelective(auth); } } diff --git a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java index 5d315f5f..7a46480e 100644 --- a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java +++ b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java @@ -1,6 +1,5 @@ package com.ccsens.tall.web; -import cn.hutool.core.util.ObjectUtil; import com.ccsens.tall.bean.dto.ProjectDto; import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.TaskVo; @@ -40,7 +39,7 @@ public class ProjectController { @Resource private IProTaskDetailService taskDetailService; - @ApiOperation(value = "获取日历上哪天有小红点",notes = "按照优先级倒序+时间正序排序") + @ApiOperation(value = "获取日历上哪天有小红点",notes = "") @ApiImplicitParams({ @ApiImplicitParam(name = "date", value = "日期(格式:yy-[MM]-[dd])", required = true, paramType = "query",dataType = "string",example = "2019-02-13") }) diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 58a523a8..210fd984 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -150,6 +150,7 @@ public enum CodeEnum { PLAYER_INFO_ALREADY(127,"您已经有了报名信息,请不要重复提交", true), GAME_TIME_DUE(128,"您的游戏已到期,请重新购买", true), + TEAM_MEMBER_ERROR(129,"参赛人数不符合,请重新填写", true), ; diff --git a/util/src/main/java/com/ccsens/util/QrCodeUtil.java b/util/src/main/java/com/ccsens/util/QrCodeUtil.java index ce7b5256..c6e93cf8 100644 --- a/util/src/main/java/com/ccsens/util/QrCodeUtil.java +++ b/util/src/main/java/com/ccsens/util/QrCodeUtil.java @@ -24,7 +24,7 @@ public class QrCodeUtil { */ public static String urlToQRCode(String url, String parentPath) throws IOException { String fileName = "qrCode/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".png"; - ByteArrayOutputStream stream = QRCode.from(url).to(ImageType.BMP).stream(); + ByteArrayOutputStream stream = QRCode.from(url).to(ImageType.BMP).withSize(500,500).stream(); byte[] codeByte = stream.toByteArray(); File file = new File(parentPath, fileName); if (!file.getParentFile().exists()) { diff --git a/util/src/main/java/com/ccsens/util/UploadFileUtil_Servlet3.java b/util/src/main/java/com/ccsens/util/UploadFileUtil_Servlet3.java index af725210..4d55ff52 100644 --- a/util/src/main/java/com/ccsens/util/UploadFileUtil_Servlet3.java +++ b/util/src/main/java/com/ccsens/util/UploadFileUtil_Servlet3.java @@ -5,7 +5,6 @@ import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.crypto.SecureUtil; import lombok.extern.slf4j.Slf4j; import javax.servlet.http.HttpServletResponse; @@ -100,6 +99,7 @@ public class UploadFileUtil_Servlet3 { File file = new File(path); // 如果文件存在,则进行下载 if (!file.exists()) { + log.info("该路径不存在:{}",path); return; } // 配置文件下载 diff --git a/util/src/main/java/com/ccsens/util/WebConstant.java b/util/src/main/java/com/ccsens/util/WebConstant.java index c39d32f1..de5dc1fb 100644 --- a/util/src/main/java/com/ccsens/util/WebConstant.java +++ b/util/src/main/java/com/ccsens/util/WebConstant.java @@ -1,6 +1,9 @@ package com.ccsens.util; import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.URLUtil; +import lombok.Getter; +import lombok.Setter; import java.io.File; @@ -19,6 +22,37 @@ public class WebConstant { } + public static class Wx{ + public static final String ACCESS_TOKEN = "tall_wx_access_token_"; + public static final long EXPIRE_TIME = 1 * 60 * 60; + public static final String DOMAIN = PropUtil.wxPrefix; + public static final String TEMPLATE_SEND = DOMAIN + "template/send"; + + public static final String GZH_AUTH_URL + = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=%1$s&redirect_uri=%2$s&response_type=code&scope=%3$s&state=STATE#wechat_redirect"; + public static final String ACCOUNT_WX_APPID = "account_wx_appId"; + + public static String getAuthedUrl(String url, WxGzhAuthType wxGzhAuthType,String appId){ + return String.format(GZH_AUTH_URL,appId, URLUtil.encode(url),wxGzhAuthType.getText()); + } + + } + + public enum WxGzhAuthType { + //基本授权类型,静默,只能获取openId + SNSAPI_BASE("snsapi_base"), + //信息授权类型,弹出提示框,可以获取openId,unionId,nickanme,city等用户信息 + SNSAPI_USERINFO("snsapi_userinfo"); + + @Getter + @Setter + private String text; + + private WxGzhAuthType(String text){ + this.text = text; + } + } + public static enum TemplateParam { Operator("{{operator}}", "操作者"), @@ -112,12 +146,6 @@ public class WebConstant { } } - public static final class Wx { - public static final String ACCESS_TOKEN = "tall_wx_access_token_"; - public static final long EXPIRE_TIME = 1 * 60 * 60; - public static final String DOMAIN = PropUtil.wxPrefix; - public static final String TEMPLATE_SEND = DOMAIN + "template/send"; - } /**注册来源*/ public static final class Regist { diff --git a/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java b/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java index 34d4d9ba..da7968dd 100644 --- a/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java +++ b/util/src/main/java/com/ccsens/util/wx/WxXcxUtil.java @@ -255,6 +255,30 @@ public class WxXcxUtil { } + + /** + * 获取小程序二维码/小程序码(小程序码) 使用C方法 + * @param code 不同的小程序的code + * @return + * @throws Exception + */ + public static void getWxCodeC(String page,String path,String code) throws Exception { + + File file = new File(path); + if(!file.getParentFile().exists()){ + file.getParentFile().mkdirs(); + } + String url = String.format(URL_GET_WX_CODE_C, WxGzhUtil.getAccessToken(appId(code),secret(code))); + + WechatCodeA wechatCode = new WechatCodeA(); + wechatCode.path = page; + + String postStr = JacksonUtil.beanToJson(wechatCode); + System.out.println(postStr); + HttpsUtil.httpsRequest(url,"POST",postStr,path); + + } + // /** // * 获取小程序二维码/小程序码(长度128,有数量限制)(二维码) // * @return diff --git a/util/src/test/java/com/ccsens/util/TestQrCord.java b/util/src/test/java/com/ccsens/util/TestQrCord.java index 88479ac4..fbe73ecf 100644 --- a/util/src/test/java/com/ccsens/util/TestQrCord.java +++ b/util/src/test/java/com/ccsens/util/TestQrCord.java @@ -29,7 +29,7 @@ public class TestQrCord { // String text = "https://www.tall.wiki/pt-dev/respond?groupId="+i+"&groupName="+i+"组"; // String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; - String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/compete&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; + String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://test.tall.wiki/compete&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; String fileName = "zzz/" + "远程比赛.png"; QRCodeWriter qrCodeWriter = new QRCodeWriter(); From c3183b5b92180673f0faa1aabcc8e3f8fba5a785 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 17 Sep 2020 10:03:31 +0800 Subject: [PATCH 08/72] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=98=E8=BA=AB?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/DebugController.java | 38 +- .../com/ccsens/mt/api/LevelController.java | 2 +- .../java/com/ccsens/mt/bean/dto/LevelDto.java | 27 + .../com/ccsens/mt/service/CompeteService.java | 26 +- .../ccsens/mt/service/DepartmentService.java | 19 + .../ccsens/mt/service/ILevelUpService.java | 2 +- .../com/ccsens/mt/service/LevelUpService.java | 4 +- .../resources/mapper_dao/CompetePlayerDao.xml | 7 +- .../resources/mapper_dao/CompeteTeamDao.xml | 4 + .../com/ccsens/tall/bean/dto/DeliverDto.java | 6 + .../com/ccsens/tall/bean/dto/ProjectDto.java | 14 + .../com/ccsens/tall/bean/dto/TaskDto.java | 81 +- .../java/com/ccsens/tall/bean/po/ProShow.java | 88 +- .../ccsens/tall/bean/po/ProShowExample.java | 490 +++--- .../bean/po/ProTaskDeliverPostLogChecker.java | 221 +-- .../ProTaskDeliverPostLogCheckerExample.java | 1440 +++++++++-------- .../com/ccsens/tall/bean/po/SysImitation.java | 95 ++ .../tall/bean/po/SysImitationExample.java | 621 +++++++ .../com/ccsens/tall/bean/vo/DeliverVo.java | 2 + .../com/ccsens/tall/bean/vo/ProjectVo.java | 2 +- .../ProTaskDeliverPostLogCheckerMapper.java | 59 +- .../persist/mapper/SysImitationMapper.java | 30 + .../tall/service/IProMemberService.java | 5 +- .../ccsens/tall/service/IProRoleService.java | 2 +- .../tall/service/IProTaskDetailService.java | 7 +- .../ccsens/tall/service/IProjectService.java | 5 + .../ccsens/tall/service/ProMemberService.java | 63 +- .../ccsens/tall/service/ProRoleService.java | 4 +- .../tall/service/ProTaskDetailService.java | 97 +- .../ccsens/tall/service/ProjectService.java | 37 + .../tall/service/TaskDeliverService.java | 52 +- .../tall/service/TaskPluginService.java | 2 +- .../tall/service/TaskSubTimeService.java | 6 +- .../ccsens/tall/web/DeliverController.java | 3 +- .../ccsens/tall/web/ProjectController.java | 63 +- .../resources/mapper_raw/ProShowMapper.xml | 141 +- .../ProTaskDeliverPostLogCheckerMapper.xml | 533 +++--- .../mapper_raw/SysImitationMapper.xml | 243 +++ .../main/java/com/ccsens/util/CodeEnum.java | 5 + .../main/java/com/ccsens/util/StringUtil.java | 2 +- .../test/java/com/ccsens/util/TestQrCord.java | 6 +- 41 files changed, 3064 insertions(+), 1490 deletions(-) create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/SysImitation.java create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/SysImitationExample.java create mode 100644 tall/src/main/java/com/ccsens/tall/persist/mapper/SysImitationMapper.java create mode 100644 tall/src/main/resources/mapper_raw/SysImitationMapper.xml diff --git a/mt/src/main/java/com/ccsens/mt/api/DebugController.java b/mt/src/main/java/com/ccsens/mt/api/DebugController.java index 2a5da862..54b5366b 100644 --- a/mt/src/main/java/com/ccsens/mt/api/DebugController.java +++ b/mt/src/main/java/com/ccsens/mt/api/DebugController.java @@ -1,28 +1,62 @@ package com.ccsens.mt.api; +import com.ccsens.mt.bean.dto.LevelDto; +import com.ccsens.mt.bean.po.LevelUser; +import com.ccsens.mt.service.ILevelUpService; import com.ccsens.util.JsonResponse; +import com.ccsens.util.RedisUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.springframework.data.redis.core.ZSetOperations; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.Objects; +import java.util.Set; @Api(tags = "DEBUG" , description = "DebugController | ") @RestController @RequestMapping("/debug") public class DebugController { + @Resource + private RedisUtil redisUtil; + @Resource + private ILevelUpService levelUpService; @ApiOperation(value = "/测试",notes = "") @ApiImplicitParams({ }) @RequestMapping(value="",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) - public JsonResponse getSmsCode(HttpServletRequest request) throws Exception { - + public JsonResponse debug(HttpServletRequest request) throws Exception { return JsonResponse.newInstance().ok("测试"); } + @ApiOperation(value = "/测试自动晋级",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value="/levelUp",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) + public JsonResponse levelUpDebug(HttpServletRequest request) throws Exception { + //比赛结束 + //查询每个选手的分数存入redis(模拟分数存入) + String key = "compete_1_6"; + Set> typedTuples = redisUtil.zsRevGetWithScore(key, 0, -1); + typedTuples.forEach(type ->{ + LevelUser levelUser = (LevelUser) type.getValue(); + if(levelUser.getPlayerId() == 1305713484796923904L){ + redisUtil.zsSet(key, levelUser, 20); + } + if(levelUser.getPlayerId() == 1305772321621020672L){ + redisUtil.zsSet(key, levelUser, 22); + } + }); + //调用自动晋级接口 + LevelDto.AutoLevelUpDto autoLevelUpDto = new LevelDto.AutoLevelUpDto(1L,"6"); + levelUpService.autoLevelUp(autoLevelUpDto); + return JsonResponse.newInstance().ok("OK"); + } } diff --git a/mt/src/main/java/com/ccsens/mt/api/LevelController.java b/mt/src/main/java/com/ccsens/mt/api/LevelController.java index 81d5aec2..053cabce 100644 --- a/mt/src/main/java/com/ccsens/mt/api/LevelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/LevelController.java @@ -45,7 +45,7 @@ public class LevelController { @RequestMapping(value = "/userInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> queryLevelUserInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("手动晋级:{}",params); - PageInfo levelUserInfoList = levelUpService.queryLevelUserInfo(params); + PageInfo levelUserInfoList = levelUpService.queryLevelUserInfo(params.getParam()); return JsonResponse.newInstance().ok(levelUserInfoList); } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/LevelDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/LevelDto.java index 7f8263d9..b894eeed 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/LevelDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/LevelDto.java @@ -23,6 +23,16 @@ public class LevelDto { private String name; @ApiModelProperty("团队id") private Long teamId; + + public LevelUserDto() { + } + + public LevelUserDto(Long playerId, String avatarUrl, String name, Long teamId) { + this.playerId = playerId; + this.avatarUrl = avatarUrl; + this.name = name; + this.teamId = teamId; + } } @@ -41,6 +51,15 @@ public class LevelDto { private int additionScore; @ApiModelProperty("名次") private int ranking; + + public LevelUpDto() { + } + + public LevelUpDto(Long competeTimeId, String competeCode, Long playerId) { + this.competeTimeId = competeTimeId; + this.competeCode = competeCode; + this.playerId = playerId; + } } @Data @@ -50,6 +69,14 @@ public class LevelDto { private Long competeTimeId; @ApiModelProperty("比赛code") private String competeCode; + + public AutoLevelUpDto() { + } + + public AutoLevelUpDto(Long competeTimeId, String competeCode) { + this.competeTimeId = competeTimeId; + this.competeCode = competeCode; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 3b472b03..2561ae62 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.dto.LevelDto; import com.ccsens.mt.bean.po.*; import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.persist.dao.CompetePlayerDao; @@ -52,6 +53,8 @@ public class CompeteService implements ICompeteService{ private CompeteProjectPlayerMapper competeProjectPlayerMapper; @Resource private CompeteGroupMapper competeGroupMapper; + @Resource + private ILevelUpService levelUpService; /** @@ -115,13 +118,13 @@ public class CompeteService implements ICompeteService{ CompeteDto.CompetePlayerInfo competePlayerInfo = params.getParam(); Long userId = params.getUserId(); - //检查验证码是否正确 - if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone()))) { - throw new BaseException(CodeEnum.SMS_CODE_CORRECT); - } - if (!competePlayerInfo.getSmsCode().equals(redisUtil.get(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone())).toString())) { - throw new BaseException(CodeEnum.SMS_CODE_CORRECT); - } +// //检查验证码是否正确 +// if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone()))) { +// throw new BaseException(CodeEnum.SMS_CODE_CORRECT); +// } +// if (!competePlayerInfo.getSmsCode().equals(redisUtil.get(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone())).toString())) { +// throw new BaseException(CodeEnum.SMS_CODE_CORRECT); +// } //检查此用户是否已经报名 CompetePlayerExample playerExample = new CompetePlayerExample(); playerExample.createCriteria().andUserIdEqualTo(userId); @@ -162,6 +165,11 @@ public class CompeteService implements ICompeteService{ player.setCompanyId(company.getId()); competePlayerDao.insertSelective(player); + // TODO + LevelDto.LevelUserDto levelUserDto = new LevelDto.LevelUserDto(player.getId(),null,player.getName(),null); + log.info("将选手信息储存在晋级系统中:{}",levelUserDto); + levelUpService.saveLevelUser(levelUserDto); + return new CompeteVo.CompetePlayerInfo(player, group, company,getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); } @@ -231,11 +239,13 @@ public class CompeteService implements ICompeteService{ } - CompeteGroup group = competeGroupMapper.selectByPrimaryKey(player.getCompeteGroupId()); CompeteCompany company = competeCompanyMapper.selectByPrimaryKey(player.getCompanyId()); CompeteVo.CompetePlayerInfo info = new CompeteVo.CompetePlayerInfo(player, group, company,getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); + LevelDto.LevelUpDto levelUpDto = new LevelDto.LevelUpDto(params.getParam().getCompeteTimeId(),params.getParam().getCompeteProjectId().toString(),player.getId()); + log.info("添加晋级表信息,{}",levelUpDto); + levelUpService.joinCompete(levelUpDto); log.info("{}参加返回:{}", params.getUserId(), info); return info; diff --git a/mt/src/main/java/com/ccsens/mt/service/DepartmentService.java b/mt/src/main/java/com/ccsens/mt/service/DepartmentService.java index 63fd6903..426aaa85 100644 --- a/mt/src/main/java/com/ccsens/mt/service/DepartmentService.java +++ b/mt/src/main/java/com/ccsens/mt/service/DepartmentService.java @@ -87,14 +87,29 @@ public class DepartmentService implements IDepartmentService{ Long userId = params.getUserId(); //查看该院系的报名信息 Long companyId = competePlayerDao.getCompanyIdByUser(params.getUserId()); + log.info("查看该用户的院系:{}",companyId); if(ObjectUtil.isNotNull(companyId)){ throw new BaseException(CodeEnum.PLAYER_INFO_ALREADY); } CompeteCompanyRoleExample companyRoleExample = new CompeteCompanyRoleExample(); companyRoleExample.createCriteria().andCompeteCompanyIdEqualTo(departmentInfo.getId()).andTypeEqualTo((byte)2); if(competeCompanyRoleMapper.countByExample(companyRoleExample) == 0) { + //检查报名时间是否符合 + CompeteVo.CompeteTime competeTime = competeTimeDao.getCompeteTimeByType(departmentInfo.getType(),System.currentTimeMillis()); + log.info("检查报名时间是否符合:{}",competeTime); + if(ObjectUtil.isNotNull(competeTime)){ + if(competeTime.getSignUpStartTime() > System.currentTimeMillis()){ + throw new BaseException(CodeEnum.SIGN_UP_TIME_NOT_START); + } + if(competeTime.getSignUpEndTime() < System.currentTimeMillis()){ + throw new BaseException(CodeEnum.SIGN_UP_TIME_FINISHED); + } + } + + //添加裁判领队等信息 if (CollectionUtil.isNotEmpty(departmentInfo.getRoleList())) { + log.info("添加裁判领队等信息:{}",departmentInfo.getRoleList()); departmentInfo.getRoleList().forEach(departmentRole -> { //添加player信息 CompetePlayer competePlayer = new CompetePlayer(); @@ -117,13 +132,16 @@ public class DepartmentService implements IDepartmentService{ } //添加比赛报名信息 if (CollectionUtil.isNotEmpty(departmentInfo.getProjectList())) { + log.info("添加比赛报名信息:{}",departmentInfo.getProjectList()); departmentInfo.getProjectList().forEach(departmentProject -> { CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(departmentProject.getCompeteProjectId()); if (ObjectUtil.isNotNull(competeProject)) { if (competeProject.getTeam() == 0) { //不是团队比赛 + log.info("不是团队比赛:{}",competeProject); String names = StringUtil.replaceComma(departmentProject.getNames()); String[] playerNames = names.split(","); +// String[] playerNames = names.split("、"); if (ObjectUtil.isNotNull(playerNames)) { for (String playerName : playerNames) { //直接添加选手 @@ -143,6 +161,7 @@ public class DepartmentService implements IDepartmentService{ } } else if (competeProject.getTeam() == 1) { //创建一个团队 + log.info("创建一个团队:{}",competeProject); CompeteTeam competeTeam = new CompeteTeam(); competeTeam.setId(snowflake.nextId()); competeTeam.setProjectId(departmentProject.getCompeteProjectId()); diff --git a/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java b/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java index 21e48d8a..fd5e494e 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java @@ -39,5 +39,5 @@ public interface ILevelUpService { * @param params 比赛id和分页信息 * @return 返回查到的比赛下所有晋级的选手的信息 */ - PageInfo queryLevelUserInfo(QueryDto params); + PageInfo queryLevelUserInfo(LevelDto.QueryLevelUserInfo params); } diff --git a/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java b/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java index 172acefa..574bb4e0 100644 --- a/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java +++ b/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java @@ -161,6 +161,8 @@ public class LevelUpService implements ILevelUpService{ default: break; } + //将旧的数据从redis中删除 + redisUtil.del(key); } /** @@ -240,7 +242,7 @@ public class LevelUpService implements ILevelUpService{ * @return 返回查到的比赛下所有晋级的选手的信息 */ @Override - public PageInfo queryLevelUserInfo(QueryDto params) { + public PageInfo queryLevelUserInfo(LevelDto.QueryLevelUserInfo params) { LevelDto.QueryLevelUserInfo levelUserInfo = params.getParam(); if(levelUserInfo.getPage() != -1){ PageHelper.startPage(levelUserInfo.getPage(), levelUserInfo.getPageSize()); diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index ce96149f..12a5441d 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -102,7 +102,7 @@ \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml b/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml index 4cfd3cf0..624accff 100644 --- a/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml @@ -89,6 +89,10 @@ AND p.user_id = #{userId} AND pp.compete_time_id = #{competeTimeId} AND p2.team = 0 + and p.rec_status = 0 + and pp.rec_status = 0 + and p1.rec_status = 0 + and p2.rec_status = 0 select @@ -113,16 +116,16 @@ insert into t_pro_show (id, project_id, slide, filter, is_show_mvp, create_task, - created_at, updated_at, rec_status, time_show, duration, show_shortcuts, - select_task_type, detail_path, pims_nav_type - ) + select_task_type, detail_path, pims_nav_type, + share_change, share_change_code, created_at, + updated_at, rec_status) values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{slide,jdbcType=TINYINT}, #{filter,jdbcType=TINYINT}, #{isShowMvp,jdbcType=TINYINT}, #{createTask,jdbcType=TINYINT}, - #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{timeShow,jdbcType=VARCHAR}, #{duration,jdbcType=TINYINT}, #{showShortcuts,jdbcType=TINYINT}, - #{selectTaskType,jdbcType=TINYINT}, #{detailPath,jdbcType=VARCHAR}, #{pimsNavType,jdbcType=TINYINT} - ) + #{selectTaskType,jdbcType=TINYINT}, #{detailPath,jdbcType=VARCHAR}, #{pimsNavType,jdbcType=TINYINT}, + #{shareChange,jdbcType=TINYINT}, #{shareChangeCode,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) insert into t_pro_show @@ -145,15 +148,6 @@ create_task, - - created_at, - - - updated_at, - - - rec_status, - time_show, @@ -172,6 +166,21 @@ pims_nav_type, + + share_change, + + + share_change_code, + + + created_at, + + + updated_at, + + + rec_status, + @@ -192,15 +201,6 @@ #{createTask,jdbcType=TINYINT}, - - #{createdAt,jdbcType=TIMESTAMP}, - - - #{updatedAt,jdbcType=TIMESTAMP}, - - - #{recStatus,jdbcType=TINYINT}, - #{timeShow,jdbcType=VARCHAR}, @@ -219,6 +219,21 @@ #{pimsNavType,jdbcType=TINYINT}, + + #{shareChange,jdbcType=TINYINT}, + + + #{shareChangeCode,jdbcType=VARCHAR}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + - select - - distinct - - - from t_pro_task_deliver_post_log_checker - - - - - order by ${orderByClause} - - - - - delete from t_pro_task_deliver_post_log_checker - where id = #{id,jdbcType=BIGINT} - - - delete from t_pro_task_deliver_post_log_checker - - - - - - insert into t_pro_task_deliver_post_log_checker (id, deliver_post_log_id, checker_id, - remark, check_status, created_at, - updated_at, rec_status) - values (#{id,jdbcType=BIGINT}, #{deliverPostLogId,jdbcType=BIGINT}, #{checkerId,jdbcType=BIGINT}, - #{remark,jdbcType=VARCHAR}, #{checkStatus,jdbcType=INTEGER}, #{createdAt,jdbcType=TIMESTAMP}, - #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) - - - insert into t_pro_task_deliver_post_log_checker - - - id, - - - deliver_post_log_id, - - - checker_id, - - - remark, - - - check_status, - - - created_at, - - - updated_at, - - - rec_status, - - - - - #{id,jdbcType=BIGINT}, - - - #{deliverPostLogId,jdbcType=BIGINT}, - - - #{checkerId,jdbcType=BIGINT}, - - - #{remark,jdbcType=VARCHAR}, - - - #{checkStatus,jdbcType=INTEGER}, - - - #{createdAt,jdbcType=TIMESTAMP}, - - - #{updatedAt,jdbcType=TIMESTAMP}, - - - #{recStatus,jdbcType=TINYINT}, - - - - - - update t_pro_task_deliver_post_log_checker - - - id = #{record.id,jdbcType=BIGINT}, - - - deliver_post_log_id = #{record.deliverPostLogId,jdbcType=BIGINT}, - - - checker_id = #{record.checkerId,jdbcType=BIGINT}, - - - remark = #{record.remark,jdbcType=VARCHAR}, - - - check_status = #{record.checkStatus,jdbcType=INTEGER}, - - - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{record.recStatus,jdbcType=TINYINT}, - - - - - - - - update t_pro_task_deliver_post_log_checker - set id = #{record.id,jdbcType=BIGINT}, - deliver_post_log_id = #{record.deliverPostLogId,jdbcType=BIGINT}, - checker_id = #{record.checkerId,jdbcType=BIGINT}, - remark = #{record.remark,jdbcType=VARCHAR}, - check_status = #{record.checkStatus,jdbcType=INTEGER}, - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} - - - - - - update t_pro_task_deliver_post_log_checker - - - deliver_post_log_id = #{deliverPostLogId,jdbcType=BIGINT}, - - - checker_id = #{checkerId,jdbcType=BIGINT}, - - - remark = #{remark,jdbcType=VARCHAR}, - - - check_status = #{checkStatus,jdbcType=INTEGER}, - - - created_at = #{createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{recStatus,jdbcType=TINYINT}, - - - where id = #{id,jdbcType=BIGINT} - - - update t_pro_task_deliver_post_log_checker - set deliver_post_log_id = #{deliverPostLogId,jdbcType=BIGINT}, - checker_id = #{checkerId,jdbcType=BIGINT}, - remark = #{remark,jdbcType=VARCHAR}, - check_status = #{checkStatus,jdbcType=INTEGER}, - created_at = #{createdAt,jdbcType=TIMESTAMP}, - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} - where id = #{id,jdbcType=BIGINT} - + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, deliver_post_log_id, checker_id, remark, check_status, score, created_at, updated_at, + rec_status + + + + + delete from t_pro_task_deliver_post_log_checker + where id = #{id,jdbcType=BIGINT} + + + delete from t_pro_task_deliver_post_log_checker + + + + + + insert into t_pro_task_deliver_post_log_checker (id, deliver_post_log_id, checker_id, + remark, check_status, score, + created_at, updated_at, rec_status + ) + values (#{id,jdbcType=BIGINT}, #{deliverPostLogId,jdbcType=BIGINT}, #{checkerId,jdbcType=BIGINT}, + #{remark,jdbcType=VARCHAR}, #{checkStatus,jdbcType=INTEGER}, #{score,jdbcType=INTEGER}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} + ) + + + insert into t_pro_task_deliver_post_log_checker + + + id, + + + deliver_post_log_id, + + + checker_id, + + + remark, + + + check_status, + + + score, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{deliverPostLogId,jdbcType=BIGINT}, + + + #{checkerId,jdbcType=BIGINT}, + + + #{remark,jdbcType=VARCHAR}, + + + #{checkStatus,jdbcType=INTEGER}, + + + #{score,jdbcType=INTEGER}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_pro_task_deliver_post_log_checker + + + id = #{record.id,jdbcType=BIGINT}, + + + deliver_post_log_id = #{record.deliverPostLogId,jdbcType=BIGINT}, + + + checker_id = #{record.checkerId,jdbcType=BIGINT}, + + + remark = #{record.remark,jdbcType=VARCHAR}, + + + check_status = #{record.checkStatus,jdbcType=INTEGER}, + + + score = #{record.score,jdbcType=INTEGER}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_pro_task_deliver_post_log_checker + set id = #{record.id,jdbcType=BIGINT}, + deliver_post_log_id = #{record.deliverPostLogId,jdbcType=BIGINT}, + checker_id = #{record.checkerId,jdbcType=BIGINT}, + remark = #{record.remark,jdbcType=VARCHAR}, + check_status = #{record.checkStatus,jdbcType=INTEGER}, + score = #{record.score,jdbcType=INTEGER}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_pro_task_deliver_post_log_checker + + + deliver_post_log_id = #{deliverPostLogId,jdbcType=BIGINT}, + + + checker_id = #{checkerId,jdbcType=BIGINT}, + + + remark = #{remark,jdbcType=VARCHAR}, + + + check_status = #{checkStatus,jdbcType=INTEGER}, + + + score = #{score,jdbcType=INTEGER}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_pro_task_deliver_post_log_checker + set deliver_post_log_id = #{deliverPostLogId,jdbcType=BIGINT}, + checker_id = #{checkerId,jdbcType=BIGINT}, + remark = #{remark,jdbcType=VARCHAR}, + check_status = #{checkStatus,jdbcType=INTEGER}, + score = #{score,jdbcType=INTEGER}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/SysImitationMapper.xml b/tall/src/main/resources/mapper_raw/SysImitationMapper.xml new file mode 100644 index 00000000..45299910 --- /dev/null +++ b/tall/src/main/resources/mapper_raw/SysImitationMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, user_id, project_id, role_id, created_at, updated_at, rec_status + + + + + delete from t_sys_imitation + where id = #{id,jdbcType=BIGINT} + + + delete from t_sys_imitation + + + + + + insert into t_sys_imitation (id, user_id, project_id, + role_id, created_at, updated_at, + rec_status) + values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, + #{roleId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) + + + insert into t_sys_imitation + + + id, + + + user_id, + + + project_id, + + + role_id, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{userId,jdbcType=BIGINT}, + + + #{projectId,jdbcType=BIGINT}, + + + #{roleId,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_sys_imitation + + + id = #{record.id,jdbcType=BIGINT}, + + + user_id = #{record.userId,jdbcType=BIGINT}, + + + project_id = #{record.projectId,jdbcType=BIGINT}, + + + role_id = #{record.roleId,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_sys_imitation + set id = #{record.id,jdbcType=BIGINT}, + user_id = #{record.userId,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + role_id = #{record.roleId,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_sys_imitation + + + user_id = #{userId,jdbcType=BIGINT}, + + + project_id = #{projectId,jdbcType=BIGINT}, + + + role_id = #{roleId,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_sys_imitation + set user_id = #{userId,jdbcType=BIGINT}, + project_id = #{projectId,jdbcType=BIGINT}, + role_id = #{roleId,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 210fd984..ae4af294 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -151,6 +151,11 @@ public enum CodeEnum { GAME_TIME_DUE(128,"您的游戏已到期,请重新购买", true), TEAM_MEMBER_ERROR(129,"参赛人数不符合,请重新填写", true), + SIGN_UP_TIME_NOT_START(130,"报名未开始", true), + SIGN_UP_TIME_FINISHED(131,"报名已结束", true), + + PROJECT_IMITATION_NO(132,"该项目未开启变身系统", true), + PROJECT_IMITATION_CODE_ERROR(131,"秘钥错误", true), ; diff --git a/util/src/main/java/com/ccsens/util/StringUtil.java b/util/src/main/java/com/ccsens/util/StringUtil.java index 84d83767..c2d39a9e 100644 --- a/util/src/main/java/com/ccsens/util/StringUtil.java +++ b/util/src/main/java/com/ccsens/util/StringUtil.java @@ -166,7 +166,7 @@ public class StringUtil { */ public static String replaceComma(String str) { //可以在中括号内加上任何想要替换的字符 - String regEx = "[,,]"; + String regEx = "[,,、]"; String lBracket = "[(]"; String rBracket = "[)]"; diff --git a/util/src/test/java/com/ccsens/util/TestQrCord.java b/util/src/test/java/com/ccsens/util/TestQrCord.java index fbe73ecf..266f7234 100644 --- a/util/src/test/java/com/ccsens/util/TestQrCord.java +++ b/util/src/test/java/com/ccsens/util/TestQrCord.java @@ -28,9 +28,9 @@ public class TestQrCord { // String fileName = "zzz/" + DateUtil.today() + "/" + i+"组" + ".png"; // String text = "https://www.tall.wiki/pt-dev/respond?groupId="+i+"&groupName="+i+"组"; -// String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; - String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://test.tall.wiki/compete&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; - String fileName = "zzz/" + "远程比赛.png"; + String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; +// String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://test.tall.wiki/compete&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; + String fileName = "zzz/" + "远程比赛(生产).png"; QRCodeWriter qrCodeWriter = new QRCodeWriter(); From 1ef67e86193015d9b6ff2d8845e6396d741d7180 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 17 Sep 2020 14:09:30 +0800 Subject: [PATCH 09/72] 0917_1.0 --- .../com/ccsens/mt/api/LevelController.java | 2 +- .../ccsens/mt/service/ILevelUpService.java | 2 +- .../com/ccsens/mt/service/LevelUpService.java | 26 +++++++++---------- .../main/resources/mapper_dao/LevelUpDao.xml | 6 ++++- .../com/ccsens/tall/service/UserService.java | 1 + 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/LevelController.java b/mt/src/main/java/com/ccsens/mt/api/LevelController.java index 053cabce..b2dc4f36 100644 --- a/mt/src/main/java/com/ccsens/mt/api/LevelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/LevelController.java @@ -36,7 +36,7 @@ public class LevelController { @RequestMapping(value = "/manual", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse manualLevelUpPlayer(@ApiParam @Validated @RequestBody QueryDto params) { log.info("手动晋级:{}",params); - levelUpService.manualLevelUpPlayer(params); + levelUpService.manualLevelUpPlayer(params.getParam()); return JsonResponse.newInstance().ok(); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java b/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java index fd5e494e..b6ee16fc 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ILevelUpService.java @@ -32,7 +32,7 @@ public interface ILevelUpService { * 手动晋级 * @param params 比赛信息和晋级的选手信息 */ - void manualLevelUpPlayer(QueryDto params); + void manualLevelUpPlayer(LevelDto.ManualLevelUpDto params); /** * 查询比赛内晋级的选手信息 diff --git a/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java b/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java index 574bb4e0..ee253691 100644 --- a/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java +++ b/mt/src/main/java/com/ccsens/mt/service/LevelUpService.java @@ -84,7 +84,7 @@ public class LevelUpService implements ILevelUpService{ levelUpDao.insertSelective(levelUp); //存入redis String key = Constant.Redis.COMPETE_LEVEL + levelUpDto.getCompeteTimeId() + "_" + levelUpDto.getCompeteCode(); - redisUtil.zsSet(key, levelUser, 0); + redisUtil.zsSet(key, levelUser, 0,3600 * 24 * 300); } } @@ -121,7 +121,7 @@ public class LevelUpService implements ILevelUpService{ updateLevelUpScore(autoLevelUpDto.getCompeteCode(), index.get(), Objects.requireNonNull(type.getScore()).intValue(), levelUser.getId()); //如果是符合晋级条件,添加新的晋级信息 if(index.get() <= finalLevelRule.getLevelCondition()){ - insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser.getId(), (byte) 0); + insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser, (byte) 0); } }); break; @@ -136,7 +136,7 @@ public class LevelUpService implements ILevelUpService{ updateLevelUpScore(autoLevelUpDto.getCompeteCode(), index.get(), Objects.requireNonNull(type.getScore()).intValue(), levelUser.getId()); //如果是符合晋级条件,添加新的晋级信息 if(index.get() <= finalLevelRule.getLevelCondition() || score.get() == Objects.requireNonNull(type.getScore()).intValue()){ - insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser.getId(), (byte) 0); + insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser, (byte) 0); } score.set(Objects.requireNonNull(type.getScore()).intValue()); }); @@ -151,7 +151,7 @@ public class LevelUpService implements ILevelUpService{ updateLevelUpScore(autoLevelUpDto.getCompeteCode(), index.get(), Objects.requireNonNull(type.getScore()).intValue(), levelUser.getId()); //如果是符合晋级条件,添加新的晋级信息 if(Objects.requireNonNull(type.getScore()).intValue() >= finalLevelRule.getLevelCondition()){ - insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser.getId(), (byte) 0); + insertLevelUp(autoLevelUpDto.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser, (byte) 0); } }); break; @@ -168,10 +168,10 @@ public class LevelUpService implements ILevelUpService{ /** * 将晋级信息添加进数据库,存入redis */ - private void insertLevelUp(Long competeTimeId, String competeCode, Long levelUser,byte levelUpType) { + private void insertLevelUp(Long competeTimeId, String competeCode, LevelUser levelUser,byte levelUpType) { LevelUp levelUp = new LevelUp(); levelUp.setId(snowflake.nextId()); - levelUp.setLevelUserId(levelUser); + levelUp.setLevelUserId(levelUser.getId()); levelUp.setCompeteCode(competeCode); levelUp.setCompeteTimeId(competeTimeId); levelUp.setScore(0); @@ -180,7 +180,7 @@ public class LevelUpService implements ILevelUpService{ levelUpDao.insertSelective(levelUp); //存入redis String keyNew = Constant.Redis.COMPETE_LEVEL + competeTimeId + "_" + competeCode; - redisUtil.zsSet(keyNew, levelUp, 0); + redisUtil.zsSet(keyNew, levelUser, 0,3600 * 24 * 300); } /** @@ -201,11 +201,10 @@ public class LevelUpService implements ILevelUpService{ /** * 手动晋级 - * @param params 比赛信息和晋级的选手信息 + * @param manualLevelUp 比赛信息和晋级的选手信息 */ @Override - public void manualLevelUpPlayer(QueryDto params) { - LevelDto.ManualLevelUpDto manualLevelUp = params.getParam(); + public void manualLevelUpPlayer(LevelDto.ManualLevelUpDto manualLevelUp) { //查找晋级规则, LevelRule levelRule = new LevelRule(); LevelRuleExample levelRuleExample = new LevelRuleExample(); @@ -229,7 +228,7 @@ public class LevelUpService implements ILevelUpService{ if(CollectionUtil.isNotEmpty(manualLevelUp.getManualLevelUpPlayers())){ manualLevelUp.getManualLevelUpPlayers().forEach(player -> { if(player.getPlayerId().equals(levelUser.getPlayerId())){ - insertLevelUp(manualLevelUp.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser.getId(), (byte) 1); + insertLevelUp(manualLevelUp.getCompeteTimeId(), finalLevelRule.getCompeteCodeLevelUp(), levelUser, (byte) 1); } }); } @@ -238,12 +237,11 @@ public class LevelUpService implements ILevelUpService{ /** * 查询比赛内晋级的选手信息 - * @param params 比赛id和分页信息 + * @param levelUserInfo 比赛id和分页信息 * @return 返回查到的比赛下所有晋级的选手的信息 */ @Override - public PageInfo queryLevelUserInfo(LevelDto.QueryLevelUserInfo params) { - LevelDto.QueryLevelUserInfo levelUserInfo = params.getParam(); + public PageInfo queryLevelUserInfo(LevelDto.QueryLevelUserInfo levelUserInfo) { if(levelUserInfo.getPage() != -1){ PageHelper.startPage(levelUserInfo.getPage(), levelUserInfo.getPageSize()); } diff --git a/mt/src/main/resources/mapper_dao/LevelUpDao.xml b/mt/src/main/resources/mapper_dao/LevelUpDao.xml index 497a7405..c7b82fd3 100644 --- a/mt/src/main/resources/mapper_dao/LevelUpDao.xml +++ b/mt/src/main/resources/mapper_dao/LevelUpDao.xml @@ -3,7 +3,11 @@ SELECT @@ -139,4 +152,42 @@ AND p.rec_status = 0 AND pp.rec_status = 0 + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteVideoMapper.xml b/mt/src/main/resources/mapper_raw/CompeteVideoMapper.xml new file mode 100644 index 00000000..541d081e --- /dev/null +++ b/mt/src/main/resources/mapper_raw/CompeteVideoMapper.xml @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, compete_time_id, compete_code, team, player_id, file_id, video_url, time, upload_user_id, + created_at, updated_at, rec_status + + + + + delete from t_compete_video + where id = #{id,jdbcType=BIGINT} + + + delete from t_compete_video + + + + + + insert into t_compete_video (id, compete_time_id, compete_code, + team, player_id, file_id, + video_url, time, upload_user_id, + created_at, updated_at, rec_status + ) + values (#{id,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{competeCode,jdbcType=VARCHAR}, + #{team,jdbcType=TINYINT}, #{playerId,jdbcType=BIGINT}, #{fileId,jdbcType=BIGINT}, + #{videoUrl,jdbcType=VARCHAR}, #{time,jdbcType=BIGINT}, #{uploadUserId,jdbcType=BIGINT}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} + ) + + + insert into t_compete_video + + + id, + + + compete_time_id, + + + compete_code, + + + team, + + + player_id, + + + file_id, + + + video_url, + + + time, + + + upload_user_id, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{competeTimeId,jdbcType=BIGINT}, + + + #{competeCode,jdbcType=VARCHAR}, + + + #{team,jdbcType=TINYINT}, + + + #{playerId,jdbcType=BIGINT}, + + + #{fileId,jdbcType=BIGINT}, + + + #{videoUrl,jdbcType=VARCHAR}, + + + #{time,jdbcType=BIGINT}, + + + #{uploadUserId,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_compete_video + + + id = #{record.id,jdbcType=BIGINT}, + + + compete_time_id = #{record.competeTimeId,jdbcType=BIGINT}, + + + compete_code = #{record.competeCode,jdbcType=VARCHAR}, + + + team = #{record.team,jdbcType=TINYINT}, + + + player_id = #{record.playerId,jdbcType=BIGINT}, + + + file_id = #{record.fileId,jdbcType=BIGINT}, + + + video_url = #{record.videoUrl,jdbcType=VARCHAR}, + + + time = #{record.time,jdbcType=BIGINT}, + + + upload_user_id = #{record.uploadUserId,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_compete_video + set id = #{record.id,jdbcType=BIGINT}, + compete_time_id = #{record.competeTimeId,jdbcType=BIGINT}, + compete_code = #{record.competeCode,jdbcType=VARCHAR}, + team = #{record.team,jdbcType=TINYINT}, + player_id = #{record.playerId,jdbcType=BIGINT}, + file_id = #{record.fileId,jdbcType=BIGINT}, + video_url = #{record.videoUrl,jdbcType=VARCHAR}, + time = #{record.time,jdbcType=BIGINT}, + upload_user_id = #{record.uploadUserId,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_compete_video + + + compete_time_id = #{competeTimeId,jdbcType=BIGINT}, + + + compete_code = #{competeCode,jdbcType=VARCHAR}, + + + team = #{team,jdbcType=TINYINT}, + + + player_id = #{playerId,jdbcType=BIGINT}, + + + file_id = #{fileId,jdbcType=BIGINT}, + + + video_url = #{videoUrl,jdbcType=VARCHAR}, + + + time = #{time,jdbcType=BIGINT}, + + + upload_user_id = #{uploadUserId,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_compete_video + set compete_time_id = #{competeTimeId,jdbcType=BIGINT}, + compete_code = #{competeCode,jdbcType=VARCHAR}, + team = #{team,jdbcType=TINYINT}, + player_id = #{playerId,jdbcType=BIGINT}, + file_id = #{fileId,jdbcType=BIGINT}, + video_url = #{videoUrl,jdbcType=VARCHAR}, + time = #{time,jdbcType=BIGINT}, + upload_user_id = #{uploadUserId,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index d1934888..b02c402d 100644 --- a/pom.xml +++ b/pom.xml @@ -12,9 +12,10 @@ ht game mt + pims - + com.ccsens diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java index 248e283e..b9bb2ced 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java @@ -150,7 +150,7 @@ public class TaskDto { // } @Data - @ApiModel + @ApiModel("修改任务详细信息") public static class UpdateTaskInfo{ @ApiModelProperty("任务id") private Long id; @@ -179,7 +179,7 @@ public class TaskDto { @ApiModelProperty("需要修改的插件Id") private List plugins; @ApiModelProperty("任务提醒信息") - private List taskRemindList; + private List taskRemindList; } @Data @ApiModel("修改任务时修改交付物名称") @@ -267,7 +267,6 @@ public class TaskDto { @Data @ApiModel("给任务添加提醒") public static class TaskRemind{ - @NotNull @ApiModelProperty("任务日期id(subTimeId)") private Long taskId; @ApiModelProperty("提醒时机 0不提醒 1开始前,2开始时,3开始后,4结束前,5结束时,6结束后,7自定义时间") diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java index 60a7c0e5..de12db5b 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java @@ -160,6 +160,8 @@ public class ProjectVo { private boolean pm; @ApiModelProperty("当前用户是否属于该角色") private boolean mine; + @ApiModelProperty("是否是变身后 0否 1是") + private byte imitation = 0; @ApiModelProperty("是否是当前角色的奖惩干系人") private boolean stakeholder; @ApiModelProperty("该角色是否显示") diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 813e5989..d336d0a9 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -108,6 +108,9 @@ public class ProRoleService implements IProRoleService { if (memberRole.getId().equals(role.getId())) { memberRole.setMine(true); memberRole.setIsShow(true); + if(imitation != null && imitation == 1){ + memberRole.setImitation((byte) 1); + } break; } else { memberRole.setMine(false); diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 93bb5dfc..0dcbf31c 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -1227,8 +1227,22 @@ public class ProTaskDetailService implements IProTaskDetailService { taskDetailDao.updateByPrimaryKeySelective(taskDetail); //修改提醒信息 if(CollectionUtil.isNotEmpty(updateTaskInfo.getTaskRemindList())){ + //删除之前的提醒信息 + ProRemindExample proRemindExample = new ProRemindExample(); + proRemindExample.createCriteria().andSubTaskIdEqualTo(updateTaskInfo.getId()); + List proRemindList = proRemindDao.selectByExample(proRemindExample); + if(CollectionUtil.isNotEmpty(proRemindList)){ + proRemindList.forEach(proRemind -> { + proRemind.setRecStatus((byte) 2); + proRemindDao.updateByPrimaryKeySelective(proRemind); + }); + } updateTaskInfo.getTaskRemindList().forEach(updateTaskRemind -> { - taskSubTimeService.updateRemind(currentUserId,updateTaskRemind); + try { + taskSubTimeService.saveRemind(currentUserId,updateTaskRemind); + } catch (Exception e) { + e.printStackTrace(); + } }); } //返回的任务详细信息 diff --git a/tall/src/main/java/com/ccsens/tall/service/UserService.java b/tall/src/main/java/com/ccsens/tall/service/UserService.java index 6791c5ac..fdff1a78 100644 --- a/tall/src/main/java/com/ccsens/tall/service/UserService.java +++ b/tall/src/main/java/com/ccsens/tall/service/UserService.java @@ -30,12 +30,16 @@ import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.sql.Struct; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +/** + * @author 逗 + */ @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @@ -57,8 +61,6 @@ public class UserService implements IUserService { @Resource private RedisUtil redisUtil; @Resource - private SysWxDao sysWxDao; - @Resource private SysProjectDao sysProjectDao; @Resource private UserAttentionDao userAttentionDao; @@ -307,15 +309,6 @@ public class UserService implements IUserService { return userSignVo; } -// public void __addSigninRecord(WebConstant.CLIENT_TYPE clientType, String clientIp, Long authId) { -// SigninLog siginLog = new SigninLog(); -// siginLog.setId(snowflake.nextId()); -// siginLog.setAuthId(authId); -// siginLog.setClient((byte) clientType.value); -// siginLog.setSigninIp(clientIp); -// siginLog.setSigninTime(DateUtil.date()); -// signinLogDao.insertSelective(siginLog); -// } /** * 手机号登陆 @@ -328,8 +321,8 @@ public class UserService implements IUserService { UserVo.UserSign userSignVo; if (isSmsCodeCorrect(phone, smsVerifyCode)) { //1.查找对应账户,不存在则注册 - List authList = null; - SysAuth theAuth = null; + List authList; + SysAuth theAuth; SysAuthExample authExample = new SysAuthExample(); authExample.createCriteria().andIdentifyTypeEqualTo((byte) WebConstant.IDENTIFY_TYPE.Phone.value) .andIdentifierEqualTo(phone); @@ -348,9 +341,7 @@ public class UserService implements IUserService { return userSignVo; } -// private UserVo.UserSign emailLogin(String phone, String emailVerifyCode) { -// return null; -// } + /** * 账号登录 @@ -397,12 +388,12 @@ public class UserService implements IUserService { } - @Data - private static class WxEnterpriseParam { - private String suiteAccessToken; - private String userTicket; - private String redirect; - } +// @Data +// private static class WxEnterpriseParam { +// private String suiteAccessToken; +// private String userTicket; +// private String redirect; +// } /** @@ -498,11 +489,11 @@ public class UserService implements IUserService { /** * 获取企业微信信息,并绑定用户 - * @param identifyType - * @param userid - * @param corpId - * @param redirect - * @param user + * @param identifyType 登录类型 + * @param userid userId + * @param corpId corpId + * @param redirect redirect + * @param user 用户信息 */ private void getUserDetail(byte identifyType, String userid, String corpId, String redirect, SysUser user) { if (identifyType == WebConstant.IDENTIFY_TYPE.WxEnterprise.value && StrUtil.isNotBlank(redirect)) { @@ -1169,75 +1160,54 @@ public class UserService implements IUserService { public UserVo.TokenBean getUserInfoAndToken(WebConstant.CLIENT_TYPE clientType, WebConstant.IDENTIFY_TYPE identifyType,UserVo.UserSign userSignVo, Map theMap) { long start = System.currentTimeMillis(); UserVo.TokenBean tokenBean = userDao.getTokenBeanByUserId(userSignVo.getUserId()); + //如果只有手机号没有账号信息,则将手机号脱敏当成账号 + if (StrUtil.isEmpty(tokenBean.getAccount()) && StrUtil.isNotEmpty(tokenBean.getPhone())){ + String phoneNumber = tokenBean.getPhone().substring(0, 3) + "****" + tokenBean.getPhone().substring(7, tokenBean.getPhone().length()); + tokenBean.setAccount(phoneNumber); + } long end1 = System.currentTimeMillis(); log.info("查询用户信息用了:{}",end1 - start); UserVo.TokenBean tokenBean1 = generateToken(clientType, userSignVo.getUserId(), theMap); - tokenBean.setToken(tokenBean1.getToken()); tokenBean.setRefresh_token(tokenBean1.getRefresh_token()); -// //获取手机号 -// String phone = getPhoneByRegisterType(userSignVo.getUserId(),identifyType); -// long end2 = System.currentTimeMillis(); -// log.info("查询手机号:{}",end2 - end1); -// //获取账号 -// String account = selectAccountByUserId(userSignVo.getUserId()); -// if(StrUtil.isEmpty(account)){ -// account = WebConstant.DEFAULT_NICKNAME; -// } -// long end3 = System.currentTimeMillis(); -// log.info("查询账号:{}",end3 - end2); -// //获取用户的基本信息、 -// UserVo.WxInfo wxInfo = null; -// SysUser user = userDao.selectByPrimaryKey(userSignVo.getUserId()); -// if (ObjectUtil.isNotNull(user)) { -// wxInfo = new UserVo.WxInfo(); -// BeanUtil.copyProperties(user, wxInfo); -// wxInfo.setSex(user.getGender()); -// wxInfo.setHeadImgUrl(user.getAvatarUrl()); -// } -// long end4 = System.currentTimeMillis(); -// log.info("查询信息:{}",end4 - end3); -// tokenBean.setId(userSignVo.getUserId()); -// tokenBean.setPhone(phone); -// tokenBean.setAccount(account); -// tokenBean.setWxInfo(wxInfo); - return tokenBean; - } - /** - * 通过userId查找账号 - * @param userId userId - * @return 账号 - */ - private String selectAccountByUserId(Long userId) { - String account = null; - SysAuthExample sysAuthExample = new SysAuthExample(); - sysAuthExample.createCriteria().andUserIdEqualTo(userId).andIdentifyTypeEqualTo((byte) WebConstant.IDENTIFY_TYPE.Account.value); - List authList = authDao.selectByExample(sysAuthExample); - if(CollectionUtil.isNotEmpty(authList)){ - account = authList.get(0).getIdentifier(); - } - return account; + return tokenBean; } - private String getPhoneByRegisterType(Long userId, WebConstant.IDENTIFY_TYPE identifyType) { - SysAuthExample authExample = new SysAuthExample(); - authExample.createCriteria().andUserIdEqualTo(userId).andIdentifyTypeEqualTo((byte) WebConstant.IDENTIFY_TYPE.Phone.value); - List sysAuthList = authDao.selectByExample(authExample); - if (CollectionUtil.isNotEmpty(sysAuthList)) { - return sysAuthList.get(0).getIdentifier(); - } else { - SysAuthExample authExampleType = new SysAuthExample(); - authExampleType.createCriteria().andUserIdEqualTo(userId).andIdentifyTypeEqualTo((byte) identifyType.value); - List sysAuthList1 = authDao.selectByExample(authExampleType); - if (CollectionUtil.isNotEmpty(sysAuthList1)){ - if(sysAuthList1.get(0).getRegisterType() == 1){ - return "1"; - } - } - return null; - } - } +// /** +// * 通过userId查找账号 +// * @param userId userId +// * @return 账号 +// */ +// private String selectAccountByUserId(Long userId) { +// String account = null; +// SysAuthExample sysAuthExample = new SysAuthExample(); +// sysAuthExample.createCriteria().andUserIdEqualTo(userId).andIdentifyTypeEqualTo((byte) WebConstant.IDENTIFY_TYPE.Account.value); +// List authList = authDao.selectByExample(sysAuthExample); +// if(CollectionUtil.isNotEmpty(authList)){ +// account = authList.get(0).getIdentifier(); +// } +// return account; +// } +// +// private String getPhoneByRegisterType(Long userId, WebConstant.IDENTIFY_TYPE identifyType) { +// SysAuthExample authExample = new SysAuthExample(); +// authExample.createCriteria().andUserIdEqualTo(userId).andIdentifyTypeEqualTo((byte) WebConstant.IDENTIFY_TYPE.Phone.value); +// List sysAuthList = authDao.selectByExample(authExample); +// if (CollectionUtil.isNotEmpty(sysAuthList)) { +// return sysAuthList.get(0).getIdentifier(); +// } else { +// SysAuthExample authExampleType = new SysAuthExample(); +// authExampleType.createCriteria().andUserIdEqualTo(userId).andIdentifyTypeEqualTo((byte) identifyType.value); +// List sysAuthList1 = authDao.selectByExample(authExampleType); +// if (CollectionUtil.isNotEmpty(sysAuthList1)){ +// if(sysAuthList1.get(0).getRegisterType() == 1){ +// return "1"; +// } +// } +// return null; +// } +// } /** * 合并账号 @@ -1283,6 +1253,7 @@ public class UserService implements IUserService { oldUser.setRecStatus((byte) 2); userDao.updateByPrimaryKeySelective(oldUser); + } else { throw new BaseException(CodeEnum.PARAM_ERROR); } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index b2acd365..c88e995d 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: util-dev,common + active: test + include: util-test,common diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index c2621faa..2514abbf 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -55,7 +55,7 @@ SELECT @@ -161,10 +184,28 @@ (SELECT count(id) FROM t_compete_team_member WHERE compete_team_id = t.id) as memberNums, m.id as memberId, p.`name` as memberName, - if(t.creator = p.id , true,false) as captain + if(t.creator = p.id , true,false) as captain, + t.score, + v.id as videoId, + v.file_id as fileId, + v.video_url as videoUrl, + v.time as uploadTime FROM t_compete_team t left join t_compete_team_member m on t.id = m.compete_team_id LEFT JOIN t_compete_player p on m.player_id = p.id + LEFT JOIN t_compete_video v on v.player_id = t.id and v.rec_status = 0 + LEFT JOIN + ( + SELECT + s.task_id as teamId, + sum(s.score) as score + FROM + t_mt_score_log l LEFT JOIN t_mt_score s on l.id = s.score_log_id + WHERE + l.project_id = #{competeProjectId} + and l.rec_status = 0 + and s.rec_status = 0 + ) t on t.teamId = t.id WHERE t.project_id = #{competeProjectId} and t.compete_time_id = #{competeTimeId} @@ -172,7 +213,7 @@ and m.rec_status = 0 and p.rec_status = 0 - SELECT p.id as playerId, p.`name`, @@ -181,12 +222,30 @@ p.compete_group_id as groupId, (SELECT `group_name` FROM t_compete_group WHERE id = p.compete_group_id) as groupName, (SELECT `name` FROM t_compete_company WHERE id = p.company_id) as companyName, - pp.certificate + pp.certificate, + t.score, + v.id as videoId, + v.file_id as fileId, + v.video_url as videoUrl, + v.time as uploadTime FROM t_compete_project_player pp left join t_compete_player p on pp.player_id = p.id + LEFT JOIN t_compete_video v on v.player_id = pp.id and v.rec_status = 0 + LEFT JOIN + ( + SELECT + s.task_id as playerId, + sum(s.score) as score + FROM + t_mt_score_log l LEFT JOIN t_mt_score s on l.id = s.score_log_id + WHERE + l.project_id = #{competeProjectId} + and l.rec_status = 0 + and s.rec_status = 0 + ) t on t.playerId = pp.id WHERE - pp.project_id = 9 - and pp.compete_time_id = 1 + pp.project_id = #{competeProjectId} + and pp.compete_time_id = #{competeTimeId} and pp.rec_status = 0 and p.rec_status = 0 diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java index 8a82f9f9..64c24ff0 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java @@ -3,6 +3,7 @@ package com.ccsens.tall.bean.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import lombok.NonNull; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; @@ -75,4 +76,22 @@ public class PluginDto { private byte type; } + @Data + @ApiModel("修改插件配置") + public static class UpdatePluginConfig { + @NonNull + @ApiModelProperty("任务id") + private Long taskId; + @ApiModelProperty("任务插件id") + private Long taskPluginId; + @ApiModelProperty("页面接口路径") + private String webPath; + @ApiModelProperty("入参") + private String importParam; + @ApiModelProperty("放置位置 默认0 ,0任务名 1详情页 2任务下") + private Byte placeLocation; + @ApiModelProperty("程序位置 0:tall内部,1外部") + private Byte routineLocation; + } + } diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java index b9bb2ced..2f99736e 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java @@ -174,6 +174,8 @@ public class TaskDto { private Long delayTime; @ApiModelProperty("优先级 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急 默认0") private Byte priority; + @ApiModelProperty("是否是里程碑 0否 1是") + private Byte milestone; @ApiModelProperty("交付物id和修改后的名字") private List deliverList; @ApiModelProperty("需要修改的插件Id") @@ -376,4 +378,13 @@ public class TaskDto { private Integer pageSize = 10; } + + @Data + @ApiModel + public static class QueryAllTaskByProjectId { + @ApiModelProperty("项目Id") + private Long projectId; + @ApiModelProperty("角色id") + private Long roleId; + } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/UserDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/UserDto.java index 5edd99dc..6b4bd524 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/UserDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/UserDto.java @@ -175,6 +175,9 @@ public class UserDto { @ApiModelProperty("账号") @NotEmpty(message = "新账号不能为空.") private String account; + @ApiModelProperty("密码,有账号登录信息则验证密码,没有则设为新密码") + @NotEmpty(message = "密码不能为空") + private String password; } @Data diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java index ca27873a..7440a524 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProRole.java @@ -1,117 +1,128 @@ -package com.ccsens.tall.bean.po; - -import java.io.Serializable; -import java.util.Date; - -public class ProRole implements Serializable { - private Long id; - - private Long projectId; - - private Long parentId; - - private String name; - - private String description; - - private Integer sequence; - - private Date createdAt; - - private Date updatedAt; - - private Byte recStatus; - - private static final long serialVersionUID = 1L; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getProjectId() { - return projectId; - } - - public void setProjectId(Long projectId) { - this.projectId = projectId; - } - - public Long getParentId() { - return parentId; - } - - public void setParentId(Long parentId) { - this.parentId = parentId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name == null ? null : name.trim(); - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description == null ? null : description.trim(); - } - - public Integer getSequence() { - return sequence; - } - - public void setSequence(Integer sequence) { - this.sequence = sequence; - } - - public Date getCreatedAt() { - return createdAt; - } - - public void setCreatedAt(Date createdAt) { - this.createdAt = createdAt; - } - - public Date getUpdatedAt() { - return updatedAt; - } - - public void setUpdatedAt(Date updatedAt) { - this.updatedAt = updatedAt; - } - - public Byte getRecStatus() { - return recStatus; - } - - public void setRecStatus(Byte recStatus) { - this.recStatus = recStatus; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append(getClass().getSimpleName()); - sb.append(" ["); - sb.append("Hash = ").append(hashCode()); - sb.append(", id=").append(id); - sb.append(", projectId=").append(projectId); - sb.append(", parentId=").append(parentId); - sb.append(", name=").append(name); - sb.append(", description=").append(description); - sb.append(", sequence=").append(sequence); - sb.append(", createdAt=").append(createdAt); - sb.append(", updatedAt=").append(updatedAt); - sb.append(", recStatus=").append(recStatus); - sb.append("]"); - return sb.toString(); - } +package com.ccsens.tall.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class ProRole implements Serializable { + private Long id; + + private Long projectId; + + private Long parentId; + + private String name; + + private String description; + + private Integer sequence; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private Long relevanceProjectId; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public Integer getSequence() { + return sequence; + } + + public void setSequence(Integer sequence) { + this.sequence = sequence; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + public Long getRelevanceProjectId() { + return relevanceProjectId; + } + + public void setRelevanceProjectId(Long relevanceProjectId) { + this.relevanceProjectId = relevanceProjectId; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", projectId=").append(projectId); + sb.append(", parentId=").append(parentId); + sb.append(", name=").append(name); + sb.append(", description=").append(description); + sb.append(", sequence=").append(sequence); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append(", relevanceProjectId=").append(relevanceProjectId); + sb.append("]"); + return sb.toString(); + } } \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java index 45a2e821..a29cbb00 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProRoleExample.java @@ -1,761 +1,821 @@ -package com.ccsens.tall.bean.po; - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -public class ProRoleExample { - protected String orderByClause; - - protected boolean distinct; - - protected List oredCriteria; - - public ProRoleExample() { - oredCriteria = new ArrayList(); - } - - public void setOrderByClause(String orderByClause) { - this.orderByClause = orderByClause; - } - - public String getOrderByClause() { - return orderByClause; - } - - public void setDistinct(boolean distinct) { - this.distinct = distinct; - } - - public boolean isDistinct() { - return distinct; - } - - public List getOredCriteria() { - return oredCriteria; - } - - public void or(Criteria criteria) { - oredCriteria.add(criteria); - } - - public Criteria or() { - Criteria criteria = createCriteriaInternal(); - oredCriteria.add(criteria); - return criteria; - } - - public Criteria createCriteria() { - Criteria criteria = createCriteriaInternal(); - if (oredCriteria.size() == 0) { - oredCriteria.add(criteria); - } - return criteria; - } - - protected Criteria createCriteriaInternal() { - Criteria criteria = new Criteria(); - return criteria; - } - - public void clear() { - oredCriteria.clear(); - orderByClause = null; - distinct = false; - } - - protected abstract static class GeneratedCriteria { - protected List criteria; - - protected GeneratedCriteria() { - super(); - criteria = new ArrayList(); - } - - public boolean isValid() { - return criteria.size() > 0; - } - - public List getAllCriteria() { - return criteria; - } - - public List getCriteria() { - return criteria; - } - - protected void addCriterion(String condition) { - if (condition == null) { - throw new RuntimeException("Value for condition cannot be null"); - } - criteria.add(new Criterion(condition)); - } - - protected void addCriterion(String condition, Object value, String property) { - if (value == null) { - throw new RuntimeException("Value for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value)); - } - - protected void addCriterion(String condition, Object value1, Object value2, String property) { - if (value1 == null || value2 == null) { - throw new RuntimeException("Between values for " + property + " cannot be null"); - } - criteria.add(new Criterion(condition, value1, value2)); - } - - public Criteria andIdIsNull() { - addCriterion("id is null"); - return (Criteria) this; - } - - public Criteria andIdIsNotNull() { - addCriterion("id is not null"); - return (Criteria) this; - } - - public Criteria andIdEqualTo(Long value) { - addCriterion("id =", value, "id"); - return (Criteria) this; - } - - public Criteria andIdNotEqualTo(Long value) { - addCriterion("id <>", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThan(Long value) { - addCriterion("id >", value, "id"); - return (Criteria) this; - } - - public Criteria andIdGreaterThanOrEqualTo(Long value) { - addCriterion("id >=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThan(Long value) { - addCriterion("id <", value, "id"); - return (Criteria) this; - } - - public Criteria andIdLessThanOrEqualTo(Long value) { - addCriterion("id <=", value, "id"); - return (Criteria) this; - } - - public Criteria andIdIn(List values) { - addCriterion("id in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdNotIn(List values) { - addCriterion("id not in", values, "id"); - return (Criteria) this; - } - - public Criteria andIdBetween(Long value1, Long value2) { - addCriterion("id between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andIdNotBetween(Long value1, Long value2) { - addCriterion("id not between", value1, value2, "id"); - return (Criteria) this; - } - - public Criteria andProjectIdIsNull() { - addCriterion("project_id is null"); - return (Criteria) this; - } - - public Criteria andProjectIdIsNotNull() { - addCriterion("project_id is not null"); - return (Criteria) this; - } - - public Criteria andProjectIdEqualTo(Long value) { - addCriterion("project_id =", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdNotEqualTo(Long value) { - addCriterion("project_id <>", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdGreaterThan(Long value) { - addCriterion("project_id >", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdGreaterThanOrEqualTo(Long value) { - addCriterion("project_id >=", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdLessThan(Long value) { - addCriterion("project_id <", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdLessThanOrEqualTo(Long value) { - addCriterion("project_id <=", value, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdIn(List values) { - addCriterion("project_id in", values, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdNotIn(List values) { - addCriterion("project_id not in", values, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdBetween(Long value1, Long value2) { - addCriterion("project_id between", value1, value2, "projectId"); - return (Criteria) this; - } - - public Criteria andProjectIdNotBetween(Long value1, Long value2) { - addCriterion("project_id not between", value1, value2, "projectId"); - return (Criteria) this; - } - - public Criteria andParentIdIsNull() { - addCriterion("parent_id is null"); - return (Criteria) this; - } - - public Criteria andParentIdIsNotNull() { - addCriterion("parent_id is not null"); - return (Criteria) this; - } - - public Criteria andParentIdEqualTo(Long value) { - addCriterion("parent_id =", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotEqualTo(Long value) { - addCriterion("parent_id <>", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdGreaterThan(Long value) { - addCriterion("parent_id >", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdGreaterThanOrEqualTo(Long value) { - addCriterion("parent_id >=", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdLessThan(Long value) { - addCriterion("parent_id <", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdLessThanOrEqualTo(Long value) { - addCriterion("parent_id <=", value, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdIn(List values) { - addCriterion("parent_id in", values, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotIn(List values) { - addCriterion("parent_id not in", values, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdBetween(Long value1, Long value2) { - addCriterion("parent_id between", value1, value2, "parentId"); - return (Criteria) this; - } - - public Criteria andParentIdNotBetween(Long value1, Long value2) { - addCriterion("parent_id not between", value1, value2, "parentId"); - return (Criteria) this; - } - - public Criteria andNameIsNull() { - addCriterion("name is null"); - return (Criteria) this; - } - - public Criteria andNameIsNotNull() { - addCriterion("name is not null"); - return (Criteria) this; - } - - public Criteria andNameEqualTo(String value) { - addCriterion("name =", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotEqualTo(String value) { - addCriterion("name <>", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThan(String value) { - addCriterion("name >", value, "name"); - return (Criteria) this; - } - - public Criteria andNameGreaterThanOrEqualTo(String value) { - addCriterion("name >=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThan(String value) { - addCriterion("name <", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLessThanOrEqualTo(String value) { - addCriterion("name <=", value, "name"); - return (Criteria) this; - } - - public Criteria andNameLike(String value) { - addCriterion("name like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameNotLike(String value) { - addCriterion("name not like", value, "name"); - return (Criteria) this; - } - - public Criteria andNameIn(List values) { - addCriterion("name in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameNotIn(List values) { - addCriterion("name not in", values, "name"); - return (Criteria) this; - } - - public Criteria andNameBetween(String value1, String value2) { - addCriterion("name between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andNameNotBetween(String value1, String value2) { - addCriterion("name not between", value1, value2, "name"); - return (Criteria) this; - } - - public Criteria andDescriptionIsNull() { - addCriterion("description is null"); - return (Criteria) this; - } - - public Criteria andDescriptionIsNotNull() { - addCriterion("description is not null"); - return (Criteria) this; - } - - public Criteria andDescriptionEqualTo(String value) { - addCriterion("description =", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotEqualTo(String value) { - addCriterion("description <>", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionGreaterThan(String value) { - addCriterion("description >", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionGreaterThanOrEqualTo(String value) { - addCriterion("description >=", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLessThan(String value) { - addCriterion("description <", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLessThanOrEqualTo(String value) { - addCriterion("description <=", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionLike(String value) { - addCriterion("description like", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotLike(String value) { - addCriterion("description not like", value, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionIn(List values) { - addCriterion("description in", values, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotIn(List values) { - addCriterion("description not in", values, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionBetween(String value1, String value2) { - addCriterion("description between", value1, value2, "description"); - return (Criteria) this; - } - - public Criteria andDescriptionNotBetween(String value1, String value2) { - addCriterion("description not between", value1, value2, "description"); - return (Criteria) this; - } - - public Criteria andSequenceIsNull() { - addCriterion("sequence is null"); - return (Criteria) this; - } - - public Criteria andSequenceIsNotNull() { - addCriterion("sequence is not null"); - return (Criteria) this; - } - - public Criteria andSequenceEqualTo(Integer value) { - addCriterion("sequence =", value, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceNotEqualTo(Integer value) { - addCriterion("sequence <>", value, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceGreaterThan(Integer value) { - addCriterion("sequence >", value, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceGreaterThanOrEqualTo(Integer value) { - addCriterion("sequence >=", value, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceLessThan(Integer value) { - addCriterion("sequence <", value, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceLessThanOrEqualTo(Integer value) { - addCriterion("sequence <=", value, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceIn(List values) { - addCriterion("sequence in", values, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceNotIn(List values) { - addCriterion("sequence not in", values, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceBetween(Integer value1, Integer value2) { - addCriterion("sequence between", value1, value2, "sequence"); - return (Criteria) this; - } - - public Criteria andSequenceNotBetween(Integer value1, Integer value2) { - addCriterion("sequence not between", value1, value2, "sequence"); - return (Criteria) this; - } - - public Criteria andCreatedAtIsNull() { - addCriterion("created_at is null"); - return (Criteria) this; - } - - public Criteria andCreatedAtIsNotNull() { - addCriterion("created_at is not null"); - return (Criteria) this; - } - - public Criteria andCreatedAtEqualTo(Date value) { - addCriterion("created_at =", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtNotEqualTo(Date value) { - addCriterion("created_at <>", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtGreaterThan(Date value) { - addCriterion("created_at >", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { - addCriterion("created_at >=", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtLessThan(Date value) { - addCriterion("created_at <", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtLessThanOrEqualTo(Date value) { - addCriterion("created_at <=", value, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtIn(List values) { - addCriterion("created_at in", values, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtNotIn(List values) { - addCriterion("created_at not in", values, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtBetween(Date value1, Date value2) { - addCriterion("created_at between", value1, value2, "createdAt"); - return (Criteria) this; - } - - public Criteria andCreatedAtNotBetween(Date value1, Date value2) { - addCriterion("created_at not between", value1, value2, "createdAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtIsNull() { - addCriterion("updated_at is null"); - return (Criteria) this; - } - - public Criteria andUpdatedAtIsNotNull() { - addCriterion("updated_at is not null"); - return (Criteria) this; - } - - public Criteria andUpdatedAtEqualTo(Date value) { - addCriterion("updated_at =", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtNotEqualTo(Date value) { - addCriterion("updated_at <>", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtGreaterThan(Date value) { - addCriterion("updated_at >", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { - addCriterion("updated_at >=", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtLessThan(Date value) { - addCriterion("updated_at <", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { - addCriterion("updated_at <=", value, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtIn(List values) { - addCriterion("updated_at in", values, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtNotIn(List values) { - addCriterion("updated_at not in", values, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtBetween(Date value1, Date value2) { - addCriterion("updated_at between", value1, value2, "updatedAt"); - return (Criteria) this; - } - - public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { - addCriterion("updated_at not between", value1, value2, "updatedAt"); - return (Criteria) this; - } - - public Criteria andRecStatusIsNull() { - addCriterion("rec_status is null"); - return (Criteria) this; - } - - public Criteria andRecStatusIsNotNull() { - addCriterion("rec_status is not null"); - return (Criteria) this; - } - - public Criteria andRecStatusEqualTo(Byte value) { - addCriterion("rec_status =", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusNotEqualTo(Byte value) { - addCriterion("rec_status <>", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusGreaterThan(Byte value) { - addCriterion("rec_status >", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { - addCriterion("rec_status >=", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusLessThan(Byte value) { - addCriterion("rec_status <", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusLessThanOrEqualTo(Byte value) { - addCriterion("rec_status <=", value, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusIn(List values) { - addCriterion("rec_status in", values, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusNotIn(List values) { - addCriterion("rec_status not in", values, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusBetween(Byte value1, Byte value2) { - addCriterion("rec_status between", value1, value2, "recStatus"); - return (Criteria) this; - } - - public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { - addCriterion("rec_status not between", value1, value2, "recStatus"); - return (Criteria) this; - } - } - - public static class Criteria extends GeneratedCriteria { - - protected Criteria() { - super(); - } - } - - public static class Criterion { - private String condition; - - private Object value; - - private Object secondValue; - - private boolean noValue; - - private boolean singleValue; - - private boolean betweenValue; - - private boolean listValue; - - private String typeHandler; - - public String getCondition() { - return condition; - } - - public Object getValue() { - return value; - } - - public Object getSecondValue() { - return secondValue; - } - - public boolean isNoValue() { - return noValue; - } - - public boolean isSingleValue() { - return singleValue; - } - - public boolean isBetweenValue() { - return betweenValue; - } - - public boolean isListValue() { - return listValue; - } - - public String getTypeHandler() { - return typeHandler; - } - - protected Criterion(String condition) { - super(); - this.condition = condition; - this.typeHandler = null; - this.noValue = true; - } - - protected Criterion(String condition, Object value, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.typeHandler = typeHandler; - if (value instanceof List) { - this.listValue = true; - } else { - this.singleValue = true; - } - } - - protected Criterion(String condition, Object value) { - this(condition, value, null); - } - - protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { - super(); - this.condition = condition; - this.value = value; - this.secondValue = secondValue; - this.typeHandler = typeHandler; - this.betweenValue = true; - } - - protected Criterion(String condition, Object value, Object secondValue) { - this(condition, value, secondValue, null); - } - } +package com.ccsens.tall.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProRoleExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public ProRoleExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNull() { + addCriterion("project_id is null"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNotNull() { + addCriterion("project_id is not null"); + return (Criteria) this; + } + + public Criteria andProjectIdEqualTo(Long value) { + addCriterion("project_id =", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotEqualTo(Long value) { + addCriterion("project_id <>", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThan(Long value) { + addCriterion("project_id >", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThanOrEqualTo(Long value) { + addCriterion("project_id >=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThan(Long value) { + addCriterion("project_id <", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThanOrEqualTo(Long value) { + addCriterion("project_id <=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdIn(List values) { + addCriterion("project_id in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotIn(List values) { + addCriterion("project_id not in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdBetween(Long value1, Long value2) { + addCriterion("project_id between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotBetween(Long value1, Long value2) { + addCriterion("project_id not between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andParentIdIsNull() { + addCriterion("parent_id is null"); + return (Criteria) this; + } + + public Criteria andParentIdIsNotNull() { + addCriterion("parent_id is not null"); + return (Criteria) this; + } + + public Criteria andParentIdEqualTo(Long value) { + addCriterion("parent_id =", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotEqualTo(Long value) { + addCriterion("parent_id <>", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThan(Long value) { + addCriterion("parent_id >", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThanOrEqualTo(Long value) { + addCriterion("parent_id >=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThan(Long value) { + addCriterion("parent_id <", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThanOrEqualTo(Long value) { + addCriterion("parent_id <=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdIn(List values) { + addCriterion("parent_id in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotIn(List values) { + addCriterion("parent_id not in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdBetween(Long value1, Long value2) { + addCriterion("parent_id between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotBetween(Long value1, Long value2) { + addCriterion("parent_id not between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNull() { + addCriterion("description is null"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNotNull() { + addCriterion("description is not null"); + return (Criteria) this; + } + + public Criteria andDescriptionEqualTo(String value) { + addCriterion("description =", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotEqualTo(String value) { + addCriterion("description <>", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThan(String value) { + addCriterion("description >", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThanOrEqualTo(String value) { + addCriterion("description >=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThan(String value) { + addCriterion("description <", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThanOrEqualTo(String value) { + addCriterion("description <=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLike(String value) { + addCriterion("description like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotLike(String value) { + addCriterion("description not like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionIn(List values) { + addCriterion("description in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotIn(List values) { + addCriterion("description not in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionBetween(String value1, String value2) { + addCriterion("description between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotBetween(String value1, String value2) { + addCriterion("description not between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andSequenceIsNull() { + addCriterion("sequence is null"); + return (Criteria) this; + } + + public Criteria andSequenceIsNotNull() { + addCriterion("sequence is not null"); + return (Criteria) this; + } + + public Criteria andSequenceEqualTo(Integer value) { + addCriterion("sequence =", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotEqualTo(Integer value) { + addCriterion("sequence <>", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceGreaterThan(Integer value) { + addCriterion("sequence >", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceGreaterThanOrEqualTo(Integer value) { + addCriterion("sequence >=", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceLessThan(Integer value) { + addCriterion("sequence <", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceLessThanOrEqualTo(Integer value) { + addCriterion("sequence <=", value, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceIn(List values) { + addCriterion("sequence in", values, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotIn(List values) { + addCriterion("sequence not in", values, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceBetween(Integer value1, Integer value2) { + addCriterion("sequence between", value1, value2, "sequence"); + return (Criteria) this; + } + + public Criteria andSequenceNotBetween(Integer value1, Integer value2) { + addCriterion("sequence not between", value1, value2, "sequence"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdIsNull() { + addCriterion("relevance_project_id is null"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdIsNotNull() { + addCriterion("relevance_project_id is not null"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdEqualTo(Long value) { + addCriterion("relevance_project_id =", value, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdNotEqualTo(Long value) { + addCriterion("relevance_project_id <>", value, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdGreaterThan(Long value) { + addCriterion("relevance_project_id >", value, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdGreaterThanOrEqualTo(Long value) { + addCriterion("relevance_project_id >=", value, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdLessThan(Long value) { + addCriterion("relevance_project_id <", value, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdLessThanOrEqualTo(Long value) { + addCriterion("relevance_project_id <=", value, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdIn(List values) { + addCriterion("relevance_project_id in", values, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdNotIn(List values) { + addCriterion("relevance_project_id not in", values, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdBetween(Long value1, Long value2) { + addCriterion("relevance_project_id between", value1, value2, "relevanceProjectId"); + return (Criteria) this; + } + + public Criteria andRelevanceProjectIdNotBetween(Long value1, Long value2) { + addCriterion("relevance_project_id not between", value1, value2, "relevanceProjectId"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } } \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java index d6e1bc07..e6be23b9 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetail.java @@ -58,6 +58,8 @@ public class ProTaskDetail implements Serializable { private Byte priority; + private Byte milestone; + private static final long serialVersionUID = 1L; public Long getId() { @@ -276,6 +278,14 @@ public class ProTaskDetail implements Serializable { this.priority = priority; } + public Byte getMilestone() { + return milestone; + } + + public void setMilestone(Byte milestone) { + this.milestone = milestone; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -309,6 +319,7 @@ public class ProTaskDetail implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", priority=").append(priority); + sb.append(", milestone=").append(milestone); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java index ddc69c30..203675e3 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskDetailExample.java @@ -1774,6 +1774,66 @@ public class ProTaskDetailExample { addCriterion("priority not between", value1, value2, "priority"); return (Criteria) this; } + + public Criteria andMilestoneIsNull() { + addCriterion("milestone is null"); + return (Criteria) this; + } + + public Criteria andMilestoneIsNotNull() { + addCriterion("milestone is not null"); + return (Criteria) this; + } + + public Criteria andMilestoneEqualTo(Byte value) { + addCriterion("milestone =", value, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneNotEqualTo(Byte value) { + addCriterion("milestone <>", value, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneGreaterThan(Byte value) { + addCriterion("milestone >", value, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneGreaterThanOrEqualTo(Byte value) { + addCriterion("milestone >=", value, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneLessThan(Byte value) { + addCriterion("milestone <", value, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneLessThanOrEqualTo(Byte value) { + addCriterion("milestone <=", value, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneIn(List values) { + addCriterion("milestone in", values, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneNotIn(List values) { + addCriterion("milestone not in", values, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneBetween(Byte value1, Byte value2) { + addCriterion("milestone between", value1, value2, "milestone"); + return (Criteria) this; + } + + public Criteria andMilestoneNotBetween(Byte value1, Byte value2) { + addCriterion("milestone not between", value1, value2, "milestone"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java index de12db5b..541d5258 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java @@ -166,6 +166,8 @@ public class ProjectVo { private boolean stakeholder; @ApiModelProperty("该角色是否显示") private Boolean isShow = true; + @ApiModelProperty("是否是项目虚拟的角色 0否 1是") + private byte projectRole = 0; @ApiModelProperty("成员信息") private List members; @JsonIgnore diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index 6c6edc16..d6920221 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java @@ -148,6 +148,8 @@ public class TaskVo { private String importParam; @ApiModelProperty("优先级 默认0 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急") private Byte priority; + @ApiModelProperty("是否是里程碑 0否 1是") + private Byte milestone; @ApiModelProperty("提醒的信息") private List remindInfoList; public Long getDuration(){ @@ -221,6 +223,12 @@ public class TaskVo { private String description; @ApiModelProperty("显示分类") private String showType; + @ApiModelProperty("页面/接口路径") + private String webPath; + @ApiModelProperty("程序位置 0:tall内部,1外部") + private Byte routineLocation; + @ApiModelProperty("入参") + private String importParam; @JsonIgnore private Long roleId; } @@ -434,4 +442,42 @@ public class TaskVo { private String deliverPath; } } + + + @Data + @ApiModel("根据项目id查询所有任务信息") + public static class TaskListByProjectId{ + @ApiModelProperty("任务详细信息id") + private Long detailId; + @ApiModelProperty("名称") + private String name; + @ApiModelProperty("详细描述") + private String description; + @ApiModelProperty("所属项目id") + private Long projectId; + @ApiModelProperty("所属项目名称") + private String projectName; + @ApiModelProperty("负责人Id") + private Long executorRole; + @ApiModelProperty("负责人名称") + private String executorRoleName; + @ApiModelProperty("交付物id") + private Long deliverId; + @ApiModelProperty("交付物名称") + private String deliverName; + @ApiModelProperty("开始时间") + private Long beginTime; + @ApiModelProperty("结束时间") + private Long endTime; + @ApiModelProperty("循环周期") + private String cycle; + @ApiModelProperty("奖惩") + private BigDecimal money; + @ApiModelProperty("优先级 默认0 3,紧急重要 2,紧急不重要 1,重要不紧急 0,不重要不紧急") + private Byte priority; + @ApiModelProperty("是否是里程碑 0否 1是") + private Byte milestone; + @ApiModelProperty("二级任务") + private List secondTasks; + } } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/SysPluginDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/SysPluginDao.java index 241f6571..e93d6942 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/SysPluginDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/SysPluginDao.java @@ -1,5 +1,6 @@ package com.ccsens.tall.persist.dao; +import com.ccsens.tall.bean.po.ProPluginConfig; import com.ccsens.tall.bean.vo.PluginVo; import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.bean.vo.WbsVo; @@ -20,4 +21,6 @@ public interface SysPluginDao extends SysPluginMapper{ void deleteByTaskId(@Param("taskId")Long taskId); List getPluginNameAndTaskName(@Param("projectId")Long projectId); + + ProPluginConfig getPluginConfigByTaskPluginId(@Param("taskPluginId")String taskPluginId); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java index 7e4cadf3..83019e70 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java @@ -40,4 +40,17 @@ public interface TaskDetailDao extends ProTaskDetailMapper { List selectAllByProject(@Param("projectId")Long projectId); List getChecklistsByProjectId(@Param("projectId")Long projectId,@Param("roleId")Long roleId,@Param("allMemberId")Long allMemberId,@Param("startTime")Long startTime,@Param("endTime")Long endTime); + + /** + * 通过任务id查看任务信息(查看项目下所有任务时) + * @param detailTaskId + * @return + */ + TaskVo.TaskListByProjectId getTaskById(@Param("detailTaskId")Long detailTaskId); + /** + * 通过任务id查看任务信息(查看项目下所有任务时) + * @param parentTaskId + * @return + */ + List getTaskByParentId(@Param("parentTaskId")Long parentTaskId); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/mapper/ProRoleMapper.java b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProRoleMapper.java index 1fe78d98..790d500b 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/mapper/ProRoleMapper.java +++ b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProRoleMapper.java @@ -1,31 +1,30 @@ -package com.ccsens.tall.persist.mapper; - -import com.ccsens.tall.bean.po.ProRole; -import com.ccsens.tall.bean.po.ProRoleExample; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -public interface ProRoleMapper { - long countByExample(ProRoleExample example); - - int deleteByExample(ProRoleExample example); - - int deleteByPrimaryKey(Long id); - - int insert(ProRole record); - - int insertSelective(ProRole record); - - List selectByExample(ProRoleExample example); - - ProRole selectByPrimaryKey(Long id); - - int updateByExampleSelective(@Param("record") ProRole record, @Param("example") ProRoleExample example); - - int updateByExample(@Param("record") ProRole record, @Param("example") ProRoleExample example); - - int updateByPrimaryKeySelective(ProRole record); - - int updateByPrimaryKey(ProRole record); +package com.ccsens.tall.persist.mapper; + +import com.ccsens.tall.bean.po.ProRole; +import com.ccsens.tall.bean.po.ProRoleExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface ProRoleMapper { + long countByExample(ProRoleExample example); + + int deleteByExample(ProRoleExample example); + + int deleteByPrimaryKey(Long id); + + int insert(ProRole record); + + int insertSelective(ProRole record); + + List selectByExample(ProRoleExample example); + + ProRole selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") ProRole record, @Param("example") ProRoleExample example); + + int updateByExample(@Param("record") ProRole record, @Param("example") ProRoleExample example); + + int updateByPrimaryKeySelective(ProRole record); + + int updateByPrimaryKey(ProRole record); } \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java index 81e602ae..6d0b580d 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ExcelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ExcelService.java @@ -17,9 +17,14 @@ import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.DefaultTransactionDefinition; import javax.annotation.Resource; import java.io.FileInputStream; @@ -145,7 +150,6 @@ public class ExcelService implements IExcelService { readProject(wbsSheet, projectInfoStart, projectInfoEnd, currentUserId, sysProject); readMember(wbsSheet, memberSheet, memberStart, memberEnd, sysProject, proRoles, proMembers); readTask(xssfWorkbook, wbsSheet, taskStart, taskEnd, currentUserId, sysProject, taskDetails, proRoles, proMembers, hasGroupMap); - saveProTaskSubTime(taskDetails); //读取插件表 readPlugin(xssfWorkbook, taskDetails, proRoles, hasGroupMap); //读取插件配置表 @@ -156,6 +160,8 @@ public class ExcelService implements IExcelService { wbsSubSheetService.getRoBotSheet(sysProject.getId(),xssfWorkbook); //读取关联项目表 wbsSubSheetService.readRelevanceProject(sysProject.getId(),xssfWorkbook); + + saveProTaskSubTime(taskDetails); return sysProject; } @@ -283,6 +289,7 @@ public class ExcelService implements IExcelService { String proRoleCell = ExcelUtil.getCellValue(row.getCell(1)); String secondRoleCell = ExcelUtil.getCellValue(row.getCell(2)); String memberCell = ExcelUtil.getCellValue(row.getCell(3)); + String roleRelevanceProjectId = ExcelUtil.getCellValue(row.getCell(3)); //添加一级角色 if (StrUtil.isNotEmpty(proRoleCell)) { ProRole role = new ProRole(); @@ -311,6 +318,9 @@ public class ExcelService implements IExcelService { } else if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.Attention.phase)) { role.setName(WebConstant.ROLE_NAME.Attention.value); role.setDescription(WebConstant.ROLE_NAME.Attention.phase); + }else if (proRoleCell.equalsIgnoreCase(WebConstant.ROLE_NAME.ProjectVirtualRole.phase)) { + role.setName(WebConstant.ROLE_NAME.ProjectVirtualRole.value); + role.setDescription(WebConstant.ROLE_NAME.ProjectVirtualRole.phase); } else { throw new BaseException(CodeEnum.WBS_NOT_FIRST_ROLE.addMsg(wbsSheet.getSheetName() + i)); } @@ -339,6 +349,19 @@ public class ExcelService implements IExcelService { proRole.setParentId(firstRoleId); proRole.setProjectId(sysProject.getId()); proRole.setId(snowflake.nextId()); + //为虚拟项目角色添加关联的项目id + if (StrUtil.isEmpty(memberCell) && StrUtil.isNotEmpty(roleRelevanceProjectId)){ + //查找关联的项目 + try { + SysProject project = sysProjectDao.selectByPrimaryKey(Long.parseLong(roleRelevanceProjectId)); + if(ObjectUtil.isNull(project)){ + throw new BaseException(CodeEnum.NOT_PROJECT.addMsg(wbsSheet.getSheetName() + i)); + } + proRole.setRelevanceProjectId(project.getId()); + }catch (NumberFormatException e){ + throw new BaseException(CodeEnum.NOT_PROJECT.addMsg(wbsSheet.getSheetName() + i)); + } + } proRoleService.saveProRole(proRole); proRoles.add(proRole); secondRoleId = proRole.getId(); @@ -349,7 +372,7 @@ public class ExcelService implements IExcelService { if (ObjectUtil.isNull(secondRoleId)) { throw new BaseException("找不到二级角色[" + i + "]"); } - + //添加角色成员关联信息 if (StrUtil.isNotEmpty(memberCell)) { ProMemberRole memberRole = null; for (ProMember member : proMembers) { @@ -364,7 +387,11 @@ public class ExcelService implements IExcelService { if (ObjectUtil.isNull(memberRole)) { throw new BaseException(CodeEnum.WSB_NOT_MEMBER.addMsg(wbsSheet.getSheetName() + i)); } + }else if (StrUtil.isNotEmpty(roleRelevanceProjectId)) { + + } + } //角色对谁不可见 String[] excludeRoleCells; @@ -994,11 +1021,13 @@ public class ExcelService implements IExcelService { return; } for (CronConstant.TaskDate taskDate : taskDateList) { + ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); proTaskSubTime.setId(snowflake.nextId()); proTaskSubTime.setTaskDetailId(taskDetail.getId()); proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime()); proTaskSubTime.setEndTime(taskDate.getEndDate().getTime()); + taskSubTimeService.saveProTaskSubTask(proTaskSubTime); } } diff --git a/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java index eed5714c..195c74cf 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProTaskDetailService.java @@ -1,5 +1,6 @@ package com.ccsens.tall.service; +import com.ccsens.tall.bean.dto.ProjectDto; import com.ccsens.tall.bean.dto.TaskDto; import com.ccsens.tall.bean.po.ProSubTimeMember; import com.ccsens.tall.bean.po.ProTaskDetail; @@ -46,4 +47,12 @@ public interface IProTaskDetailService { * @throws Exception 异常 */ TaskVo.NormalTask updateTaskConfig(Long userId,TaskDto.UpdateTaskConfig updateTaskConfig) throws Exception; + + /** + * 通过项目id查找所有任务 + * @param currentUserId userId + * @param projectId 项目Id + * @return 返回所有任务 + */ + List queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectId) throws Exception; } diff --git a/tall/src/main/java/com/ccsens/tall/service/ITaskPluginService.java b/tall/src/main/java/com/ccsens/tall/service/ITaskPluginService.java index 88148e97..6c0e9794 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ITaskPluginService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ITaskPluginService.java @@ -61,4 +61,10 @@ public interface ITaskPluginService { * @return 返回wps里的文件的路径 */ List updateMinutesProject(Long currentUserId, PluginDto.UpdateMinutes updateMinutes, String token) throws Exception; + + /** + * 修改插件配置 + * @param updatePluginConfig 插件配置 + */ + void updatePluginConfig(PluginDto.UpdatePluginConfig updatePluginConfig); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java index de06405f..27a97c57 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProMemberService.java @@ -72,6 +72,9 @@ public class ProMemberService implements IProMemberService { boolean flag = false; //如果该角色是全体成员返回true ProRole role = proRoleDao.selectByPrimaryKey(roleId); + if(ObjectUtil.isNull(role)){ + return false; + } if(role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)){ flag = true; } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 0dcbf31c..93d677fe 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -6,6 +6,7 @@ import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.ccsens.cloudutil.feign.MtFeignClient; +import com.ccsens.tall.bean.dto.ProjectDto; import com.ccsens.tall.bean.dto.TaskDto; import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.vo.MemberVo; @@ -106,7 +107,7 @@ public class ProTaskDetailService implements IProTaskDetailService { // obj = getTaskInfoByMvp(projectId, page, pageSize); // } else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { - obj = getTaskInfoByProjectIdAndPM(currentUserId, projectId, taskInfoByRoleId.getRoleId(), + obj = getTaskInfoByProjectIdAndPm(currentUserId, projectId, taskInfoByRoleId.getRoleId(), taskInfoByRoleId.getStartTime(), taskInfoByRoleId.getEndTime(), taskInfoByRoleId.getProcess(), taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(),taskInfoByRoleId.getPriority(),taskInfoByRoleId.getImitation()); } else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.Member.value)) { @@ -142,8 +143,8 @@ public class ProTaskDetailService implements IProTaskDetailService { /** * 查看任务 项目经理 */ - private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndPM(Long currentUserId, Long projectId,Long roleId, Long startTime, Long endTime, - Integer process, Integer page, Integer pageSize,Integer priority,Integer imitation) throws Exception { + private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndPm(Long currentUserId, Long projectId, Long roleId, Long startTime, Long endTime, + Integer process, Integer page, Integer pageSize, Integer priority, Integer imitation) throws Exception { TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); List globalTaskList = new ArrayList<>(); @@ -460,13 +461,19 @@ public class ProTaskDetailService implements IProTaskDetailService { plugin.setName(pluginNames[i]); plugin.setDescription(pluginDescription[i]); plugin.setShowType(pluginShowType[i]); + //查找插件的配置信息 + ProPluginConfig proPluginConfig = sysPluginDao.getPluginConfigByTaskPluginId(pluginIds[i]); + if(ObjectUtil.isNotNull(proPluginConfig)) { + plugin.setWebPath(proPluginConfig.getWebPath()); + plugin.setRoutineLocation(proPluginConfig.getRoutineLocation()); + plugin.setImportParam(proPluginConfig.getImportParam()); + } pluginVoList.add(plugin); } } normalTask.setPlugins(pluginVoList); } } - } /** @@ -566,7 +573,7 @@ public class ProTaskDetailService implements IProTaskDetailService { taskDetail.setProTaskConfig(getProTaskShow(taskDetail.getDetailId())); //添加项目信息 - normalTaskAddPlugin(currentUserId, subTime.getTaskDetailId(), taskDetail); + normalTaskAddPlugin(subTime.getTaskDetailId(), taskDetail); List groupTaskList = new ArrayList<>(); //提醒信息 @@ -597,7 +604,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } //添加项目信息和插件信息 - normalTaskAddPlugin(currentUserId, groupTask.getDetailId(), groupTask); + normalTaskAddPlugin(groupTask.getDetailId(), groupTask); //修改返回时子任务的名字(“任务名+(xx和XX)”) if (detail.getAllMember() == 0) { groupTask.setName(updateSubTaskName(groupTask.getDetailId(), groupTask.getName())); @@ -615,7 +622,7 @@ public class ProTaskDetailService implements IProTaskDetailService { return taskDetail; } - private void normalTaskAddPlugin(Long userId, Long taskId, TaskVo.NormalTask normalTask) throws Exception { + private void normalTaskAddPlugin( Long taskId, TaskVo.NormalTask normalTask) { ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId); //添加项目信息 SysProject project = sysProjectDao.selectByPrimaryKey(task.getProjectId()); @@ -627,17 +634,13 @@ public class ProTaskDetailService implements IProTaskDetailService { if (ObjectUtil.isNotNull(role)) { normalTask.setExecutorRoleName(role.getName()); } - //添加插件 -// List pluginVoList = pluginService.getPluginByTask(task.getId(), userId); -// normalTask.setPlugins(new ArrayList<>()); -// normalTask.getPlugins().addAll(pluginVoList); } /** * 修改返回时子任务的名字 格式:“任务名+(xx和XX)” */ private String updateSubTaskName(Long taskId, String taskName) { - String name = taskName + "("; + StringBuilder name = new StringBuilder(taskName + "("); ProTaskMemberExample taskMemberExample = new ProTaskMemberExample(); taskMemberExample.createCriteria().andTaskDetailIdEqualTo(taskId); List taskMemberList = taskMemberDao.selectByExample(taskMemberExample); @@ -645,15 +648,15 @@ public class ProTaskDetailService implements IProTaskDetailService { for (int i = 0; i < taskMemberList.size(); i++) { ProMember member = proMemberDao.selectByPrimaryKey(taskMemberList.get(i).getMemberId()); if (ObjectUtil.isNotNull(member)) { - name += member.getNickname(); + name.append(member.getNickname()); if (i != taskMemberList.size() - 1) { - name += "和"; + name.append("和"); } } } } - name = name + ")"; - return name; + name.append(")"); + return name.toString(); } @@ -719,13 +722,7 @@ public class ProTaskDetailService implements IProTaskDetailService { //关键词模糊搜索 if (StrUtil.isNotEmpty(key)) { if (CollectionUtil.isNotEmpty(normalTaskList)) { - Iterator it = normalTaskList.iterator(); - while (it.hasNext()) { - TaskVo.NormalTask normalTask = it.next(); - if (!normalTask.getName().contains(key)) { - it.remove(); - } - } + normalTaskList.removeIf(normalTask -> !normalTask.getName().contains(key)); } } @@ -1151,6 +1148,9 @@ public class ProTaskDetailService implements IProTaskDetailService { (taskDetail.getDelay() == WebConstant.TASK_DELAY.DelayManual.value)){ taskDetail.setDelayTime(updateTaskInfo.getDelayTime()); } + if(ObjectUtil.isNotNull(updateTaskInfo.getMilestone())){ + taskDetail.setMilestone(updateTaskInfo.getMilestone()); + } //时间 if(ObjectUtil.isNotNull(updateTaskInfo.getBeginTime()) || ObjectUtil.isNotNull(updateTaskInfo.getEndTime()) || @@ -1422,4 +1422,83 @@ public class ProTaskDetailService implements IProTaskDetailService { } return getTaskInfoByTaskId(userId,taskDetail.getProjectId(),updateTaskConfig.getTaskId(),null); } + + @Override + public List queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectIdDto) throws Exception { + List taskList = new ArrayList<>(); +// TaskVo.TaskListByProjectId firstTask; + //1、查找一级任务 + SysProject project = sysProjectDao.selectByPrimaryKey(projectIdDto.getProjectId()); + if (ObjectUtil.isNull(project)) { + throw new BaseException(CodeEnum.NOT_PROJECT); + } + + ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample(); + proTaskDetailExample.createCriteria().andProjectIdEqualTo(projectIdDto.getProjectId()).andLevelEqualTo((byte) 1); + List firstTaskDetailList = taskDetailDao.selectByExample(proTaskDetailExample); + if (CollectionUtil.isNotEmpty(firstTaskDetailList)) { + firstTaskDetailList.forEach(firstTaskDetail -> { + TaskVo.TaskListByProjectId firstTask = taskDetailDao.getTaskById(firstTaskDetail.getId()); + List secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId()); + firstTask.setSecondTasks(secondTaskList); + taskList.add(firstTask); + }); + } +// int sequence = 1; +// for (ProTaskDetail firstTaskDetail : firstTaskDetailList) { +// TaskVo.TaskListByProjectId firstTask = new TaskVo.TaskListByProjectId(); +// BeanUtil.copyProperties(firstTaskDetail, firstTask); +// normalTask.setDetailId(firstTaskDetail.getId()); +// normalTask.setId(taskDeliverService.isTaskOrSubTime(firstTaskDetail.getId())); +// normalTask.setSequence(sequence); +// // 查询任务对应的配置 +// ProPluginConfigExample configExample = new ProPluginConfigExample(); +// configExample.createCriteria().andTaskIdEqualTo(firstTaskDetail.getId()).andPlaceLocationEqualTo((byte)0); +// List proPluginConfigs = proPluginConfigMapper.selectByExample(configExample); +// if (CollectionUtil.isNotEmpty(proPluginConfigs)) { +// ProPluginConfig config = proPluginConfigs.get(0); +// normalTask.setImportParam(config.getImportParam()); +// normalTask.setRoutineLocation(config.getRoutineLocation()); +// normalTask.setWebPath(config.getWebPath()); +// } +// //一级任务配置 +// normalTask.setProTaskConfig(getProTaskShow(normalTask.getDetailId())); +// +// //一级任务完成状态 +// ProSubTimeMember firstSubTimeMember = getProcessByUserIdAndTask(currentUserId, normalTask.getId()); +// if (ObjectUtil.isNotNull(firstSubTimeMember)) { +// normalTask.setRealEndTime(firstSubTimeMember.getRealFinishTime()); +// normalTask.setProcess(firstSubTimeMember.getComplatedStatus()); +// } +// //查找一级任务下的二级任务 +// List secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectIdDto.getProjectId(), firstTaskDetail.getId(), project.getBeginTime(), project.getEndTime(),projectIdDto.getRoleId()); +// if (CollectionUtil.isNotEmpty(secondNormalTaskList)) { +// for (TaskVo.NormalTask task : secondNormalTaskList) { +// //处理插件 +// managePlugin(currentUserId,projectIdDto.getRoleId(),task,null); +// //二级任务完成状态 +// if(task.getProcess() != 2) { +// ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, task.getId()); +// if (ObjectUtil.isNotNull(subTimeMember)) { +// task.setRealEndTime(subTimeMember.getRealFinishTime()); +// task.setProcess(subTimeMember.getComplatedStatus()); +// }else if(task.getProcess() > 2){ +// task.setRealEndTime((long) 0); +// task.setProcess(0); +// } +// } +// //二级任务配置 +// task.setProTaskConfig(getProTaskShow(task.getDetailId())); +// //提醒信息 +// task.setRemindInfoList(proRemindDao.queryRemindByTask(normalTask.getId())); +// } +// } +// normalTask.setSecondTasks(secondNormalTaskList); +// normalTaskList.add(normalTask); +// sequence++; +// } +// } +// return normalTaskList; + return taskList; + } } diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java b/tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java index da808ef2..d02afdc8 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskPluginService.java @@ -19,6 +19,7 @@ import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.eclipse.jetty.util.log.Log; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -38,6 +39,8 @@ public class TaskPluginService implements ITaskPluginService{ @Resource private TaskPluginDao taskPluginDao; @Resource + private ProPluginConfigDao proPluginConfigDao; + @Resource private TaskDetailDao taskDetailDao; @Resource private TaskSubTimeDao taskSubTimeDao; @@ -728,4 +731,68 @@ public class TaskPluginService implements ITaskPluginService{ }); } } + + + /** + * 修改插件配置 + * @param updatePluginConfig 插件配置 + */ + @Override + public void updatePluginConfig(PluginDto.UpdatePluginConfig updatePluginConfig) { + //获取任务详情id + Long taskDetailId = updatePluginConfig.getTaskId(); + ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updatePluginConfig.getTaskId()); + if(ObjectUtil.isNotNull(taskSubTime)){ + taskDetailId = taskSubTime.getTaskDetailId(); + } + //获取插件id + Long sysPluginId = 0L; + ProTaskPlugin taskPlugin = taskPluginDao.selectByPrimaryKey(updatePluginConfig.getTaskPluginId()); + if(ObjectUtil.isNotNull(taskPlugin)){ + sysPluginId = taskPlugin.getPluginId(); + } + //查找原来的插件配置 + ProPluginConfigExample proPluginConfigExample = new ProPluginConfigExample(); + proPluginConfigExample.createCriteria().andTaskIdEqualTo(taskDetailId).andPluginIdEqualTo(sysPluginId); + List proPluginConfigList = proPluginConfigDao.selectByExample(proPluginConfigExample); + if(CollectionUtil.isNotEmpty(proPluginConfigList)){ + ProPluginConfig pluginConfig = proPluginConfigList.get(0); + //有则修改 + if(ObjectUtil.isNotNull(pluginConfig)){ + if(StrUtil.isNotEmpty(updatePluginConfig.getWebPath())) { + pluginConfig.setWebPath(updatePluginConfig.getWebPath()); + } + if(StrUtil.isNotEmpty(updatePluginConfig.getImportParam())) { + pluginConfig.setImportParam(updatePluginConfig.getImportParam()); + } + if(ObjectUtil.isNotNull(updatePluginConfig.getPlaceLocation())) { + pluginConfig.setPlaceLocation(updatePluginConfig.getPlaceLocation()); + } + if(ObjectUtil.isNotNull(updatePluginConfig.getRoutineLocation())) { + pluginConfig.setRoutineLocation(updatePluginConfig.getRoutineLocation()); + } + proPluginConfigDao.updateByPrimaryKeySelective(pluginConfig); + } + } else { + //没有则添加 + ProPluginConfig proPluginConfig = new ProPluginConfig(); + proPluginConfig.setId(snowflake.nextId()); + proPluginConfig.setTaskId(taskDetailId); + proPluginConfig.setPluginId(sysPluginId); + if(StrUtil.isNotEmpty(updatePluginConfig.getWebPath())) { + proPluginConfig.setWebPath(updatePluginConfig.getWebPath()); + } + if(StrUtil.isNotEmpty(updatePluginConfig.getImportParam())) { + proPluginConfig.setImportParam(updatePluginConfig.getImportParam()); + } + if(ObjectUtil.isNotNull(updatePluginConfig.getPlaceLocation())) { + proPluginConfig.setPlaceLocation(updatePluginConfig.getPlaceLocation()); + } + if(ObjectUtil.isNotNull(updatePluginConfig.getRoutineLocation())) { + proPluginConfig.setRoutineLocation(updatePluginConfig.getRoutineLocation()); + } + proPluginConfigDao.insertSelective(proPluginConfig); + } + + } } diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java index 13a42948..536d849a 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java +++ b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java @@ -28,8 +28,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.PlatformTransactionManager; +import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.support.DefaultTransactionDefinition; import javax.annotation.Resource; import java.util.*; @@ -75,10 +79,26 @@ public class TaskSubTimeService implements ITaskSubTimeService { private ProRemindDao proRemindDao; @Autowired private AmqpTemplate rabbitTemplate; + //定义事务对象 + @Resource + private PlatformTransactionManager transactionManager; @Override public void saveProTaskSubTask(ProTaskSubTime proTaskSubTime) { - taskSubTimeDao.insertSelective(proTaskSubTime); + //开启手动事务 + DefaultTransactionDefinition def = new DefaultTransactionDefinition(); + // 事务隔离级别,开启新事务 + def.setPropagationBehavior( TransactionDefinition.PROPAGATION_REQUIRES_NEW ); + //获取事务状态,并开启事务,相当于transation.begin(); + TransactionStatus status = transactionManager.getTransaction( def ); + try{ +// method();//执行方法 + taskSubTimeDao.insertSelective(proTaskSubTime); + transactionManager.commit( status ); //提交事务 + } catch(Exception e){ + transactionManager.rollback(status); + } + } /** diff --git a/tall/src/main/java/com/ccsens/tall/service/UserInfoService.java b/tall/src/main/java/com/ccsens/tall/service/UserInfoService.java index 424e42c3..d2e58728 100644 --- a/tall/src/main/java/com/ccsens/tall/service/UserInfoService.java +++ b/tall/src/main/java/com/ccsens/tall/service/UserInfoService.java @@ -27,6 +27,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.Part; import java.io.File; +import java.security.NoSuchAlgorithmException; +import java.security.spec.InvalidKeySpecException; import java.util.Date; import java.util.List; @@ -76,9 +78,29 @@ public class UserInfoService implements IUserInfoService{ List authList = sysAuthDao.selectByExample(authAccountExample); if(CollectionUtil.isNotEmpty(authList)){ authList.forEach(sysAuth -> { - sysAuth.setIdentifier(changeAccount.getAccount()); - sysAuthDao.updateByPrimaryKeySelective(sysAuth); + //验证密码 + try { + if (!ShiroKit.authenticate(changeAccount.getPassword(), sysAuth.getCredential(), sysAuth.getSalt())) { + throw new BaseException(CodeEnum.PASSWORD_ERROR); + } + sysAuth.setIdentifier(changeAccount.getAccount()); + sysAuthDao.updateByPrimaryKeySelective(sysAuth); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (InvalidKeySpecException e) { + e.printStackTrace(); + } }); + }else { + //不存在则添加账号 + SysAuth sysAuth = new SysAuth(); + sysAuth.setId(snowflake.nextId()); + sysAuth.setUserId(userId); + sysAuth.setIdentifyType((byte) WebConstant.IDENTIFY_TYPE.Account.value); + sysAuth.setIdentifier(changeAccount.getAccount()); + sysAuth.setSalt(ShiroKit.getRandomSalt(6)); + sysAuth.setCredential(ShiroKit.md5(changeAccount.getPassword(), sysAuth.getSalt())); + sysAuthDao.insertSelective(sysAuth); } //修改完删除redis redisUtil.del(accountKey); diff --git a/tall/src/main/java/com/ccsens/tall/web/PluginController.java b/tall/src/main/java/com/ccsens/tall/web/PluginController.java index fb0e6926..899c6b5c 100644 --- a/tall/src/main/java/com/ccsens/tall/web/PluginController.java +++ b/tall/src/main/java/com/ccsens/tall/web/PluginController.java @@ -181,4 +181,14 @@ public class PluginController { List wpsPath = taskPluginService.updateMinutesProject(currentUserId,updateMinutes,token); return JsonResponse.newInstance().ok(wpsPath); } + + + @ApiOperation(value = "修改插件配置信息", notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/config", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse updatePluginConfig(@ApiParam @Validated @RequestBody PluginDto.UpdatePluginConfig updatePluginConfig) throws Exception { + taskPluginService.updatePluginConfig(updatePluginConfig); + return JsonResponse.newInstance().ok(); + } } diff --git a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java index af254f40..82076a10 100644 --- a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java +++ b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java @@ -146,7 +146,7 @@ public class ProjectController { @ApiImplicitParam(name = "page", value = "页数", required = true, paramType = "query"), @ApiImplicitParam(name = "priority", value = "优先级排序 0无 1倒叙(优先级高的在前) 2正序", required = true, paramType = "query") }) - @RequestMapping(value = "/{id}/tasks", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + @RequestMapping(value = "/{id}/tasks", method = {RequestMethod.POST}, produces = {"application/json;charset=UTF-8"}) public JsonResponse getTasksByRoleId(HttpServletRequest request, @PathVariable("id") Long projectId, @RequestBody TaskDto.QueryTaskInfoByRoleId taskInfoByRoleId) throws Exception{ diff --git a/tall/src/main/java/com/ccsens/tall/web/TaskController.java b/tall/src/main/java/com/ccsens/tall/web/TaskController.java index d947da9b..f6b90a93 100644 --- a/tall/src/main/java/com/ccsens/tall/web/TaskController.java +++ b/tall/src/main/java/com/ccsens/tall/web/TaskController.java @@ -255,6 +255,14 @@ public class TaskController { return JsonResponse.newInstance().ok(taskInfo); } + @ApiOperation(value = "查找项目下的所有任务",notes = "") + @RequestMapping(value = "/query", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryAllTaskByProjectId(HttpServletRequest request, + @Validated @RequestBody TaskDto.QueryAllTaskByProjectId projectIdDto) throws Exception { + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + List taskInfoList = taskDetailService.queryAllTaskByProjectId(currentUserId,projectIdDto); + return JsonResponse.newInstance().ok(taskInfoList); + } /** * 通过任务id查询项目id diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index c88e995d..b2acd365 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: util-test,common + active: dev + include: util-dev,common diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index 2514abbf..0bb1cfa6 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -13,6 +13,7 @@ + @@ -63,14 +64,15 @@ m.nickname as mName, m.phone as mPhone, m.user_id as mUserId, - m.stakeholder_id as stakeholderId + m.stakeholder_id as stakeholderId, + if((SELECT `name` FROM t_pro_role WHERE id = pr.parent_id) = 'ProjectVirtualRole',1,0) as projectRole from t_pro_role pr LEFT JOIN t_pro_member_role mr ON mr.role_id = pr.id LEFT JOIN t_pro_member m ON mr.member_id = m.id where pr.project_id = #{projectId} and - (SELECT name FROM t_pro_role r WHERE pr.parent_id = r.id) in ('PM','Member') + (SELECT name FROM t_pro_role r WHERE pr.parent_id = r.id) in ('PM','Member','ProjectVirtualRole') AND pr.name not IN ('全体成员','观众','MVP') AND diff --git a/tall/src/main/resources/mapper_dao/SysPluginDao.xml b/tall/src/main/resources/mapper_dao/SysPluginDao.xml index 404a50c7..7d933b2c 100644 --- a/tall/src/main/resources/mapper_dao/SysPluginDao.xml +++ b/tall/src/main/resources/mapper_dao/SysPluginDao.xml @@ -95,4 +95,18 @@ )t GROUP BY t.taskId,t.roleId + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index d1eca4e1..f2a33c9c 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -21,6 +21,7 @@ + @@ -37,6 +38,7 @@ + @@ -91,7 +93,8 @@ sp.description as spDescription, sp.id as spid, sp.show_type as spShowType, - d.priority as priority + d.priority as priority, + d.milestone as milestone FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -175,7 +178,8 @@ p.id as p_id, sp.description as spDescription, sp.id as spid, - sp.show_type as spShowType + sp.show_type as spShowType, + d.milestone as milestone FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -246,7 +250,8 @@ p.id as p_id, sp.description as spDescription, sp.id as spid, - sp.show_type as spShowType + sp.show_type as spShowType, + d.milestone as milestone FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -301,7 +306,8 @@ p.id as p_id, sp.description as spDescription, sp.id as spid, - sp.show_type as spShowType + sp.show_type as spShowType, + d.milestone as milestone FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -383,7 +389,8 @@ p.id as p_id, sp.description as spDescription, sp.id as spid, - sp.show_type as spShowType + sp.show_type as spShowType, + d.milestone as milestone FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d ON s.task_detail_id = d.id LEFT JOIN t_pro_task_plugin p ON p.task_detail_id = d.id @@ -511,5 +518,50 @@ s.end_time > #{startTime} + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/ProRoleMapper.xml b/tall/src/main/resources/mapper_raw/ProRoleMapper.xml index c1903e02..489aa8c5 100644 --- a/tall/src/main/resources/mapper_raw/ProRoleMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProRoleMapper.xml @@ -1,275 +1,291 @@ - - - - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - - - - - - - - - id, project_id, parent_id, name, description, sequence, created_at, updated_at, rec_status - - - - - delete from t_pro_role - where id = #{id,jdbcType=BIGINT} - - - delete from t_pro_role - - - - - - insert into t_pro_role (id, project_id, parent_id, - name, description, sequence, - created_at, updated_at, rec_status - ) - values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{parentId,jdbcType=BIGINT}, - #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{sequence,jdbcType=INTEGER}, - #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} - ) - - - insert into t_pro_role - - - id, - - - project_id, - - - parent_id, - - - name, - - - description, - - - sequence, - - - created_at, - - - updated_at, - - - rec_status, - - - - - #{id,jdbcType=BIGINT}, - - - #{projectId,jdbcType=BIGINT}, - - - #{parentId,jdbcType=BIGINT}, - - - #{name,jdbcType=VARCHAR}, - - - #{description,jdbcType=VARCHAR}, - - - #{sequence,jdbcType=INTEGER}, - - - #{createdAt,jdbcType=TIMESTAMP}, - - - #{updatedAt,jdbcType=TIMESTAMP}, - - - #{recStatus,jdbcType=TINYINT}, - - - - - - update t_pro_role - - - id = #{record.id,jdbcType=BIGINT}, - - - project_id = #{record.projectId,jdbcType=BIGINT}, - - - parent_id = #{record.parentId,jdbcType=BIGINT}, - - - name = #{record.name,jdbcType=VARCHAR}, - - - description = #{record.description,jdbcType=VARCHAR}, - - - sequence = #{record.sequence,jdbcType=INTEGER}, - - - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{record.recStatus,jdbcType=TINYINT}, - - - - - - - - update t_pro_role - set id = #{record.id,jdbcType=BIGINT}, - project_id = #{record.projectId,jdbcType=BIGINT}, - parent_id = #{record.parentId,jdbcType=BIGINT}, - name = #{record.name,jdbcType=VARCHAR}, - description = #{record.description,jdbcType=VARCHAR}, - sequence = #{record.sequence,jdbcType=INTEGER}, - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} - - - - - - update t_pro_role - - - project_id = #{projectId,jdbcType=BIGINT}, - - - parent_id = #{parentId,jdbcType=BIGINT}, - - - name = #{name,jdbcType=VARCHAR}, - - - description = #{description,jdbcType=VARCHAR}, - - - sequence = #{sequence,jdbcType=INTEGER}, - - - created_at = #{createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{recStatus,jdbcType=TINYINT}, - - - where id = #{id,jdbcType=BIGINT} - - - update t_pro_role - set project_id = #{projectId,jdbcType=BIGINT}, - parent_id = #{parentId,jdbcType=BIGINT}, - name = #{name,jdbcType=VARCHAR}, - description = #{description,jdbcType=VARCHAR}, - sequence = #{sequence,jdbcType=INTEGER}, - created_at = #{createdAt,jdbcType=TIMESTAMP}, - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} - where id = #{id,jdbcType=BIGINT} - + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, project_id, parent_id, name, description, sequence, created_at, updated_at, rec_status, + relevance_project_id + + + + + delete from t_pro_role + where id = #{id,jdbcType=BIGINT} + + + delete from t_pro_role + + + + + + insert into t_pro_role (id, project_id, parent_id, + name, description, sequence, + created_at, updated_at, rec_status, + relevance_project_id) + values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{parentId,jdbcType=BIGINT}, + #{name,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{sequence,jdbcType=INTEGER}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, + #{relevanceProjectId,jdbcType=BIGINT}) + + + insert into t_pro_role + + + id, + + + project_id, + + + parent_id, + + + name, + + + description, + + + sequence, + + + created_at, + + + updated_at, + + + rec_status, + + + relevance_project_id, + + + + + #{id,jdbcType=BIGINT}, + + + #{projectId,jdbcType=BIGINT}, + + + #{parentId,jdbcType=BIGINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{description,jdbcType=VARCHAR}, + + + #{sequence,jdbcType=INTEGER}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + #{relevanceProjectId,jdbcType=BIGINT}, + + + + + + update t_pro_role + + + id = #{record.id,jdbcType=BIGINT}, + + + project_id = #{record.projectId,jdbcType=BIGINT}, + + + parent_id = #{record.parentId,jdbcType=BIGINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + description = #{record.description,jdbcType=VARCHAR}, + + + sequence = #{record.sequence,jdbcType=INTEGER}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT}, + + + + + + + + update t_pro_role + set id = #{record.id,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + parent_id = #{record.parentId,jdbcType=BIGINT}, + name = #{record.name,jdbcType=VARCHAR}, + description = #{record.description,jdbcType=VARCHAR}, + sequence = #{record.sequence,jdbcType=INTEGER}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT}, + relevance_project_id = #{record.relevanceProjectId,jdbcType=BIGINT} + + + + + + update t_pro_role + + + project_id = #{projectId,jdbcType=BIGINT}, + + + parent_id = #{parentId,jdbcType=BIGINT}, + + + name = #{name,jdbcType=VARCHAR}, + + + description = #{description,jdbcType=VARCHAR}, + + + sequence = #{sequence,jdbcType=INTEGER}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_pro_role + set project_id = #{projectId,jdbcType=BIGINT}, + parent_id = #{parentId,jdbcType=BIGINT}, + name = #{name,jdbcType=VARCHAR}, + description = #{description,jdbcType=VARCHAR}, + sequence = #{sequence,jdbcType=INTEGER}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT}, + relevance_project_id = #{relevanceProjectId,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml b/tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml index c3010fd1..c22d2b95 100644 --- a/tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml +++ b/tall/src/main/resources/mapper_raw/ProTaskDetailMapper.xml @@ -29,6 +29,7 @@ + @@ -92,7 +93,7 @@ id, project_id, name, description, begin_time, end_time, cycle, parent_id, sub_task, sub_project_id, sub_project, executor_role, checker_role, money, delay, delay_time, loop_to, loop_times, virtual, level, has_group, finish_need_all, all_member, created_at, - updated_at, rec_status, priority + updated_at, rec_status, priority, milestone @@ -405,6 +412,9 @@ priority = #{record.priority,jdbcType=TINYINT}, + + milestone = #{record.milestone,jdbcType=TINYINT}, + @@ -438,7 +448,8 @@ created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT}, - priority = #{record.priority,jdbcType=TINYINT} + priority = #{record.priority,jdbcType=TINYINT}, + milestone = #{record.milestone,jdbcType=TINYINT} @@ -524,6 +535,9 @@ priority = #{priority,jdbcType=TINYINT}, + + milestone = #{milestone,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -554,7 +568,8 @@ created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT}, - priority = #{priority,jdbcType=TINYINT} + priority = #{priority,jdbcType=TINYINT}, + milestone = #{milestone,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/PoiUtil.java b/util/src/main/java/com/ccsens/util/PoiUtil.java index 45b38a59..5eb53f6f 100644 --- a/util/src/main/java/com/ccsens/util/PoiUtil.java +++ b/util/src/main/java/com/ccsens/util/PoiUtil.java @@ -175,7 +175,8 @@ public class PoiUtil { if(StrUtil.isNotEmpty(cell.getFunction())) { newCell.setCellFormula(cell.getFunction()); } - style.setFillForegroundColor(IndexedColors.RED.getIndex()); + //设置自动换行 + style.setWrapText(true); newCell.setCellStyle(style); } } @@ -450,13 +451,7 @@ public class PoiUtil { } /** - * 插入图片 - */ - private static void insertImage(){ - - } - /** - * + * 插入图片 * @param row1:起始行 * @param row2:终止行 * @param col1:起始列 diff --git a/util/src/main/java/com/ccsens/util/WebConstant.java b/util/src/main/java/com/ccsens/util/WebConstant.java index de5dc1fb..0165fe9a 100644 --- a/util/src/main/java/com/ccsens/util/WebConstant.java +++ b/util/src/main/java/com/ccsens/util/WebConstant.java @@ -241,7 +241,8 @@ public class WebConstant { God("God","上帝"),ManageRepresent("ManageRepresent","管代"),Stakeholder("Stakeholder","干系人"), PM("PM","项目经理"),Member("Member","项目成员"),MVP("MVP","MVP") ,Attention("Attention","关注者"),Creator("Creator","创建者") - ,MoneyStakeholder("MoneyStakeholder","奖惩干系人"),AllMember("AllMember","全体成员"); + ,MoneyStakeholder("MoneyStakeholder","奖惩干系人"),AllMember("AllMember","全体成员") + ,ProjectVirtualRole("ProjectVirtualRole","角色项目"); public String value; public String phase; diff --git a/util/src/main/java/com/ccsens/util/cron/CronConstant.java b/util/src/main/java/com/ccsens/util/cron/CronConstant.java index ef36e9ad..6ef0be8f 100644 --- a/util/src/main/java/com/ccsens/util/cron/CronConstant.java +++ b/util/src/main/java/com/ccsens/util/cron/CronConstant.java @@ -54,11 +54,13 @@ public class CronConstant { // TaskCron week = getCronDay("每周7"); // System.out.println("周1:" + week); // System.out.println("周一:" + getDate(week,start, end)); -// - TaskCron workday = getCronDay("每周一-周五 18点"); +//// +// TaskCron workday = getCronDay("每周一-周五 18点"); +// System.out.println("工作日:" + workday); +// System.out.println("工作日:" + getDate(workday,start, end)); + TaskCron workday = getCronDay("每周一-周五 15点30分-15点45分"); System.out.println("工作日:" + workday); System.out.println("工作日:" + getDate(workday,start, end)); - // System.out.println(generateDates("每天9点,10点", start, end)); } diff --git a/util/src/test/java/com/ccsens/util/Base64Test.java b/util/src/test/java/com/ccsens/util/Base64Test.java index 4fb07f8b..50bf95b2 100644 --- a/util/src/test/java/com/ccsens/util/Base64Test.java +++ b/util/src/test/java/com/ccsens/util/Base64Test.java @@ -1,6 +1,8 @@ package com.ccsens.util; import cn.hutool.core.codec.Base64; +import cn.hutool.core.util.ObjectUtil; +import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.junit.Test; @@ -33,7 +35,27 @@ public class Base64Test { @Test public void test02() throws Exception { - +// String a = "abcdefg"; +// byte[] bytes = a.getBytes(); +// byte[] bytes1 = new byte[bytes.length]; +// byte[] bytes2 = new byte[bytes.length]; +// for (int i = 0; i < bytes.length; i++) { +// bytes1[i] = (byte) (bytes[i]^ 0xff); +// } +// for (int i = 0; i < bytes1.length; i++) { +// bytes2[i] = (byte) (bytes1[i]^ 0xff); +// System.out.print(bytes2[i]+" "); +// } +// String c = new String(bytes1); +// String b = new String(bytes2); +// System.out.println(b); +// System.out.println(c); + try { + String a = "ax15"; + System.out.println(Long.parseLong(a)); + }catch (NumberFormatException e){ + throw new BaseException("ssss"); + } } diff --git a/util/src/test/java/com/ccsens/util/TestQrCord.java b/util/src/test/java/com/ccsens/util/TestQrCord.java index 266f7234..77db8709 100644 --- a/util/src/test/java/com/ccsens/util/TestQrCord.java +++ b/util/src/test/java/com/ccsens/util/TestQrCord.java @@ -28,9 +28,9 @@ public class TestQrCord { // String fileName = "zzz/" + DateUtil.today() + "/" + i+"组" + ".png"; // String text = "https://www.tall.wiki/pt-dev/respond?groupId="+i+"&groupName="+i+"组"; - String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; -// String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://test.tall.wiki/compete&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; - String fileName = "zzz/" + "远程比赛(生产).png"; +// String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; + String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-province&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; + String fileName = "zzz/" + "远程比赛-省赛(生产).png"; QRCodeWriter qrCodeWriter = new QRCodeWriter(); From 1be61d0b6de3ccebb3b607e7b58e08832c97a900 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 6 Oct 2020 12:45:04 +0800 Subject: [PATCH 12/72] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=B2=E5=AD=90?= =?UTF-8?q?=E7=BB=84=E5=85=B3=E8=81=94=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/bean/dto/CompeteDto.java | 3 +- .../mt/bean/po/CompetePlayerFamily.java | 95 +++ .../bean/po/CompetePlayerFamilyExample.java | 631 ++++++++++++++++++ .../mapper/CompetePlayerFamilyMapper.java | 30 + .../com/ccsens/mt/service/CompeteService.java | 79 ++- .../mapper_raw/CompetePlayerFamilyMapper.xml | 243 +++++++ .../test/java/com/ccsens/util/TestQrCord.java | 6 +- 7 files changed, 1058 insertions(+), 29 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerFamily.java create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerFamilyExample.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/mapper/CompetePlayerFamilyMapper.java create mode 100644 mt/src/main/resources/mapper_raw/CompetePlayerFamilyMapper.xml diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 78e8ee62..837868a6 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -87,7 +87,6 @@ public class CompeteDto { @NotNull @ApiModelProperty("参加的组别的id") private Long groupId; - @NotEmpty @ApiModelProperty("参赛单位的名字") private String companyName; @ApiModelProperty("身份证正面照文件的路径/户口本照片") @@ -96,6 +95,8 @@ public class CompeteDto { private String idCardBack; @ApiModelProperty("声明文件的路径") private String proveImg; + @ApiModelProperty("其他参赛人员(亲子组需要)") + private String family; } @Data diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerFamily.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerFamily.java new file mode 100644 index 00000000..9429ae08 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerFamily.java @@ -0,0 +1,95 @@ +package com.ccsens.mt.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class CompetePlayerFamily implements Serializable { + private Long id; + + private Long playerId; + + private Long childrenId; + + private String description; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getPlayerId() { + return playerId; + } + + public void setPlayerId(Long playerId) { + this.playerId = playerId; + } + + public Long getChildrenId() { + return childrenId; + } + + public void setChildrenId(Long childrenId) { + this.childrenId = childrenId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", playerId=").append(playerId); + sb.append(", childrenId=").append(childrenId); + sb.append(", description=").append(description); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerFamilyExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerFamilyExample.java new file mode 100644 index 00000000..5e1b56e6 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerFamilyExample.java @@ -0,0 +1,631 @@ +package com.ccsens.mt.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class CompetePlayerFamilyExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public CompetePlayerFamilyExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andPlayerIdIsNull() { + addCriterion("player_id is null"); + return (Criteria) this; + } + + public Criteria andPlayerIdIsNotNull() { + addCriterion("player_id is not null"); + return (Criteria) this; + } + + public Criteria andPlayerIdEqualTo(Long value) { + addCriterion("player_id =", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdNotEqualTo(Long value) { + addCriterion("player_id <>", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdGreaterThan(Long value) { + addCriterion("player_id >", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdGreaterThanOrEqualTo(Long value) { + addCriterion("player_id >=", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdLessThan(Long value) { + addCriterion("player_id <", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdLessThanOrEqualTo(Long value) { + addCriterion("player_id <=", value, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdIn(List values) { + addCriterion("player_id in", values, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdNotIn(List values) { + addCriterion("player_id not in", values, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdBetween(Long value1, Long value2) { + addCriterion("player_id between", value1, value2, "playerId"); + return (Criteria) this; + } + + public Criteria andPlayerIdNotBetween(Long value1, Long value2) { + addCriterion("player_id not between", value1, value2, "playerId"); + return (Criteria) this; + } + + public Criteria andChildrenIdIsNull() { + addCriterion("children_id is null"); + return (Criteria) this; + } + + public Criteria andChildrenIdIsNotNull() { + addCriterion("children_id is not null"); + return (Criteria) this; + } + + public Criteria andChildrenIdEqualTo(Long value) { + addCriterion("children_id =", value, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdNotEqualTo(Long value) { + addCriterion("children_id <>", value, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdGreaterThan(Long value) { + addCriterion("children_id >", value, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdGreaterThanOrEqualTo(Long value) { + addCriterion("children_id >=", value, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdLessThan(Long value) { + addCriterion("children_id <", value, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdLessThanOrEqualTo(Long value) { + addCriterion("children_id <=", value, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdIn(List values) { + addCriterion("children_id in", values, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdNotIn(List values) { + addCriterion("children_id not in", values, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdBetween(Long value1, Long value2) { + addCriterion("children_id between", value1, value2, "childrenId"); + return (Criteria) this; + } + + public Criteria andChildrenIdNotBetween(Long value1, Long value2) { + addCriterion("children_id not between", value1, value2, "childrenId"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNull() { + addCriterion("description is null"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNotNull() { + addCriterion("description is not null"); + return (Criteria) this; + } + + public Criteria andDescriptionEqualTo(String value) { + addCriterion("description =", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotEqualTo(String value) { + addCriterion("description <>", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThan(String value) { + addCriterion("description >", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThanOrEqualTo(String value) { + addCriterion("description >=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThan(String value) { + addCriterion("description <", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThanOrEqualTo(String value) { + addCriterion("description <=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLike(String value) { + addCriterion("description like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotLike(String value) { + addCriterion("description not like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionIn(List values) { + addCriterion("description in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotIn(List values) { + addCriterion("description not in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionBetween(String value1, String value2) { + addCriterion("description between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotBetween(String value1, String value2) { + addCriterion("description not between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompetePlayerFamilyMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompetePlayerFamilyMapper.java new file mode 100644 index 00000000..e9363a35 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompetePlayerFamilyMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.mt.persist.mapper; + +import com.ccsens.mt.bean.po.CompetePlayerFamily; +import com.ccsens.mt.bean.po.CompetePlayerFamilyExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface CompetePlayerFamilyMapper { + long countByExample(CompetePlayerFamilyExample example); + + int deleteByExample(CompetePlayerFamilyExample example); + + int deleteByPrimaryKey(Long id); + + int insert(CompetePlayerFamily record); + + int insertSelective(CompetePlayerFamily record); + + List selectByExample(CompetePlayerFamilyExample example); + + CompetePlayerFamily selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") CompetePlayerFamily record, @Param("example") CompetePlayerFamilyExample example); + + int updateByExample(@Param("record") CompetePlayerFamily record, @Param("example") CompetePlayerFamilyExample example); + + int updateByPrimaryKeySelective(CompetePlayerFamily record); + + int updateByPrimaryKey(CompetePlayerFamily record); +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 08b360d2..8b764640 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.LevelDto; import com.ccsens.mt.bean.po.*; @@ -55,6 +56,8 @@ public class CompeteService implements ICompeteService{ private CompeteGroupMapper competeGroupMapper; @Resource private ILevelUpService levelUpService; + @Resource + private CompetePlayerFamilyMapper competePlayerFamilyMapper; /** @@ -118,13 +121,13 @@ public class CompeteService implements ICompeteService{ CompeteDto.CompetePlayerInfo competePlayerInfo = params.getParam(); Long userId = params.getUserId(); -// //检查验证码是否正确 -// if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone()))) { -// throw new BaseException(CodeEnum.SMS_CODE_CORRECT); -// } -// if (!competePlayerInfo.getSmsCode().equals(redisUtil.get(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone())).toString())) { -// throw new BaseException(CodeEnum.SMS_CODE_CORRECT); -// } + //检查验证码是否正确 + if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone()))) { + throw new BaseException(CodeEnum.SMS_CODE_CORRECT); + } + if (!competePlayerInfo.getSmsCode().equals(redisUtil.get(RedisKeyManager.getSigninSmsKey(competePlayerInfo.getPhone())).toString())) { + throw new BaseException(CodeEnum.SMS_CODE_CORRECT); + } //检查此用户是否已经报名 CompetePlayerExample playerExample = new CompetePlayerExample(); playerExample.createCriteria().andUserIdEqualTo(userId); @@ -137,24 +140,25 @@ public class CompeteService implements ICompeteService{ throw new BaseException(CodeEnum.PARAM_ERROR); } //检查参赛单位是否存在,不存在则添加 - CompeteCompany company; - CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); - competeCompanyExample.createCriteria().andNameEqualTo(competePlayerInfo.getCompanyName()); - List companyList = competeCompanyMapper.selectByExample(competeCompanyExample); - if(CollectionUtil.isEmpty(companyList)){ - company = new CompeteCompany(); - company.setId(snowflake.nextId()); - company.setType((byte) competePlayerInfo.getType()); - company.setName(competePlayerInfo.getCompanyName()); - competeCompanyMapper.insertSelective(company); - //更新缓存 - String key = competePlayerInfo.getType() + Constant.Redis.COMPETE_COMPANY; - CompeteVo.CompeteCompany competeCompany = new CompeteVo.CompeteCompany(); - competeCompany.setGroupId(company.getId()); - competeCompany.setGroupName(company.getName()); - redisUtil.lSet(key,competeCompany,Constant.Redis.COMPETE_COMPANY_TIME); - }else { - company = companyList.get(0); + CompeteCompany company = new CompeteCompany(); + if(StrUtil.isNotEmpty(competePlayerInfo.getCompanyName())) { + CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); + competeCompanyExample.createCriteria().andNameEqualTo(competePlayerInfo.getCompanyName()); + List companyList = competeCompanyMapper.selectByExample(competeCompanyExample); + if (CollectionUtil.isEmpty(companyList)) { + company.setId(snowflake.nextId()); + company.setType((byte) competePlayerInfo.getType()); + company.setName(competePlayerInfo.getCompanyName()); + competeCompanyMapper.insertSelective(company); + //更新缓存 + String key = competePlayerInfo.getType() + Constant.Redis.COMPETE_COMPANY; + CompeteVo.CompeteCompany competeCompany = new CompeteVo.CompeteCompany(); + competeCompany.setGroupId(company.getId()); + competeCompany.setGroupName(company.getName()); + redisUtil.lSet(key, competeCompany, Constant.Redis.COMPETE_COMPANY_TIME); + } else { + company = companyList.get(0); + } } //添加基本信息 CompetePlayer player = new CompetePlayer(); @@ -162,8 +166,31 @@ public class CompeteService implements ICompeteService{ player.setId(snowflake.nextId()); player.setUserId(userId); player.setCompeteGroupId(competePlayerInfo.getGroupId()); - player.setCompanyId(company.getId()); + if(ObjectUtil.isNotNull(company)) { + player.setCompanyId(company.getId()); + } competePlayerDao.insertSelective(player); + //添加亲子组其他参赛人员信息 + if(StrUtil.isNotEmpty(competePlayerInfo.getFamily())){ + String names = StringUtil.replaceComma(competePlayerInfo.getFamily()); + String[] familyNames = names.split(","); + if (ObjectUtil.isNotNull(familyNames)) { + for (String familyName : familyNames) { + CompetePlayer family = new CompetePlayer(); + family.setId(snowflake.nextId()); + family.setName(familyName); + family.setCompeteGroupId(competePlayerInfo.getGroupId()); + competePlayerDao.insertSelective(family); + //添加选手和其他参赛选手的关联信息 + CompetePlayerFamily competePlayerFamily = new CompetePlayerFamily(); + competePlayerFamily.setId(snowflake.nextId()); + competePlayerFamily.setPlayerId(player.getId()); + competePlayerFamily.setChildrenId(family.getId()); + competePlayerFamilyMapper.insertSelective(competePlayerFamily); + } + } + } + // TODO LevelDto.LevelUserDto levelUserDto = new LevelDto.LevelUserDto(player.getId(),null,player.getName(),null); diff --git a/mt/src/main/resources/mapper_raw/CompetePlayerFamilyMapper.xml b/mt/src/main/resources/mapper_raw/CompetePlayerFamilyMapper.xml new file mode 100644 index 00000000..1e18a9e6 --- /dev/null +++ b/mt/src/main/resources/mapper_raw/CompetePlayerFamilyMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, player_id, children_id, description, created_at, updated_at, rec_status + + + + + delete from t_compete_player_family + where id = #{id,jdbcType=BIGINT} + + + delete from t_compete_player_family + + + + + + insert into t_compete_player_family (id, player_id, children_id, + description, created_at, updated_at, + rec_status) + values (#{id,jdbcType=BIGINT}, #{playerId,jdbcType=BIGINT}, #{childrenId,jdbcType=BIGINT}, + #{description,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) + + + insert into t_compete_player_family + + + id, + + + player_id, + + + children_id, + + + description, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{playerId,jdbcType=BIGINT}, + + + #{childrenId,jdbcType=BIGINT}, + + + #{description,jdbcType=VARCHAR}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_compete_player_family + + + id = #{record.id,jdbcType=BIGINT}, + + + player_id = #{record.playerId,jdbcType=BIGINT}, + + + children_id = #{record.childrenId,jdbcType=BIGINT}, + + + description = #{record.description,jdbcType=VARCHAR}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_compete_player_family + set id = #{record.id,jdbcType=BIGINT}, + player_id = #{record.playerId,jdbcType=BIGINT}, + children_id = #{record.childrenId,jdbcType=BIGINT}, + description = #{record.description,jdbcType=VARCHAR}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_compete_player_family + + + player_id = #{playerId,jdbcType=BIGINT}, + + + children_id = #{childrenId,jdbcType=BIGINT}, + + + description = #{description,jdbcType=VARCHAR}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_compete_player_family + set player_id = #{playerId,jdbcType=BIGINT}, + children_id = #{childrenId,jdbcType=BIGINT}, + description = #{description,jdbcType=VARCHAR}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/util/src/test/java/com/ccsens/util/TestQrCord.java b/util/src/test/java/com/ccsens/util/TestQrCord.java index 77db8709..9faf516d 100644 --- a/util/src/test/java/com/ccsens/util/TestQrCord.java +++ b/util/src/test/java/com/ccsens/util/TestQrCord.java @@ -29,8 +29,10 @@ public class TestQrCord { // String text = "https://www.tall.wiki/pt-dev/respond?groupId="+i+"&groupName="+i+"组"; // String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; - String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-province&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; - String fileName = "zzz/" + "远程比赛-省赛(生产).png"; +// String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-province&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; +// String fileName = "zzz/" + "远程比赛-省赛(生产).png"; + String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-people&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; + String fileName = "zzz/" + "远程比赛-全民健身跳绳大赛(生产).png"; QRCodeWriter qrCodeWriter = new QRCodeWriter(); From 66769706447a440d465d80c8132c1efaea6940ea Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Sat, 10 Oct 2020 10:58:28 +0800 Subject: [PATCH 13/72] 20201010 --- .../com/ccsens/mt/api/CompeteController.java | 29 + .../com/ccsens/mt/bean/dto/CompeteDto.java | 59 ++ .../com/ccsens/mt/bean/po/CompetePlayer.java | 11 + .../mt/bean/po/CompetePlayerExample.java | 60 ++ .../mt/bean/po/CompeteProjectGroup.java | 95 +++ .../bean/po/CompeteProjectGroupExample.java | 631 ++++++++++++++++++ .../mt/bean/po/CompeteProjectPlayer.java | 11 + .../bean/po/CompeteProjectPlayerExample.java | 60 ++ .../com/ccsens/mt/bean/po/CompeteTeam.java | 11 + .../ccsens/mt/bean/po/CompeteTeamExample.java | 60 ++ .../ccsens/mt/persist/dao/CompeteTimeDao.java | 9 + .../mapper/CompeteProjectGroupMapper.java | 30 + .../com/ccsens/mt/service/CompeteService.java | 141 +++- .../ccsens/mt/service/ICompeteService.java | 21 + .../resources/mapper_dao/CompeteTimeDao.xml | 21 +- .../mapper_raw/CompetePlayerMapper.xml | 30 +- .../mapper_raw/CompeteProjectGroupMapper.xml | 243 +++++++ .../mapper_raw/CompeteProjectPlayerMapper.xml | 29 +- .../mapper_raw/CompeteTeamMapper.xml | 25 +- .../com/ccsens/tall/bean/dto/ProjectDto.java | 15 + .../com/ccsens/tall/bean/dto/RoleDto.java | 2 + .../ccsens/tall/service/IProjectService.java | 7 + .../ccsens/tall/service/ProRoleService.java | 9 + .../tall/service/ProTaskDetailService.java | 1 + .../ccsens/tall/service/ProjectService.java | 140 ++++ .../ccsens/tall/web/ProjectController.java | 12 + 26 files changed, 1738 insertions(+), 24 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectGroup.java create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectGroupExample.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectGroupMapper.java create mode 100644 mt/src/main/resources/mapper_raw/CompeteProjectGroupMapper.xml diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index 1ac89d12..6baa3541 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -49,6 +49,16 @@ public class CompeteController { return JsonResponse.newInstance().ok(competeGroups); } + + @MustLogin + @ApiOperation(value = "根据项目查找组别信息 ", notes = "") + @RequestMapping(value = "/group/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryGroupByProject(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("扫码加入团队:{}",params); + List groupByProject = competeService.queryGroupByProject(params); + return JsonResponse.newInstance().ok(groupByProject); + } + @MustLogin @ApiOperation(value = "模糊查询参赛单位", notes = "") @RequestMapping(value = "/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -86,6 +96,15 @@ public class CompeteController { return JsonResponse.newInstance().ok(competeProjects); } +// @MustLogin +// @ApiOperation(value = "根据组别查看比赛项目 ", notes = "") +// @RequestMapping(value = "/project/group", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) +// public JsonResponse> queryProjectByGroup(@ApiParam @Validated @RequestBody QueryDto params) { +// log.info("扫码加入团队:{}",params); +// List projectByGroup = competeService.queryProjectByGroup(params); +// return JsonResponse.newInstance().ok(projectByGroup); +// } + @MustLogin @ApiOperation(value = "提交选择的比赛项目", notes = "") @RequestMapping(value = "/save/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -132,6 +151,16 @@ public class CompeteController { return JsonResponse.newInstance().ok(competeTeamProject); } + @MustLogin + @ApiOperation(value = "提交报名信息和参加比赛", notes = "") + @RequestMapping(value = "/submit", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse submitProjectAndGroup(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("扫码加入团队:{}",params); + competeService.submitProjectAndGroup(params); + return JsonResponse.newInstance().ok(); + } + + // @MustLogin // @ApiOperation(value = "查询比赛项目上的参赛选手列表", notes = "") // @RequestMapping(value = "/get/players", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 837868a6..f6f4d191 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -169,4 +169,63 @@ public class CompeteDto { @ApiModelProperty("比赛的类型,0跳绳省赛 1跳绳校内比赛") private int type; } + + @Data + @ApiModel + public static class QueryProjectByGroup{ + @NotNull + @ApiModelProperty("比赛的类型,0跳绳省赛 1跳绳校内比赛") + private int type; + @NotNull + @ApiModelProperty("组别id") + private Long groupId; + } + @Data + @ApiModel + public static class QueryGroupByProject{ + @NotNull + @ApiModelProperty("比赛的类型,0跳绳省赛 1跳绳校内比赛") + private int type; + @NotNull + @ApiModelProperty("项目id") + private Long projectId; + } + + @Data + @ApiModel("提交报名基本信息") + public static class CompetePlayerAndProject{ + @NotNull + @ApiModelProperty("第几届信息的id") + private Long competeTimeId; + @NotNull + @ApiModelProperty("比赛的类型,0跳绳比赛") + private int type; + @NotEmpty + @ApiModelProperty("姓名") + private String name; + @NotEmpty + @ApiModelProperty("手机号") + private String phone; + @NotEmpty + @ApiModelProperty("手机验证码") + private String smsCode; + @NotEmpty + @ApiModelProperty("身份证") + private String idCard; +// @NotNull +// @ApiModelProperty("参加的组别的id") +// private Long groupId; + @ApiModelProperty("参加的比赛信息") + List projectAndGroups; + } + @Data + @ApiModel("项目id和组别id") + public static class ProjectAndGroup{ + @ApiModelProperty("比赛项目id(二级的)") + private Long projectId; + @ApiModelProperty("组别id") + private Long groupId; + @ApiModelProperty("其他参赛人员(亲子组需要)") + private String family; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java index a35b7935..502bc17b 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java @@ -34,6 +34,8 @@ public class CompetePlayer implements Serializable { private Byte recStatus; + private Long competeTimeId; + private static final long serialVersionUID = 1L; public Long getId() { @@ -156,6 +158,14 @@ public class CompetePlayer implements Serializable { this.recStatus = recStatus; } + public Long getCompeteTimeId() { + return competeTimeId; + } + + public void setCompeteTimeId(Long competeTimeId) { + this.competeTimeId = competeTimeId; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -177,6 +187,7 @@ public class CompetePlayer implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", competeTimeId=").append(competeTimeId); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java index 96552c90..aeb381a1 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java @@ -1064,6 +1064,66 @@ public class CompetePlayerExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andCompeteTimeIdIsNull() { + addCriterion("compete_time_id is null"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdIsNotNull() { + addCriterion("compete_time_id is not null"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdEqualTo(Long value) { + addCriterion("compete_time_id =", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotEqualTo(Long value) { + addCriterion("compete_time_id <>", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdGreaterThan(Long value) { + addCriterion("compete_time_id >", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdGreaterThanOrEqualTo(Long value) { + addCriterion("compete_time_id >=", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdLessThan(Long value) { + addCriterion("compete_time_id <", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdLessThanOrEqualTo(Long value) { + addCriterion("compete_time_id <=", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdIn(List values) { + addCriterion("compete_time_id in", values, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotIn(List values) { + addCriterion("compete_time_id not in", values, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdBetween(Long value1, Long value2) { + addCriterion("compete_time_id between", value1, value2, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotBetween(Long value1, Long value2) { + addCriterion("compete_time_id not between", value1, value2, "competeTimeId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectGroup.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectGroup.java new file mode 100644 index 00000000..d306cfbd --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectGroup.java @@ -0,0 +1,95 @@ +package com.ccsens.mt.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class CompeteProjectGroup implements Serializable { + private Long id; + + private Long projectId; + + private Long groupId; + + private String description; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public Long getGroupId() { + return groupId; + } + + public void setGroupId(Long groupId) { + this.groupId = groupId; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description == null ? null : description.trim(); + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", projectId=").append(projectId); + sb.append(", groupId=").append(groupId); + sb.append(", description=").append(description); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectGroupExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectGroupExample.java new file mode 100644 index 00000000..22e0f65b --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectGroupExample.java @@ -0,0 +1,631 @@ +package com.ccsens.mt.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class CompeteProjectGroupExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public CompeteProjectGroupExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNull() { + addCriterion("project_id is null"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNotNull() { + addCriterion("project_id is not null"); + return (Criteria) this; + } + + public Criteria andProjectIdEqualTo(Long value) { + addCriterion("project_id =", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotEqualTo(Long value) { + addCriterion("project_id <>", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThan(Long value) { + addCriterion("project_id >", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThanOrEqualTo(Long value) { + addCriterion("project_id >=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThan(Long value) { + addCriterion("project_id <", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThanOrEqualTo(Long value) { + addCriterion("project_id <=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdIn(List values) { + addCriterion("project_id in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotIn(List values) { + addCriterion("project_id not in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdBetween(Long value1, Long value2) { + addCriterion("project_id between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotBetween(Long value1, Long value2) { + addCriterion("project_id not between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andGroupIdIsNull() { + addCriterion("group_id is null"); + return (Criteria) this; + } + + public Criteria andGroupIdIsNotNull() { + addCriterion("group_id is not null"); + return (Criteria) this; + } + + public Criteria andGroupIdEqualTo(Long value) { + addCriterion("group_id =", value, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdNotEqualTo(Long value) { + addCriterion("group_id <>", value, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdGreaterThan(Long value) { + addCriterion("group_id >", value, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdGreaterThanOrEqualTo(Long value) { + addCriterion("group_id >=", value, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdLessThan(Long value) { + addCriterion("group_id <", value, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdLessThanOrEqualTo(Long value) { + addCriterion("group_id <=", value, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdIn(List values) { + addCriterion("group_id in", values, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdNotIn(List values) { + addCriterion("group_id not in", values, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdBetween(Long value1, Long value2) { + addCriterion("group_id between", value1, value2, "groupId"); + return (Criteria) this; + } + + public Criteria andGroupIdNotBetween(Long value1, Long value2) { + addCriterion("group_id not between", value1, value2, "groupId"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNull() { + addCriterion("description is null"); + return (Criteria) this; + } + + public Criteria andDescriptionIsNotNull() { + addCriterion("description is not null"); + return (Criteria) this; + } + + public Criteria andDescriptionEqualTo(String value) { + addCriterion("description =", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotEqualTo(String value) { + addCriterion("description <>", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThan(String value) { + addCriterion("description >", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionGreaterThanOrEqualTo(String value) { + addCriterion("description >=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThan(String value) { + addCriterion("description <", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLessThanOrEqualTo(String value) { + addCriterion("description <=", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionLike(String value) { + addCriterion("description like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotLike(String value) { + addCriterion("description not like", value, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionIn(List values) { + addCriterion("description in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotIn(List values) { + addCriterion("description not in", values, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionBetween(String value1, String value2) { + addCriterion("description between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andDescriptionNotBetween(String value1, String value2) { + addCriterion("description not between", value1, value2, "description"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayer.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayer.java index e62d764d..d122968b 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayer.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayer.java @@ -22,6 +22,8 @@ public class CompeteProjectPlayer implements Serializable { private Byte recStatus; + private Long competeGroupId; + private static final long serialVersionUID = 1L; public Long getId() { @@ -96,6 +98,14 @@ public class CompeteProjectPlayer implements Serializable { this.recStatus = recStatus; } + public Long getCompeteGroupId() { + return competeGroupId; + } + + public void setCompeteGroupId(Long competeGroupId) { + this.competeGroupId = competeGroupId; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -111,6 +121,7 @@ public class CompeteProjectPlayer implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", competeGroupId=").append(competeGroupId); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayerExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayerExample.java index 8ab4278d..fb6e50c0 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayerExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayerExample.java @@ -644,6 +644,66 @@ public class CompeteProjectPlayerExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andCompeteGroupIdIsNull() { + addCriterion("compete_group_id is null"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdIsNotNull() { + addCriterion("compete_group_id is not null"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdEqualTo(Long value) { + addCriterion("compete_group_id =", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdNotEqualTo(Long value) { + addCriterion("compete_group_id <>", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdGreaterThan(Long value) { + addCriterion("compete_group_id >", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdGreaterThanOrEqualTo(Long value) { + addCriterion("compete_group_id >=", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdLessThan(Long value) { + addCriterion("compete_group_id <", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdLessThanOrEqualTo(Long value) { + addCriterion("compete_group_id <=", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdIn(List values) { + addCriterion("compete_group_id in", values, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdNotIn(List values) { + addCriterion("compete_group_id not in", values, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdBetween(Long value1, Long value2) { + addCriterion("compete_group_id between", value1, value2, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdNotBetween(Long value1, Long value2) { + addCriterion("compete_group_id not between", value1, value2, "competeGroupId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java index 0bb0aeab..0d6a9e99 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java @@ -24,6 +24,8 @@ public class CompeteTeam implements Serializable { private Byte recStatus; + private Long competeGroupId; + private static final long serialVersionUID = 1L; public Long getId() { @@ -106,6 +108,14 @@ public class CompeteTeam implements Serializable { this.recStatus = recStatus; } + public Long getCompeteGroupId() { + return competeGroupId; + } + + public void setCompeteGroupId(Long competeGroupId) { + this.competeGroupId = competeGroupId; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -122,6 +132,7 @@ public class CompeteTeam implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", competeGroupId=").append(competeGroupId); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java index 8e894f31..25a8ba85 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java @@ -714,6 +714,66 @@ public class CompeteTeamExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andCompeteGroupIdIsNull() { + addCriterion("compete_group_id is null"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdIsNotNull() { + addCriterion("compete_group_id is not null"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdEqualTo(Long value) { + addCriterion("compete_group_id =", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdNotEqualTo(Long value) { + addCriterion("compete_group_id <>", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdGreaterThan(Long value) { + addCriterion("compete_group_id >", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdGreaterThanOrEqualTo(Long value) { + addCriterion("compete_group_id >=", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdLessThan(Long value) { + addCriterion("compete_group_id <", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdLessThanOrEqualTo(Long value) { + addCriterion("compete_group_id <=", value, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdIn(List values) { + addCriterion("compete_group_id in", values, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdNotIn(List values) { + addCriterion("compete_group_id not in", values, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdBetween(Long value1, Long value2) { + addCriterion("compete_group_id between", value1, value2, "competeGroupId"); + return (Criteria) this; + } + + public Criteria andCompeteGroupIdNotBetween(Long value1, Long value2) { + addCriterion("compete_group_id not between", value1, value2, "competeGroupId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java index 6d65e9ef..53c51615 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java @@ -40,4 +40,13 @@ public interface CompeteTimeDao extends CompeteTimeMapper { * @return 参赛项目信息 */ List queryCompeteProjectByType(@Param("type") int type); + + + /** + * 通过项目查看组别信息 + * @param type 比赛类型 + * @param projectId 项目id + * @return 返回组别信息 + */ + List queryGroupByProject(@Param("type") int type, @Param("projectId") Long projectId); } diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectGroupMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectGroupMapper.java new file mode 100644 index 00000000..a03b398c --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectGroupMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.mt.persist.mapper; + +import com.ccsens.mt.bean.po.CompeteProjectGroup; +import com.ccsens.mt.bean.po.CompeteProjectGroupExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface CompeteProjectGroupMapper { + long countByExample(CompeteProjectGroupExample example); + + int deleteByExample(CompeteProjectGroupExample example); + + int deleteByPrimaryKey(Long id); + + int insert(CompeteProjectGroup record); + + int insertSelective(CompeteProjectGroup record); + + List selectByExample(CompeteProjectGroupExample example); + + CompeteProjectGroup selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") CompeteProjectGroup record, @Param("example") CompeteProjectGroupExample example); + + int updateByExample(@Param("record") CompeteProjectGroup record, @Param("example") CompeteProjectGroupExample example); + + int updateByPrimaryKeySelective(CompeteProjectGroup record); + + int updateByPrimaryKey(CompeteProjectGroup record); +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 8b764640..f90ab9fe 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -58,6 +58,8 @@ public class CompeteService implements ICompeteService{ private ILevelUpService levelUpService; @Resource private CompetePlayerFamilyMapper competePlayerFamilyMapper; + @Resource + private CompeteProjectGroupMapper competeProjectGroupMapper; /** @@ -78,6 +80,24 @@ public class CompeteService implements ICompeteService{ return competeTimeDao.queryCompeteGroupByType(competeType.getType()); } + @Override + public List queryGroupByProject(QueryDto params) { + CompeteDto.QueryGroupByProject competeType = params.getParam(); + List competeGroups = competeTimeDao.queryGroupByProject(competeType.getType(),competeType.getProjectId()); +// +// +// CompeteDto.QueryGroupByProject competeType = params.getParam(); +// List competeGroups = competeTimeDao.queryCompeteGroupByType(competeType.getType()); +// competeGroups.forEach(competeGroup -> { +// CompeteProjectGroupExample competeProjectGroupExample = new CompeteProjectGroupExample(); +// competeProjectGroupExample.createCriteria().andGroupIdEqualTo(competeGroup.getGroupId()).andProjectIdEqualTo(competeType.getProjectId()); +// if(competeProjectGroupMapper.countByExample(competeProjectGroupExample) == 0){ +// competeGroups.remove(competeGroup); +// } +// }); + return competeGroups; + } + /** * 模糊查询参赛单位 */ @@ -209,6 +229,33 @@ public class CompeteService implements ICompeteService{ return competeTimeDao.queryCompeteProjectByType(competeType.getType()); } + /** + * 根据组别查看比赛项目信息 + */ + @Override + public List queryProjectByGroup(QueryDto params) { + CompeteDto.QueryProjectByGroup competeType = params.getParam(); + List competeSecondProjects = new ArrayList<>(); + CompeteProjectExample projectExample = new CompeteProjectExample(); + projectExample.createCriteria().andTypeEqualTo((byte) competeType.getType()).andLevelEqualTo((byte) 2); + List competeProjectList = competeProjectMapper.selectByExample(projectExample); + if(CollectionUtil.isNotEmpty(competeProjectList)){ + competeProjectList.forEach(competeProject -> { + CompeteProjectGroupExample projectGroupExample = new CompeteProjectGroupExample(); + projectGroupExample.createCriteria().andProjectIdEqualTo(competeProject.getId()) + .andGroupIdEqualTo(competeType.getGroupId()); + if(competeProjectGroupMapper.countByExample(projectGroupExample) != 0){ + competeProjectList.remove(competeProject); + }else { + CompeteVo.CompeteSecondProject secondProject = new CompeteVo.CompeteSecondProject(); + BeanUtil.copyProperties(competeProject,secondProject); + competeSecondProjects.add(secondProject); + } + }); + } + return competeSecondProjects; + } + /** * 提交选择的比赛项目 */ @@ -227,9 +274,9 @@ public class CompeteService implements ICompeteService{ // 个人赛 long joinedNum = competeTeamDao.countTiwnTeam(player.getId(), params.getParam().getCompeteTimeId()); log.info("个人赛参赛数量:{}", joinedNum); - if (joinedNum >= Constant.Compete.TIWN_MAX_NUM) { - throw new BaseException(CodeEnum.JOINED_MORE); - } +// if (joinedNum >= Constant.Compete.TIWN_MAX_NUM) { +// throw new BaseException(CodeEnum.JOINED_MORE); +// } CompeteProjectPlayer projectPlayer = new CompeteProjectPlayer(); projectPlayer.setId(snowflake.nextId()); projectPlayer.setPlayerId(player.getId()); @@ -449,4 +496,92 @@ public class CompeteService implements ICompeteService{ } return queryPlayerList; } + + @Override + public void submitProjectAndGroup(QueryDto params) { + Long userId = params.getUserId(); + CompeteDto.CompetePlayerAndProject playerAndProject = params.getParam(); + //检查验证码是否正确 + if (!redisUtil.hasKey(RedisKeyManager.getSigninSmsKey(playerAndProject.getPhone()))) { + throw new BaseException(CodeEnum.SMS_CODE_CORRECT); + } + if (!playerAndProject.getSmsCode().equals(redisUtil.get(RedisKeyManager.getSigninSmsKey(playerAndProject.getPhone())).toString())) { + throw new BaseException(CodeEnum.SMS_CODE_CORRECT); + } + //查找此用户是否注册过此身份信息 + CompetePlayer player; + CompetePlayerExample playerExample = new CompetePlayerExample(); + playerExample.createCriteria().andUserIdEqualTo(userId).andIdCardEqualTo(playerAndProject.getIdCard()); + List playerList = competePlayerDao.selectByExample(playerExample); + if(CollectionUtil.isNotEmpty(playerList)){ + //有则直接使用 + player = playerList.get(0); + }else { + //没有则添加 + player = new CompetePlayer(); + BeanUtil.copyProperties(playerAndProject,player); + player.setId(snowflake.nextId()); + player.setUserId(userId); + player.setCompeteTimeId(playerAndProject.getCompeteTimeId()); + competePlayerDao.insertSelective(player); + } + + //读取项目信息 + if(CollectionUtil.isNotEmpty(playerAndProject.getProjectAndGroups())){ + playerAndProject.getProjectAndGroups().forEach(projectAndGroup -> { + CompeteProject project = competeProjectMapper.selectByPrimaryKey(projectAndGroup.getProjectId()); + log.info("项目信息:{}", project); + if (project == null) { + throw new BaseException(CodeEnum.PARAM_ERROR); + } + //单人项目直接添加信息和分组 + if (project.getTeam() == Constant.Compete.TEAM_NO) { + // 个人赛 + CompeteProjectPlayer projectPlayer = new CompeteProjectPlayer(); + projectPlayer.setId(snowflake.nextId()); + projectPlayer.setPlayerId(player.getId()); + projectPlayer.setProjectId(project.getId()); + projectPlayer.setCompeteTimeId(playerAndProject.getCompeteTimeId()); + projectPlayer.setCompeteGroupId(projectAndGroup.getGroupId()); + competeProjectPlayerMapper.insertSelective(projectPlayer); + }else { + //团队项目创建团队 + CompeteTeam team = new CompeteTeam(); + team.setId(snowflake.nextId()); + team.setCreator(player.getId()); + team.setProjectId(project.getId()); + team.setCompeteTimeId(playerAndProject.getCompeteTimeId()); + team.setCompeteGroupId(projectAndGroup.getGroupId()); + competeTeamDao.insertSelective(team); + //将当前选手加入团队 + CompeteTeamMember teamMember = new CompeteTeamMember(); + teamMember.setId(snowflake.nextId()); + teamMember.setPlayerId(player.getId()); + teamMember.setCompeteTeamId(team.getId()); + teamMember.setCaptain(Constant.Compete.TEAM_LEADER_YES); + competeTeamMemberMapper.insertSelective(teamMember); + //读取其他参赛人员的姓名,并添加为选手 + if(StrUtil.isNotEmpty(projectAndGroup.getFamily())){ + String names = StringUtil.replaceComma(projectAndGroup.getFamily()); + String[] familyNames = names.split(","); + if(ObjectUtil.isNotNull(familyNames)){ + for (String familyName : familyNames) { + CompetePlayer familyPlayer = new CompetePlayer(); + familyPlayer.setId(snowflake.nextId()); + familyPlayer.setName(familyName); + competePlayerDao.insertSelective(familyPlayer); + //将其他参赛人员添加至此团队 + CompeteTeamMember member = new CompeteTeamMember(); + member.setId(snowflake.nextId()); + member.setPlayerId(familyPlayer.getId()); + member.setCompeteTeamId(team.getId()); + member.setCaptain(Constant.Compete.TEAM_LEADER_NO); + competeTeamMemberMapper.insertSelective(member); + } + } + } + } + }); + } + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index 017d6cdb..35f5b07b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -93,4 +93,25 @@ public interface ICompeteService { * @return 返回参赛人员或团队的列表 */ CompeteVo.QueryPlayerList queryPlayerList(QueryDto params); + + /** + * 根据组别查找比赛项目信息 + * @param params 类型和组别 + * @return 返回比赛项目(没有一级项目,直接二级) + */ + List queryProjectByGroup(QueryDto params); + + /** + * 根据项目查询组别信息 + * @param params 项目信息 + * @return 返回组别信息 + */ + List queryGroupByProject(QueryDto params); + + /** + * 同时提交基本信息和参赛项目 + * @param params + * @return + */ + void submitProjectAndGroup(QueryDto params); } diff --git a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml index a5a581a4..53ed4b2e 100644 --- a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml @@ -46,9 +46,9 @@ FROM t_compete_group WHERE - rec_status = #{type} + rec_status = 0 and - type = 0 + type = #{type} ORDER BY sequence @@ -103,4 +103,21 @@ level = 1 + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml b/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml index 52d11ab2..fcf5a501 100644 --- a/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml @@ -17,6 +17,7 @@ + @@ -78,7 +79,8 @@ id, user_id, name, id_card, phone, gender, id_card_front, id_card_back, prove_img, - compete_group_id, company_id, authorization, created_at, updated_at, rec_status + compete_group_id, company_id, authorization, created_at, updated_at, rec_status, + compete_time_id @@ -275,6 +283,9 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + compete_time_id = #{record.competeTimeId,jdbcType=BIGINT}, + @@ -296,7 +307,8 @@ authorization = #{record.authorization,jdbcType=TINYINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + compete_time_id = #{record.competeTimeId,jdbcType=BIGINT} @@ -346,6 +358,9 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + compete_time_id = #{competeTimeId,jdbcType=BIGINT}, + where id = #{id,jdbcType=BIGINT} @@ -364,7 +379,8 @@ authorization = #{authorization,jdbcType=TINYINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + compete_time_id = #{competeTimeId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteProjectGroupMapper.xml b/mt/src/main/resources/mapper_raw/CompeteProjectGroupMapper.xml new file mode 100644 index 00000000..2f6aa71d --- /dev/null +++ b/mt/src/main/resources/mapper_raw/CompeteProjectGroupMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, project_id, group_id, description, created_at, updated_at, rec_status + + + + + delete from t_compete_project_group + where id = #{id,jdbcType=BIGINT} + + + delete from t_compete_project_group + + + + + + insert into t_compete_project_group (id, project_id, group_id, + description, created_at, updated_at, + rec_status) + values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{groupId,jdbcType=BIGINT}, + #{description,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) + + + insert into t_compete_project_group + + + id, + + + project_id, + + + group_id, + + + description, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{projectId,jdbcType=BIGINT}, + + + #{groupId,jdbcType=BIGINT}, + + + #{description,jdbcType=VARCHAR}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_compete_project_group + + + id = #{record.id,jdbcType=BIGINT}, + + + project_id = #{record.projectId,jdbcType=BIGINT}, + + + group_id = #{record.groupId,jdbcType=BIGINT}, + + + description = #{record.description,jdbcType=VARCHAR}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_compete_project_group + set id = #{record.id,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + group_id = #{record.groupId,jdbcType=BIGINT}, + description = #{record.description,jdbcType=VARCHAR}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_compete_project_group + + + project_id = #{projectId,jdbcType=BIGINT}, + + + group_id = #{groupId,jdbcType=BIGINT}, + + + description = #{description,jdbcType=VARCHAR}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_compete_project_group + set project_id = #{projectId,jdbcType=BIGINT}, + group_id = #{groupId,jdbcType=BIGINT}, + description = #{description,jdbcType=VARCHAR}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteProjectPlayerMapper.xml b/mt/src/main/resources/mapper_raw/CompeteProjectPlayerMapper.xml index 07cea7e1..d26c89b2 100644 --- a/mt/src/main/resources/mapper_raw/CompeteProjectPlayerMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteProjectPlayerMapper.xml @@ -11,6 +11,7 @@ + @@ -72,7 +73,7 @@ id, player_id, project_id, compete_time_id, gender_group, certificate, created_at, - updated_at, rec_status + updated_at, rec_status, compete_group_id @@ -211,6 +218,9 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + compete_group_id = #{record.competeGroupId,jdbcType=BIGINT}, + @@ -226,7 +236,8 @@ certificate = #{record.certificate,jdbcType=TINYINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + compete_group_id = #{record.competeGroupId,jdbcType=BIGINT} @@ -258,6 +269,9 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + compete_group_id = #{competeGroupId,jdbcType=BIGINT}, + where id = #{id,jdbcType=BIGINT} @@ -270,7 +284,8 @@ certificate = #{certificate,jdbcType=TINYINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + compete_group_id = #{competeGroupId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteTeamMapper.xml b/mt/src/main/resources/mapper_raw/CompeteTeamMapper.xml index cdd11c38..056b0b81 100644 --- a/mt/src/main/resources/mapper_raw/CompeteTeamMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteTeamMapper.xml @@ -12,6 +12,7 @@ + @@ -73,7 +74,7 @@ id, creator, project_id, compete_time_id, gender_group, certificate, qr_code, created_at, - updated_at, rec_status + updated_at, rec_status, compete_group_id @@ -221,6 +228,9 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + compete_group_id = #{record.competeGroupId,jdbcType=BIGINT}, + @@ -237,7 +247,8 @@ qr_code = #{record.qrCode,jdbcType=VARCHAR}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + compete_group_id = #{record.competeGroupId,jdbcType=BIGINT} @@ -272,6 +283,9 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + compete_group_id = #{competeGroupId,jdbcType=BIGINT}, + where id = #{id,jdbcType=BIGINT} @@ -285,7 +299,8 @@ qr_code = #{qrCode,jdbcType=VARCHAR}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + compete_group_id = #{competeGroupId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/ProjectDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/ProjectDto.java index 7d007bce..6eda0918 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/ProjectDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/ProjectDto.java @@ -124,4 +124,19 @@ public class ProjectDto { @ApiModelProperty("变身的秘钥") private String code; } + + @Data + @ApiModel("创建新项目") + public static class CreateProject{ + @ApiModelProperty("名字") + private String name; + @ApiModelProperty("详情") + private String description; + @ApiModelProperty("地址") + private String address; + @ApiModelProperty("开始时间") + private Long beginTime; + @ApiModelProperty("结束时间") + private Long endTime; + } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java index 9aff12cc..c46fe312 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java @@ -29,6 +29,8 @@ public class RoleDto { private Long roleId; @ApiModelProperty("角色名") private String roleName; + @ApiModelProperty("关联项目id(只有角色项目可以修改)") + private Long relevanceProjectId; } @Data diff --git a/tall/src/main/java/com/ccsens/tall/service/IProjectService.java b/tall/src/main/java/com/ccsens/tall/service/IProjectService.java index ce219b3f..a0ed1c20 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProjectService.java @@ -49,4 +49,11 @@ public interface IProjectService { * 变身成为某个角色 */ void imitationRole(Long currentUserId, ProjectDto.ImitationRole imitationRole); + + /** + * 新建项目 + * @param currentUserId userId + * @return 返回项目信息 + */ + ProjectVo.ProjectInfo createProject(Long currentUserId,ProjectDto.CreateProject createProject,String token); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index d336d0a9..6d2bf023 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -378,9 +378,18 @@ public class ProRoleService implements IProRoleService { if (power < 2) { throw new BaseException(CodeEnum.NOT_POWER); } + //修改名字 if(StrUtil.isNotEmpty(updateRole.getRoleName())){ proRole.setName(updateRole.getRoleName()); } + //修改关联项目id + if(ObjectUtil.isNotNull(updateRole.getRelevanceProjectId())){ + //检查角色是否是角色项目 + ProRole parentRole = proRoleDao.selectByPrimaryKey(proRole.getParentId()); + if(parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.ProjectVirtualRole.value)){ + proRole.setRelevanceProjectId(updateRole.getRelevanceProjectId()); + } + } proRoleDao.updateByPrimaryKeySelective(proRole); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 93d677fe..255c800e 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -1148,6 +1148,7 @@ public class ProTaskDetailService implements IProTaskDetailService { (taskDetail.getDelay() == WebConstant.TASK_DELAY.DelayManual.value)){ taskDetail.setDelayTime(updateTaskInfo.getDelayTime()); } + //是否是里程碑 if(ObjectUtil.isNotNull(updateTaskInfo.getMilestone())){ taskDetail.setMilestone(updateTaskInfo.getMilestone()); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index fcd7db7e..0a51842a 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import com.ccsens.tall.bean.dto.MemberRoleDto; import com.ccsens.tall.bean.dto.ProjectDto; import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.vo.LabelVo; @@ -41,6 +42,10 @@ public class ProjectService implements IProjectService { @Resource private ProRoleDao proRoleDao; @Resource + private ProMemberDao proMemberDao; + @Resource + private ProMemberRoleDao memberRoleDao; + @Resource private TaskDetailDao taskDetailDao; @Resource private TaskSubTimeDao taskSubTimeDao; @@ -66,6 +71,13 @@ public class ProjectService implements IProjectService { private ProTaskShowDao proTaskShowDao; @Resource private SysImitationMapper imitationMapper; + @Resource + private UserAttentionDao userAttentionDao; + @Resource + private SysUserDao sysUserDao; + @Resource + private SysAuthDao sysAuthDao; + @Override public void saveProject(SysProject sysProject) { @@ -950,4 +962,132 @@ public class ProjectService implements IProjectService { sysImitation.setUserId(currentUserId); imitationMapper.insertSelective(sysImitation); } + + @Override + public ProjectVo.ProjectInfo createProject(Long currentUserId,ProjectDto.CreateProject createProject,String token) { + //查找当前账号的用户名和手机号 + String name = sysUserDao.selectByPrimaryKey(currentUserId).getNickname(); + String phone = null; + SysAuthExample sysAuthExample = new SysAuthExample(); + sysAuthExample.createCriteria().andUserIdEqualTo(currentUserId).andIdentifyTypeEqualTo((byte) WebConstant.IDENTIFY_TYPE.Phone.value); + List sysAuthList = sysAuthDao.selectByExample(sysAuthExample); + if(CollectionUtil.isNotEmpty(sysAuthList)){ + phone = sysAuthList.get(0).getIdentifier(); + } + log.info("新建项目,操作用户id:{}",currentUserId); + //新建项目 + long beginTime = createProject.getBeginTime() == null ? System.currentTimeMillis() : createProject.getBeginTime(); + long endTime = createProject.getEndTime() == null ? beginTime + (3600 * 24 * 10 * 1000) : createProject.getEndTime(); + SysProject sysProject = new SysProject(); + sysProject.setId(snowflake.nextId()); + sysProject.setName(createProject.getName()); + sysProject.setDescription(createProject.getDescription()); + sysProject.setAddress(createProject.getAddress()); + sysProject.setBeginTime(beginTime); + sysProject.setEndTime(endTime); + sysProject.setCreatorId(currentUserId); + sysProjectDao.insertSelective(sysProject); + //让当前用户关注项目 + UserAttention userAttention = new UserAttention(); + userAttention.setId(snowflake.nextId()); + userAttention.setUserId(currentUserId); + userAttention.setProjectId(sysProject.getId()); + userAttentionDao.insertSelective(userAttention); + //添加默认的角色(奖惩干系人、创建者、关注者、项目经理、和项目成员的一级角色) + //添加奖惩干系人角色(一级角色) + ProRole stakeholderRole = new ProRole(); + stakeholderRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.value); + stakeholderRole.setDescription(WebConstant.ROLE_NAME.MoneyStakeholder.phase); + stakeholderRole.setProjectId(sysProject.getId()); + stakeholderRole.setId(snowflake.nextId()); + proRoleService.saveProRole(stakeholderRole); + //添加奖惩干系人角色(二级角色) + ProRole stakeholderProRole = new ProRole(); + stakeholderProRole.setName(WebConstant.ROLE_NAME.MoneyStakeholder.phase); + stakeholderProRole.setDescription(WebConstant.ROLE_NAME.MoneyStakeholder.value); + stakeholderProRole.setParentId(stakeholderRole.getId()); + stakeholderProRole.setProjectId(sysProject.getId()); + stakeholderProRole.setId(snowflake.nextId()); + proRoleService.saveProRole(stakeholderProRole); + //添加创建者一级角色 + ProRole creator = new ProRole(); + creator.setName(WebConstant.ROLE_NAME.Creator.value); + creator.setDescription(WebConstant.ROLE_NAME.Creator.phase); + creator.setProjectId(sysProject.getId()); + creator.setId(snowflake.nextId()); + proRoleService.saveProRole(creator); + //添加创建者角色(二级角色) + ProRole creatorRole = new ProRole(); + creatorRole.setName(WebConstant.ROLE_NAME.Creator.phase); + creatorRole.setDescription(WebConstant.ROLE_NAME.Creator.value); + creatorRole.setParentId(creator.getId()); + creatorRole.setProjectId(sysProject.getId()); + creatorRole.setId(snowflake.nextId()); + proRoleService.saveProRole(creatorRole); + + //添加关注者一级角色 + ProRole attention = new ProRole(); + attention.setName(WebConstant.ROLE_NAME.Attention.value); + attention.setDescription(WebConstant.ROLE_NAME.Attention.phase); + attention.setProjectId(sysProject.getId()); + attention.setId(snowflake.nextId()); + proRoleService.saveProRole(attention); + //添加关注者角色(二级角色) + ProRole attentionRole = new ProRole(); + attentionRole.setName(WebConstant.ROLE_NAME.Attention.phase); + attentionRole.setDescription(WebConstant.ROLE_NAME.Attention.value); + attentionRole.setParentId(attention.getId()); + attentionRole.setProjectId(sysProject.getId()); + attentionRole.setId(snowflake.nextId()); + proRoleService.saveProRole(attentionRole); + //添加项目经理一级角色 + ProRole pm = new ProRole(); + pm.setName(WebConstant.ROLE_NAME.PM.value); + pm.setDescription(WebConstant.ROLE_NAME.PM.phase); + pm.setProjectId(sysProject.getId()); + pm.setId(snowflake.nextId()); + proRoleService.saveProRole(pm); + //添加项目经理角色(二级角色) + ProRole pmRole = new ProRole(); + pmRole.setName(WebConstant.ROLE_NAME.PM.value); + pmRole.setParentId(pm.getId()); + pmRole.setProjectId(sysProject.getId()); + pmRole.setId(snowflake.nextId()); + proRoleService.saveProRole(pmRole); + //添加项目成员一级角色 + ProRole memberRole = new ProRole(); + memberRole.setName(WebConstant.ROLE_NAME.Member.value); + memberRole.setDescription(WebConstant.ROLE_NAME.Member.phase); + memberRole.setProjectId(sysProject.getId()); + memberRole.setId(snowflake.nextId()); + proRoleService.saveProRole(memberRole); + + //添加默认成员(当前用户) + ProMember proMember = new ProMember(); + proMember.setId(snowflake.nextId()); + proMember.setNickname(name); + proMember.setPhone(phone); + proMember.setUserId(currentUserId); + proMember.setProjectId(sysProject.getId()); + proMemberDao.insertSelective(proMember); + + //关联成员与项目经理 + ProMemberRole proMemberRole = new MemberRoleDto(); + proMemberRole.setId(snowflake.nextId()); + proMemberRole.setRoleId(pmRole.getId()); + proMemberRole.setMemberId(proMember.getId()); + memberRoleDao.insertSelective(proMemberRole); + //添加一个默认任务 + ProTaskDetail taskDetail = new ProTaskDetail(); + taskDetail.setId(snowflake.nextId()); + taskDetail.setProjectId(sysProject.getId()); + taskDetail.setName("一级任务"); + taskDetail.setBeginTime(sysProject.getBeginTime()); + taskDetail.setEndTime(sysProject.getEndTime()); + taskDetail.setExecutorRole(pmRole.getId()); + taskDetail.setCheckerRole(pmRole.getId()); + taskDetailDao.insertSelective(taskDetail); + + return getProjectInfoById(currentUserId,sysProject.getId(),token); + } } diff --git a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java index 82076a10..81790e45 100644 --- a/tall/src/main/java/com/ccsens/tall/web/ProjectController.java +++ b/tall/src/main/java/com/ccsens/tall/web/ProjectController.java @@ -238,6 +238,18 @@ public class ProjectController { return JsonResponse.newInstance().ok(projectByKeyList); } + @ApiOperation(value = "新建项目", notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/create", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse createProject(HttpServletRequest request,@RequestBody ProjectDto.CreateProject createProject) throws Exception { + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); + String token = authHeader.substring(WebConstant.HEADER_KEY_TOKEN_PREFIX.length()); + ProjectVo.ProjectInfo projectInfo = projectService.createProject(currentUserId,createProject,token); + return JsonResponse.newInstance().ok(projectInfo); + } + //============================================================== From 49dfe5e28442f206e0b1591864815bfa104b1551 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Sat, 10 Oct 2020 14:48:02 +0800 Subject: [PATCH 14/72] 20201010_1.0 --- mt/src/main/java/com/ccsens/mt/api/CompeteController.java | 2 +- .../java/com/ccsens/mt/persist/dao/CompetePlayerDao.java | 2 +- mt/src/main/java/com/ccsens/mt/service/CompeteService.java | 5 +++-- mt/src/main/java/com/ccsens/mt/service/ICompeteService.java | 2 +- mt/src/main/resources/application.yml | 4 ++-- mt/src/main/resources/mapper_dao/CompetePlayerDao.xml | 3 ++- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index 6baa3541..04586466 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -135,7 +135,7 @@ public class CompeteController { @MustLogin @ApiOperation(value = "查看个人基本报名信息", notes = "") @RequestMapping(value = "/playerInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse getCompetePlayerInfo(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse getCompetePlayerInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查看个人基本报名信息:{}",params); CompeteVo.GetPlayerInfo getPlayerInfo = competeService.getCompetePlayerInfo(params); return JsonResponse.newInstance().ok(getPlayerInfo); diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java index 28c31040..06d3bf79 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java @@ -15,7 +15,7 @@ public interface CompetePlayerDao extends CompetePlayerMapper { * @param userId 用户ID * @return 选手信息 */ - CompeteVo.GetPlayerInfo getInfo(@Param("userId") Long userId); + CompeteVo.GetPlayerInfo getInfo(@Param("userId") Long userId,@Param("competeTimeId")Long competeTimeId); /** * 查询院系信息和裁判领队填表人的信息 diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index f90ab9fe..3b71aeec 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -185,6 +185,7 @@ public class CompeteService implements ICompeteService{ BeanUtil.copyProperties(competePlayerInfo,player); player.setId(snowflake.nextId()); player.setUserId(userId); + player.setCompeteTimeId(competePlayerInfo.getCompeteTimeId()); player.setCompeteGroupId(competePlayerInfo.getGroupId()); if(ObjectUtil.isNotNull(company)) { player.setCompanyId(company.getId()); @@ -373,8 +374,8 @@ public class CompeteService implements ICompeteService{ * 查看个人基本报名信息 */ @Override - public CompeteVo.GetPlayerInfo getCompetePlayerInfo(QueryDto params) { - return competePlayerDao.getInfo(params.getUserId()); + public CompeteVo.GetPlayerInfo getCompetePlayerInfo(QueryDto params) { + return competePlayerDao.getInfo(params.getUserId(),params.getParam().getCompeteTimeId()); } /** diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index 35f5b07b..39e0d137 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -78,7 +78,7 @@ public interface ICompeteService { * @param params * @return */ - CompeteVo.GetPlayerInfo getCompetePlayerInfo(QueryDto params); + CompeteVo.GetPlayerInfo getCompetePlayerInfo(QueryDto params); /** * 扫码加入团队 diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5889ff7f..d082c0ea 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: common, util-test \ No newline at end of file + active: prod + include: common, util-prod \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index 12a5441d..67511fee 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -43,8 +43,9 @@ t_compete_company c on p.company_id = c.id WHERE p.user_id = #{userId} + and p.compete_time_id = #{competeTimeId} AND p.rec_status = 0 - AND g.rec_status = 0 + AND (g.rec_status = 0 or g.rec_status is null) LIMIT 1 + SELECT + a.id, + a.name, + a.team + FROM + t_compete_project a + WHERE + a.type = #{type} + AND level != 1 + AND rec_status = 0 + + + + + + + \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/WpsDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/WpsDto.java index a5f84046..f21862be 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/WpsDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/WpsDto.java @@ -168,7 +168,7 @@ public class WpsDto { @ApiModelProperty("wps文件ID") private Long wpsFileId; @ApiModelProperty("业务类型 0: 项目ID 1:交付物ID 2会议记录 3产品依据表" + - ",4产品收入表,5成本表,6损益表,7现金流表,8数钱游戏配置,9赛跑游戏配置,10拔河游戏配置") + ",4产品收入表,5成本表,6损益表,7现金流表,8数钱游戏配置,9赛跑游戏配置,10拔河游戏配置,11跳绳项目") private Byte businessType; @ApiModelProperty("用户ID") private Long userId; diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index c88e995d..b2acd365 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: util-test,common + active: dev + include: util-dev,common diff --git a/util/src/main/java/com/ccsens/util/PoiUtil.java b/util/src/main/java/com/ccsens/util/PoiUtil.java index 677fe5f6..1015495e 100644 --- a/util/src/main/java/com/ccsens/util/PoiUtil.java +++ b/util/src/main/java/com/ccsens/util/PoiUtil.java @@ -528,8 +528,11 @@ public class PoiUtil { public static void main(String[] args) throws Exception { - InputStream inputStream = new FileInputStream("C:\\Users\\逗\\Desktop\\新建文件夹\\1.xlsx"); - Workbook workbook = new XSSFWorkbook(inputStream); + +// File file = new File("F:\\wenjian\\3.xlsx"); +// file.createNewFile(); +// InputStream inputStream = new FileInputStream(file); + Workbook workbook = new XSSFWorkbook(); // XSSFSheet sheet = (XSSFSheet) workbook.getSheetAt(0); // XSSFRow row = sheet.getRow(6); // XSSFCell newCell = row.createCell(2); @@ -576,7 +579,7 @@ public class PoiUtil { // list.add(cells5); Workbook wbs = exportWB("Sheet1", list, workbook); - OutputStream stream = new FileOutputStream(new File("C:\\Users\\逗\\Desktop\\新建文件夹\\"+System.currentTimeMillis()+".xlsx")); + OutputStream stream = new FileOutputStream(new File("F:\\wenjian\\"+System.currentTimeMillis()+".xlsx")); wbs.write(stream); stream.close(); From f8eb192fed58d009e1930a50d9b649f5cf0dcc97 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 14 Oct 2020 09:56:59 +0800 Subject: [PATCH 19/72] 20201014_1.0 --- .../java/com/ccsens/mt/bean/vo/CompeteVo.java | 4 ++ mt/src/main/resources/application.yml | 4 +- .../resources/mapper_dao/CompeteTeamDao.xml | 6 ++- .../com/ccsens/tall/bean/dto/PluginDto.java | 6 +++ .../com/ccsens/tall/bean/dto/RoleDto.java | 9 ++++ .../ccsens/tall/persist/dao/SysPluginDao.java | 2 +- .../tall/persist/dao/TaskDetailDao.java | 4 +- .../ccsens/tall/service/IProRoleService.java | 16 ++++--- .../ccsens/tall/service/ProRoleService.java | 44 +++++++++++++++++-- .../tall/service/ProTaskDetailService.java | 31 ++++++++++--- .../com/ccsens/tall/web/PluginController.java | 2 +- .../com/ccsens/tall/web/RoleController.java | 33 ++++++++++---- tall/src/main/resources/application.yml | 4 +- .../resources/mapper_dao/SysPluginDao.xml | 1 + .../resources/mapper_dao/TaskDetailDao.xml | 27 ++++++------ 15 files changed, 144 insertions(+), 49 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java index bb2f7ab1..a654f773 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java @@ -116,6 +116,8 @@ public class CompeteVo { private String secondProjectName; @ApiModelProperty("是否通级 0否 1是") private byte certificate; + @ApiModelProperty("组别名") + private String groupName; } @Data @@ -141,6 +143,8 @@ public class CompeteVo { private int memberNums; @ApiModelProperty("二维码信息") private String qrCode; + @ApiModelProperty("组别名") + private String groupName; @ApiModelProperty("团队内的成员") private List members; diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..5889ff7f 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml b/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml index b920154e..43f85a30 100644 --- a/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteTeamDao.xml @@ -112,7 +112,8 @@ p2.type, p2.name as secondProjectName, p1.name as parentProjectName, - pp.certificate + pp.certificate, + (select group_name from t_compete_group where id = pp.compete_group_id) as groupName FROM t_compete_player p, t_compete_project_player pp, @@ -140,7 +141,8 @@ p2.member_max as memberMax, t.certificate, m.captain as creator, - if (m.captain = 1, t.qr_code, '') as qrCode + if (m.captain = 1, t.qr_code, '') as qrCode, + (select group_name from t_compete_group where id = t.compete_group_id) as groupName FROM t_compete_player p, t_compete_team_member m, diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java index 64c24ff0..536d2810 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/PluginDto.java @@ -10,6 +10,9 @@ import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.util.List; +/** + * @author 逗 + */ @Data public class PluginDto { @Data @@ -92,6 +95,9 @@ public class PluginDto { private Byte placeLocation; @ApiModelProperty("程序位置 0:tall内部,1外部") private Byte routineLocation; + + public UpdatePluginConfig() { + } } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java index 118feacc..6fcfe1b4 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/RoleDto.java @@ -50,4 +50,13 @@ public class RoleDto { @ApiModelProperty("角色id") private Long roleId; } + + + @Data + @ApiModel("点击项目角色查询一级任务及里程碑") + public static class ProjectId{ + @NotNull(message = "项目Id") + @ApiModelProperty("项目Id") + private Long projectId; + } } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/SysPluginDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/SysPluginDao.java index e93d6942..63411d98 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/SysPluginDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/SysPluginDao.java @@ -22,5 +22,5 @@ public interface SysPluginDao extends SysPluginMapper{ List getPluginNameAndTaskName(@Param("projectId")Long projectId); - ProPluginConfig getPluginConfigByTaskPluginId(@Param("taskPluginId")String taskPluginId); + ProPluginConfig getPluginConfigByTaskPluginId(@Param("taskPluginId")String taskPluginId,@Param("taskDetailId")Long taskDetailId); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java index 83019e70..0d0b3ffe 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java @@ -48,9 +48,9 @@ public interface TaskDetailDao extends ProTaskDetailMapper { */ TaskVo.TaskListByProjectId getTaskById(@Param("detailTaskId")Long detailTaskId); /** - * 通过任务id查看任务信息(查看项目下所有任务时) + * 通过父任务id查看任务信息(查看项目下所有任务时) * @param parentTaskId * @return */ - List getTaskByParentId(@Param("parentTaskId")Long parentTaskId); + List getTaskByParentId(@Param("parentTaskId")Long parentTaskId,@Param("milestone")Integer milestone); } diff --git a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java index 342279c3..f219bacf 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java @@ -3,7 +3,6 @@ package com.ccsens.tall.service; import com.ccsens.tall.bean.dto.RoleDto; import com.ccsens.tall.bean.po.ProRole; import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.bean.vo.TaskVo; import java.util.List; @@ -30,16 +29,23 @@ public interface IProRoleService { void saveRole(Long currentUserId, RoleDto.SaveRole saveRole); - void updateRole(Long currentUserId, RoleDto.UpdateRole updateRole); + ProjectVo.RoleInfo updateRole(Long currentUserId, RoleDto.UpdateRole updateRole); void saveMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember); void deleteMemberByRole(Long currentUserId, RoleDto.SaveMember saveMember); /** - * 查找项目下的角色包含“全体成员” + * 点击项目角色查看一级任务和里程碑 * @param projectId 项目id - * @return + * @return 返回一级任务和里程碑 */ - RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId); + List queryByProjectVirtualRole(RoleDto.ProjectId projectId); + +// /** +// * 查找项目下的角色包含“全体成员” +// * @param projectId 项目id +// * @return +// */ +// RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 6d2bf023..b0c0b696 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -8,7 +8,6 @@ import com.ccsens.tall.bean.dto.MemberRoleDto; import com.ccsens.tall.bean.dto.RoleDto; import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.persist.dao.*; import com.ccsens.util.CodeEnum; @@ -48,6 +47,10 @@ public class ProRoleService implements IProRoleService { private IUserService userService; @Resource private Snowflake snowflake; + @Resource + private SysProjectDao sysProjectDao; + @Resource + private TaskDetailDao taskDetailDao; @Override public void saveProRole(ProRole proRole) { @@ -367,7 +370,7 @@ public class ProRoleService implements IProRoleService { } @Override - public void updateRole(Long currentUserId, RoleDto.UpdateRole updateRole) { + public ProjectVo.RoleInfo updateRole(Long currentUserId, RoleDto.UpdateRole updateRole) { //查找角色 ProRole proRole = proRoleDao.selectByPrimaryKey(updateRole.getRoleId()); if(ObjectUtil.isNull(proRole)){ @@ -391,6 +394,8 @@ public class ProRoleService implements IProRoleService { } } proRoleDao.updateByPrimaryKeySelective(proRole); + + return null; } @Override @@ -443,7 +448,38 @@ public class ProRoleService implements IProRoleService { } @Override - public RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId) { - return null; + public List queryByProjectVirtualRole(RoleDto.ProjectId projectId) { + List taskList = new ArrayList<>(); + //查找项目 + SysProject project = sysProjectDao.selectByPrimaryKey(projectId.getProjectId()); + if (ObjectUtil.isNull(project)) { + throw new BaseException(CodeEnum.NOT_PROJECT); + } + //1、查找一级任务 + ProTaskDetailExample proTaskDetailExample = new ProTaskDetailExample(); + proTaskDetailExample.createCriteria().andProjectIdEqualTo(projectId.getProjectId()).andLevelEqualTo((byte) 1); + List firstTaskDetailList = taskDetailDao.selectByExample(proTaskDetailExample); + log.info("查找到一级任务:{}",firstTaskDetailList); + if (CollectionUtil.isNotEmpty(firstTaskDetailList)) { + firstTaskDetailList.forEach(firstTaskDetail -> { + TaskVo.TaskListByProjectId firstTask = taskDetailDao.getTaskById(firstTaskDetail.getId()); + List secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(),1); + if(CollectionUtil.isNotEmpty(secondTaskList)){ + secondTaskList.forEach(secondTask -> secondTask.setParentName(firstTaskDetail.getName())); + } + firstTask.setSecondTasks(secondTaskList); + taskList.add(firstTask); + }); + } + return taskList; + } + + private ProjectVo.RoleInfo getRoleInfoByRoleId(Long roleId){ + } + + // @Override +// public RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId) { +// return null; +// } } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index b1bfcba6..2a2cadfa 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -78,6 +78,8 @@ public class ProTaskDetailService implements IProTaskDetailService { private ProRemindDao proRemindDao; @Resource private TaskDeliverDao taskDeliverDao; + @Resource + private ProMemberRoleDao proMemberRoleDao; @Override public void saveTaskDetail(ProTaskDetail taskDetail) { @@ -462,7 +464,7 @@ public class ProTaskDetailService implements IProTaskDetailService { plugin.setDescription(pluginDescription[i]); plugin.setShowType(pluginShowType[i]); //查找插件的配置信息 - ProPluginConfig proPluginConfig = sysPluginDao.getPluginConfigByTaskPluginId(pluginIds[i]); + ProPluginConfig proPluginConfig = sysPluginDao.getPluginConfigByTaskPluginId(pluginIds[i],normalTask.getDetailId()); if(ObjectUtil.isNotNull(proPluginConfig)) { plugin.setWebPath(proPluginConfig.getWebPath()); plugin.setRoutineLocation(proPluginConfig.getRoutineLocation()); @@ -1117,8 +1119,25 @@ public class ProTaskDetailService implements IProTaskDetailService { if(ObjectUtil.isNotNull(taskDetail)) { SysProject project = sysProjectDao.selectByPrimaryKey(taskDetail.getProjectId()); if(ObjectUtil.isNotNull(project)) { + //查找权限 int power = proRoleService.selectPowerByRoleName(currentUserId, project.getId()); - if (power > 1) { + //当前用户是否是此任务的负责人 + boolean flag = false; + ProRole executorRole = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); + ProMemberExample memberExample = new ProMemberExample(); + memberExample.createCriteria().andUserIdEqualTo(currentUserId).andProjectIdEqualTo(project.getId()); + List memberList = proMemberDao.selectByExample(memberExample); + if(CollectionUtil.isNotEmpty(memberList)){ + if(ObjectUtil.isNotNull(executorRole)){ + ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); + memberRoleExample.createCriteria().andRoleIdEqualTo(executorRole.getId()).andMemberIdEqualTo(memberList.get(0).getId()); + if(proMemberRoleDao.countByExample(memberRoleExample) != 0){ + flag = true; + } + } + } + + if (power > 1 || flag) { //任务名 if(StrUtil.isNotEmpty(updateTaskInfo.getName())){ taskDetail.setName(updateTaskInfo.getName()); @@ -1425,7 +1444,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } @Override - public List queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectIdDto) throws Exception { + public List queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectIdDto) { List taskList = new ArrayList<>(); //1、查找一级任务 SysProject project = sysProjectDao.selectByPrimaryKey(projectIdDto.getProjectId()); @@ -1439,11 +1458,9 @@ public class ProTaskDetailService implements IProTaskDetailService { if (CollectionUtil.isNotEmpty(firstTaskDetailList)) { firstTaskDetailList.forEach(firstTaskDetail -> { TaskVo.TaskListByProjectId firstTask = taskDetailDao.getTaskById(firstTaskDetail.getId()); - List secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId()); + List secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(),null); if(CollectionUtil.isNotEmpty(secondTaskList)){ - secondTaskList.forEach(secondTask -> { - secondTask.setParentName(firstTaskDetail.getName()); - }); + secondTaskList.forEach(secondTask -> secondTask.setParentName(firstTaskDetail.getName())); } firstTask.setSecondTasks(secondTaskList); taskList.add(firstTask); diff --git a/tall/src/main/java/com/ccsens/tall/web/PluginController.java b/tall/src/main/java/com/ccsens/tall/web/PluginController.java index 899c6b5c..9381578f 100644 --- a/tall/src/main/java/com/ccsens/tall/web/PluginController.java +++ b/tall/src/main/java/com/ccsens/tall/web/PluginController.java @@ -187,7 +187,7 @@ public class PluginController { @ApiImplicitParams({ }) @RequestMapping(value = "/config", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse updatePluginConfig(@ApiParam @Validated @RequestBody PluginDto.UpdatePluginConfig updatePluginConfig) throws Exception { + public JsonResponse updatePluginConfig(HttpServletRequest request,@ApiParam @Validated @RequestBody PluginDto.UpdatePluginConfig updatePluginConfig) throws Exception { taskPluginService.updatePluginConfig(updatePluginConfig); return JsonResponse.newInstance().ok(); } diff --git a/tall/src/main/java/com/ccsens/tall/web/RoleController.java b/tall/src/main/java/com/ccsens/tall/web/RoleController.java index f5ea4a95..4f5ca1ca 100644 --- a/tall/src/main/java/com/ccsens/tall/web/RoleController.java +++ b/tall/src/main/java/com/ccsens/tall/web/RoleController.java @@ -1,7 +1,9 @@ package com.ccsens.tall.web; import com.ccsens.tall.bean.dto.RoleDto; +import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.bean.vo.RoleVo; +import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.service.IProRoleService; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; @@ -12,6 +14,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @author 逗 @@ -50,10 +53,10 @@ public class RoleController { @ApiImplicitParams({ }) @RequestMapping(value = "/update", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse updateRole(HttpServletRequest request, - @ApiParam @Validated @RequestBody RoleDto.UpdateRole updateRole) throws Exception { + public JsonResponse updateRole(HttpServletRequest request, + @ApiParam @Validated @RequestBody RoleDto.UpdateRole updateRole) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); - proRoleService.updateRole(currentUserId,updateRole); + ProjectVo.RoleInfo roleInfo = proRoleService.updateRole(currentUserId,updateRole); return JsonResponse.newInstance().ok(); } @@ -79,15 +82,27 @@ public class RoleController { return JsonResponse.newInstance().ok(); } - @ApiOperation(value = "通过",notes = "") +// @ApiOperation(value = "通过",notes = "") +// @ApiImplicitParams({ +// }) +// @RequestMapping(value = "/deleteMember", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) +// public JsonResponse queryRoleByProjectId(HttpServletRequest request, +// @RequestParam(required = true)Long projectId) throws Exception { +// Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); +// RoleVo.RoleByProjectId roleInfo = proRoleService.queryRoleByProjectId(projectId); +// return JsonResponse.newInstance().ok(roleInfo); +// } + + @ApiOperation(value = "点击项目角色查询一级任务及里程碑",notes = "") @ApiImplicitParams({ }) - @RequestMapping(value = "/deleteMember", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryRoleByProjectId(HttpServletRequest request, - @RequestParam(required = true)Long projectId) throws Exception { + @RequestMapping(value = "/ProjectVirtualRole", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryByProjectVirtualRole(HttpServletRequest request, + @ApiParam @Validated @RequestBody RoleDto.ProjectId projectId) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); - RoleVo.RoleByProjectId roleInfo = proRoleService.queryRoleByProjectId(projectId); - return JsonResponse.newInstance().ok(roleInfo); + List taskListByProjectIdList = proRoleService.queryByProjectVirtualRole(projectId); + return JsonResponse.newInstance().ok(taskListByProjectIdList); } + } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index 4fc2efe4..c88e995d 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: util-prod,common + active: test + include: util-test,common diff --git a/tall/src/main/resources/mapper_dao/SysPluginDao.xml b/tall/src/main/resources/mapper_dao/SysPluginDao.xml index 7d933b2c..147eb435 100644 --- a/tall/src/main/resources/mapper_dao/SysPluginDao.xml +++ b/tall/src/main/resources/mapper_dao/SysPluginDao.xml @@ -105,6 +105,7 @@ t_pro_plugin_config pc LEFT JOIN t_pro_task_plugin tp on pc.plugin_id = tp.plugin_id WHERE tp.id = #{taskPluginId} + and pc.task_id = #{taskDetailId} and pc.rec_status = 0 and tp.rec_status = 0 LIMIT 1 diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index 9b6bfcfa..bae3cbf4 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -61,8 +61,8 @@ resultMap="secondTask"> SELECT *, - GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, - GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, + GROUP_CONCAT(t.p_id ORDER BY t.spid) as pId, + GROUP_CONCAT(t.spName ORDER BY t.spid) as pName, GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM @@ -147,8 +147,8 @@ resultMap="secondTask"> SELECT *, - GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, - GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, + GROUP_CONCAT(t.p_id ORDER BY t.spid) as pId, + GROUP_CONCAT(t.spName ORDER BY t.spid) as pName, GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM @@ -222,8 +222,8 @@ resultMap="secondTask"> SELECT *, - GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, - GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, + GROUP_CONCAT(t.p_id ORDER BY t.spid) as pId, + GROUP_CONCAT(t.spName ORDER BY t.spid) as pName, GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM @@ -246,9 +246,6 @@ d.virtual as tVirtual, d.delay as tDelay, d.has_group as tHasGroup, - c.web_path as webPath, - c.routine_location as routineLocation, - c.import_param as importParam, sp.name as spName, p.id as p_id, sp.description as spDescription, @@ -265,7 +262,6 @@ p.id IS NULL ) LEFT JOIN t_sys_plugin sp ON sp.id = p.plugin_id - left join t_pro_plugin_config c on d.id = c.task_id WHERE d.rec_status = 0 and @@ -282,8 +278,8 @@ resultMap="secondTask"> SELECT *, - GROUP_CONCAT(t.p_id ORDER BY t.p_id) as pId, - GROUP_CONCAT(t.spName ORDER BY t.p_id) as pName, + GROUP_CONCAT(t.p_id ORDER BY t.spid) as pId, + GROUP_CONCAT(t.spName ORDER BY t.spid) as pName, GROUP_CONCAT(t.spDescription ORDER BY t.spid) as pDescription, GROUP_CONCAT(t.spShowType ORDER BY t.spid) as pShowType FROM @@ -365,8 +361,8 @@ From d2157407b5dc441452cd51425de97afbe36bd8fd Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 14 Oct 2020 14:14:12 +0800 Subject: [PATCH 20/72] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E8=B7=B3=E7=BB=B3?= =?UTF-8?q?=E6=AF=94=E8=B5=9B=E6=80=BB=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloudutil/bean/tall/dto/WpsDto.java | 2 + .../ccsens/game/service/ScreenService.java | 1 + .../com/ccsens/mt/api/CompeteController.java | 2 +- .../com/ccsens/mt/service/CompeteService.java | 59 ++++++++++++++----- .../ccsens/mt/service/ICompeteService.java | 2 +- mt/src/main/resources/application.yml | 4 +- .../resources/mapper_dao/CompeteEnrollDao.xml | 3 + pom.xml | 4 +- .../java/com/ccsens/tall/bean/dto/WpsDto.java | 4 +- .../ccsens/tall/persist/dao/ProRoleDao.java | 2 + .../com/ccsens/tall/service/ExcelService.java | 2 + .../ccsens/tall/service/ProRoleService.java | 8 +-- .../tall/service/TaskDeliverService.java | 1 + .../tall/service/TaskPluginService.java | 2 + .../com/ccsens/tall/service/WpsService.java | 9 +-- .../com/ccsens/tall/web/FileController.java | 6 +- tall/src/main/resources/application-dev.yml | 1 + tall/src/main/resources/application-prod.yml | 1 + tall/src/main/resources/application-test.yml | 1 + tall/src/main/resources/application.yml | 4 +- .../main/resources/mapper_dao/ProRoleDao.xml | 1 + .../main/resources/mapper_dao/WpsFileDao.xml | 1 + 22 files changed, 88 insertions(+), 32 deletions(-) diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java index 7656dfc4..c5346406 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java @@ -24,6 +24,8 @@ public class WpsDto { private String fileName; @ApiModelProperty("文件路径,默认在WebConstant.UPLOAD_PATH_BASE下") private String filePath; + @ApiModelProperty("文件实际存储路径") + private String realFilePath; @ApiModelProperty("文件大小") private Long fileSize; @ApiModelProperty("操作类型 值:WebConstant Wps USER_OPERATION... ") diff --git a/game/src/main/java/com/ccsens/game/service/ScreenService.java b/game/src/main/java/com/ccsens/game/service/ScreenService.java index 50591e68..62ae1cc9 100644 --- a/game/src/main/java/com/ccsens/game/service/ScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/ScreenService.java @@ -1456,6 +1456,7 @@ public class ScreenService implements IScreenService { business.setUserId(params.getUserId()); business.setFileName(name); business.setFilePath(fileName); + business.setRealFilePath(path); business.setFileSize(tmpFile.length()); business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_WRITE); diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index 42601be1..5559ee0c 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -166,7 +166,7 @@ public class CompeteController { @RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { log.info("查询各个项目报名人员信息:{}",params); - List enrollPlayInfoList= competeService.enrollPlayInfo(params); + String enrollPlayInfoList= competeService.enrollPlayInfo(params); return JsonResponse.newInstance().ok(enrollPlayInfoList); } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 988016fb..433051ff 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -596,8 +596,21 @@ public class CompeteService implements ICompeteService{ } @Override - public List enrollPlayInfo(QueryDto params) { + public String enrollPlayInfo(QueryDto params) { CompeteDto.CompeteType competeType = params.getParam(); + List filePath = new ArrayList<>(); + //查询大赛id + CompeteVo.CompeteTime competeTimeByType = competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis()); +// //查询此大赛是否关联wps +// WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); +// visitWpsUrl.setBusinessId(competeTimeByType.getId()); +// visitWpsUrl.setBusinessType((byte) 11); +// visitWpsUrl.setUserId(params.getUserId()); +// filePath = tallFeignClient.queryVisitUrls(visitWpsUrl); +// if(CollectionUtil.isNotEmpty(filePath)){ +// //TODO 删除以前的关联信息 +// } + //查询报名信息 int typeId = competeType.getType(); ArrayList arrayList = new ArrayList(); //1:查询该类型下所有项目的id,name,team信息,排除level为1的 @@ -622,20 +635,31 @@ public class CompeteService implements ICompeteService{ for (CompeteVo.Team team1 : teamList){ //6:获取团队下队员的详细信息 CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProjectForTeam(team1.getPlayer_id()); - enrollPlayInfo.setName(projectInfo.getName()); - arrayList.add(enrollPlayInfo); + if(ObjectUtil.isNotNull(enrollPlayInfo)) { + enrollPlayInfo.setName(projectInfo.getName()); + arrayList.add(enrollPlayInfo); + } } } } //7:将数据放入excel表格 - InputStream inputStream = null; - //excel表格行列对象 List> list = new ArrayList<>(); + List title = new ArrayList<>(); + title.add(new PoiUtil.PoiUtilCell()); + title.add(new PoiUtil.PoiUtilCell("比赛项目名称")); + title.add(new PoiUtil.PoiUtilCell("组别")); + title.add(new PoiUtil.PoiUtilCell("报名人姓名")); + title.add(new PoiUtil.PoiUtilCell("身份证号")); + title.add(new PoiUtil.PoiUtilCell("手机号")); + title.add(new PoiUtil.PoiUtilCell("其他参赛人员")); + list.add(title); try { Workbook workbook = new XSSFWorkbook(); + int i = 1; for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList){ //行对象 List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell(i+"",1,1,300,18)); //单元格对象 PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(enrollPlayInfo.getName()); cells.add(poiUtilCel); @@ -650,40 +674,47 @@ public class CompeteService implements ICompeteService{ PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getOthersName()); cells.add(poiUtilCel5); list.add(cells); + i++; } //生成excel表格对象,并将数据放入 - Workbook wbs = PoiUtil.exportWB("Sheet1", list, workbook); + Workbook wbs = PoiUtil.exportWB("总表", list, workbook); //8:关联金山在线文档 - String name = "报名表" + ".xlsx"; + String name = "跳绳比赛报名表" + ".xlsx"; String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + + String path = PropUtil.path + filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } //PropUtil.path获取配置文件中的path属性,拼接生成写入信息的文件名, - String path = PropUtil.path + File.separator + filepath; File file = new File(path); OutputStream stream = new FileOutputStream(file); wbs.write(stream); stream.close(); - //获取比赛的第几届信息 - CompeteVo.CompeteTime competeTimeByType = competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis()); + //关联wps WpsDto.Business business = new WpsDto.Business(); business.setBusinessId(competeTimeByType.getId()); business.setBusinessType((byte) 11); business.setFileName(name); - business.setFilePath(filepath); + business.setFilePath(path); + business.setRealFilePath(path); business.setFileSize(file.length()); business.setUserId(params.getUserId()); business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_READ); + log.info("跳绳比赛报名表关联wps:{}",business); tallFeignClient.saveWpsFile(business); + //查询wps WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); visitWpsUrl.setBusinessId(competeTimeByType.getId()); visitWpsUrl.setBusinessType((byte) 11); visitWpsUrl.setUserId(params.getUserId()); - tallFeignClient.queryVisitUrls(visitWpsUrl); + filePath = tallFeignClient.queryVisitUrls(visitWpsUrl); } catch (IOException e) { e.printStackTrace(); } - return arrayList; - + return filePath.get(0); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index d7da4e5c..87c616c4 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -120,5 +120,5 @@ public interface ICompeteService { * @param params 项目类型信息 * @return 返回参赛者的详细信息 */ - List enrollPlayInfo(QueryDto params) throws IOException; + String enrollPlayInfo(QueryDto params) throws IOException; } diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5889ff7f..d082c0ea 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: common, util-test \ No newline at end of file + active: prod + include: common, util-prod \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml index b7250ad0..2572f53d 100644 --- a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml @@ -56,6 +56,9 @@ a.id = #{playerId} AND b.id = c.compete_group_id AND a.id = c.player_id + and a.rec_status = 0 + and c.rec_status = 0 + GROUP BY a.id + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/WpsFileDao.xml b/tall/src/main/resources/mapper_dao/WpsFileDao.xml index 1ae71d7e..908ca8a1 100644 --- a/tall/src/main/resources/mapper_dao/WpsFileDao.xml +++ b/tall/src/main/resources/mapper_dao/WpsFileDao.xml @@ -92,5 +92,6 @@ AND p.business_type = #{businessType} AND p.rec_status = 0 AND f.rec_status = 0 + order by p.id DESC \ No newline at end of file From bde16279599743cc5cd079442896d71c3fc4c7d5 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Thu, 15 Oct 2020 18:07:13 +0800 Subject: [PATCH 21/72] 10-15 --- .../com/ccsens/mt/api/CompeteController.java | 10 +- .../java/com/ccsens/mt/bean/vo/CompeteVo.java | 28 ++++++ .../mt/persist/dao/CompeteEnrollDao.java | 55 +++++++++++ .../com/ccsens/mt/service/CompeteService.java | 87 +++++++++++++++++- .../ccsens/mt/service/ICompeteService.java | 10 ++ mt/src/main/resources/application.yml | 4 +- .../resources/mapper_dao/CompeteEnrollDao.xml | 69 +++++++++++++- .../main/resources/template/competeCount.xlsx | Bin 0 -> 10524 bytes tall/src/main/resources/application.yml | 4 +- .../main/java/com/ccsens/util/PoiUtil.java | 5 +- 10 files changed, 262 insertions(+), 10 deletions(-) create mode 100644 mt/src/main/resources/template/competeCount.xlsx diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index 5559ee0c..3cd305a7 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -162,7 +162,7 @@ public class CompeteController { @MustLogin - @ApiOperation(value = "报名表", notes = "") + @ApiOperation(value = "报名表详情表", notes = "") @RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { log.info("查询各个项目报名人员信息:{}",params); @@ -170,7 +170,13 @@ public class CompeteController { return JsonResponse.newInstance().ok(enrollPlayInfoList); } - + @ApiOperation(value = "报名表人数表下载", notes = "") + @RequestMapping(value = "/enrollCount", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse enrollPlayCount(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + log.info("查询各个项目报名人员信息:{}",params); + String path = competeService.enrollPlayCount(params); + return JsonResponse.newInstance().ok(path); + } // @MustLogin diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java index b6a06df8..df9d06bf 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java @@ -397,4 +397,32 @@ public class CompeteVo { @ApiModelProperty("团队下的参与者id") private long player_id; } + @Data + @ApiModel("参赛各组别数信息") + public static class Count{ + @ApiModelProperty("组别名") + private String group_name; + @ApiModelProperty("某组别人数") + private int count; + @ApiModelProperty("组别id") + private Long compete_group_id; + @ApiModelProperty("团队id") + private long team_id; + } + @Data + @ApiModel("参赛项目中组别人数信息") + public static class GroupNum{ + @ApiModelProperty("项目名") + private String name; + @ApiModelProperty("参赛各组别数信息") + private List countList; + } + @Data + @ApiModel("group中的组别id") + public static class GroupIdAndName{ + @ApiModelProperty("项目id") + private int id; + @ApiModelProperty("组别名") + private String group_name; + } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java index 7a1f276f..ef9dc8d3 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java @@ -52,5 +52,60 @@ public interface CompeteEnrollDao extends CompetePlayerMapper { */ List getTeamPlayerId(@Param("teamId")long teamId); + /** + * 查询个人项目的每个组别id和组别名 + * @param projectId 项目id + * @return 组别id + */ + List getGroupCount(@Param("projectId")long projectId); + + /** + * 查询个人项目的每个组别人数 + * @param competeGroupId 组别id + * @return 团队成员id + */ + int getGroupPlayCount(@Param("competeGroupId")long competeGroupId); + + /** + * 查询个人项目的每个组别id和组别名 + * @param projectId xiangmu id + * @return 团队成员id + */ + List getGroupIdFroPlayer(@Param("projectId")long projectId); + + /** + * 查询团队项目的每个组别id和组别名 + * @param projectId xiangmu id + * @return 团队成员id + */ + List getGroupIdFroTeam(@Param("projectId")long projectId); + + /** + * 查询团队项目的每个组别id和组别名 + * @param competeGroupId 组别id + * @return 团队id + */ + List getTeamIdByCompeteGroupId(@Param("competeGroupId")long competeGroupId); + + /** + * 查询团队项目组别下的人数 + * @param teamId 组别id + * @return renshu + */ + int getCountByTeamId(@Param("teamId")long teamId); + + /** + * 查询团队项目的每个组别参赛队伍数 + * @param competeGroupId 组别id + * @return 团队成员id + */ + int getTeamCount(@Param("competeGroupId")long competeGroupId); + + /** + * 查询团队项目的每个组别参赛队伍数 + * @param type 组别id + * @return 团队成员id + */ + List getGroupIdNameFromGroup(@Param("type")long type); } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 433051ff..8c171e08 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -24,6 +24,8 @@ import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.core.io.DefaultResourceLoader; +import org.springframework.core.io.ResourceLoader; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -613,6 +615,7 @@ public class CompeteService implements ICompeteService{ //查询报名信息 int typeId = competeType.getType(); ArrayList arrayList = new ArrayList(); + List string = null; //1:查询该类型下所有项目的id,name,team信息,排除level为1的 List projectInfoList = competeEnrollDao.getProject(typeId); //2:根据team字段判断是否为团队项目 @@ -681,7 +684,6 @@ public class CompeteService implements ICompeteService{ //8:关联金山在线文档 String name = "跳绳比赛报名表" + ".xlsx"; String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; - String path = PropUtil.path + filepath; File tmpFile = new File(path); if (!tmpFile.getParentFile().exists()) { @@ -715,7 +717,88 @@ public class CompeteService implements ICompeteService{ e.printStackTrace(); } return filePath.get(0); - } + } + @Override + public String enrollPlayCount(QueryDto params) throws IOException { + //查询该类型下所有项目的id,name,team信息,排除level为1的的集合 + int typeId = 2; + //放总数据集合 + List list1 = new ArrayList<>(); + //根据type 查项目 + List projectInfoList = competeEnrollDao.getProject(typeId); + //根据type 查组别id,组别名 + List groupIdAndNameList = competeEnrollDao.getGroupIdNameFromGroup(typeId); + for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { + CompeteVo.GroupNum groupNum = new CompeteVo.GroupNum(); + groupNum.setName(projectInfo.getName()); + //查询所有组别 + List countList = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(groupIdAndNameList)) { + for (CompeteVo.Count groupIdAndName : groupIdAndNameList) { + CompeteVo.Count count1 = new CompeteVo.Count(); + count1.setGroup_name(groupIdAndName.getGroup_name()); +// groupIdAndNameList.forEach(groupIdAndName -> { + if (projectInfo.getTeam() == 0) { + CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); + projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); + long count = competeProjectPlayerMapper.countByExample(projectPlayerExample); + count1.setCount((int) count); + } else { + CompeteTeamExample teamExample = new CompeteTeamExample(); + teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); + long count = competeTeamDao.countByExample(teamExample); + count1.setCount((int) count); + } +// }); + countList.add(count1); + } + } + groupNum.setCountList(countList); + list1.add(groupNum); + } + //7:将数据放入excel表格 + ResourceLoader resourceLoader = new DefaultResourceLoader(); + InputStream is = resourceLoader.getResource("classpath:template/competeCount.xlsx").getInputStream(); + Workbook workbook = new XSSFWorkbook(is); + //生成excel表格对象,并将数据放入 + //生成表对象 + List> list = new ArrayList<>(); + //生成行对象 + List poiUtilCellList1 = new ArrayList<>(); + List poiUtilCellList2 = new ArrayList<>(); + List poiUtilCellList3 = new ArrayList<>(); + list.add(poiUtilCellList1); + list.add(poiUtilCellList2); + list.add(poiUtilCellList3); + + list1.forEach(excelist ->{ + List title = new ArrayList<>(); + title.add(new PoiUtil.PoiUtilCell()); + title.add(new PoiUtil.PoiUtilCell()); + title.add(new PoiUtil.PoiUtilCell()); + excelist.getCountList().forEach(count -> { + title.add(new PoiUtil.PoiUtilCell(String.valueOf(count.getCount()))); + }); + list.add(title); + }); + Workbook wbs = PoiUtil.exportWB("统计表", list, workbook); + String name = "跳绳比赛报名人数统计表" + ".xlsx"; + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + File file = new File(path); + try { + OutputStream outputStream = new FileOutputStream(file); + wbs.write(outputStream); + outputStream.close(); + }catch (IOException e) { + e.printStackTrace(); + } + return PropUtil.imgDomain + filepath; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index 87c616c4..791e1949 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -121,4 +121,14 @@ public interface ICompeteService { * @return 返回参赛者的详细信息 */ String enrollPlayInfo(QueryDto params) throws IOException; + + /** + * 根据项目类型查询参赛者信息 + * @param params 无 + * @return 返回参赛者数量 + */ + String enrollPlayCount(QueryDto params) throws IOException; + } + + diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index d082c0ea..5c2cd5c4 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod \ No newline at end of file + active: dev + include: common, util-dev \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml index 2572f53d..2260dcaa 100644 --- a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml @@ -20,6 +20,13 @@ + + + + + + + - \ No newline at end of file + + + + + + + + + diff --git a/mt/src/main/resources/template/competeCount.xlsx b/mt/src/main/resources/template/competeCount.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a3ee6592985314dcb51cbb2877bfc30c2ff29e18 GIT binary patch literal 10524 zcma)i1yr2L()Qr)?l!o4fCL720t5&W+}$05ySoJm9^47;PJ+9;BxrE`A-Q{ZH+S#- zzdmPX`t($FbwAy2b-i7Wyfg$PJm9$m$*qH)fBz_OPZa}eeR(@;8+&H?Co#;Y2H2ls zovL*_tY82DH#h)*`d2Ys8yhAUON;cF4k-v$OwmiC}u;T%%gQW;3)|j_=Mn<55@r0(!<(9<{(pL_e3AxZDHJr3WNElM>G->A5 zGJEIidNyK`AX7UvbqLxeP}Un;k8XBrB9}>2iEtLOJbDpsU4}v|B{swyi)=+zZOQOr zZ8i-|^^OK*XDnQU4IqzUg%}IZCd4I%L{qn9#3Ry|QnRbhFM1o~6|3w!Ql-G&M7?bT z5#ZciX!S$7wy%YovEnVMOGF$#ruu8&)~GLi@r#21Sv@K9y;=_3I0B9O8v8wPx0CCe zvy+F41%7+%^TX*#PjjznYQ0JP^$KeXaNbCo?-)!RiKyG6RIi8u#OFR5fynh;*KY2M zEfy$bb$J{5Uh8v5QDN49hnIaw6i)mJUXv$y(f$grzO|jVt^nRnjBez_X~K-{>u& zd<>ji1JpLX#<1`_kx21QA0o=&7kKIIJ2ne<3c*F9&<1%$=^abB#XeqhlqocO(!>)Uc-^z>QJW}NQ$4b6{Scj9ZX=Q#C zJAwE+>Q=NW^AAsGdp{wM@i){R?H#Nwf9~t(FJ}HMxT2Q7V*EJZ1&ed2!GWkF?9{><)vz|EkZbPFt)gPzgorV zp{NKW1J}^!aoRy+;AML}NWXoooy+1;`=ek(FUP81JN@CS4r zuvFoFk~Qiax{&!i;c3u4HKdbgKI*Pq&wdp1YczT);(b%x9?8bw3}M!JZjyJRl41&} zRJL6}N&{iM2L!wa+d^Eet+EMa?Ps|D*;PP1!R2D{(@FfZ0P-&ZXKOoidlN%LhuWlCtr<*nsq%Iu4e zyd1jN)hWl;Jmc=z0v3k)AynMqg@03fnA1_g>Ie9^7cXvT zBLrL#m_rsq}@RitK- zF%&97bTbxvCY{6wCL{rH?ia))5oJC5y8`bqFVc~9i}W$uhBnS!mKfIO`CnWe^-V@Z zJ_g>N9gKZ0U*SBMZn@#iHNet@5xlxd9G^`+r{e2n;*BM{FHILxSr$9ke8d#SF;Z!= z!tzqBeB@P3k8|kLPb5kZ7sZ=PLG#oKP$*tD<0iO1!ilhAqqrFk|DHB}z4U&pkoNU~ z7SGZYL22j6+jI+caF=+C#I?sTS8OW2u&Us4#tprt<;Ah!hsiXUDNM=rsdo6YJ+jC$ z&eUcHmy98mbfo+BYSCUh6Qy{C=?58bAxz#u7ooF_PbWI>yL(7yZeDxu|?PZnw`5*`K;_m5`_=OrdWWlH^^b6`KhM%iK>Ggj3Q$hUdOvtdY{&LAlU(iKO#__Q*< zpC1Db-m|7LQ!3;;J4TigeIgguwiJasBb(xIRi11V<(azj`8d2iQVW;wrsN`gdz>mA z4qe;`4l;U0ZSKeMm4RT@EwzEqcxVWO6d9yF=#@30hbj`MvDoIq0V4K$ZzVXA1fME+ zDo+)K=gM=7T8g>ICeS5rkL+McgR4{; zWR(de)`1+^WaG5qYOfECB6@nJ#}nya|F^Albm#pxMCKpx7YTV5$IB zkX7JS&{benjIoMBv|lr+;~^P7)?cH?$8f#QtUGN~qgWEzxt?Jn%3zbbQ(w8D^ow=fdQo z7yt}l4Im8=4ZscH4WJE>4ZsZG44@2<3?K|NfO-Ck9|SU^ES!C)m3kW~f+@FioX(x9 z#Zn(#A8L8N(L$Kc{U0#7F66Doydw?)b?=EzLQp zoc_2XH5Wx7*X8URH5>&L1(Gqq80r}8815M480Hw_7~vTB82T9e82%XaSe^f%snIQ~ z@`AWZ5V8Fg=GV+5O%dX3rflMD{%o*pvTU?$)@-o~vu%vnhs_kse__gn6Vl9o6vnY6k!3lC>m6|=jS3_(r^riPPO z!*(XrC=JGZHID(!Pu~Lp9y)wAaRD9%d^H*Y9(sH=6agMad^LOi9=d!rrT!jDd1^xZAIi2yRnSk7kP1Vs_plIm@_7L* z9iOktJ0_#FyX+PDpkW5ha+dR(l2n@yQ6F>10;()0wX)-v&yUNk&srI?l&ci1)uuHc zc)brlpeV$vaF6MTwh~K<=DS+7Wa!{y3L5DK|(X6J-o7KxGQcVd2a)C(2q+!3vsLT zJu8w#I^{r#j@(-p$W)0~aBR`(;tTZHQlQ-2g}kGxsZuWGqK6~@bd*N}R$otrfv)4_ zyjJ(R!k+=Glk|ht9*-*r6Lskf!TGkKNGSO>O_70QjH76gN~MV`qVVvYYkAV?z{&6o*cSr^eQgQL~pNut={!1ZwVlHl$vr!!8TirH;7VoluVcTV~iW6iP(bPE1&7+#%+ z%d$F^9P*Q?yo-`(Ptn2HTcTd(C;u89-akv1n>Pj~Ny==GBPdaem6qea%%4-He0f|M z;g94~=ywPEhCX~|R3^K7%g!I&4EhdrU{=)b#g0$NHw3tpNESmafo`GC7FM>ZO}WJ+w>yy~@zZ9bdN8FhUF%aEI--(WgeRT*A*8tT zZ;3lp8b`2wo3cJo0vitZ$6_EkbQ?O&-0LMum~-Q)XilYV@Ap`uzt#K1&<8KzWP2{1EMS@qxSXeip?-q!&a zv#}Jy45EAOT7)wKhI+^$-3w||$I zN)K~An|Es0)uh?9Y+)!~{Y;4_R27#)J?Sx`N7Nq4sdygr<_)dMe!9cmwiARD6-ccw zv;BaGp9*g>Ql45vgu>+-OCrPiDvUC237W8kT+NHs1NQ4i)1!m_;P+?=)q zR+d&Q^FVKWGFtq#7m7&Jh(%MfLuE1cv$KvPT#7O5BKC9ajLHg{6Qz37h+$k6=tE(g zu6|SG-J?ujkTaz(i#F?U)a&i!Xqq4)o5M46zGdW);Z7#TsZC;TIO3_KYKG6Z=vTJ0 z7p50T;ufvE`>YwFF-P%XqGL6HS75eOg%ME}dq;}M^u8pc3%S9ro2N#_>g z}1>uxqaI|$tqv0y8pP*P#W8)MoU|_ zaMBp*K1z4L8`v<$K-<-B*QByyf1tA0O`KR}<#nr}(Y2autu0V<0P>+))Gc@!^3Dl9WC!yU;BXL+0F3pXep4Y<3T2yMi{SkxHd^(kcG7vU2n0KVvsMPSOnf!XcfB>Nt zcuKH|llb@`o2P_qdqR5VK*~iQX50Oq8PwqB$cpQTjd450eOLQbL$R$`V4*(?VPJZk%wZdydZ7D;zX|jN+yeiS@G1JxY^ON|% zfirpL&i1lxY_=SvJ8iRmgG5c5gxs?%Py{}CdURdl;uiyz08NH_K=gQxfBckxG-uMF zSVz*Vz1of9XyCUvhFZqZcNqg?CNt(k2h+YJ4HnId%Yo(}$tF|f+DK$siyW0aJD(5| zS3#X^HSZ({Xl=E%gADLPctbqNIJDX5UyS1MO(Y6h4G_!zqlB9e#a%)31WggH4XHH$xzV8(oROu@eykW8AhA`t6s zq#@D;BhA&HVhI;3oi6zlm|v{+t$@{H=5qK#tG7-JLboZVfoXrHx9Cpld?qZX4Z4}F zNH(VoPqsGJ(JSwQVE6%RZ-k3cf!%y~7}}-b({$RG{Eu&yUj`c_WAB(ImOm6qr$sZc z%aKe@i}9O%1}D=_`uc`$1&z$ko`bw}{vp8tndyQ4L?DUhZMHxGeuBMyt8OIQ%yMMR zo9%U>##p9=37zh#DtcD-g7H9hcJ1x2)Vm40ZO1iuua9*DbXI;eRp1njT1q6Z`)68O zpC4!eu+okQ3A0yxoc;H?nPHp3ns<4peRkA6UDT*bgJUZ~;BWIv6>Wkq`3CG_IN@J5 zzETkTf>25=1@H|A0E>F%+W94#9S-EF)J60%MEk4Bm9ixnGSmdUovw-Ff@u(_sp%3v zlPORkWOb{B6g8A3xLB$uXQd9=gnTiABU9i(c)Ombwu+eG)H3#dB{0Sp=&0UO8S#q0 zwjeR3o>3v9yH_NorUup)p$n%r-qK}=K{h(Mo?Q^6XXx9_X7P?t77rjto*wZ5Bt^gz zQo|LxM6it3!O{%T^er43Ey0vWypDiP1x+|;o-3mFTGuDW$QTH3TR z=OamtP+VgE2a!fpJ8)Xze#zWgRxBIU0FhoZ_2kwvE)#LhG*$c)+5n!C}YZg96QXOy412ht80i;oCDLo5Vf z=+}|FAaYnQfv~nDsb2rgJ;A_ZBQYN^b(-vi^=-G%OV9UxNqRE`?Dr+)4CRW;86m>& zIWwNj6?|a){%T-9nBWtBcn=CH>&E$9f_2<ozVSAor|)=XS3J*O@+{ih~(;>xmf4exNH5OemXmaZUN9Bmk#M+P=5dF<>7n) z(Z_sE!t;H-K%(hEp=cb~#uR7YAgFoH0fjqxfB84im~#z;237!hAN=rY6ID$XrVt2W z=p4)-g)QDhXbNx$I2^|IWNUuSw%Hu-ay(6is~JQ#C3o{cT;(yvew#o&1uymhLGpzU zSs(96rE8%&X*L;cmfW@&vG%*51~^A_enk3f zcm`WIt&R>|{DBh~n;wIUtl^kf9mz>ol`z*i6e)_(cBAS|gjKid8$r#F=w7YyLA;Ko zn#k-ANmuLz;qn?Kx`_<%?;Yg14H=^$HXW$Nw({Vky=8&Z(P*L_USMLIfa}h1fXv!g z(GEEJVUL-B3KpW6Mw~EYy(PA`!*CeIm)d$7Bm~o{Fx6MUpFrcHu_M$3S67q6pzIBi<@8t z(w4=F!v$V8%NI@$BfCwwX!ghw zYCTc+*ClA0hl`Jkui73hPSa?}uZ+N`C?nRw1o$D2l6m6 zP#hgw>(p3ibI!KT5No7&|I{H5 zg7cJQYD_XlCDu|u@znbPe6y>&vDUw^7PGrqdcWPHE z+MIeEG|x2Q)4$XB$ZQMm0>}9)R(S}ntd0xoVBR|(WN_}oaAz}XP+r_{-hm*3`C9fJ zcM@?{snnlZl+R?S*(|!mHj9N_P%-XQ#9All?(M7#biW^_%!^f5O)QQUJ6U!W9(=c& zJiGXMSZ1nJBXuj=Z@e3|`i@8Cyg|U9-G;Z7`^>Gw2!)cJQFXQpe3$Z!aM_gnM zJHy$aVh=M0D6e$SX*yeLSPzkHwsxvVeTu=Z-KaB*N0Pq>?i~inprfbUks2fb@SG}r zy2P=s(JAcc^kw7Qy#v+LQ-l(ZcInkvpzmFkpIh&Tx_+{wQ$>P5IC`Mfe~6kVg1 zyO_dfr5H>!YZFe%h?X?{I`I|s(P=DmBX!jHLJEFu1IlGH?keA zzN8yrOUt>h=667DUQSx&-8#z(3`$z#9&!xSshf_|sjK!}FLFJ|F!n$ydk;F&Q^uTG zhPZWjc$YR%8>H~*qrOmm3thc={WNQtzRwBIcapAQpQhJ%K3V1rO6j5RkvawbzCq+! zWP?PXHpq{s56YiOEP!qb#TI9Vn4}j#l(_cc6~3mBUi2!Gf}M$S5sNBAirdEmPL5eX*^H2X1+AV zbqID}T65AI>(#xN04pi}eXeYt))7Ln%~Azjx5g(FT$e<{tF%yb7VZ0(PPQn= z(`L zP|Gg=YCNW{1}A9a1Sm+bh_A&Lbp39FD#!M6_gMQH<-cFQK4ljH+IEH(zo#DEUpO^C zKK-}ylx%-`?f#bx)3ao0?1)r13u^C??-A;DtE@8?+MEM3`FB|ZPw!-z$5ASbSha)J z7C{Au$wru{l-}cM+c_v_tribDvTM!>@oaxw}k~}Drk5jaOM?jy#kE_K>-fHkvtT&TbUiM|r zGF`BH6SVD%faYs!>!NR8S6`*%2#>JSZz{#4J6c3zh5LEr%(kJPi$X*5jMzEy4;?v6 z1(lQ-#@ncALyEOu^{#y z`L+0sdD@Ogu!^N?^=8eKx&!p-y-f6Aq&3p&Gy6ZPWjQ3hL(KGVJE9(1SZX+$M4>X% zXOTDHp+RK2;hKbQMLt4d&I-0Xt_uT03YVy$KRT)-nN>@ao~(hOwS_at(k0farJB*P zrVWFD-cw>dPZZ5pN0}zFjBtzF8R5M@_qJR6bg>MYzonKBvW?z+Y|&S)MPA9iJ!Cyj zfR&Aq-4);&Z~^vmP4z=#Z^;A;Y6rQ#!wT$^)3VP`J}bTYl6u0x*U94<>&6?Vf!LFZ zSdbh!NqRbLOB-V$&5MKEa%H>q+kJoGiMqYkyL{?Hp%`8NSCC8MHd!f?h+_2Sp_C$%%Tp!V=c-_GZh1>3MkH}brx{qu{%<;6U^q1(s>Y6Q%vjW5+I@?N zrb{GgU)n@gfzel-f)Rd^@vI>qWBKZWYR6>MZtdQ}$J8Rds+gjV#6|eBLy19#F5~T) z`v%ZgQ01i+c3nwo2x@pDdCZ$uhkb8FD>y9WZO++UZ*Bv>lN^7iZRhs7!-(tNB^PWX}%jc~zb!`mIKRSNsbKOD9 zOM`)9{yeUKF`Is0nWx18fB{IKzKtpVah-m3@XxG=XP5JnGNdIsyzZ?DC1wHHh zGWz4+IzJzo|7Gm?nfz6rjXjsYkhlIm$=~T)&%(d#QU6u#Uu3S|NBcWF=}+yzr!D<& zqknLfepmmUX7i`|-IL4sQ~lqhoBuWGXX44P@;qt!r^xHc-~2CyzoSGz{uc-J`#^v9 zWY2bfp(ONIwg2#IzxVTdT=-`{FNyv+O8mWt->-!K?7{De9`+n({`-RX|2}v5r^D_^ z^^bJq-*?FG3CTY#I{#Je&-CQ)L;gM1`LhE}lAm_}3fuo0^fPnlS9xAxnO`gXHy+X7 mNB%pL=vnvIs=54!?w`COd1 cells = rows.get(i); for (int j = 0; j < cells.size(); j++) { CellStyle style = wb.createCellStyle(); - + //将内容按顺序赋给对应的列对象 PoiUtilCell cell = cells.get(j); + if (StrUtil.isEmpty(cell.value)){ + continue; + } Cell newCell = row.createCell(j); //设置行高 if (ObjectUtil.isNotNull(cell.height)) { From bbbd851c65417c28b7713f644ed1517858b7b9ed Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 15 Oct 2020 18:07:19 +0800 Subject: [PATCH 22/72] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=A0=87=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/service/CompeteService.java | 5 + mt/src/main/resources/application.yml | 4 +- .../com/ccsens/tall/bean/dto/LabelDto.java | 14 + .../com/ccsens/tall/bean/po/ProTaskLabel.java | 84 +++ .../tall/bean/po/ProTaskLabelExample.java | 561 ++++++++++++++++++ .../com/ccsens/tall/bean/po/SysLabel.java | 11 + .../ccsens/tall/bean/po/SysLabelExample.java | 60 ++ .../com/ccsens/tall/bean/po/SysProject.java | 33 ++ .../tall/bean/po/SysProjectExample.java | 180 ++++++ .../com/ccsens/tall/bean/vo/ProjectVo.java | 9 + .../java/com/ccsens/tall/bean/vo/TaskVo.java | 2 + .../ccsens/tall/persist/dao/ProRoleDao.java | 2 +- .../ccsens/tall/persist/dao/SysLabelDao.java | 10 +- .../persist/mapper/ProTaskLabelMapper.java | 30 + .../ccsens/tall/service/ILabelService.java | 18 +- .../ccsens/tall/service/IProRoleService.java | 2 +- .../com/ccsens/tall/service/LabelService.java | 245 +++++--- .../ccsens/tall/service/ProRoleService.java | 39 +- .../ccsens/tall/service/ProjectService.java | 38 +- .../com/ccsens/tall/web/LabelController.java | 32 +- .../com/ccsens/tall/web/RoleController.java | 9 +- tall/src/main/resources/application.yml | 4 +- .../main/resources/mapper_dao/ProRoleDao.xml | 26 +- .../main/resources/mapper_dao/SysLabelDao.xml | 33 +- .../resources/mapper_dao/SysProjectDao.xml | 9 + .../resources/mapper_dao/TaskDetailDao.xml | 1 + .../mapper_raw/ProTaskLabelMapper.xml | 228 +++++++ .../resources/mapper_raw/SysLabelMapper.xml | 26 +- .../resources/mapper_raw/SysProjectMapper.xml | 58 +- 29 files changed, 1652 insertions(+), 121 deletions(-) create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProTaskLabel.java create mode 100644 tall/src/main/java/com/ccsens/tall/bean/po/ProTaskLabelExample.java create mode 100644 tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskLabelMapper.java create mode 100644 tall/src/main/resources/mapper_raw/ProTaskLabelMapper.xml diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 433051ff..21793177 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -544,6 +544,11 @@ public class CompeteService implements ICompeteService{ if (project == null) { throw new BaseException(CodeEnum.PARAM_ERROR); } + CompeteProjectGroupExample projectGroupExample = new CompeteProjectGroupExample(); + projectGroupExample.createCriteria().andProjectIdEqualTo(project.getId()).andGroupIdEqualTo(projectAndGroup.getGroupId()); + if(competeProjectGroupMapper.countByExample(projectGroupExample) == 0){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } //单人项目直接添加信息和分组 if (project.getTeam() == Constant.Compete.TEAM_NO) { // 个人赛 diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index d082c0ea..5c2cd5c4 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod \ No newline at end of file + active: dev + include: common, util-dev \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/LabelDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/LabelDto.java index c448d2f1..b380e25c 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/LabelDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/LabelDto.java @@ -25,6 +25,8 @@ public class LabelDto { private String description; @ApiModelProperty("优先级") private int level; + @ApiModelProperty("标签类型 0项目标签 1任务标签") + private byte type = 0; } @Data @ApiModel("删除标签") @@ -50,6 +52,8 @@ public class LabelDto { private String description; @ApiModelProperty("优先级") private int level; + @ApiModelProperty("标签类型 0项目标签 1任务标签") + private Byte type; } @Data @@ -61,4 +65,14 @@ public class LabelDto { @ApiModelProperty("标签id") private List labelList; } + + @Data + @ApiModel("给项目添加标签") + public static class TaskLabel{ + @NotNull + @ApiModelProperty("项目id") + private Long taskId; + @ApiModelProperty("标签id") + private List labelList; + } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskLabel.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskLabel.java new file mode 100644 index 00000000..ee8f78ee --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskLabel.java @@ -0,0 +1,84 @@ +package com.ccsens.tall.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class ProTaskLabel implements Serializable { + private Long id; + + private Long taskDetailId; + + private Long labelId; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTaskDetailId() { + return taskDetailId; + } + + public void setTaskDetailId(Long taskDetailId) { + this.taskDetailId = taskDetailId; + } + + public Long getLabelId() { + return labelId; + } + + public void setLabelId(Long labelId) { + this.labelId = labelId; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", taskDetailId=").append(taskDetailId); + sb.append(", labelId=").append(labelId); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskLabelExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskLabelExample.java new file mode 100644 index 00000000..60eec890 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/po/ProTaskLabelExample.java @@ -0,0 +1,561 @@ +package com.ccsens.tall.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class ProTaskLabelExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public ProTaskLabelExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdIsNull() { + addCriterion("task_detail_id is null"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdIsNotNull() { + addCriterion("task_detail_id is not null"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdEqualTo(Long value) { + addCriterion("task_detail_id =", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdNotEqualTo(Long value) { + addCriterion("task_detail_id <>", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdGreaterThan(Long value) { + addCriterion("task_detail_id >", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdGreaterThanOrEqualTo(Long value) { + addCriterion("task_detail_id >=", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdLessThan(Long value) { + addCriterion("task_detail_id <", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdLessThanOrEqualTo(Long value) { + addCriterion("task_detail_id <=", value, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdIn(List values) { + addCriterion("task_detail_id in", values, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdNotIn(List values) { + addCriterion("task_detail_id not in", values, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdBetween(Long value1, Long value2) { + addCriterion("task_detail_id between", value1, value2, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andTaskDetailIdNotBetween(Long value1, Long value2) { + addCriterion("task_detail_id not between", value1, value2, "taskDetailId"); + return (Criteria) this; + } + + public Criteria andLabelIdIsNull() { + addCriterion("label_id is null"); + return (Criteria) this; + } + + public Criteria andLabelIdIsNotNull() { + addCriterion("label_id is not null"); + return (Criteria) this; + } + + public Criteria andLabelIdEqualTo(Long value) { + addCriterion("label_id =", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdNotEqualTo(Long value) { + addCriterion("label_id <>", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdGreaterThan(Long value) { + addCriterion("label_id >", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdGreaterThanOrEqualTo(Long value) { + addCriterion("label_id >=", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdLessThan(Long value) { + addCriterion("label_id <", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdLessThanOrEqualTo(Long value) { + addCriterion("label_id <=", value, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdIn(List values) { + addCriterion("label_id in", values, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdNotIn(List values) { + addCriterion("label_id not in", values, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdBetween(Long value1, Long value2) { + addCriterion("label_id between", value1, value2, "labelId"); + return (Criteria) this; + } + + public Criteria andLabelIdNotBetween(Long value1, Long value2) { + addCriterion("label_id not between", value1, value2, "labelId"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysLabel.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysLabel.java index 63e30b09..a5b1fe37 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysLabel.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysLabel.java @@ -24,6 +24,8 @@ public class SysLabel implements Serializable { private Byte recStatus; + private Byte businessType; + private static final long serialVersionUID = 1L; public Long getId() { @@ -106,6 +108,14 @@ public class SysLabel implements Serializable { this.recStatus = recStatus; } + public Byte getBusinessType() { + return businessType; + } + + public void setBusinessType(Byte businessType) { + this.businessType = businessType; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -122,6 +132,7 @@ public class SysLabel implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", businessType=").append(businessType); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysLabelExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysLabelExample.java index 5abb17a5..cfd729a5 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysLabelExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysLabelExample.java @@ -744,6 +744,66 @@ public class SysLabelExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andBusinessTypeIsNull() { + addCriterion("business_type is null"); + return (Criteria) this; + } + + public Criteria andBusinessTypeIsNotNull() { + addCriterion("business_type is not null"); + return (Criteria) this; + } + + public Criteria andBusinessTypeEqualTo(Byte value) { + addCriterion("business_type =", value, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeNotEqualTo(Byte value) { + addCriterion("business_type <>", value, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeGreaterThan(Byte value) { + addCriterion("business_type >", value, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeGreaterThanOrEqualTo(Byte value) { + addCriterion("business_type >=", value, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeLessThan(Byte value) { + addCriterion("business_type <", value, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeLessThanOrEqualTo(Byte value) { + addCriterion("business_type <=", value, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeIn(List values) { + addCriterion("business_type in", values, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeNotIn(List values) { + addCriterion("business_type not in", values, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeBetween(Byte value1, Byte value2) { + addCriterion("business_type between", value1, value2, "businessType"); + return (Criteria) this; + } + + public Criteria andBusinessTypeNotBetween(Byte value1, Byte value2) { + addCriterion("business_type not between", value1, value2, "businessType"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysProject.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysProject.java index 1763d352..cb77a0fb 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysProject.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysProject.java @@ -32,6 +32,12 @@ public class SysProject implements Serializable { private Byte recStatus; + private Long parentId; + + private Byte homePageShow; + + private Byte highlight; + private static final long serialVersionUID = 1L; public Long getId() { @@ -146,6 +152,30 @@ public class SysProject implements Serializable { this.recStatus = recStatus; } + public Long getParentId() { + return parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + public Byte getHomePageShow() { + return homePageShow; + } + + public void setHomePageShow(Byte homePageShow) { + this.homePageShow = homePageShow; + } + + public Byte getHighlight() { + return highlight; + } + + public void setHighlight(Byte highlight) { + this.highlight = highlight; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -166,6 +196,9 @@ public class SysProject implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", parentId=").append(parentId); + sb.append(", homePageShow=").append(homePageShow); + sb.append(", highlight=").append(highlight); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysProjectExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysProjectExample.java index 2c31c159..c7f63bed 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysProjectExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysProjectExample.java @@ -974,6 +974,186 @@ public class SysProjectExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andParentIdIsNull() { + addCriterion("parent_id is null"); + return (Criteria) this; + } + + public Criteria andParentIdIsNotNull() { + addCriterion("parent_id is not null"); + return (Criteria) this; + } + + public Criteria andParentIdEqualTo(Long value) { + addCriterion("parent_id =", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotEqualTo(Long value) { + addCriterion("parent_id <>", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThan(Long value) { + addCriterion("parent_id >", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdGreaterThanOrEqualTo(Long value) { + addCriterion("parent_id >=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThan(Long value) { + addCriterion("parent_id <", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdLessThanOrEqualTo(Long value) { + addCriterion("parent_id <=", value, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdIn(List values) { + addCriterion("parent_id in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotIn(List values) { + addCriterion("parent_id not in", values, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdBetween(Long value1, Long value2) { + addCriterion("parent_id between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andParentIdNotBetween(Long value1, Long value2) { + addCriterion("parent_id not between", value1, value2, "parentId"); + return (Criteria) this; + } + + public Criteria andHomePageShowIsNull() { + addCriterion("home_page_show is null"); + return (Criteria) this; + } + + public Criteria andHomePageShowIsNotNull() { + addCriterion("home_page_show is not null"); + return (Criteria) this; + } + + public Criteria andHomePageShowEqualTo(Byte value) { + addCriterion("home_page_show =", value, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowNotEqualTo(Byte value) { + addCriterion("home_page_show <>", value, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowGreaterThan(Byte value) { + addCriterion("home_page_show >", value, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowGreaterThanOrEqualTo(Byte value) { + addCriterion("home_page_show >=", value, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowLessThan(Byte value) { + addCriterion("home_page_show <", value, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowLessThanOrEqualTo(Byte value) { + addCriterion("home_page_show <=", value, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowIn(List values) { + addCriterion("home_page_show in", values, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowNotIn(List values) { + addCriterion("home_page_show not in", values, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowBetween(Byte value1, Byte value2) { + addCriterion("home_page_show between", value1, value2, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHomePageShowNotBetween(Byte value1, Byte value2) { + addCriterion("home_page_show not between", value1, value2, "homePageShow"); + return (Criteria) this; + } + + public Criteria andHighlightIsNull() { + addCriterion("highlight is null"); + return (Criteria) this; + } + + public Criteria andHighlightIsNotNull() { + addCriterion("highlight is not null"); + return (Criteria) this; + } + + public Criteria andHighlightEqualTo(Byte value) { + addCriterion("highlight =", value, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightNotEqualTo(Byte value) { + addCriterion("highlight <>", value, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightGreaterThan(Byte value) { + addCriterion("highlight >", value, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightGreaterThanOrEqualTo(Byte value) { + addCriterion("highlight >=", value, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightLessThan(Byte value) { + addCriterion("highlight <", value, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightLessThanOrEqualTo(Byte value) { + addCriterion("highlight <=", value, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightIn(List values) { + addCriterion("highlight in", values, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightNotIn(List values) { + addCriterion("highlight not in", values, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightBetween(Byte value1, Byte value2) { + addCriterion("highlight between", value1, value2, "highlight"); + return (Criteria) this; + } + + public Criteria andHighlightNotBetween(Byte value1, Byte value2) { + addCriterion("highlight not between", value1, value2, "highlight"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java index 014b4d5a..4abbc5ba 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/ProjectVo.java @@ -45,6 +45,15 @@ public class ProjectVo { @ApiModelProperty("WPS文件信息") private List wpsFilePaths; + @ApiModelProperty("子项目信息") + private List subProjectList; + @ApiModelProperty("是否在首页展示 0否 1是") + private byte homePageShow; + @ApiModelProperty("是否高亮展示 0否 1是") + private byte highlight; + @ApiModelProperty("父项目id") + private Long parentId; + public Long getTotalDuration(){ if(ObjectUtil.isNotNull(endTime) && ObjectUtil.isNotNull(beginTime)){ return endTime - beginTime; diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java index cea8915e..cc2161d0 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/TaskVo.java @@ -86,6 +86,8 @@ public class TaskVo { private String name; @ApiModelProperty("详细描述") private String description; + @ApiModelProperty("父任务名称") + private String parentName; @ApiModelProperty("所属项目id") private Long projectId; @ApiModelProperty("所属项目名称") diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java index 10535203..6b4a4c3e 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java @@ -50,7 +50,7 @@ public interface ProRoleDao extends ProRoleMapper{ */ String getMemberNameByProjectId(@Param("projectId")Long projectId,@Param("parentRoleName")String parentRoleName); -// ProjectVo.RoleInfo getRoleInfoByRoleId(Long roleId); + ProjectVo.RoleInfo getRoleInfoByRoleId(@Param("roleId")Long roleId); // /** // * 查找项目下的所有成员的名字用“,”分隔 diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/SysLabelDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/SysLabelDao.java index 064794c6..4d783454 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/SysLabelDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/SysLabelDao.java @@ -9,7 +9,15 @@ import java.util.List; @Repository public interface SysLabelDao extends SysLabelMapper { - List selectLabelByUserId(@Param("userId")Long userId,@Param("key")String key); + List selectLabelByUserId(@Param("userId")Long userId,@Param("key")String key,@Param("type")Byte type); List selectLabelByProjectId(@Param("userId")Long userId,@Param("projectId")Long projectId); + + /** + * 查询任务下的标签信息 + * @param userId + * @param taskId + * @return + */ + List selectLabelByTaskId(@Param("userId")Long userId, @Param("taskId")Long taskId); } diff --git a/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskLabelMapper.java b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskLabelMapper.java new file mode 100644 index 00000000..ada5af7a --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/persist/mapper/ProTaskLabelMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.tall.persist.mapper; + +import com.ccsens.tall.bean.po.ProTaskLabel; +import com.ccsens.tall.bean.po.ProTaskLabelExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface ProTaskLabelMapper { + long countByExample(ProTaskLabelExample example); + + int deleteByExample(ProTaskLabelExample example); + + int deleteByPrimaryKey(Long id); + + int insert(ProTaskLabel record); + + int insertSelective(ProTaskLabel record); + + List selectByExample(ProTaskLabelExample example); + + ProTaskLabel selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") ProTaskLabel record, @Param("example") ProTaskLabelExample example); + + int updateByExample(@Param("record") ProTaskLabel record, @Param("example") ProTaskLabelExample example); + + int updateByPrimaryKeySelective(ProTaskLabel record); + + int updateByPrimaryKey(ProTaskLabel record); +} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/ILabelService.java b/tall/src/main/java/com/ccsens/tall/service/ILabelService.java index f921fee1..5796a001 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ILabelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ILabelService.java @@ -8,7 +8,7 @@ import java.util.List; public interface ILabelService { List addLabel(Long userId,LabelDto.AddLabel labelList); - List selectLabel(Long currentUserId,String key); + List selectLabel(Long currentUserId,String key,Byte type); void delLabel(Long currentUserId, LabelDto.DelLabel delLabel); @@ -17,4 +17,20 @@ public interface ILabelService { List projectAddLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel); List projectRemoveLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel); + + /** + * 给任务添加标签 + * @param currentUserId userId + * @param taskLabel 标签信息 + * @return 返回标签信息 + */ + List taskAddLabel(Long currentUserId, LabelDto.TaskLabel taskLabel); + + /** + * 删除任务的标签 + * @param currentUserId + * @param taskLabel + * @return + */ + List taskRemoveLabel(Long currentUserId, LabelDto.TaskLabel taskLabel); } diff --git a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java index f219bacf..eadf5e09 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IProRoleService.java @@ -40,7 +40,7 @@ public interface IProRoleService { * @param projectId 项目id * @return 返回一级任务和里程碑 */ - List queryByProjectVirtualRole(RoleDto.ProjectId projectId); + List queryByProjectVirtualRole(RoleDto.ProjectId projectId); // /** // * 查找项目下的角色包含“全体成员” diff --git a/tall/src/main/java/com/ccsens/tall/service/LabelService.java b/tall/src/main/java/com/ccsens/tall/service/LabelService.java index 8b325520..fcc10701 100644 --- a/tall/src/main/java/com/ccsens/tall/service/LabelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/LabelService.java @@ -8,76 +8,86 @@ import cn.hutool.core.util.StrUtil; import com.ccsens.tall.bean.dto.LabelDto; import com.ccsens.tall.bean.po.*; import com.ccsens.tall.bean.vo.LabelVo; -import com.ccsens.tall.persist.dao.SysLabelDao; -import com.ccsens.tall.persist.dao.SysProjectDao; -import com.ccsens.tall.persist.dao.SysProjectLabelDao; +import com.ccsens.tall.persist.dao.*; +import com.ccsens.tall.persist.mapper.ProTaskLabelMapper; +import com.ccsens.tall.persist.mapper.ProTaskSubTimeMapper; import com.ccsens.util.CodeEnum; import com.ccsens.util.WebConstant; import com.ccsens.util.exception.BaseException; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.retry.annotation.Recover; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; @Service -public class LabelService implements ILabelService{ - @Autowired +public class LabelService implements ILabelService { + @Resource private Snowflake snowflake; - @Autowired + @Resource private SysLabelDao sysLabelDao; - @Autowired + @Resource private SysProjectDao sysProjectDao; - @Autowired + @Resource private SysProjectLabelDao sysProjectLabelDao; - @Autowired - private ProRoleService proRoleService; + @Resource + private ProTaskLabelMapper proTaskLabelMapper; + @Resource + private ProTaskSubTimeMapper taskSubTimeMapper; + @Resource + private TaskDetailDao taskDetailDao; /** * 添加标签 + * * @param label 添加的标签信息 */ @Override - public List addLabel(Long userId,LabelDto.AddLabel label) { - if(ObjectUtil.isNotNull(label)){ + public List addLabel(Long userId, LabelDto.AddLabel label) { + if (ObjectUtil.isNotNull(label)) { SysLabelExample sysLabelExample = new SysLabelExample(); - sysLabelExample.createCriteria().andNameEqualTo(label.getName()).andUserIdEqualTo(userId); + sysLabelExample.createCriteria().andNameEqualTo(label.getName()).andUserIdEqualTo(userId).andBusinessTypeEqualTo(label.getType()); List sysLabels = sysLabelDao.selectByExample(sysLabelExample); - if(CollectionUtil.isNotEmpty(sysLabels)){ + if (CollectionUtil.isNotEmpty(sysLabels)) { throw new BaseException(CodeEnum.REPEAT_LABEL); } SysLabel sysLabel = new SysLabel(); sysLabel.setId(snowflake.nextId()); sysLabel.setUserId(userId); - BeanUtil.copyProperties(label,sysLabel); + sysLabel.setBusinessType(label.getType()); + BeanUtil.copyProperties(label, sysLabel); sysLabelDao.insertSelective(sysLabel); } - return sysLabelDao.selectLabelByUserId(userId,null); + return sysLabelDao.selectLabelByUserId(userId, null, label.getType()); } /** * 查找此用户的所有标签 + * * @param currentUserId userId - * @param key 标签名包含的关键字 + * @param key 标签名包含的关键字 * @return 返回该用户添加的所有标签 */ @Override - public List selectLabel(Long currentUserId,String key) { - return sysLabelDao.selectLabelByUserId(currentUserId,key); + public List selectLabel(Long currentUserId, String key, Byte type) { + return sysLabelDao.selectLabelByUserId(currentUserId, key, type); } /** * 删除标签 + * * @param currentUserId userID - * @param delLabel 被删除的标签id + * @param delLabel 被删除的标签id */ @Override public void delLabel(Long currentUserId, LabelDto.DelLabel delLabel) { SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(delLabel.getId()); - if(ObjectUtil.isNull(sysLabel)){ + if (ObjectUtil.isNull(sysLabel)) { throw new BaseException(CodeEnum.NOT_LABEL); } - if(sysLabel.getUserId().longValue() != currentUserId){ + if (sysLabel.getUserId().longValue() != currentUserId) { throw new BaseException(CodeEnum.NOT_POWER); } sysLabel.setRecStatus((byte) 2); @@ -86,41 +96,46 @@ public class LabelService implements ILabelService{ /** * 修改标签 + * * @param currentUserId userid - * @param changeLabel 修改后的标签信息 + * @param changeLabel 修改后的标签信息 */ @Override public void changeLabel(Long currentUserId, LabelDto.ChangeLabel changeLabel) { SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(changeLabel.getId()); - if(ObjectUtil.isNull(sysLabel)){ + if (ObjectUtil.isNull(sysLabel)) { throw new BaseException(CodeEnum.NOT_LABEL); } - if(sysLabel.getUserId().longValue() != currentUserId){ + if (sysLabel.getUserId().longValue() != currentUserId) { throw new BaseException(CodeEnum.NOT_POWER); } - if(StrUtil.isNotEmpty(changeLabel.getName())){ + if (StrUtil.isNotEmpty(changeLabel.getName())) { sysLabel.setName(changeLabel.getName()); } - if(StrUtil.isNotEmpty(changeLabel.getCode())){ + if (StrUtil.isNotEmpty(changeLabel.getCode())) { sysLabel.setCode(changeLabel.getCode()); } - if(StrUtil.isNotEmpty(changeLabel.getColor())){ + if (StrUtil.isNotEmpty(changeLabel.getColor())) { sysLabel.setColor(changeLabel.getColor()); } - if(StrUtil.isNotEmpty(changeLabel.getDescription())){ + if (StrUtil.isNotEmpty(changeLabel.getDescription())) { sysLabel.setDescription(changeLabel.getDescription()); } - if(ObjectUtil.isNotNull(changeLabel.getLevel())){ + if (ObjectUtil.isNotNull(changeLabel.getLevel())) { sysLabel.setLevel((byte) changeLabel.getLevel()); } + if (ObjectUtil.isNotNull(changeLabel.getType())) { + sysLabel.setBusinessType(changeLabel.getType()); + } sysLabelDao.updateByPrimaryKeySelective(sysLabel); } /** * 给项目添加标签 + * * @param currentUserId userid - * @param projectLabel 项目id和标签id + * @param projectLabel 项目id和标签id */ @Override public List projectAddLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel) { @@ -130,25 +145,25 @@ public class LabelService implements ILabelService{ //用户在项目中的最高权限 // int power = proRoleService.selectPowerByRoleName(currentUserId, projectLabel.getProjectId()); // if (power > 1) { - if(CollectionUtil.isNotEmpty(projectLabel.getLabelList())){ - projectLabel.getLabelList().forEach(labelId->{ - SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); - if(ObjectUtil.isNull(sysLabel)){ - throw new BaseException(CodeEnum.NOT_LABEL); - } - if(sysLabel.getUserId().longValue() != currentUserId){ - throw new BaseException(CodeEnum.NOT_POWER); - } - //添加项目和标签的关联信息 - SysProjectLabel sysProjectLabel = new SysProjectLabel(); - sysProjectLabel.setId(snowflake.nextId()); - sysProjectLabel.setProjectId(projectLabel.getProjectId()); - sysProjectLabel.setLabelId(labelId); - sysProjectLabelDao.insertSelective(sysProjectLabel); - }); - } - //查询项目内的标签信息 - selectLabelList = sysLabelDao.selectLabelByProjectId(currentUserId,project.getId()); + if (CollectionUtil.isNotEmpty(projectLabel.getLabelList())) { + projectLabel.getLabelList().forEach(labelId -> { + SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); + if (ObjectUtil.isNull(sysLabel)) { + throw new BaseException(CodeEnum.NOT_LABEL); + } + if (sysLabel.getUserId().longValue() != currentUserId) { + throw new BaseException(CodeEnum.NOT_POWER); + } + //添加项目和标签的关联信息 + SysProjectLabel sysProjectLabel = new SysProjectLabel(); + sysProjectLabel.setId(snowflake.nextId()); + sysProjectLabel.setProjectId(projectLabel.getProjectId()); + sysProjectLabel.setLabelId(labelId); + sysProjectLabelDao.insertSelective(sysProjectLabel); + }); + } + //查询项目内的标签信息 + selectLabelList = sysLabelDao.selectLabelByProjectId(currentUserId, project.getId()); // } else { // throw new BaseException(CodeEnum.NOT_POWER); // } @@ -160,8 +175,9 @@ public class LabelService implements ILabelService{ /** * 删除项目关联的标签 + * * @param currentUserId userID - * @param projectLabel 项目id和被删除的标签的id + * @param projectLabel 项目id和被删除的标签的id */ @Override public List projectRemoveLabel(Long currentUserId, LabelDto.ProjectLabel projectLabel) { @@ -171,35 +187,110 @@ public class LabelService implements ILabelService{ //用户在项目中的最高权限 // int power = proRoleService.selectPowerByRoleName(currentUserId, projectLabel.getProjectId()); // if (power > 1) { - if(CollectionUtil.isNotEmpty(projectLabel.getLabelList())){ - projectLabel.getLabelList().forEach(labelId -> { - SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); - if(ObjectUtil.isNull(sysLabel)){ - throw new BaseException(CodeEnum.NOT_LABEL); - } - if(sysLabel.getUserId().longValue() != currentUserId){ - throw new BaseException(CodeEnum.NOT_POWER); - } - //添加项目和标签的关联信息 - SysProjectLabelExample sysProjectLabelExample = new SysProjectLabelExample(); - sysProjectLabelExample.createCriteria().andProjectIdEqualTo(projectLabel.getProjectId()).andLabelIdEqualTo(labelId); - List sysProjectLabelList = sysProjectLabelDao.selectByExample(sysProjectLabelExample); - if(CollectionUtil.isNotEmpty(sysProjectLabelList)){ - sysProjectLabelList.forEach(label -> { - label.setRecStatus((byte) 2); - sysProjectLabelDao.updateByPrimaryKeySelective(label); - }); - } - }); - } - //查询项目内的标签信息 - selectLabelList = sysLabelDao.selectLabelByProjectId(currentUserId,project.getId()); - } else { - throw new BaseException(CodeEnum.NOT_POWER); + if (CollectionUtil.isNotEmpty(projectLabel.getLabelList())) { + projectLabel.getLabelList().forEach(labelId -> { + SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); + if (ObjectUtil.isNull(sysLabel)) { + throw new BaseException(CodeEnum.NOT_LABEL); + } + if (sysLabel.getUserId().longValue() != currentUserId) { + throw new BaseException(CodeEnum.NOT_POWER); + } + //项目和标签的关联信息 + SysProjectLabelExample sysProjectLabelExample = new SysProjectLabelExample(); + sysProjectLabelExample.createCriteria().andProjectIdEqualTo(projectLabel.getProjectId()).andLabelIdEqualTo(labelId); + List sysProjectLabelList = sysProjectLabelDao.selectByExample(sysProjectLabelExample); + if (CollectionUtil.isNotEmpty(sysProjectLabelList)) { + sysProjectLabelList.forEach(label -> { + label.setRecStatus((byte) 2); + sysProjectLabelDao.updateByPrimaryKeySelective(label); + }); + } + }); } + //查询项目内的标签信息 + selectLabelList = sysLabelDao.selectLabelByProjectId(currentUserId, project.getId()); // } else { -// throw new BaseException(CodeEnum.NOT_PROJECT); +// throw new BaseException(CodeEnum.NOT_POWER); // } + } else { + throw new BaseException(CodeEnum.NOT_PROJECT); + } + return selectLabelList; + } + + + @Override + public List taskAddLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) { + Long taskId = taskLabel.getTaskId(); + ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); + if (ObjectUtil.isNotNull(proTaskSubTime)) { + taskId = proTaskSubTime.getTaskDetailId(); + } + List selectLabelList; + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); + if (ObjectUtil.isNull(taskDetail)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { + Long finalTaskId = taskId; + taskLabel.getLabelList().forEach(labelId -> { + SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); + if (ObjectUtil.isNull(sysLabel)) { + throw new BaseException(CodeEnum.NOT_LABEL); + } + if (sysLabel.getUserId().longValue() != currentUserId) { + throw new BaseException(CodeEnum.NOT_POWER); + } + //添加项目和标签的关联信息 + ProTaskLabel proTaskLabel = new ProTaskLabel(); + proTaskLabel.setId(snowflake.nextId()); + proTaskLabel.setTaskDetailId(finalTaskId); + proTaskLabel.setLabelId(labelId); + proTaskLabelMapper.insertSelective(proTaskLabel); + }); + } + //查询项目内的标签信息 + selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); + return selectLabelList; + } + + @Override + public List taskRemoveLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) { + Long taskId = taskLabel.getTaskId(); + ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); + if (ObjectUtil.isNotNull(proTaskSubTime)) { + taskId = proTaskSubTime.getTaskDetailId(); + } + List selectLabelList; + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); + if (ObjectUtil.isNull(taskDetail)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { + Long finalTaskId = taskId; + taskLabel.getLabelList().forEach(labelId -> { + SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); + if (ObjectUtil.isNull(sysLabel)) { + throw new BaseException(CodeEnum.NOT_LABEL); + } + if (sysLabel.getUserId().longValue() != currentUserId) { + throw new BaseException(CodeEnum.NOT_POWER); + } + //项目和标签的关联信息 + ProTaskLabelExample taskLabelExample = new ProTaskLabelExample(); + taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId); + List proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample); + if (CollectionUtil.isNotEmpty(proTaskLabelList)) { + proTaskLabelList.forEach(label -> { + label.setRecStatus((byte) 2); + proTaskLabelMapper.updateByPrimaryKeySelective(label); + }); + } + }); + } + //查询项目内的标签信息 + selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); return selectLabelList; } } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 956dc7a5..8f7ad1f2 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -1,5 +1,6 @@ package com.ccsens.tall.service; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; @@ -387,6 +388,10 @@ public class ProRoleService implements IProRoleService { } //修改关联项目id if(ObjectUtil.isNotNull(updateRole.getRelevanceProjectId())){ + SysProject project = sysProjectDao.selectByPrimaryKey(updateRole.getRelevanceProjectId()); + if(ObjectUtil.isNull(project)){ + throw new BaseException(CodeEnum.NOT_PROJECT); + } //检查角色是否是角色项目 ProRole parentRole = proRoleDao.selectByPrimaryKey(proRole.getParentId()); if(parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.ProjectVirtualRole.value)){ @@ -394,8 +399,7 @@ public class ProRoleService implements IProRoleService { } } proRoleDao.updateByPrimaryKeySelective(proRole); - - return null; + return getRoleInfoByRoleId(proRole.getId()); } @Override @@ -448,8 +452,8 @@ public class ProRoleService implements IProRoleService { } @Override - public List queryByProjectVirtualRole(RoleDto.ProjectId projectId) { - List taskList = new ArrayList<>(); + public List queryByProjectVirtualRole(RoleDto.ProjectId projectId) { + List taskList = new ArrayList<>(); //查找项目 SysProject project = sysProjectDao.selectByPrimaryKey(projectId.getProjectId()); if (ObjectUtil.isNull(project)) { @@ -462,21 +466,32 @@ public class ProRoleService implements IProRoleService { log.info("查找到一级任务:{}",firstTaskDetailList); if (CollectionUtil.isNotEmpty(firstTaskDetailList)) { firstTaskDetailList.forEach(firstTaskDetail -> { - TaskVo.TaskListByProjectId firstTask = taskDetailDao.getTaskById(firstTaskDetail.getId()); + int sequence = 1; + TaskVo.NormalTask normalTask = new TaskVo.NormalTask(); + BeanUtil.copyProperties(firstTaskDetail, normalTask); + normalTask.setDetailId(firstTaskDetail.getId()); + normalTask.setSequence(sequence); + List secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(),1); + List secondList = new ArrayList<>(); if(CollectionUtil.isNotEmpty(secondTaskList)){ - secondTaskList.forEach(secondTask -> secondTask.setParentName(firstTaskDetail.getName())); + secondTaskList.forEach(secondTask -> { + TaskVo.NormalTask second = new TaskVo.NormalTask(); + BeanUtil.copyProperties(secondTask, second); + second.setParentName(firstTaskDetail.getName()); + secondList.add(second); + }); } - firstTask.setSecondTasks(secondTaskList); - taskList.add(firstTask); + normalTask.setSecondTasks(secondList); + taskList.add(normalTask); }); } return taskList; } -// -// private ProjectVo.RoleInfo getRoleInfoByRoleId(Long roleId){ -// return proRoleDao.getRoleInfoByRoleId(roleId); -// } + + private ProjectVo.RoleInfo getRoleInfoByRoleId(Long roleId){ + return proRoleDao.getRoleInfoByRoleId(roleId); + } // @Override // public RoleVo.RoleByProjectId queryRoleByProjectId(Long projectId) { diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index 26505a75..5effaeb4 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -174,6 +174,7 @@ public class ProjectService implements IProjectService { //查找此用户关注的项目 List projectInfoList = sysProjectDao.findProjectIdByUserId01(currentUserId, startMillisTime, endMillisTime,orderType,order); projectByProject(projectInfoList,currentUserId,token); + return projectInfoList; } private void projectByProject(List projectInfoList, Long currentUserId,String token){ @@ -219,6 +220,12 @@ public class ProjectService implements IProjectService { projectInfo.setProjectUnreadMsg(unreadMsg); //获取wps文件路径 projectInfo.setWpsFilePaths(wpsService.queryVisitUrls(projectInfo.getId(), (byte) 0,token, null)); + //子项目 + projectInfo.setSubProjectList(queryProjectInfoByParentId(currentUserId,projectInfo.getId(),token)); + //是否首页展示 + if(projectInfo.getParentId() == 0 || projectInfo.getParentId() == null){ + projectInfo.setHomePageShow((byte) 1); + } }); } } @@ -300,13 +307,41 @@ public class ProjectService implements IProjectService { /** * 通过项目id查询项目 - * * @param userId 用户id * @param projectId 项目id * @return 返回项目信息 */ @Override public ProjectVo.ProjectInfo getProjectInfoById(Long userId, Long projectId,String token) { + ProjectVo.ProjectInfo projectInfo = getProjectInfoByProjectId(userId,projectId,token); + projectInfo.setHomePageShow((byte) 1); + //TODO 查看项目下的子任务 + projectInfo.setSubProjectList(queryProjectInfoByParentId(userId,projectInfo.getId(),token)); + return projectInfo; + } + + /** + * 查看项目下的子项目信息 + */ + private List queryProjectInfoByParentId(Long userId,Long parentId,String token){ + List projectInfoList = new ArrayList<>(); + //查询改项目下的子项目 + SysProjectExample sysProjectExample = new SysProjectExample(); + sysProjectExample.createCriteria().andParentIdEqualTo(parentId); + List sysProjectList = sysProjectDao.selectByExample(sysProjectExample); + if(CollectionUtil.isNotEmpty(sysProjectList)){ + sysProjectList.forEach(project ->{ + ProjectVo.ProjectInfo projectInfo = getProjectInfoByProjectId(userId,project.getId(),token); + projectInfoList.add(projectInfo); + }); + } + return projectInfoList; + } + + /** + * 通过项目id查询项目信息 + */ + private ProjectVo.ProjectInfo getProjectInfoByProjectId(Long userId, Long projectId,String token){ SysProject sysProject = sysProjectDao.selectByPrimaryKey(projectId); if(ObjectUtil.isNull(sysProject)){ throw new BaseException(CodeEnum.NOT_PROJECT); @@ -361,6 +396,7 @@ public class ProjectService implements IProjectService { return projectInfo; } + /** * 根据类型查项目 项目类型 0普通项目 1模板项目 2常驻项目 * @return 返回项目信息 diff --git a/tall/src/main/java/com/ccsens/tall/web/LabelController.java b/tall/src/main/java/com/ccsens/tall/web/LabelController.java index 5b6b95f1..3f161ba3 100644 --- a/tall/src/main/java/com/ccsens/tall/web/LabelController.java +++ b/tall/src/main/java/com/ccsens/tall/web/LabelController.java @@ -1,10 +1,7 @@ package com.ccsens.tall.web; import com.ccsens.tall.bean.dto.LabelDto; -import com.ccsens.tall.bean.dto.ProjectDto; -import com.ccsens.tall.bean.vo.DomainVo; import com.ccsens.tall.bean.vo.LabelVo; -import com.ccsens.tall.bean.vo.ProjectVo; import com.ccsens.tall.service.ILabelService; import com.ccsens.util.JsonResponse; import com.ccsens.util.WebConstant; @@ -29,12 +26,14 @@ public class LabelController { @ApiOperation(value = "搜索标签",notes = "") @ApiImplicitParams({ + @ApiImplicitParam(name = "type", value = "标签类型 0项目标签 1任务标签", required = true, paramType = "query"), }) @RequestMapping(value = "", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) public JsonResponse> selectLabel(HttpServletRequest request, - @RequestParam(required = false)String key) throws Exception { + @RequestParam(required = false)String key,Byte type) throws Exception { + type = type == null ? 0 : type; Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); - List selectLabelList = labelService.selectLabel(currentUserId,key); + List selectLabelList = labelService.selectLabel(currentUserId,key,type); return JsonResponse.newInstance().ok(selectLabelList); } @@ -93,4 +92,27 @@ public class LabelController { return JsonResponse.newInstance().ok(selectLabelList); } + + @ApiOperation(value = "给任务添加标签",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/task", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> taskAddLabel(HttpServletRequest request, + @Validated @RequestBody LabelDto.TaskLabel taskLabel) throws Exception { + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + List selectLabelList = labelService.taskAddLabel(currentUserId,taskLabel); + return JsonResponse.newInstance().ok(selectLabelList); + } + + @ApiOperation(value = "删除项目关联的标签",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/task/del", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> taskRemoveLabel(HttpServletRequest request, + @Validated @RequestBody LabelDto.TaskLabel taskLabel) throws Exception { + Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); + List selectLabelList = labelService.taskRemoveLabel(currentUserId,taskLabel); + return JsonResponse.newInstance().ok(selectLabelList); + } + } diff --git a/tall/src/main/java/com/ccsens/tall/web/RoleController.java b/tall/src/main/java/com/ccsens/tall/web/RoleController.java index 4f5ca1ca..2544227f 100644 --- a/tall/src/main/java/com/ccsens/tall/web/RoleController.java +++ b/tall/src/main/java/com/ccsens/tall/web/RoleController.java @@ -2,7 +2,6 @@ package com.ccsens.tall.web; import com.ccsens.tall.bean.dto.RoleDto; import com.ccsens.tall.bean.vo.ProjectVo; -import com.ccsens.tall.bean.vo.RoleVo; import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.service.IProRoleService; import com.ccsens.util.JsonResponse; @@ -57,7 +56,7 @@ public class RoleController { @ApiParam @Validated @RequestBody RoleDto.UpdateRole updateRole) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); ProjectVo.RoleInfo roleInfo = proRoleService.updateRole(currentUserId,updateRole); - return JsonResponse.newInstance().ok(); + return JsonResponse.newInstance().ok(roleInfo); } @ApiOperation(value = "给角色添加成员",notes = "") @@ -97,10 +96,10 @@ public class RoleController { @ApiImplicitParams({ }) @RequestMapping(value = "/ProjectVirtualRole", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> queryByProjectVirtualRole(HttpServletRequest request, - @ApiParam @Validated @RequestBody RoleDto.ProjectId projectId) throws Exception { + public JsonResponse> queryByProjectVirtualRole(HttpServletRequest request, + @ApiParam @Validated @RequestBody RoleDto.ProjectId projectId) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); - List taskListByProjectIdList = proRoleService.queryByProjectVirtualRole(projectId); + List taskListByProjectIdList = proRoleService.queryByProjectVirtualRole(projectId); return JsonResponse.newInstance().ok(taskListByProjectIdList); } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index 4fc2efe4..c88e995d 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: util-prod,common + active: test + include: util-test,common diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index b6ce36c1..74370b2c 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -14,6 +14,8 @@ + + @@ -209,6 +211,28 @@ AND r1.`name` = #{parentRoleName} - + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/SysLabelDao.xml b/tall/src/main/resources/mapper_dao/SysLabelDao.xml index 27f92b6f..b3847b97 100644 --- a/tall/src/main/resources/mapper_dao/SysLabelDao.xml +++ b/tall/src/main/resources/mapper_dao/SysLabelDao.xml @@ -3,11 +3,21 @@ + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/SysProjectDao.xml b/tall/src/main/resources/mapper_dao/SysProjectDao.xml index b271a3aa..f8dde6c8 100644 --- a/tall/src/main/resources/mapper_dao/SysProjectDao.xml +++ b/tall/src/main/resources/mapper_dao/SysProjectDao.xml @@ -18,6 +18,9 @@ + + + @@ -131,6 +134,9 @@ p.address AS pAddress, p.begin_time AS pBeginTime, p.end_time AS pEndTime, + p.home_page_show as homePageShow, + p.highlight as highlight, + p.parent_id as parentId, if(p.creator_id = #{userId},true,false) as pCreator, l.id as lId, l.name as lName, @@ -190,6 +196,9 @@ p.address AS pAddress, p.begin_time AS pBeginTime, p.end_time AS pEndTime, + p.home_page_show as homePageShow, + p.highlight as highlight, + p.parent_id as parentId, if(p.creator_id = #{userId},true,false) as pCreator, l.id as lId, l.name as lName, diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index bae3cbf4..8c62ff37 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -551,6 +551,7 @@ t.cycle as cycle, t.money as money, t.project_id as projectId, + t.milestone as milestone, (SELECT `name` FROM t_sys_project WHERE id = t.project_id) as projectName, t.executor_role as executorRole, (SELECT `name` FROM t_pro_role WHERE id = t.executor_role) as executorRoleName, diff --git a/tall/src/main/resources/mapper_raw/ProTaskLabelMapper.xml b/tall/src/main/resources/mapper_raw/ProTaskLabelMapper.xml new file mode 100644 index 00000000..7dd42bf7 --- /dev/null +++ b/tall/src/main/resources/mapper_raw/ProTaskLabelMapper.xml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, task_detail_id, label_id, created_at, updated_at, rec_status + + + + + delete from t_pro_task_label + where id = #{id,jdbcType=BIGINT} + + + delete from t_pro_task_label + + + + + + insert into t_pro_task_label (id, task_detail_id, label_id, + created_at, updated_at, rec_status + ) + values (#{id,jdbcType=BIGINT}, #{taskDetailId,jdbcType=BIGINT}, #{labelId,jdbcType=BIGINT}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} + ) + + + insert into t_pro_task_label + + + id, + + + task_detail_id, + + + label_id, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{taskDetailId,jdbcType=BIGINT}, + + + #{labelId,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_pro_task_label + + + id = #{record.id,jdbcType=BIGINT}, + + + task_detail_id = #{record.taskDetailId,jdbcType=BIGINT}, + + + label_id = #{record.labelId,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_pro_task_label + set id = #{record.id,jdbcType=BIGINT}, + task_detail_id = #{record.taskDetailId,jdbcType=BIGINT}, + label_id = #{record.labelId,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_pro_task_label + + + task_detail_id = #{taskDetailId,jdbcType=BIGINT}, + + + label_id = #{labelId,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_pro_task_label + set task_detail_id = #{taskDetailId,jdbcType=BIGINT}, + label_id = #{labelId,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/SysLabelMapper.xml b/tall/src/main/resources/mapper_raw/SysLabelMapper.xml index 9885577b..b8732f19 100644 --- a/tall/src/main/resources/mapper_raw/SysLabelMapper.xml +++ b/tall/src/main/resources/mapper_raw/SysLabelMapper.xml @@ -12,6 +12,7 @@ + @@ -72,7 +73,8 @@ - id, name, code, color, description, level, user_id, created_at, updated_at, rec_status + id, name, code, color, description, level, user_id, created_at, updated_at, rec_status, + business_type @@ -220,6 +228,9 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + business_type = #{record.businessType,jdbcType=TINYINT}, + @@ -236,7 +247,8 @@ user_id = #{record.userId,jdbcType=BIGINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + business_type = #{record.businessType,jdbcType=TINYINT} @@ -271,6 +283,9 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + business_type = #{businessType,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -284,7 +299,8 @@ user_id = #{userId,jdbcType=BIGINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + business_type = #{businessType,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/SysProjectMapper.xml b/tall/src/main/resources/mapper_raw/SysProjectMapper.xml index e543673b..b8c39700 100644 --- a/tall/src/main/resources/mapper_raw/SysProjectMapper.xml +++ b/tall/src/main/resources/mapper_raw/SysProjectMapper.xml @@ -16,6 +16,9 @@ + + + @@ -77,7 +80,8 @@ id, creator_id, parent_task_id, scene_id, name, description, begin_time, end_time, - address, published, template, created_at, updated_at, rec_status + address, published, template, created_at, updated_at, rec_status, parent_id, home_page_show, + highlight @@ -263,6 +287,15 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, + + parent_id = #{record.parentId,jdbcType=BIGINT}, + + + home_page_show = #{record.homePageShow,jdbcType=TINYINT}, + + + highlight = #{record.highlight,jdbcType=TINYINT}, + @@ -283,7 +316,10 @@ template = #{record.template,jdbcType=TINYINT}, created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} + rec_status = #{record.recStatus,jdbcType=TINYINT}, + parent_id = #{record.parentId,jdbcType=BIGINT}, + home_page_show = #{record.homePageShow,jdbcType=TINYINT}, + highlight = #{record.highlight,jdbcType=TINYINT} @@ -330,6 +366,15 @@ rec_status = #{recStatus,jdbcType=TINYINT}, + + parent_id = #{parentId,jdbcType=BIGINT}, + + + home_page_show = #{homePageShow,jdbcType=TINYINT}, + + + highlight = #{highlight,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -347,7 +392,10 @@ template = #{template,jdbcType=TINYINT}, created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} + rec_status = #{recStatus,jdbcType=TINYINT}, + parent_id = #{parentId,jdbcType=BIGINT}, + home_page_show = #{homePageShow,jdbcType=TINYINT}, + highlight = #{highlight,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file From 71511c482cbb5f2170db32a94009e41be1e849ab Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 16 Oct 2020 10:46:49 +0800 Subject: [PATCH 23/72] 9-16 --- mt/src/main/java/com/ccsens/mt/service/CompeteService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 8c171e08..5f592fe6 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -733,7 +733,6 @@ public class CompeteService implements ICompeteService{ for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { CompeteVo.GroupNum groupNum = new CompeteVo.GroupNum(); groupNum.setName(projectInfo.getName()); - //查询所有组别 List countList = new ArrayList<>(); if (CollectionUtil.isNotEmpty(groupIdAndNameList)) { for (CompeteVo.Count groupIdAndName : groupIdAndNameList) { From 06fb52342f20eee48f3f712a8cd4239c40eaa01b Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 16 Oct 2020 11:01:56 +0800 Subject: [PATCH 24/72] 9-16 --- .../com/ccsens/mt/api/CompeteController.java | 15 +- .../com/ccsens/mt/service/CompeteService.java | 201 +++++++++++------- .../ccsens/mt/service/ICompeteService.java | 10 +- 3 files changed, 140 insertions(+), 86 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index 8e5425ba..13afa118 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -171,13 +171,20 @@ public class CompeteController { } @ApiOperation(value = "报名表人数表下载", notes = "") - @RequestMapping(value = "/enrollCount", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) - public JsonResponse enrollPlayCount() throws IOException { -// log.info("查询各个项目报名人员信息:{}",); - String path = competeService.enrollPlayCount(); + @RequestMapping(value = "/enrollCountDownload", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse enrollPlayCountDownLoad() throws IOException { + log.info("查询各个项目报名人员信息:{}"); + String path = competeService.enrollPlayCountDownLoad(); return JsonResponse.newInstance().ok(path); } + @ApiOperation(value = "报名表人数统计", notes = "") + @RequestMapping(value = "/enrollCount", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse enrollPlayCount() throws IOException { + log.info("查询各个项目报名人员信息:{}"); + List list = competeService.enrollPlayCount(); + return JsonResponse.newInstance().ok(list); + } // @MustLogin // @ApiOperation(value = "查询比赛项目上的参赛选手列表", notes = "") diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 1c806b6e..0f3d8770 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -43,7 +43,7 @@ import java.util.List; @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) -public class CompeteService implements ICompeteService{ +public class CompeteService implements ICompeteService { @Resource private CompeteTimeDao competeTimeDao; @Resource @@ -81,7 +81,7 @@ public class CompeteService implements ICompeteService{ @Override public CompeteVo.CompeteTime getCompeteTime(QueryDto params) { CompeteDto.CompeteType competeType = params.getParam(); - return competeTimeDao.getCompeteTimeByType(competeType.getType(),System.currentTimeMillis()); + return competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis()); } /** @@ -96,7 +96,7 @@ public class CompeteService implements ICompeteService{ @Override public List queryGroupByProject(QueryDto params) { CompeteDto.QueryGroupByProject competeType = params.getParam(); - List competeGroups = competeTimeDao.queryGroupByProject(competeType.getType(),competeType.getProjectId()); + List competeGroups = competeTimeDao.queryGroupByProject(competeType.getType(), competeType.getProjectId()); // // // CompeteDto.QueryGroupByProject competeType = params.getParam(); @@ -118,12 +118,12 @@ public class CompeteService implements ICompeteService{ public List queryCompeteCompany(QueryDto params) { CompeteDto.CompeteTypeAndKey competeTypeAndKey = params.getParam(); String key = competeTypeAndKey.getType() + Constant.Redis.COMPETE_COMPANY; - Object list = redisUtil.lGet(key,0,-1); + Object list = redisUtil.lGet(key, 0, -1); List competeCompanyList = (List) list; List companyList = new ArrayList<>(); competeCompanyList.forEach(competeCompany -> { - if(competeCompany.getGroupName().contains(competeTypeAndKey.getKey())){ + if (competeCompany.getGroupName().contains(competeTypeAndKey.getKey())) { companyList.add(competeCompany); } }); @@ -141,8 +141,8 @@ public class CompeteService implements ICompeteService{ redisUtil.del(key); //根据type查找数据库内所有参赛单位 List competeCompanyList = competeTimeDao.queryCompeteCompanyByType(competeType.getType()); - if(CollectionUtil.isNotEmpty(competeCompanyList)){ - competeCompanyList.forEach(competeCompany -> redisUtil.lSet(key,competeCompany,Constant.Redis.COMPETE_COMPANY_TIME)); + if (CollectionUtil.isNotEmpty(competeCompanyList)) { + competeCompanyList.forEach(competeCompany -> redisUtil.lSet(key, competeCompany, Constant.Redis.COMPETE_COMPANY_TIME)); } } @@ -164,17 +164,17 @@ public class CompeteService implements ICompeteService{ //检查此用户是否已经报名 CompetePlayerExample playerExample = new CompetePlayerExample(); playerExample.createCriteria().andUserIdEqualTo(userId); - if(competePlayerDao.countByExample(playerExample) != 0){ + if (competePlayerDao.countByExample(playerExample) != 0) { throw new BaseException(CodeEnum.PLAYER_INFO_ALREADY); } //检查组别是否存在 CompeteGroup group = competeGroupMapper.selectByPrimaryKey(competePlayerInfo.getGroupId()); - if(ObjectUtil.isNull(group)){ + if (ObjectUtil.isNull(group)) { throw new BaseException(CodeEnum.PARAM_ERROR); } //检查参赛单位是否存在,不存在则添加 CompeteCompany company = new CompeteCompany(); - if(StrUtil.isNotEmpty(competePlayerInfo.getCompanyName())) { + if (StrUtil.isNotEmpty(competePlayerInfo.getCompanyName())) { CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); competeCompanyExample.createCriteria().andNameEqualTo(competePlayerInfo.getCompanyName()); List companyList = competeCompanyMapper.selectByExample(competeCompanyExample); @@ -195,17 +195,17 @@ public class CompeteService implements ICompeteService{ } //添加基本信息 CompetePlayer player = new CompetePlayer(); - BeanUtil.copyProperties(competePlayerInfo,player); + BeanUtil.copyProperties(competePlayerInfo, player); player.setId(snowflake.nextId()); player.setUserId(userId); player.setCompeteTimeId(competePlayerInfo.getCompeteTimeId()); player.setCompeteGroupId(competePlayerInfo.getGroupId()); - if(ObjectUtil.isNotNull(company)) { + if (ObjectUtil.isNotNull(company)) { player.setCompanyId(company.getId()); } competePlayerDao.insertSelective(player); //添加亲子组其他参赛人员信息 - if(StrUtil.isNotEmpty(competePlayerInfo.getFamily())){ + if (StrUtil.isNotEmpty(competePlayerInfo.getFamily())) { String names = StringUtil.replaceComma(competePlayerInfo.getFamily()); String[] familyNames = names.split(","); if (ObjectUtil.isNotNull(familyNames)) { @@ -227,11 +227,11 @@ public class CompeteService implements ICompeteService{ // TODO - LevelDto.LevelUserDto levelUserDto = new LevelDto.LevelUserDto(player.getId(),null,player.getName(),null); - log.info("将选手信息储存在晋级系统中:{}",levelUserDto); + LevelDto.LevelUserDto levelUserDto = new LevelDto.LevelUserDto(player.getId(), null, player.getName(), null); + log.info("将选手信息储存在晋级系统中:{}", levelUserDto); levelUpService.saveLevelUser(levelUserDto); - return new CompeteVo.CompetePlayerInfo(player, group, company,getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); + return new CompeteVo.CompetePlayerInfo(player, group, company, getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); } /** @@ -253,16 +253,16 @@ public class CompeteService implements ICompeteService{ CompeteProjectExample projectExample = new CompeteProjectExample(); projectExample.createCriteria().andTypeEqualTo((byte) competeType.getType()).andLevelEqualTo((byte) 2); List competeProjectList = competeProjectMapper.selectByExample(projectExample); - if(CollectionUtil.isNotEmpty(competeProjectList)){ + if (CollectionUtil.isNotEmpty(competeProjectList)) { competeProjectList.forEach(competeProject -> { CompeteProjectGroupExample projectGroupExample = new CompeteProjectGroupExample(); projectGroupExample.createCriteria().andProjectIdEqualTo(competeProject.getId()) .andGroupIdEqualTo(competeType.getGroupId()); - if(competeProjectGroupMapper.countByExample(projectGroupExample) != 0){ + if (competeProjectGroupMapper.countByExample(projectGroupExample) != 0) { competeProjectList.remove(competeProject); - }else { + } else { CompeteVo.CompeteSecondProject secondProject = new CompeteVo.CompeteSecondProject(); - BeanUtil.copyProperties(competeProject,secondProject); + BeanUtil.copyProperties(competeProject, secondProject); competeSecondProjects.add(secondProject); } }); @@ -302,7 +302,7 @@ public class CompeteService implements ICompeteService{ } else { // 团体赛 - pageJoinedTeam(project, player, params.getParam().getCompeteTimeId(), null ,false); + pageJoinedTeam(project, player, params.getParam().getCompeteTimeId(), null, false); // 创建团队 CompeteTeam team = new CompeteTeam(); team.setId(snowflake.nextId()); @@ -312,7 +312,7 @@ public class CompeteService implements ICompeteService{ team.setCertificate(params.getParam().getCertificate()); team.setGenderGroup(player.getGender()); String url = PropUtil.signUpUrl + "home?teamId=" + team.getId(); - String qrCode = WebConstant.Wx.getAuthedUrl(url,WebConstant.WxGzhAuthType.SNSAPI_USERINFO + String qrCode = WebConstant.Wx.getAuthedUrl(url, WebConstant.WxGzhAuthType.SNSAPI_USERINFO , (String) redisUtil.get(WebConstant.Wx.ACCOUNT_WX_APPID)); String qrCodeVisit = QrCodeUtil.urlToQRCode(qrCode, PropUtil.path); team.setQrCode(qrCodeVisit); @@ -329,10 +329,10 @@ public class CompeteService implements ICompeteService{ CompeteGroup group = competeGroupMapper.selectByPrimaryKey(player.getCompeteGroupId()); CompeteCompany company = competeCompanyMapper.selectByPrimaryKey(player.getCompanyId()); - CompeteVo.CompetePlayerInfo info = new CompeteVo.CompetePlayerInfo(player, group, company,getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); + CompeteVo.CompetePlayerInfo info = new CompeteVo.CompetePlayerInfo(player, group, company, getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId())); - LevelDto.LevelUpDto levelUpDto = new LevelDto.LevelUpDto(params.getParam().getCompeteTimeId(),params.getParam().getCompeteProjectId().toString(),player.getId()); - log.info("添加晋级表信息,{}",levelUpDto); + LevelDto.LevelUpDto levelUpDto = new LevelDto.LevelUpDto(params.getParam().getCompeteTimeId(), params.getParam().getCompeteProjectId().toString(), player.getId()); + log.info("添加晋级表信息,{}", levelUpDto); levelUpService.joinCompete(levelUpDto); log.info("{}参加返回:{}", params.getUserId(), info); @@ -358,7 +358,7 @@ public class CompeteService implements ICompeteService{ return getCompeteProjectAll(params.getUserId(), params.getParam().getCompeteTimeId()); } - private CompeteVo.CompeteProjectAllByUser getCompeteProjectAll(Long userId, Long competeTimeId){ + private CompeteVo.CompeteProjectAllByUser getCompeteProjectAll(Long userId, Long competeTimeId) { List competeTiwnProjects = competeTeamDao.queryTiwn(userId, competeTimeId); List competeTeamProjects = competeTeamDao.queryTeam(userId, competeTimeId); //封装队员信息和总队员数 @@ -388,7 +388,7 @@ public class CompeteService implements ICompeteService{ */ @Override public CompeteVo.GetPlayerInfo getCompetePlayerInfo(QueryDto params) { - return competePlayerDao.getInfo(params.getUserId(),params.getParam().getCompeteTimeId()); + return competePlayerDao.getInfo(params.getUserId(), params.getParam().getCompeteTimeId()); } /** @@ -410,7 +410,7 @@ public class CompeteService implements ICompeteService{ // 项目信息 CompeteProject project = competeProjectMapper.selectByPrimaryKey(team.getProjectId()); // 判断是否已加入其他团队 - pageJoinedTeam(project, player, team.getCompeteTimeId(), creator, true); + pageJoinedTeam(project, player, team.getCompeteTimeId(), creator, true); // 判断团队人数 CompeteTeamMemberExample teamMemberExample = new CompeteTeamMemberExample(); teamMemberExample.createCriteria().andCompeteTeamIdEqualTo(team.getId()); @@ -441,16 +441,17 @@ public class CompeteService implements ICompeteService{ parent = competeProjectMapper.selectByPrimaryKey(project.getParentId()); } - CompeteVo.CompeteTeamProject teamProject = new CompeteVo.CompeteTeamProject(team, Constant.Compete.TEAM_LEADER_NO, project, parent == null ? "" : parent.getName(), members); + CompeteVo.CompeteTeamProject teamProject = new CompeteVo.CompeteTeamProject(team, Constant.Compete.TEAM_LEADER_NO, project, parent == null ? "" : parent.getName(), members); return teamProject; } /** * 判断是否已加入其他团队 - * @param project 项目信息 + * + * @param project 项目信息 * @param competeTimeId 比赛ID - * @param player 选手信息 - * @param creator 队长信息 + * @param player 选手信息 + * @param creator 队长信息 */ private void pageJoinedTeam(CompeteProject project, CompetePlayer player, Long competeTimeId, CompetePlayer creator, boolean pageLeader) { long joinedTeam = 0; @@ -459,11 +460,11 @@ public class CompeteService implements ICompeteService{ // 1.与队长同单位且同组别 if (pageLeader) { if (!player.getCompanyId().equals(creator.getCompanyId())) { - log.info("单位不一样:{},{}",player.getCompanyId(), creator.getCompanyId()); + log.info("单位不一样:{},{}", player.getCompanyId(), creator.getCompanyId()); throw new BaseException(CodeEnum.TEAM_COMPANY_NOT_SAME); } if (player.getCompeteGroupId().longValue() != creator.getCompeteGroupId().longValue()) { - log.info("组别不一样:{},{}",player.getCompanyId(), creator.getCompanyId()); + log.info("组别不一样:{},{}", player.getCompanyId(), creator.getCompanyId()); throw new BaseException(CodeEnum.TEAM_GROUP_NOT_SAME); } } @@ -496,16 +497,16 @@ public class CompeteService implements ICompeteService{ CompeteVo.QueryPlayerList queryPlayerList = new CompeteVo.QueryPlayerList(); //查找项目信息 CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(competeTimeAndType.getCompeteProjectId()); - if(ObjectUtil.isNull(competeProject)){ + if (ObjectUtil.isNull(competeProject)) { throw new BaseException(CodeEnum.PARAM_ERROR); } - if(competeProject.getTeam() == 0){ + if (competeProject.getTeam() == 0) { List playerInfoByProjectList = - competeTeamDao.getPlayerByProjectId(competeTimeAndType.getCompeteProjectId(),competeTimeAndType.getCompeteTimeId()); + competeTeamDao.getPlayerByProjectId(competeTimeAndType.getCompeteProjectId(), competeTimeAndType.getCompeteTimeId()); queryPlayerList.setPlayerList(playerInfoByProjectList); - }else { + } else { List teamInfoByProjectList = - competeTeamDao.getTeamByProjectId(competeTimeAndType.getCompeteProjectId(),competeTimeAndType.getCompeteTimeId()); + competeTeamDao.getTeamByProjectId(competeTimeAndType.getCompeteProjectId(), competeTimeAndType.getCompeteTimeId()); queryPlayerList.setTeamList(teamInfoByProjectList); } return queryPlayerList; @@ -527,13 +528,13 @@ public class CompeteService implements ICompeteService{ CompetePlayerExample playerExample = new CompetePlayerExample(); playerExample.createCriteria().andUserIdEqualTo(userId).andIdCardEqualTo(playerAndProject.getIdCard()); List playerList = competePlayerDao.selectByExample(playerExample); - if(CollectionUtil.isNotEmpty(playerList)){ + if (CollectionUtil.isNotEmpty(playerList)) { //有则直接使用 player = playerList.get(0); - }else { + } else { //没有则添加 player = new CompetePlayer(); - BeanUtil.copyProperties(playerAndProject,player); + BeanUtil.copyProperties(playerAndProject, player); player.setId(snowflake.nextId()); player.setUserId(userId); player.setCompeteTimeId(playerAndProject.getCompeteTimeId()); @@ -541,7 +542,7 @@ public class CompeteService implements ICompeteService{ } //读取项目信息 - if(CollectionUtil.isNotEmpty(playerAndProject.getProjectAndGroups())){ + if (CollectionUtil.isNotEmpty(playerAndProject.getProjectAndGroups())) { playerAndProject.getProjectAndGroups().forEach(projectAndGroup -> { CompeteProject project = competeProjectMapper.selectByPrimaryKey(projectAndGroup.getProjectId()); log.info("项目信息:{}", project); @@ -550,7 +551,7 @@ public class CompeteService implements ICompeteService{ } CompeteProjectGroupExample projectGroupExample = new CompeteProjectGroupExample(); projectGroupExample.createCriteria().andProjectIdEqualTo(project.getId()).andGroupIdEqualTo(projectAndGroup.getGroupId()); - if(competeProjectGroupMapper.countByExample(projectGroupExample) == 0){ + if (competeProjectGroupMapper.countByExample(projectGroupExample) == 0) { throw new BaseException(CodeEnum.PARAM_ERROR); } //单人项目直接添加信息和分组 @@ -563,7 +564,7 @@ public class CompeteService implements ICompeteService{ projectPlayer.setCompeteTimeId(playerAndProject.getCompeteTimeId()); projectPlayer.setCompeteGroupId(projectAndGroup.getGroupId()); competeProjectPlayerMapper.insertSelective(projectPlayer); - }else { + } else { //团队项目创建团队 CompeteTeam team = new CompeteTeam(); team.setId(snowflake.nextId()); @@ -580,10 +581,10 @@ public class CompeteService implements ICompeteService{ teamMember.setCaptain(Constant.Compete.TEAM_LEADER_YES); competeTeamMemberMapper.insertSelective(teamMember); //读取其他参赛人员的姓名,并添加为选手 - if(StrUtil.isNotEmpty(projectAndGroup.getFamily())){ + if (StrUtil.isNotEmpty(projectAndGroup.getFamily())) { String names = StringUtil.replaceComma(projectAndGroup.getFamily()); String[] familyNames = names.split(","); - if(ObjectUtil.isNotNull(familyNames)){ + if (ObjectUtil.isNotNull(familyNames)) { for (String familyName : familyNames) { CompetePlayer familyPlayer = new CompetePlayer(); familyPlayer.setId(snowflake.nextId()); @@ -626,26 +627,26 @@ public class CompeteService implements ICompeteService{ //1:查询该类型下所有项目的id,name,team信息,排除level为1的 List projectInfoList = competeEnrollDao.getProject(typeId); //2:根据team字段判断是否为团队项目 - for (CompeteVo.ProjectInfo projectInfo : projectInfoList){ + for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { long team = projectInfo.getTeam(); //3:若是单人项目,在t_compete_project_player表中根据传进来的项目名的项目id查询该项目下所有play_id-参赛选手id和该选手的所在组别id - if (team == 0){ + if (team == 0) { List projectPlayerList = competeEnrollDao.getProjectPlayer(projectInfo.getId()); - for(CompeteVo.ProjectPlayer projectPlayer : projectPlayerList){ + for (CompeteVo.ProjectPlayer projectPlayer : projectPlayerList) { //4:然后根据查出来的play_id查询t_compete_player中play_id=id的所有信息,包括姓名,身份证,手机号;通过组别id,在t_compete_group中查找组别名称;单人项目不涉及同组参赛者 - CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProject(projectPlayer.getPlayer_id()); - if (enrollPlayInfo !=null) { - enrollPlayInfo.setName(projectInfo.getName()); - arrayList.add(enrollPlayInfo); - } + CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProject(projectPlayer.getPlayer_id()); + if (enrollPlayInfo != null) { + enrollPlayInfo.setName(projectInfo.getName()); + arrayList.add(enrollPlayInfo); + } } - }else { + } else { //5:若是团队项目,t_compete_team表中根据传进来的项目id拿到该表的id字段,即参加该项目的团队集合, List teamList = competeEnrollDao.getTeamId(projectInfo.getId()); - for (CompeteVo.Team team1 : teamList){ + for (CompeteVo.Team team1 : teamList) { //6:获取团队下队员的详细信息 CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProjectForTeam(team1.getPlayer_id()); - if(ObjectUtil.isNotNull(enrollPlayInfo)) { + if (ObjectUtil.isNotNull(enrollPlayInfo)) { enrollPlayInfo.setName(projectInfo.getName()); arrayList.add(enrollPlayInfo); } @@ -666,10 +667,10 @@ public class CompeteService implements ICompeteService{ try { Workbook workbook = new XSSFWorkbook(); int i = 1; - for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList){ + for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList) { //行对象 List cells = new ArrayList<>(); - cells.add(new PoiUtil.PoiUtilCell(i+"",1,1,300,18)); + cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18)); //单元格对象 PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(enrollPlayInfo.getName()); cells.add(poiUtilCel); @@ -712,7 +713,7 @@ public class CompeteService implements ICompeteService{ business.setUserId(params.getUserId()); business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_READ); - log.info("跳绳比赛报名表关联wps:{}",business); + log.info("跳绳比赛报名表关联wps:{}", business); tallFeignClient.saveWpsFile(business); //查询wps WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); @@ -728,7 +729,7 @@ public class CompeteService implements ICompeteService{ } @Override - public String enrollPlayCount() throws IOException { + public String enrollPlayCountDownLoad() throws IOException { //查询该类型下所有项目的id,name,team信息,排除level为1的的集合 int typeId = 2; //放总数据集合 @@ -746,17 +747,17 @@ public class CompeteService implements ICompeteService{ CompeteVo.Count count1 = new CompeteVo.Count(); count1.setGroup_name(groupIdAndName.getGroup_name()); // groupIdAndNameList.forEach(groupIdAndName -> { - if (projectInfo.getTeam() == 0) { - CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); - projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); - long count = competeProjectPlayerMapper.countByExample(projectPlayerExample); - count1.setCount((int) count); - } else { - CompeteTeamExample teamExample = new CompeteTeamExample(); - teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); - long count = competeTeamDao.countByExample(teamExample); - count1.setCount((int) count); - } + if (projectInfo.getTeam() == 0) { + CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); + projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); + long count = competeProjectPlayerMapper.countByExample(projectPlayerExample); + count1.setCount((int) count); + } else { + CompeteTeamExample teamExample = new CompeteTeamExample(); + teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); + long count = competeTeamDao.countByExample(teamExample); + count1.setCount((int) count); + } // }); countList.add(count1); } @@ -778,11 +779,11 @@ public class CompeteService implements ICompeteService{ list.add(poiUtilCellList2); list.add(poiUtilCellList3); - list1.forEach(excelList ->{ + list1.forEach(excelList -> { List title = new ArrayList<>(); - title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL,1,1,null,null)); - title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL,1,1,null,null)); - title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL,1,1,null,null)); + title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null)); + title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null)); + title.add(new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null)); excelList.getCountList().forEach(count -> { PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(); poiUtilCell.setValue(String.valueOf(count.getCount())); @@ -806,9 +807,49 @@ public class CompeteService implements ICompeteService{ OutputStream outputStream = new FileOutputStream(file); wbs.write(outputStream); outputStream.close(); - }catch (IOException e) { + } catch (IOException e) { e.printStackTrace(); } - return PropUtil.imgDomain + filepath; + return PropUtil.imgDomain + filepath; + } + + @Override + public List enrollPlayCount() { + //查询该类型下所有项目的id,name,team信息,排除level为1的的集合 + int typeId = 2; + //放总数据集合 + List list1 = new ArrayList<>(); + //根据type 查项目 + List projectInfoList = competeEnrollDao.getProject(typeId); + //根据type 查组别id,组别名 + List groupIdAndNameList = competeEnrollDao.getGroupIdNameFromGroup(typeId); + for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { + CompeteVo.GroupNum groupNum = new CompeteVo.GroupNum(); + groupNum.setName(projectInfo.getName()); + List countList = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(groupIdAndNameList)) { + for (CompeteVo.Count groupIdAndName : groupIdAndNameList) { + CompeteVo.Count count1 = new CompeteVo.Count(); + count1.setGroup_name(groupIdAndName.getGroup_name()); +// groupIdAndNameList.forEach(groupIdAndName -> { + if (projectInfo.getTeam() == 0) { + CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); + projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); + long count = competeProjectPlayerMapper.countByExample(projectPlayerExample); + count1.setCount((int) count); + } else { + CompeteTeamExample teamExample = new CompeteTeamExample(); + teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); + long count = competeTeamDao.countByExample(teamExample); + count1.setCount((int) count); + } +// }); + countList.add(count1); + } + } + groupNum.setCountList(countList); + list1.add(groupNum); + } + return list1; } -} +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index c9f20307..1d558c5c 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -124,9 +124,15 @@ public interface ICompeteService { /** * 根据项目类型查询参赛者信息 - * @return 返回参赛者数量 + * @return 返回参赛者数量下载表 */ - String enrollPlayCount() throws IOException; + String enrollPlayCountDownLoad() throws IOException; + + /** + * 根据项目类型查询参赛者信息 + * @return 返回参赛者数量统计 + */ + List enrollPlayCount() throws IOException; } From 8817c953bcc949610f4112aadb2d1c23f31b027f Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 16 Oct 2020 11:12:38 +0800 Subject: [PATCH 25/72] =?UTF-8?q?=E4=BF=AE=E6=94=B9poi=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ccsens/util/PoiUtil.java | 75 +++++++++++++++---- 1 file changed, 60 insertions(+), 15 deletions(-) diff --git a/util/src/main/java/com/ccsens/util/PoiUtil.java b/util/src/main/java/com/ccsens/util/PoiUtil.java index f347acb1..e16f4621 100644 --- a/util/src/main/java/com/ccsens/util/PoiUtil.java +++ b/util/src/main/java/com/ccsens/util/PoiUtil.java @@ -161,31 +161,34 @@ public class PoiUtil { } List cells = rows.get(i); for (int j = 0; j < cells.size(); j++) { - CellStyle style = wb.createCellStyle(); - //将内容按顺序赋给对应的列对象 PoiUtilCell cell = cells.get(j); - //如果value是cell_null代表次单元格不需要赋值 - if (cell.value.equals(WebConstant.CELL_NULL)){ - continue; + //查找当前单元格 + Cell newCell = row.getCell(j); + if(ObjectUtil.isNull(newCell)){ + newCell = row.createCell(j); + } + //查找当前单元格的样式 + CellStyle style = newCell.getCellStyle(); + if(ObjectUtil.isNull(style)){ + style = wb.createCellStyle(); + } + //设置内容 + if (!cell.value.equals(WebConstant.CELL_NULL)){ + if(cell.num == 1){ + newCell.setCellValue(Integer.parseInt(cell.value)); + }else { + newCell.setCellValue(cell.value); + } } - Cell newCell = row.createCell(j); //设置行高 if (ObjectUtil.isNotNull(cell.height)) { if (j == 0) { row.setHeight(cell.height.shortValue()); } } - - if(cell.num == 1){ -// newCell.setCellType(cell.cellType); - newCell.setCellValue(Integer.parseInt(cell.value)); - }else { - newCell.setCellValue(cell.value); - } - + //设置水平居中和垂直居中 style.setAlignment(cell.style); style.setVerticalAlignment(cell.verticalAlignment); - //设置跳转路径 if (StrUtil.isNotEmpty(cell.path)) { XSSFCreationHelper createHelper = (XSSFCreationHelper) wb.getCreationHelper(); @@ -203,7 +206,49 @@ public class PoiUtil { } //设置自动换行 style.setWrapText(true); + //将样式添加至单元格 newCell.setCellStyle(style); + +// CellStyle style = wb.createCellStyle(); +// 将内容按顺序赋给对应的列对象 +// 如果value是cell_null代表次单元格不需要赋值 +// if (cell.value.equals(WebConstant.CELL_NULL)){ +// continue; +// } +// Cell newCell = row.createCell(j); +// //设置行高 +// if (ObjectUtil.isNotNull(cell.height)) { +// if (j == 0) { +// row.setHeight(cell.height.shortValue()); +// } +// } +// +// if(cell.num == 1){ +// newCell.setCellValue(Integer.parseInt(cell.value)); +// }else { +// newCell.setCellValue(cell.value); +// } +// style.setAlignment(cell.style); +// style.setVerticalAlignment(cell.verticalAlignment); + +// //设置跳转路径 +// if (StrUtil.isNotEmpty(cell.path)) { +// XSSFCreationHelper createHelper = (XSSFCreationHelper) wb.getCreationHelper(); +// XSSFHyperlink link = createHelper.createHyperlink(HyperlinkType.URL); +// link.setAddress(cell.path); +// newCell.setHyperlink(link); +// //设置字体颜色 +// Font font = wb.createFont(); +// font.setColor(Font.COLOR_RED); +// style.setFont(font); +// } +// //添加函数 +// if(StrUtil.isNotEmpty(cell.getFunction())) { +// newCell.setCellFormula(cell.getFunction()); +// } +// //设置自动换行 +// style.setWrapText(true); +// newCell.setCellStyle(style); } } return wb; From 1a7cafc17297699aab9d01c60fb605c4755f5ca9 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 16 Oct 2020 14:02:48 +0800 Subject: [PATCH 26/72] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A8=E6=B0=91?= =?UTF-8?q?=E5=81=A5=E8=BA=AB=E6=AF=94=E8=B5=9B=E5=AF=BC=E5=87=BA=E6=8A=A5?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/CompeteController.java | 17 +- .../com/ccsens/mt/service/CompeteService.java | 233 ++++++++---------- .../ccsens/mt/service/ICompeteService.java | 9 +- mt/src/main/resources/application.yml | 4 +- .../com/ccsens/tall/service/LabelService.java | 136 +++++----- tall/src/main/resources/application.yml | 4 +- .../main/resources/mapper_dao/SysLabelDao.xml | 2 +- 7 files changed, 201 insertions(+), 204 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index 13afa118..1d10f71f 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -161,10 +161,18 @@ public class CompeteController { } + @MustLogin + @ApiOperation(value = "报名表详情表(关联wps)", notes = "") + @RequestMapping(value = "/enrollWPS", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse enrollPlayInfoWps(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + log.info("查询各个项目报名人员信息:{}",params); + String enrollPlayInfoList= competeService.enrollPlayInfoWps(params); + return JsonResponse.newInstance().ok(enrollPlayInfoList); + } @MustLogin @ApiOperation(value = "报名表详情表", notes = "") @RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { log.info("查询各个项目报名人员信息:{}",params); String enrollPlayInfoList= competeService.enrollPlayInfo(params); return JsonResponse.newInstance().ok(enrollPlayInfoList); @@ -173,15 +181,16 @@ public class CompeteController { @ApiOperation(value = "报名表人数表下载", notes = "") @RequestMapping(value = "/enrollCountDownload", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) public JsonResponse enrollPlayCountDownLoad() throws IOException { - log.info("查询各个项目报名人员信息:{}"); + log.info("导出各个项目报名人员信息"); String path = competeService.enrollPlayCountDownLoad(); return JsonResponse.newInstance().ok(path); } + @MustLogin @ApiOperation(value = "报名表人数统计", notes = "") @RequestMapping(value = "/enrollCount", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) - public JsonResponse enrollPlayCount() throws IOException { - log.info("查询各个项目报名人员信息:{}"); + public JsonResponse> enrollPlayCount(QueryDto params) throws IOException { + log.info("查询各个项目报名人员信息"); List list = competeService.enrollPlayCount(); return JsonResponse.newInstance().ok(list); } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 0f3d8770..c605ef24 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -35,7 +35,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.*; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author 逗 @@ -606,20 +608,69 @@ public class CompeteService implements ICompeteService { } @Override - public String enrollPlayInfo(QueryDto params) { + public String enrollPlayInfo(QueryDto params) throws Exception { CompeteDto.CompeteType competeType = params.getParam(); - List filePath = new ArrayList<>(); - //查询大赛id - CompeteVo.CompeteTime competeTimeByType = competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis()); -// //查询此大赛是否关联wps -// WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); -// visitWpsUrl.setBusinessId(competeTimeByType.getId()); -// visitWpsUrl.setBusinessType((byte) 11); -// visitWpsUrl.setUserId(params.getUserId()); -// filePath = tallFeignClient.queryVisitUrls(visitWpsUrl); -// if(CollectionUtil.isNotEmpty(filePath)){ -// //TODO 删除以前的关联信息 -// } + List arrayList = getEnrollPlayInfos(competeType); + String path = getExcelFilePath(arrayList); + + return PropUtil.domain + "file/download/know?path="+path; + } + + private String getExcelFilePath(List arrayList) throws IOException { + //7:将数据放入excel表格 + List> list = new ArrayList<>(); + List title = new ArrayList<>(); + title.add(new PoiUtil.PoiUtilCell("序号")); + title.add(new PoiUtil.PoiUtilCell("比赛项目名称")); + title.add(new PoiUtil.PoiUtilCell("组别")); + title.add(new PoiUtil.PoiUtilCell("报名人姓名")); + title.add(new PoiUtil.PoiUtilCell("身份证号")); + title.add(new PoiUtil.PoiUtilCell("手机号")); + title.add(new PoiUtil.PoiUtilCell("其他参赛人员")); + list.add(title); + Workbook workbook = new XSSFWorkbook(); + int i = 1; + for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList) { + //行对象 + List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18)); + //单元格对象 + PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(enrollPlayInfo.getName()); + cells.add(poiUtilCel); + PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(enrollPlayInfo.getGroupName()); + cells.add(poiUtilCell); + PoiUtil.PoiUtilCell poiUtilCel2 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getUsername()); + cells.add(poiUtilCel2); + PoiUtil.PoiUtilCell poiUtilCel3 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getIdCard()); + cells.add(poiUtilCel3); + PoiUtil.PoiUtilCell poiUtilCel4 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getPhone()); + cells.add(poiUtilCel4); + if (StrUtil.isNotEmpty(enrollPlayInfo.getOthersName())) { + PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getOthersName()); + cells.add(poiUtilCel5); + } + list.add(cells); + i++; + } + //生成excel表格对象,并将数据放入 + Workbook wbs = PoiUtil.exportWB("总表", list, workbook); + //8:关联金山在线文档 + String name = "跳绳比赛报名表" + ".xlsx"; + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + //PropUtil.path获取配置文件中的path属性,拼接生成写入信息的文件名, + File file = new File(path); + OutputStream stream = new FileOutputStream(file); + wbs.write(stream); + stream.close(); + return path; + } + + private ArrayList getEnrollPlayInfos(CompeteDto.CompeteType competeType) { //查询报名信息 int typeId = competeType.getType(); ArrayList arrayList = new ArrayList(); @@ -627,6 +678,7 @@ public class CompeteService implements ICompeteService { //1:查询该类型下所有项目的id,name,team信息,排除level为1的 List projectInfoList = competeEnrollDao.getProject(typeId); //2:根据team字段判断是否为团队项目 + Map map = new HashMap<>(); for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { long team = projectInfo.getTeam(); //3:若是单人项目,在t_compete_project_player表中根据传进来的项目名的项目id查询该项目下所有play_id-参赛选手id和该选手的所在组别id @@ -634,10 +686,18 @@ public class CompeteService implements ICompeteService { List projectPlayerList = competeEnrollDao.getProjectPlayer(projectInfo.getId()); for (CompeteVo.ProjectPlayer projectPlayer : projectPlayerList) { //4:然后根据查出来的play_id查询t_compete_player中play_id=id的所有信息,包括姓名,身份证,手机号;通过组别id,在t_compete_group中查找组别名称;单人项目不涉及同组参赛者 - CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProject(projectPlayer.getPlayer_id()); + CompeteVo.EnrollPlayInfo enrollPlayInfo = map.get(projectPlayer.getPlayer_id()); + + if (ObjectUtil.isNull(enrollPlayInfo)) { + enrollPlayInfo = competeEnrollDao.getPlayerAndProject(projectPlayer.getPlayer_id()); + map.put(projectPlayer.getPlayer_id(), enrollPlayInfo); + } + if (enrollPlayInfo != null) { - enrollPlayInfo.setName(projectInfo.getName()); - arrayList.add(enrollPlayInfo); + CompeteVo.EnrollPlayInfo enrollPlayInfo1 = new CompeteVo.EnrollPlayInfo(); + BeanUtil.copyProperties(enrollPlayInfo, enrollPlayInfo1); + enrollPlayInfo1.setName(projectInfo.getName()); + arrayList.add(enrollPlayInfo1); } } } else { @@ -653,118 +713,41 @@ public class CompeteService implements ICompeteService { } } } - //7:将数据放入excel表格 - List> list = new ArrayList<>(); - List title = new ArrayList<>(); - title.add(new PoiUtil.PoiUtilCell()); - title.add(new PoiUtil.PoiUtilCell("比赛项目名称")); - title.add(new PoiUtil.PoiUtilCell("组别")); - title.add(new PoiUtil.PoiUtilCell("报名人姓名")); - title.add(new PoiUtil.PoiUtilCell("身份证号")); - title.add(new PoiUtil.PoiUtilCell("手机号")); - title.add(new PoiUtil.PoiUtilCell("其他参赛人员")); - list.add(title); - try { - Workbook workbook = new XSSFWorkbook(); - int i = 1; - for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList) { - //行对象 - List cells = new ArrayList<>(); - cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18)); - //单元格对象 - PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(enrollPlayInfo.getName()); - cells.add(poiUtilCel); - PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(enrollPlayInfo.getGroupName()); - cells.add(poiUtilCell); - PoiUtil.PoiUtilCell poiUtilCel2 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getUsername()); - cells.add(poiUtilCel2); - PoiUtil.PoiUtilCell poiUtilCel3 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getIdCard()); - cells.add(poiUtilCel3); - PoiUtil.PoiUtilCell poiUtilCel4 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getPhone()); - cells.add(poiUtilCel4); - PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getOthersName()); - cells.add(poiUtilCel5); - list.add(cells); - i++; - } - //生成excel表格对象,并将数据放入 - Workbook wbs = PoiUtil.exportWB("总表", list, workbook); - //8:关联金山在线文档 - String name = "跳绳比赛报名表" + ".xlsx"; - String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; - String path = PropUtil.path + filepath; - File tmpFile = new File(path); - if (!tmpFile.getParentFile().exists()) { - tmpFile.getParentFile().mkdirs(); - } - //PropUtil.path获取配置文件中的path属性,拼接生成写入信息的文件名, - File file = new File(path); - OutputStream stream = new FileOutputStream(file); - wbs.write(stream); - stream.close(); - //关联wps - WpsDto.Business business = new WpsDto.Business(); - business.setBusinessId(competeTimeByType.getId()); - business.setBusinessType((byte) 11); - business.setFileName(name); - business.setFilePath(path); - business.setRealFilePath(path); - business.setFileSize(file.length()); - business.setUserId(params.getUserId()); - business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); - business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_READ); - log.info("跳绳比赛报名表关联wps:{}", business); - tallFeignClient.saveWpsFile(business); - //查询wps - WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); - visitWpsUrl.setBusinessId(competeTimeByType.getId()); - visitWpsUrl.setBusinessType((byte) 11); - visitWpsUrl.setUserId(params.getUserId()); - filePath = tallFeignClient.queryVisitUrls(visitWpsUrl); - } catch (IOException e) { - e.printStackTrace(); - } - return filePath.get(0); + return arrayList; + } + + @Override + public String enrollPlayInfoWps(QueryDto params) throws IOException { + CompeteDto.CompeteType competeType = params.getParam(); + List arrayList = getEnrollPlayInfos(competeType); + String path = getExcelFilePath(arrayList); + File file = new File(path); + CompeteVo.CompeteTime competeTimeByType = competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis()); + //关联wps + WpsDto.Business business = new WpsDto.Business(); + business.setBusinessId(competeTimeByType.getId()); + business.setBusinessType((byte) 11); + business.setFileName(file.getName()); + business.setFilePath(path); + business.setRealFilePath(path); + business.setFileSize(file.length()); + business.setUserId(params.getUserId()); + business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); + business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_READ); + log.info("跳绳比赛报名表关联wps:{}", business); + tallFeignClient.saveWpsFile(business); + //查询wps + WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); + visitWpsUrl.setBusinessId(competeTimeByType.getId()); + visitWpsUrl.setBusinessType((byte) 11); + visitWpsUrl.setUserId(params.getUserId()); + return tallFeignClient.queryVisitUrls(visitWpsUrl).get(0); } @Override public String enrollPlayCountDownLoad() throws IOException { - //查询该类型下所有项目的id,name,team信息,排除level为1的的集合 - int typeId = 2; - //放总数据集合 - List list1 = new ArrayList<>(); - //根据type 查项目 - List projectInfoList = competeEnrollDao.getProject(typeId); - //根据type 查组别id,组别名 - List groupIdAndNameList = competeEnrollDao.getGroupIdNameFromGroup(typeId); - for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { - CompeteVo.GroupNum groupNum = new CompeteVo.GroupNum(); - groupNum.setName(projectInfo.getName()); - List countList = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(groupIdAndNameList)) { - for (CompeteVo.Count groupIdAndName : groupIdAndNameList) { - CompeteVo.Count count1 = new CompeteVo.Count(); - count1.setGroup_name(groupIdAndName.getGroup_name()); -// groupIdAndNameList.forEach(groupIdAndName -> { - if (projectInfo.getTeam() == 0) { - CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); - projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); - long count = competeProjectPlayerMapper.countByExample(projectPlayerExample); - count1.setCount((int) count); - } else { - CompeteTeamExample teamExample = new CompeteTeamExample(); - teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); - long count = competeTeamDao.countByExample(teamExample); - count1.setCount((int) count); - } -// }); - countList.add(count1); - } - } - groupNum.setCountList(countList); - list1.add(groupNum); - } + List list1 = enrollPlayCount(); //7:将数据放入excel表格 ResourceLoader resourceLoader = new DefaultResourceLoader(); InputStream is = resourceLoader.getResource("classpath:template/competeCount.xlsx").getInputStream(); @@ -810,7 +793,7 @@ public class CompeteService implements ICompeteService { } catch (IOException e) { e.printStackTrace(); } - return PropUtil.imgDomain + filepath; + return PropUtil.domain + "file/download/know?path="+path; } @Override @@ -831,7 +814,6 @@ public class CompeteService implements ICompeteService { for (CompeteVo.Count groupIdAndName : groupIdAndNameList) { CompeteVo.Count count1 = new CompeteVo.Count(); count1.setGroup_name(groupIdAndName.getGroup_name()); -// groupIdAndNameList.forEach(groupIdAndName -> { if (projectInfo.getTeam() == 0) { CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); @@ -843,7 +825,6 @@ public class CompeteService implements ICompeteService { long count = competeTeamDao.countByExample(teamExample); count1.setCount((int) count); } -// }); countList.add(count1); } } diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index 1d558c5c..d759058a 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -120,7 +120,7 @@ public interface ICompeteService { * @param params 项目类型信息 * @return 返回参赛者的详细信息 */ - String enrollPlayInfo(QueryDto params) throws IOException; + String enrollPlayInfo(QueryDto params) throws IOException, Exception; /** * 根据项目类型查询参赛者信息 @@ -133,7 +133,12 @@ public interface ICompeteService { * @return 返回参赛者数量统计 */ List enrollPlayCount() throws IOException; - + /** + * 根据项目类型查询参赛者信息(关联wps) + * @param params 项目类型信息 + * @return 返回参赛者的详细信息 + */ + String enrollPlayInfoWps(QueryDto params) throws IOException; } diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..d082c0ea 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: prod + include: common, util-prod \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/LabelService.java b/tall/src/main/java/com/ccsens/tall/service/LabelService.java index fcc10701..ab3764e3 100644 --- a/tall/src/main/java/com/ccsens/tall/service/LabelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/LabelService.java @@ -35,7 +35,7 @@ public class LabelService implements ILabelService { @Resource private ProTaskLabelMapper proTaskLabelMapper; @Resource - private ProTaskSubTimeMapper taskSubTimeMapper; + private TaskSubTimeDao taskSubTimeDao; @Resource private TaskDetailDao taskDetailDao; @@ -222,75 +222,77 @@ public class LabelService implements ILabelService { @Override public List taskAddLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) { - Long taskId = taskLabel.getTaskId(); - ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); - if (ObjectUtil.isNotNull(proTaskSubTime)) { - taskId = proTaskSubTime.getTaskDetailId(); - } - List selectLabelList; - ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); - if (ObjectUtil.isNull(taskDetail)) { - throw new BaseException(CodeEnum.NOT_TASK); - } - if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { - Long finalTaskId = taskId; - taskLabel.getLabelList().forEach(labelId -> { - SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); - if (ObjectUtil.isNull(sysLabel)) { - throw new BaseException(CodeEnum.NOT_LABEL); - } - if (sysLabel.getUserId().longValue() != currentUserId) { - throw new BaseException(CodeEnum.NOT_POWER); - } - //添加项目和标签的关联信息 - ProTaskLabel proTaskLabel = new ProTaskLabel(); - proTaskLabel.setId(snowflake.nextId()); - proTaskLabel.setTaskDetailId(finalTaskId); - proTaskLabel.setLabelId(labelId); - proTaskLabelMapper.insertSelective(proTaskLabel); - }); - } - //查询项目内的标签信息 - selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); - return selectLabelList; +// Long taskId = taskLabel.getTaskId(); +// ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); +// if (ObjectUtil.isNotNull(proTaskSubTime)) { +// taskId = proTaskSubTime.getTaskDetailId(); +// } +// List selectLabelList; +// ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); +// if (ObjectUtil.isNull(taskDetail)) { +// throw new BaseException(CodeEnum.NOT_TASK); +// } +// if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { +// Long finalTaskId = taskId; +// taskLabel.getLabelList().forEach(labelId -> { +// SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); +// if (ObjectUtil.isNull(sysLabel)) { +// throw new BaseException(CodeEnum.NOT_LABEL); +// } +// if (sysLabel.getUserId().longValue() != currentUserId) { +// throw new BaseException(CodeEnum.NOT_POWER); +// } +// //添加项目和标签的关联信息 +// ProTaskLabel proTaskLabel = new ProTaskLabel(); +// proTaskLabel.setId(snowflake.nextId()); +// proTaskLabel.setTaskDetailId(finalTaskId); +// proTaskLabel.setLabelId(labelId); +// proTaskLabelMapper.insertSelective(proTaskLabel); +// }); +// } +// //查询项目内的标签信息 +// selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); +// return selectLabelList; + return null; } @Override public List taskRemoveLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) { - Long taskId = taskLabel.getTaskId(); - ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); - if (ObjectUtil.isNotNull(proTaskSubTime)) { - taskId = proTaskSubTime.getTaskDetailId(); - } - List selectLabelList; - ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); - if (ObjectUtil.isNull(taskDetail)) { - throw new BaseException(CodeEnum.NOT_TASK); - } - if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { - Long finalTaskId = taskId; - taskLabel.getLabelList().forEach(labelId -> { - SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); - if (ObjectUtil.isNull(sysLabel)) { - throw new BaseException(CodeEnum.NOT_LABEL); - } - if (sysLabel.getUserId().longValue() != currentUserId) { - throw new BaseException(CodeEnum.NOT_POWER); - } - //项目和标签的关联信息 - ProTaskLabelExample taskLabelExample = new ProTaskLabelExample(); - taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId); - List proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample); - if (CollectionUtil.isNotEmpty(proTaskLabelList)) { - proTaskLabelList.forEach(label -> { - label.setRecStatus((byte) 2); - proTaskLabelMapper.updateByPrimaryKeySelective(label); - }); - } - }); - } - //查询项目内的标签信息 - selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); - return selectLabelList; +// Long taskId = taskLabel.getTaskId(); +// ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); +// if (ObjectUtil.isNotNull(proTaskSubTime)) { +// taskId = proTaskSubTime.getTaskDetailId(); +// } +// List selectLabelList; +// ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); +// if (ObjectUtil.isNull(taskDetail)) { +// throw new BaseException(CodeEnum.NOT_TASK); +// } +// if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { +// Long finalTaskId = taskId; +// taskLabel.getLabelList().forEach(labelId -> { +// SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); +// if (ObjectUtil.isNull(sysLabel)) { +// throw new BaseException(CodeEnum.NOT_LABEL); +// } +// if (sysLabel.getUserId().longValue() != currentUserId) { +// throw new BaseException(CodeEnum.NOT_POWER); +// } +// //项目和标签的关联信息 +// ProTaskLabelExample taskLabelExample = new ProTaskLabelExample(); +// taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId); +// List proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample); +// if (CollectionUtil.isNotEmpty(proTaskLabelList)) { +// proTaskLabelList.forEach(label -> { +// label.setRecStatus((byte) 2); +// proTaskLabelMapper.updateByPrimaryKeySelective(label); +// }); +// } +// }); +// } +// //查询项目内的标签信息 +// selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); +// return selectLabelList; + return null; } } diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index c88e995d..b2acd365 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: util-test,common + active: dev + include: util-dev,common diff --git a/tall/src/main/resources/mapper_dao/SysLabelDao.xml b/tall/src/main/resources/mapper_dao/SysLabelDao.xml index b3847b97..491c1e92 100644 --- a/tall/src/main/resources/mapper_dao/SysLabelDao.xml +++ b/tall/src/main/resources/mapper_dao/SysLabelDao.xml @@ -43,7 +43,7 @@ and l.user_id = #{userId} - select l.id as id, l.`name` as `name`, From 5142a9dc7ebac6ad7e43bdf12fb5aaa90f9825db Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Sat, 17 Oct 2020 11:29:16 +0800 Subject: [PATCH 27/72] 20201017 --- .../com/ccsens/mt/api/CompeteController.java | 13 +- .../com/ccsens/mt/service/CompeteService.java | 6 +- .../ccsens/mt/service/ICompeteService.java | 2 +- mt/src/main/resources/application.yml | 4 +- .../com/ccsens/tall/service/LabelService.java | 134 +++---- .../tall/service/ProTaskDetailService.java | 378 +++++++++--------- tall/src/main/resources/application.yml | 4 +- .../main/resources/mapper_dao/SysLabelDao.xml | 1 - .../test/java/com/ccsens/util/TestQrCord.java | 6 +- 9 files changed, 275 insertions(+), 273 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index 1d10f71f..8ec505a8 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -11,10 +11,7 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.IOException; @@ -169,10 +166,10 @@ public class CompeteController { String enrollPlayInfoList= competeService.enrollPlayInfoWps(params); return JsonResponse.newInstance().ok(enrollPlayInfoList); } - @MustLogin - @ApiOperation(value = "报名表详情表", notes = "") - @RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { + + @ApiOperation(value = "报名表详情表下载", notes = "") + @RequestMapping(value = "/enroll", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) + public JsonResponse enrollPlayInfo(@ApiParam CompeteDto.CompeteType params) throws Exception { log.info("查询各个项目报名人员信息:{}",params); String enrollPlayInfoList= competeService.enrollPlayInfo(params); return JsonResponse.newInstance().ok(enrollPlayInfoList); diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index c605ef24..0ba8cadb 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -608,9 +608,9 @@ public class CompeteService implements ICompeteService { } @Override - public String enrollPlayInfo(QueryDto params) throws Exception { - CompeteDto.CompeteType competeType = params.getParam(); - List arrayList = getEnrollPlayInfos(competeType); + public String enrollPlayInfo(CompeteDto.CompeteType params) throws Exception { +// CompeteDto.CompeteType competeType = params.getParam(); + List arrayList = getEnrollPlayInfos(params); String path = getExcelFilePath(arrayList); return PropUtil.domain + "file/download/know?path="+path; diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index d759058a..4e89f125 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -120,7 +120,7 @@ public interface ICompeteService { * @param params 项目类型信息 * @return 返回参赛者的详细信息 */ - String enrollPlayInfo(QueryDto params) throws IOException, Exception; + String enrollPlayInfo(CompeteDto.CompeteType params) throws IOException, Exception; /** * 根据项目类型查询参赛者信息 diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index d082c0ea..5c2cd5c4 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: prod - include: common, util-prod \ No newline at end of file + active: dev + include: common, util-dev \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/LabelService.java b/tall/src/main/java/com/ccsens/tall/service/LabelService.java index ab3764e3..1941d333 100644 --- a/tall/src/main/java/com/ccsens/tall/service/LabelService.java +++ b/tall/src/main/java/com/ccsens/tall/service/LabelService.java @@ -222,77 +222,75 @@ public class LabelService implements ILabelService { @Override public List taskAddLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) { -// Long taskId = taskLabel.getTaskId(); -// ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); -// if (ObjectUtil.isNotNull(proTaskSubTime)) { -// taskId = proTaskSubTime.getTaskDetailId(); -// } -// List selectLabelList; -// ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); -// if (ObjectUtil.isNull(taskDetail)) { -// throw new BaseException(CodeEnum.NOT_TASK); -// } -// if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { -// Long finalTaskId = taskId; -// taskLabel.getLabelList().forEach(labelId -> { -// SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); -// if (ObjectUtil.isNull(sysLabel)) { -// throw new BaseException(CodeEnum.NOT_LABEL); -// } -// if (sysLabel.getUserId().longValue() != currentUserId) { -// throw new BaseException(CodeEnum.NOT_POWER); -// } -// //添加项目和标签的关联信息 -// ProTaskLabel proTaskLabel = new ProTaskLabel(); -// proTaskLabel.setId(snowflake.nextId()); -// proTaskLabel.setTaskDetailId(finalTaskId); -// proTaskLabel.setLabelId(labelId); -// proTaskLabelMapper.insertSelective(proTaskLabel); -// }); -// } -// //查询项目内的标签信息 -// selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); -// return selectLabelList; - return null; + Long taskId = taskLabel.getTaskId(); + ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(taskLabel.getTaskId()); + if (ObjectUtil.isNotNull(proTaskSubTime)) { + taskId = proTaskSubTime.getTaskDetailId(); + } + List selectLabelList; + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); + if (ObjectUtil.isNull(taskDetail)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { + Long finalTaskId = taskId; + taskLabel.getLabelList().forEach(labelId -> { + SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); + if (ObjectUtil.isNull(sysLabel)) { + throw new BaseException(CodeEnum.NOT_LABEL); + } + if (sysLabel.getUserId().longValue() != currentUserId) { + throw new BaseException(CodeEnum.NOT_POWER); + } + //添加项目和标签的关联信息 + ProTaskLabel proTaskLabel = new ProTaskLabel(); + proTaskLabel.setId(snowflake.nextId()); + proTaskLabel.setTaskDetailId(finalTaskId); + proTaskLabel.setLabelId(labelId); + proTaskLabelMapper.insertSelective(proTaskLabel); + }); + } + //查询项目内的标签信息 + selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); + return selectLabelList; } @Override public List taskRemoveLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) { -// Long taskId = taskLabel.getTaskId(); -// ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); -// if (ObjectUtil.isNotNull(proTaskSubTime)) { -// taskId = proTaskSubTime.getTaskDetailId(); -// } -// List selectLabelList; -// ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); -// if (ObjectUtil.isNull(taskDetail)) { -// throw new BaseException(CodeEnum.NOT_TASK); -// } -// if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { -// Long finalTaskId = taskId; -// taskLabel.getLabelList().forEach(labelId -> { -// SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); -// if (ObjectUtil.isNull(sysLabel)) { -// throw new BaseException(CodeEnum.NOT_LABEL); -// } -// if (sysLabel.getUserId().longValue() != currentUserId) { -// throw new BaseException(CodeEnum.NOT_POWER); -// } -// //项目和标签的关联信息 -// ProTaskLabelExample taskLabelExample = new ProTaskLabelExample(); -// taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId); -// List proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample); -// if (CollectionUtil.isNotEmpty(proTaskLabelList)) { -// proTaskLabelList.forEach(label -> { -// label.setRecStatus((byte) 2); -// proTaskLabelMapper.updateByPrimaryKeySelective(label); -// }); -// } -// }); -// } -// //查询项目内的标签信息 -// selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); -// return selectLabelList; - return null; + Long taskId = taskLabel.getTaskId(); + ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(taskLabel.getTaskId()); + if (ObjectUtil.isNotNull(proTaskSubTime)) { + taskId = proTaskSubTime.getTaskDetailId(); + } + List selectLabelList; + ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); + if (ObjectUtil.isNull(taskDetail)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { + Long finalTaskId = taskId; + taskLabel.getLabelList().forEach(labelId -> { + SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); + if (ObjectUtil.isNull(sysLabel)) { + throw new BaseException(CodeEnum.NOT_LABEL); + } + if (sysLabel.getUserId().longValue() != currentUserId) { + throw new BaseException(CodeEnum.NOT_POWER); + } + //项目和标签的关联信息 + ProTaskLabelExample taskLabelExample = new ProTaskLabelExample(); + taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId); + List proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample); + if (CollectionUtil.isNotEmpty(proTaskLabelList)) { + proTaskLabelList.forEach(label -> { + label.setRecStatus((byte) 2); + proTaskLabelMapper.updateByPrimaryKeySelective(label); + }); + } + }); + } + //查询项目内的标签信息 + selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); + return selectLabelList; } } diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index bbc9ab52..3d685d85 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -111,11 +111,11 @@ public class ProTaskDetailService implements IProTaskDetailService { if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { obj = getTaskInfoByProjectIdAndPm(currentUserId, projectId, taskInfoByRoleId.getRoleId(), taskInfoByRoleId.getStartTime(), taskInfoByRoleId.getEndTime(), taskInfoByRoleId.getProcess(), - taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(),taskInfoByRoleId.getPriority(),taskInfoByRoleId.getImitation()); + taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(), taskInfoByRoleId.getPriority(), taskInfoByRoleId.getImitation()); } else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.Member.value)) { - obj = getTaskInfoByProjectIdAndRoleId(currentUserId, projectId,taskInfoByRoleId.getRoleId(), + obj = getTaskInfoByProjectIdAndRoleId(currentUserId, projectId, taskInfoByRoleId.getRoleId(), taskInfoByRoleId.getStartTime(), taskInfoByRoleId.getEndTime(), taskInfoByRoleId.getProcess(), - taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(),taskInfoByRoleId.getPriority(),taskInfoByRoleId.getImitation()); + taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(), taskInfoByRoleId.getPriority(), taskInfoByRoleId.getImitation()); } } else { throw new BaseException(CodeEnum.NOT_ROLE); @@ -129,7 +129,7 @@ public class ProTaskDetailService implements IProTaskDetailService { */ private TaskVo.ProTaskShow getProTaskShow(Long taskId) { TaskVo.ProTaskShow proTaskShow = proTaskShowDao.getProTaskShowByTaskId(taskId); - if(ObjectUtil.isNull(proTaskShow)){ + if (ObjectUtil.isNull(proTaskShow)) { proTaskShow = new TaskVo.ProTaskShow(); proTaskShow.setTimeShow("MM-DD HH:mm"); proTaskShow.setDuration(0); @@ -142,6 +142,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } return proTaskShow; } + /** * 查看任务 项目经理 */ @@ -171,7 +172,7 @@ public class ProTaskDetailService implements IProTaskDetailService { normalTask.setSequence(sequence); // 查询任务名对应的配置 ProPluginConfigExample configExample = new ProPluginConfigExample(); - configExample.createCriteria().andTaskIdEqualTo(firstTaskDetail.getId()).andPlaceLocationEqualTo((byte)0); + configExample.createCriteria().andTaskIdEqualTo(firstTaskDetail.getId()).andPlaceLocationEqualTo((byte) 0); List proPluginConfigs = proPluginConfigMapper.selectByExample(configExample); if (CollectionUtil.isNotEmpty(proPluginConfigs)) { ProPluginConfig config = proPluginConfigs.get(0); @@ -189,23 +190,23 @@ public class ProTaskDetailService implements IProTaskDetailService { normalTask.setProcess(firstSubTimeMember.getComplatedStatus()); } //查找一级任务下的二级任务 - List secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId, firstTaskDetail.getId(), startTime, endTime,roleId); + List secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId, firstTaskDetail.getId(), startTime, endTime, roleId); if (CollectionUtil.isNotEmpty(secondNormalTaskList)) { for (TaskVo.NormalTask task : secondNormalTaskList) { //处理分数 - BigDecimal score = mtFeignClient.getAdminScore(task.getProjectId(),task.getDetailId()); - if(ObjectUtil.isNotNull(score)){ + BigDecimal score = mtFeignClient.getAdminScore(task.getProjectId(), task.getDetailId()); + if (ObjectUtil.isNotNull(score)) { task.setScore(score); } //处理插件 - managePlugin(currentUserId,roleId,task,imitation); + managePlugin(currentUserId, roleId, task, imitation); //二级任务完成状态 - if(task.getProcess() != 2) { + if (task.getProcess() != 2) { ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, task.getId()); if (ObjectUtil.isNotNull(subTimeMember)) { task.setRealEndTime(subTimeMember.getRealFinishTime()); task.setProcess(subTimeMember.getComplatedStatus()); - }else if(task.getProcess() > 2){ + } else if (task.getProcess() > 2) { task.setRealEndTime((long) 0); task.setProcess(0); } @@ -248,7 +249,7 @@ public class ProTaskDetailService implements IProTaskDetailService { * 查看任务 项目成员 */ private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, - Long endTime, Integer process, Integer page, Integer pageSize,Integer priority,Integer imitation) throws Exception { + Long endTime, Integer process, Integer page, Integer pageSize, Integer priority, Integer imitation) throws Exception { TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); List globalTaskList = new ArrayList<>(); @@ -262,27 +263,27 @@ public class ProTaskDetailService implements IProTaskDetailService { } //查找该角色的所有任务(全体成员的任务也是这个角色的任务) List secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId, - allMemberId, startTime, endTime,priority); + allMemberId, startTime, endTime, priority); if (CollectionUtil.isNotEmpty(secondTaskVoList)) { for (TaskVo.NormalTask normalTask : secondTaskVoList) { //处理分数 - MemberVo.MemberInfo memberInfo = proMemberService.getMemberByUserIdAndProjectId(currentUserId,normalTask.getProjectId()); - if(ObjectUtil.isNotNull(memberInfo)) { + MemberVo.MemberInfo memberInfo = proMemberService.getMemberByUserIdAndProjectId(currentUserId, normalTask.getProjectId()); + if (ObjectUtil.isNotNull(memberInfo)) { BigDecimal score = mtFeignClient.getMemberScore(normalTask.getDetailId(), memberInfo.getId()); if (ObjectUtil.isNotNull(score)) { normalTask.setScore(score); } } //处理插件 - managePlugin(currentUserId,roleId,normalTask,imitation); + managePlugin(currentUserId, roleId, normalTask, imitation); //任务完成状态 - if(normalTask.getProcess() != 2) { + if (normalTask.getProcess() != 2) { ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, normalTask.getId()); if (ObjectUtil.isNotNull(subTimeMember)) { normalTask.setProcess(subTimeMember.getComplatedStatus()); normalTask.setRealEndTime(subTimeMember.getRealFinishTime()); - }else if(normalTask.getProcess() > 2){ + } else if (normalTask.getProcess() > 2) { normalTask.setRealEndTime((long) 0); normalTask.setProcess(0); } @@ -305,7 +306,7 @@ public class ProTaskDetailService implements IProTaskDetailService { if (CollectionUtil.isNotEmpty(task.getCommonTask())) { if (priority == 0) { normalTaskList = sortTaskTime(task.getCommonTask()); - }else { + } else { normalTaskList = task.getCommonTask(); } } @@ -403,7 +404,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } continue; } - if(secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() <= endTime && secondTaskVo.getEndTime() > startTime) { + if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() <= endTime && secondTaskVo.getEndTime() > startTime) { secondTaskVo.setBeginTime(startTime); secondTaskVoList.add(secondTaskVo); } else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getEndTime() <= endTime) { @@ -443,29 +444,29 @@ public class ProTaskDetailService implements IProTaskDetailService { * 处理任务的插件 */ @Override - public void managePlugin(Long userId,Long roleId,TaskVo.NormalTask normalTask,Integer imitation) throws Exception { - Boolean isMain = proMemberService.userIsBelongRole(userId,roleId,imitation); - if(!isMain){ + public void managePlugin(Long userId, Long roleId, TaskVo.NormalTask normalTask, Integer imitation) throws Exception { + Boolean isMain = proMemberService.userIsBelongRole(userId, roleId, imitation); + if (!isMain) { normalTask.setPlugins(null); - }else { - if(CollectionUtil.isNotEmpty(normalTask.getPlugins())){ + } else { + if (CollectionUtil.isNotEmpty(normalTask.getPlugins())) { List pluginVoList = new ArrayList<>(); - for(TaskVo.PluginVo pluginVo : normalTask.getPlugins()){ + for (TaskVo.PluginVo pluginVo : normalTask.getPlugins()) { String[] pluginIds = pluginVo.getId().split(","); String[] pluginNames = pluginVo.getName().split(","); String[] pluginDescription = pluginVo.getDescription().split(","); String[] pluginShowType = pluginVo.getShowType().split(","); TaskVo.PluginVo plugin; - for(int i = 0;i 2){ - taskDetail.setRealEndTime((long) 0); - taskDetail.setProcess(0); - } + taskId = subTime.getTaskDetailId(); + } + TaskVo.NormalTask taskDetail; + ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId); + if (ObjectUtil.isNull(task)) { + throw new BaseException(CodeEnum.NOT_TASK); + } + taskDetail = taskDetailDao.selectTaskByTaskId(null, taskId, task.getExecutorRole()); + if (ObjectUtil.isNotNull(taskDetail)) { + //处理查询到的任务的插件 + managePlugin(currentUserId, task.getExecutorRole(), taskDetail, imitation); + //任务的完成状态 + if (taskDetail.getProcess() != 2) { + ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, taskDetail.getId()); + if (ObjectUtil.isNotNull(subTimeMember)) { + taskDetail.setProcess(subTimeMember.getComplatedStatus()); + taskDetail.setRealEndTime(subTimeMember.getRealFinishTime()); + } else if (taskDetail.getProcess() > 2) { + taskDetail.setRealEndTime((long) 0); + taskDetail.setProcess(0); } - //任务配置 - taskDetail.setProTaskConfig(getProTaskShow(taskDetail.getDetailId())); - - //添加项目信息 - normalTaskAddPlugin(subTime.getTaskDetailId(), taskDetail); - - List groupTaskList = new ArrayList<>(); - //提醒信息 - taskDetail.setRemindInfoList(proRemindDao.queryRemindByTask(taskDetail.getId())); - //获取此任务的子任务 - ProTaskDetailExample detailExample = new ProTaskDetailExample(); - detailExample.createCriteria().andParentIdEqualTo(taskDetail.getDetailId()); - List detailList = taskDetailDao.selectByExample(detailExample); - if(CollectionUtil.isNotEmpty(detailList)){ - for(ProTaskDetail detail : detailList){ - TaskVo.NormalTask groupTask; - Long subTimeId = taskDeliverService.isTaskOrSubTime(detail.getId()); - if(ObjectUtil.isNotNull(subTimeId)){ - groupTask = taskDetailDao.selectTaskByTaskId(subTimeId, detail.getId(),detail.getExecutorRole()); - if(ObjectUtil.isNotNull(groupTask)){ - //处理查询到的任务的插件 - managePlugin(currentUserId,task.getExecutorRole(),taskDetail,imitation); - //任务的完成状态 - if(taskDetail.getProcess() != 2) { - ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(currentUserId, groupTask.getId()); - if (ObjectUtil.isNotNull(proSubTimeMember)) { - groupTask.setProcess(proSubTimeMember.getComplatedStatus()); - groupTask.setRealEndTime(proSubTimeMember.getRealFinishTime()); - }else if(taskDetail.getProcess() > 2){ - taskDetail.setRealEndTime((long) 0); - taskDetail.setProcess(0); - } + } + //任务配置 + taskDetail.setProTaskConfig(getProTaskShow(taskDetail.getDetailId())); + + //添加项目信息 + normalTaskAddPlugin(taskId, taskDetail); + + List groupTaskList = new ArrayList<>(); + //提醒信息 + taskDetail.setRemindInfoList(proRemindDao.queryRemindByTask(taskDetail.getId())); + //获取此任务的子任务 + ProTaskDetailExample detailExample = new ProTaskDetailExample(); + detailExample.createCriteria().andParentIdEqualTo(taskDetail.getDetailId()); + List detailList = taskDetailDao.selectByExample(detailExample); + if (CollectionUtil.isNotEmpty(detailList)) { + for (ProTaskDetail detail : detailList) { + TaskVo.NormalTask groupTask; + Long subTimeId = taskDeliverService.isTaskOrSubTime(detail.getId()); + if (ObjectUtil.isNotNull(subTimeId)) { + groupTask = taskDetailDao.selectTaskByTaskId(subTimeId, detail.getId(), detail.getExecutorRole()); + if (ObjectUtil.isNotNull(groupTask)) { + //处理查询到的任务的插件 + managePlugin(currentUserId, task.getExecutorRole(), taskDetail, imitation); + //任务的完成状态 + if (taskDetail.getProcess() != 2) { + ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(currentUserId, groupTask.getId()); + if (ObjectUtil.isNotNull(proSubTimeMember)) { + groupTask.setProcess(proSubTimeMember.getComplatedStatus()); + groupTask.setRealEndTime(proSubTimeMember.getRealFinishTime()); + } else if (taskDetail.getProcess() > 2) { + taskDetail.setRealEndTime((long) 0); + taskDetail.setProcess(0); } + } - //添加项目信息和插件信息 - normalTaskAddPlugin(groupTask.getDetailId(), groupTask); - //修改返回时子任务的名字(“任务名+(xx和XX)”) - if (detail.getAllMember() == 0) { - groupTask.setName(updateSubTaskName(groupTask.getDetailId(), groupTask.getName())); - } - groupTaskList.add(groupTask); + //添加项目信息和插件信息 + normalTaskAddPlugin(groupTask.getDetailId(), groupTask); + //修改返回时子任务的名字(“任务名+(xx和XX)”) + if (detail.getAllMember() == 0) { + groupTask.setName(updateSubTaskName(groupTask.getDetailId(), groupTask.getName())); } + groupTaskList.add(groupTask); } } - taskDetail.setSecondTasks(new ArrayList<>()); - taskDetail.getSecondTasks().addAll(groupTaskList); } - + taskDetail.setSecondTasks(new ArrayList<>()); + taskDetail.getSecondTasks().addAll(groupTaskList); } + } return taskDetail; } - private void normalTaskAddPlugin( Long taskId, TaskVo.NormalTask normalTask) { + private void normalTaskAddPlugin(Long taskId, TaskVo.NormalTask normalTask) { ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId); //添加项目信息 SysProject project = sysProjectDao.selectByPrimaryKey(task.getProjectId()); @@ -692,7 +696,7 @@ public class ProTaskDetailService implements IProTaskDetailService { case "创建者": for (SysProject project : projectList) { if (project.getCreatorId().longValue() == currentUserId.longValue()) { - List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime,null); + List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime, null); if (CollectionUtil.isNotEmpty(taskList)) { normalTaskList.addAll(taskList); } @@ -702,7 +706,7 @@ public class ProTaskDetailService implements IProTaskDetailService { case "参与者": for (SysProject project : projectList) { if (project.getCreatorId().longValue() != currentUserId.longValue()) { - List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime,null); + List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime, null); if (CollectionUtil.isNotEmpty(taskList)) { normalTaskList.addAll(taskList); } @@ -714,7 +718,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } } else { for (SysProject project : projectList) { - List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime,null); + List taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime, null); if (CollectionUtil.isNotEmpty(taskList)) { normalTaskList.addAll(taskList); } @@ -765,14 +769,14 @@ public class ProTaskDetailService implements IProTaskDetailService { } private List getTaskInfoByProjectIdAndUserId(SysProject project, Long userId, - Long startTime, Long endTime,Set roleList) throws Exception { + Long startTime, Long endTime, Set roleList) throws Exception { List normalTaskList = new ArrayList<>(); //获取用户的角色 - if(CollectionUtil.isEmpty(roleList)){ + if (CollectionUtil.isEmpty(roleList)) { roleList = new HashSet<>(); //查询此用户在项目中的的所有角色的任务 - List roles = proMemberService.selectRolesByUserIdAndProjectId(userId, project.getId(),null); - for (ProRole role : roles){ + List roles = proMemberService.selectRolesByUserIdAndProjectId(userId, project.getId(), null); + for (ProRole role : roles) { roleList.add(role.getId()); } // roles.forEach(role->{ @@ -789,16 +793,16 @@ public class ProTaskDetailService implements IProTaskDetailService { for (Long roleId : roleList) { // SysProject sysProject = sysProjectDao.selectByPrimaryKey(role.getProjectId()); List taskList = - taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), roleId, null,startTime, endTime,0); + taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), roleId, null, startTime, endTime, 0); if (CollectionUtil.isNotEmpty(taskList)) { for (TaskVo.NormalTask normalTask : taskList) { //任务的完成状态 - if(normalTask.getProcess() != 2) { + if (normalTask.getProcess() != 2) { ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(userId, normalTask.getId()); if (ObjectUtil.isNotNull(proSubTimeMember)) { normalTask.setProcess(proSubTimeMember.getComplatedStatus()); normalTask.setRealEndTime(proSubTimeMember.getRealFinishTime()); - }else if(normalTask.getProcess() > 2){ + } else if (normalTask.getProcess() > 2) { normalTask.setRealEndTime((long) 0); normalTask.setProcess(0); } @@ -842,18 +846,18 @@ public class ProTaskDetailService implements IProTaskDetailService { } //获取需查询的角色 Set roleList = new HashSet<>(); - if(ObjectUtil.isNotNull(list.getRoleList())){ + if (ObjectUtil.isNotNull(list.getRoleList())) { list.getRoleList().forEach(roleId -> { ProRole role = proRoleDao.selectByPrimaryKey(roleId); - if(ObjectUtil.isNotNull(role)){ + if (ObjectUtil.isNotNull(role)) { ProRole parentRole = proRoleDao.selectByPrimaryKey(role.getParentId()); - if(ObjectUtil.isNotNull(parentRole)){ + if (ObjectUtil.isNotNull(parentRole)) { //若角色为项目经理或MVP,则查询全部角色 if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.MVP.value) || parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { //查询项目下所有角色 List roleInfoList = proRoleService.getRealMemberRolesByProjectId(list.getProjectId()); - if(CollectionUtil.isNotEmpty(roleInfoList)) { + if (CollectionUtil.isNotEmpty(roleInfoList)) { for (ProjectVo.RoleInfo roleInfo : roleInfoList) { // ProRole proRole = proRoleDao.selectByPrimaryKey(roleInfo.getId()); roleList.add(roleInfo.getId()); @@ -863,7 +867,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } } }); - if(CollectionUtil.isEmpty(roleList)){ + if (CollectionUtil.isEmpty(roleList)) { roleList.addAll(list.getRoleList()); } @@ -896,7 +900,7 @@ public class ProTaskDetailService implements IProTaskDetailService { //获取项目 SysProject sysProject = sysProjectDao.selectByPrimaryKey(list.getProjectId()); if (ObjectUtil.isNotNull(sysProject)) { - List taskList = getTaskInfoByProjectIdAndUserId(sysProject, currentUserId, startMillisTime, endMillisTime,roleList); + List taskList = getTaskInfoByProjectIdAndUserId(sysProject, currentUserId, startMillisTime, endMillisTime, roleList); if (CollectionUtil.isNotEmpty(taskList)) { normalTaskList.addAll(taskList); } @@ -974,11 +978,11 @@ public class ProTaskDetailService implements IProTaskDetailService { public ProSubTimeMember getProcessByUserIdAndTask(Long userId, Long subTimeId) throws Exception { ProSubTimeMember subTimeMember = null; ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(subTimeId); - if(ObjectUtil.isNull(subTime)){ + if (ObjectUtil.isNull(subTime)) { throw new BaseException(CodeEnum.NOT_TASK); } ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId()); - if(ObjectUtil.isNull(taskDetail)){ + if (ObjectUtil.isNull(taskDetail)) { throw new BaseException(CodeEnum.NOT_TASK); } ProSubTimeMemberExample subTimeMemberExample = new ProSubTimeMemberExample(); @@ -988,20 +992,20 @@ public class ProTaskDetailService implements IProTaskDetailService { if (CollectionUtil.isNotEmpty(subTimeMemberList)) { if (taskDetail.getFinishNeedAll() == 0) { subTimeMember = subTimeMemberList.get(0); - }else { + } else { //查找此用户在任务下的成员 ProMember porMember = proMemberService.selectByUserId(userId, taskDetail.getProjectId()); //该用户是否是任务的负责人 ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); - Boolean isBelongRole = proMemberService.userIsBelongRole(userId, role.getId(),null); + Boolean isBelongRole = proMemberService.userIsBelongRole(userId, role.getId(), null); if (isBelongRole) { - for(ProSubTimeMember sTimeMember:subTimeMemberList){ - if(sTimeMember.getMemberId().longValue() == porMember.getId()){ + for (ProSubTimeMember sTimeMember : subTimeMemberList) { + if (sTimeMember.getMemberId().longValue() == porMember.getId()) { subTimeMember = sTimeMember; break; } } - }else { + } else { //查找任务负责人下的所有成员 List memberList = proMemberService.selectByRole(taskDetail.getExecutorRole()); @@ -1019,7 +1023,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } subTimeMember = subTimeMemberList.get(0); } - if(flag){ + if (flag) { subTimeMember = null; } } @@ -1045,13 +1049,13 @@ public class ProTaskDetailService implements IProTaskDetailService { } else { taskDetail = taskDetailDao.selectByPrimaryKey(taskId); } - if(ObjectUtil.isNull(taskDetail)){ + if (ObjectUtil.isNull(taskDetail)) { throw new BaseException(CodeEnum.NOT_TASK); } // //本用户在项目中的角色 // List proRoles = proRoleService.getProRoleByProjectIdAndUserId(taskDetail.getProjectId(), currentUserId); //用户在项目中的最高权限 - int power = proRoleService.selectPowerByRoleName(currentUserId,taskDetail.getProjectId()); + int power = proRoleService.selectPowerByRoleName(currentUserId, taskDetail.getProjectId()); if (power > 1) { if (ObjectUtil.isNotNull(taskDetail)) { //修改任务删除状态 @@ -1064,7 +1068,7 @@ public class ProTaskDetailService implements IProTaskDetailService { throw new BaseException(CodeEnum.NOT_POWER); } //通过智能助手发送消息 - robotService.deleteTaskRobotSend(currentUserId,taskDetail); + robotService.deleteTaskRobotSend(currentUserId, taskDetail); } @Override @@ -1072,8 +1076,8 @@ public class ProTaskDetailService implements IProTaskDetailService { ProTaskDetailExample taskDetailExample = new ProTaskDetailExample(); taskDetailExample.createCriteria().andExecutorRoleEqualTo(roleId); List detailList = taskDetailDao.selectByExample(taskDetailExample); - if(CollectionUtil.isNotEmpty(detailList)){ - for(ProTaskDetail taskDetail:detailList){ + if (CollectionUtil.isNotEmpty(detailList)) { + for (ProTaskDetail taskDetail : detailList) { deleteTaskByTaskId(taskDetail.getId()); } } @@ -1091,8 +1095,8 @@ public class ProTaskDetailService implements IProTaskDetailService { ProTaskMemberExample taskMemberExample = new ProTaskMemberExample(); taskMemberExample.createCriteria().andTaskDetailIdEqualTo(taskId); List proTaskMemberList = taskMemberDao.selectByExample(taskMemberExample); - if(CollectionUtil.isNotEmpty(proTaskMemberList)){ - for(ProTaskMember proTaskMember : proTaskMemberList){ + if (CollectionUtil.isNotEmpty(proTaskMemberList)) { + for (ProTaskMember proTaskMember : proTaskMemberList) { proTaskMember.setRecStatus((byte) 2); taskMemberDao.updateByPrimaryKeySelective(proTaskMember); } @@ -1111,22 +1115,22 @@ public class ProTaskDetailService implements IProTaskDetailService { ProTaskDetail taskDetail; ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskInfo.getId()); - if(ObjectUtil.isNotNull(taskSubTime)){ + if (ObjectUtil.isNotNull(taskSubTime)) { taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId()); - }else { + } else { taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskInfo.getId()); } - if(ObjectUtil.isNotNull(taskDetail)) { + if (ObjectUtil.isNotNull(taskDetail)) { SysProject project = sysProjectDao.selectByPrimaryKey(taskDetail.getProjectId()); - if(ObjectUtil.isNotNull(project)) { + if (ObjectUtil.isNotNull(project)) { //查找权限 int power = proRoleService.selectPowerByRoleName(currentUserId, project.getId()); //当前用户是否是此任务的负责人 boolean flag = false; ProRole executorRole = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); - if(executorRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)){ + if (executorRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) { flag = true; - }else { + } else { ProMemberExample memberExample = new ProMemberExample(); memberExample.createCriteria().andUserIdEqualTo(currentUserId).andProjectIdEqualTo(project.getId()); List memberList = proMemberDao.selectByExample(memberExample); @@ -1143,50 +1147,50 @@ public class ProTaskDetailService implements IProTaskDetailService { if (power > 1 || flag) { //任务名 - if(StrUtil.isNotEmpty(updateTaskInfo.getName())){ + if (StrUtil.isNotEmpty(updateTaskInfo.getName())) { taskDetail.setName(updateTaskInfo.getName()); } //详情 - if(StrUtil.isNotEmpty(updateTaskInfo.getDescription())){ + if (StrUtil.isNotEmpty(updateTaskInfo.getDescription())) { taskDetail.setDescription(updateTaskInfo.getDescription()); } //负责人 - if(ObjectUtil.isNotNull(updateTaskInfo.getExecutorRole())){ + if (ObjectUtil.isNotNull(updateTaskInfo.getExecutorRole())) { taskDetail.setExecutorRole(updateTaskInfo.getExecutorRole()); } //奖惩金额 - if(ObjectUtil.isNotNull(updateTaskInfo.getMoney())){ + if (ObjectUtil.isNotNull(updateTaskInfo.getMoney())) { taskDetail.setMoney(updateTaskInfo.getMoney()); } //切换模式 - if(ObjectUtil.isNotNull(updateTaskInfo.getDelay())){ + if (ObjectUtil.isNotNull(updateTaskInfo.getDelay())) { taskDetail.setDelay((byte) updateTaskInfo.getDelay()); } //修改任务优先级 - if(ObjectUtil.isNotNull(updateTaskInfo.getPriority())){ + if (ObjectUtil.isNotNull(updateTaskInfo.getPriority())) { taskDetail.setPriority(updateTaskInfo.getPriority()); } //延迟切换时间 - if(ObjectUtil.isNotNull(updateTaskInfo.getDelayTime()) && - (taskDetail.getDelay() == WebConstant.TASK_DELAY.DelayManual.value)){ + if (ObjectUtil.isNotNull(updateTaskInfo.getDelayTime()) && + (taskDetail.getDelay() == WebConstant.TASK_DELAY.DelayManual.value)) { taskDetail.setDelayTime(updateTaskInfo.getDelayTime()); } //是否是里程碑 - if(ObjectUtil.isNotNull(updateTaskInfo.getMilestone())){ + if (ObjectUtil.isNotNull(updateTaskInfo.getMilestone())) { taskDetail.setMilestone(updateTaskInfo.getMilestone()); } //时间 - if(ObjectUtil.isNotNull(updateTaskInfo.getBeginTime()) || + if (ObjectUtil.isNotNull(updateTaskInfo.getBeginTime()) || ObjectUtil.isNotNull(updateTaskInfo.getEndTime()) || - StrUtil.isNotEmpty(updateTaskInfo.getCycle())){ + StrUtil.isNotEmpty(updateTaskInfo.getCycle())) { //一级任务没有时间,不能修改 - if(taskDetail.getLevel() != 1 && taskDetail.getLevel() != 0) { - changeTime(taskDetail,updateTaskInfo.getBeginTime(),updateTaskInfo.getEndTime(),project); + if (taskDetail.getLevel() != 1 && taskDetail.getLevel() != 0) { + changeTime(taskDetail, updateTaskInfo.getBeginTime(), updateTaskInfo.getEndTime(), project); if (StrUtil.isNotEmpty(updateTaskInfo.getCycle())) { taskDetail.setCycle(updateTaskInfo.getCycle()); } //时间赋完值后,检查开始时间是否小于结束时间。(赋值前判断太麻烦) - if (taskDetail.getBeginTime() >= taskDetail.getEndTime()){ + if (taskDetail.getBeginTime() >= taskDetail.getEndTime()) { throw new BaseException(CodeEnum.TIME_ERROR_BEGIN); } //删掉旧的subTime @@ -1199,12 +1203,12 @@ public class ProTaskDetailService implements IProTaskDetailService { } //如果传入的插件不为空,先将原来的插件删除, - if(CollectionUtil.isNotEmpty(updateTaskInfo.getPlugins())){ + if (CollectionUtil.isNotEmpty(updateTaskInfo.getPlugins())) { ProTaskPluginExample pluginExample = new ProTaskPluginExample(); pluginExample.createCriteria().andTaskDetailIdEqualTo(taskDetail.getId()) .andMemberRoleIdEqualTo(taskDetail.getExecutorRole()); List pluginList = taskPluginDao.selectByExample(pluginExample); - if(CollectionUtil.isNotEmpty(pluginList)){ + if (CollectionUtil.isNotEmpty(pluginList)) { pluginList.forEach(proTaskPlugin -> { proTaskPlugin.setRecStatus((byte) 2); taskPluginDao.updateByPrimaryKeySelective(proTaskPlugin); @@ -1213,7 +1217,7 @@ public class ProTaskDetailService implements IProTaskDetailService { //将新的插件加入任务 updateTaskInfo.getPlugins().forEach(taskPlugin -> { SysPlugin sysPlugin = sysPluginDao.selectByPrimaryKey(taskPlugin); - if(ObjectUtil.isNull(sysPlugin)){ + if (ObjectUtil.isNull(sysPlugin)) { throw new BaseException(CodeEnum.WBS_NOT_PLUGIN); } ProTaskPlugin plugin = new ProTaskPlugin(); @@ -1225,16 +1229,16 @@ public class ProTaskDetailService implements IProTaskDetailService { }); } //修改交付物信息 - if(CollectionUtil.isNotEmpty(updateTaskInfo.getDeliverList())){ + if (CollectionUtil.isNotEmpty(updateTaskInfo.getDeliverList())) { updateTaskInfo.getDeliverList().forEach(taskDeliver -> { - if(StrUtil.isNotEmpty(taskDeliver.getDeliverName())){ - if(ObjectUtil.isNotNull(taskDeliver.getDeliverId())) { + if (StrUtil.isNotEmpty(taskDeliver.getDeliverName())) { + if (ObjectUtil.isNotNull(taskDeliver.getDeliverId())) { ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(taskDeliver.getDeliverId()); if (ObjectUtil.isNotNull(deliver)) { deliver.setName(taskDeliver.getDeliverName()); taskDeliverDao.updateByPrimaryKeySelective(deliver); } - }else { + } else { ProTaskDeliver deliver = new ProTaskDeliver(); deliver.setId(snowflake.nextId()); deliver.setTaskDetailId(taskDetail.getId()); @@ -1250,12 +1254,12 @@ public class ProTaskDetailService implements IProTaskDetailService { //修改数据 taskDetailDao.updateByPrimaryKeySelective(taskDetail); //修改提醒信息 - if(CollectionUtil.isNotEmpty(updateTaskInfo.getTaskRemindList())){ + if (CollectionUtil.isNotEmpty(updateTaskInfo.getTaskRemindList())) { //删除之前的提醒信息 ProRemindExample proRemindExample = new ProRemindExample(); proRemindExample.createCriteria().andSubTaskIdEqualTo(updateTaskInfo.getId()); List proRemindList = proRemindDao.selectByExample(proRemindExample); - if(CollectionUtil.isNotEmpty(proRemindList)){ + if (CollectionUtil.isNotEmpty(proRemindList)) { proRemindList.forEach(proRemind -> { proRemind.setRecStatus((byte) 2); proRemindDao.updateByPrimaryKeySelective(proRemind); @@ -1263,7 +1267,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } updateTaskInfo.getTaskRemindList().forEach(updateTaskRemind -> { try { - taskSubTimeService.saveRemind(currentUserId,updateTaskRemind); + taskSubTimeService.saveRemind(currentUserId, updateTaskRemind); } catch (Exception e) { e.printStackTrace(); } @@ -1271,30 +1275,31 @@ public class ProTaskDetailService implements IProTaskDetailService { } //返回的任务详细信息 Long subTimeId = taskDeliverService.isTaskOrSubTime(taskDetail.getId()); - normalTask = getTaskInfoByTaskId(currentUserId,project.getId(),subTimeId,null); + normalTask = getTaskInfoByTaskId(currentUserId, project.getId(), subTimeId, null); } else { throw new BaseException(CodeEnum.NOT_POWER); } - }else { + } else { throw new BaseException(CodeEnum.NOT_POWER); } - }else { + } else { throw new BaseException(CodeEnum.NOT_TASK); } - robotService.changeTaskRobotSend(currentUserId,normalTask); + robotService.changeTaskRobotSend(currentUserId, normalTask); return normalTask; } - private void changeTime(ProTaskDetail taskDetail,Long beginTime,Long endTime,SysProject project){ - if((ObjectUtil.isNotNull(beginTime) && beginTime >= project.getEndTime()) || - (ObjectUtil.isNotNull(endTime) && endTime <= project.getBeginTime())){ + + private void changeTime(ProTaskDetail taskDetail, Long beginTime, Long endTime, SysProject project) { + if ((ObjectUtil.isNotNull(beginTime) && beginTime >= project.getEndTime()) || + (ObjectUtil.isNotNull(endTime) && endTime <= project.getBeginTime())) { throw new BaseException(CodeEnum.TIME_ERROR_PROJECT); } - if(taskDetail.getLevel() == 2){ + if (taskDetail.getLevel() == 2) { //组任务不能修改时间(组任务的时间是其子任务的最早和最晚的时间) - if(taskDetail.getHasGroup() == 1){ + if (taskDetail.getHasGroup() == 1) { throw new BaseException(CodeEnum.HAS_GROUP_TIME_CHANGE); - }else { + } else { if (ObjectUtil.isNotNull(beginTime)) { taskDetail.setBeginTime(beginTime); } @@ -1302,18 +1307,18 @@ public class ProTaskDetailService implements IProTaskDetailService { taskDetail.setEndTime(endTime); } } - }else if(taskDetail.getLevel() == 3){ + } else if (taskDetail.getLevel() == 3) { ProTaskDetail parentTask = taskDetailDao.selectByPrimaryKey(taskDetail.getParentId()); - if(parentTask.getHasGroup() == 1){ + if (parentTask.getHasGroup() == 1) { //查找组任务中的最早和最晚时间 Long bTime = null; Long eTime = null; ProTaskDetailExample detailExample = new ProTaskDetailExample(); detailExample.createCriteria().andParentIdEqualTo(parentTask.getId()); List groupTaskList = taskDetailDao.selectByExample(detailExample); - if(CollectionUtil.isNotEmpty(groupTaskList)){ - for (ProTaskDetail groupTask : groupTaskList){ - if(groupTask.getId().longValue() == taskDetail.getId().longValue()){ + if (CollectionUtil.isNotEmpty(groupTaskList)) { + for (ProTaskDetail groupTask : groupTaskList) { + if (groupTask.getId().longValue() == taskDetail.getId().longValue()) { if (ObjectUtil.isNotNull(beginTime)) { groupTask.setBeginTime(beginTime); taskDetail.setBeginTime(beginTime); @@ -1323,10 +1328,10 @@ public class ProTaskDetailService implements IProTaskDetailService { taskDetail.setEndTime(endTime); } } - if(ObjectUtil.isNull(bTime)){ + if (ObjectUtil.isNull(bTime)) { bTime = groupTask.getBeginTime(); } - if(ObjectUtil.isNull(eTime)){ + if (ObjectUtil.isNull(eTime)) { eTime = groupTask.getEndTime(); } bTime = bTime < groupTask.getBeginTime() ? bTime : groupTask.getBeginTime(); @@ -1334,7 +1339,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } } //如果子任务最早最晚时间和父任务不同,则修改父任务时间 - if(ObjectUtil.isNotNull(bTime) && ObjectUtil.isNotNull(eTime)) { + if (ObjectUtil.isNotNull(bTime) && ObjectUtil.isNotNull(eTime)) { if (bTime != parentTask.getBeginTime().longValue() || eTime != parentTask.getEndTime().longValue()) { parentTask.setBeginTime(bTime); parentTask.setEndTime(eTime); @@ -1351,7 +1356,7 @@ public class ProTaskDetailService implements IProTaskDetailService { } } } - }else { + } else { if (ObjectUtil.isNotNull(beginTime)) { taskDetail.setBeginTime(beginTime); } @@ -1361,7 +1366,8 @@ public class ProTaskDetailService implements IProTaskDetailService { } } } - private void partTaskSubTime(ProTaskDetail taskDetail){ + + private void partTaskSubTime(ProTaskDetail taskDetail) { //cycle为空或者组任务,只加一条数据 if (StrUtil.isEmpty(taskDetail.getCycle()) || taskDetail.getHasGroup() == 1) { ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); @@ -1394,13 +1400,13 @@ public class ProTaskDetailService implements IProTaskDetailService { TaskVo.TaskInfoWithFeign taskInfo = null; ProTaskDetail detail; ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId); - if(ObjectUtil.isNull(subTime)){ + if (ObjectUtil.isNull(subTime)) { detail = taskDetailDao.selectByPrimaryKey(taskId); - }else { + } else { detail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId()); } - if(ObjectUtil.isNotNull(detail)){ + if (ObjectUtil.isNotNull(detail)) { taskInfo = new TaskVo.TaskInfoWithFeign(); taskInfo.setId(detail.getId()); @@ -1408,7 +1414,7 @@ public class ProTaskDetailService implements IProTaskDetailService { taskInfo.setProjectId(detail.getProjectId()); SysProject project = sysProjectDao.selectByPrimaryKey(detail.getProjectId()); - if(ObjectUtil.isNotNull(project)){ + if (ObjectUtil.isNotNull(project)) { taskInfo.setProjectName(project.getName()); } } @@ -1419,9 +1425,9 @@ public class ProTaskDetailService implements IProTaskDetailService { public TaskVo.NormalTask updateTaskConfig(Long userId, TaskDto.UpdateTaskConfig updateTaskConfig) throws Exception { //检查任务是否存在 ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskConfig.getTaskId()); - if(ObjectUtil.isNull(taskDetail)){ + if (ObjectUtil.isNull(taskDetail)) { ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskConfig.getTaskId()); - if(ObjectUtil.isNull(taskSubTime)) { + if (ObjectUtil.isNull(taskSubTime)) { throw new BaseException(CodeEnum.NOT_TASK); } taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId()); @@ -1430,21 +1436,21 @@ public class ProTaskDetailService implements IProTaskDetailService { ProTaskShowExample taskShowExample = new ProTaskShowExample(); taskShowExample.createCriteria().andTaskDetailIdEqualTo(taskDetail.getId()); List proTaskShowList = proTaskShowDao.selectByExample(taskShowExample); - if(CollectionUtil.isEmpty(proTaskShowList)){ + if (CollectionUtil.isEmpty(proTaskShowList)) { //没有则新建配置信息 ProTaskShow proTaskShow = new ProTaskShow(); - BeanUtil.copyProperties(updateTaskConfig,proTaskShow); + BeanUtil.copyProperties(updateTaskConfig, proTaskShow); proTaskShow.setId(snowflake.nextId()); proTaskShow.setProjectId(taskDetail.getProjectId()); proTaskShow.setTaskDetailId(taskDetail.getId()); proTaskShowDao.insertSelective(proTaskShow); - }else { + } else { //有则修改 ProTaskShow proTaskShow = proTaskShowList.get(0); - BeanUtil.copyProperties(updateTaskConfig,proTaskShow); + BeanUtil.copyProperties(updateTaskConfig, proTaskShow); proTaskShowDao.updateByPrimaryKeySelective(proTaskShow); } - return getTaskInfoByTaskId(userId,taskDetail.getProjectId(),updateTaskConfig.getTaskId(),null); + return getTaskInfoByTaskId(userId, taskDetail.getProjectId(), updateTaskConfig.getTaskId(), null); } @Override @@ -1462,8 +1468,8 @@ public class ProTaskDetailService implements IProTaskDetailService { if (CollectionUtil.isNotEmpty(firstTaskDetailList)) { firstTaskDetailList.forEach(firstTaskDetail -> { TaskVo.TaskListByProjectId firstTask = taskDetailDao.getTaskById(firstTaskDetail.getId()); - List secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(),null); - if(CollectionUtil.isNotEmpty(secondTaskList)){ + List secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(), null); + if (CollectionUtil.isNotEmpty(secondTaskList)) { secondTaskList.forEach(secondTask -> secondTask.setParentName(firstTaskDetail.getName())); } firstTask.setSecondTasks(secondTaskList); diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index b2acd365..c88e995d 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: util-dev,common + active: test + include: util-test,common diff --git a/tall/src/main/resources/mapper_dao/SysLabelDao.xml b/tall/src/main/resources/mapper_dao/SysLabelDao.xml index 491c1e92..f76b54f5 100644 --- a/tall/src/main/resources/mapper_dao/SysLabelDao.xml +++ b/tall/src/main/resources/mapper_dao/SysLabelDao.xml @@ -4,7 +4,6 @@ + + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/SysPluginDao.xml b/tall/src/main/resources/mapper_dao/SysPluginDao.xml index 147eb435..c684094e 100644 --- a/tall/src/main/resources/mapper_dao/SysPluginDao.xml +++ b/tall/src/main/resources/mapper_dao/SysPluginDao.xml @@ -98,6 +98,7 @@ + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index 8c62ff37..323ed68f 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -105,7 +105,7 @@ p.id IS NULL ) LEFT JOIN t_sys_plugin sp ON sp.id = p.plugin_id - left join t_pro_plugin_config c on d.id = c.task_id + left join t_pro_plugin_config c on d.id = c.task_id and c.plugin_id = 0 WHERE d.rec_status = 0 and @@ -190,7 +190,7 @@ p.id IS NULL ) LEFT JOIN t_sys_plugin sp ON sp.id = p.plugin_id - left join t_pro_plugin_config c on d.id = c.task_id + left join t_pro_plugin_config c on d.id = c.task_id and c.plugin_id = 0 WHERE d.rec_status = 0 and @@ -562,6 +562,12 @@ LEFT JOIN t_pro_task_deliver d on t.id = d.task_detail_id WHERE t.parent_id = #{parentTaskId} + + AND t.begin_time <= #{endTime} + + + AND t.end_time >= #{beginTime} + and t.milestone = #{milestone} diff --git a/tall/src/main/resources/mapper_dao/TaskSubTimeDao.xml b/tall/src/main/resources/mapper_dao/TaskSubTimeDao.xml index 1ad2a0f8..e1d7271c 100644 --- a/tall/src/main/resources/mapper_dao/TaskSubTimeDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskSubTimeDao.xml @@ -10,6 +10,10 @@ + + + + @@ -17,8 +21,9 @@ - + + @@ -182,6 +187,7 @@ s.id as taskSubTimeId, r.`name` as executorRoleName, d.`name` as taskName, + d.milestone as milestone, FROM_UNIXTIME(s.begin_time/1000,'%Y-%m-%d %H:%m') as beginTime, FROM_UNIXTIME(s.end_time/1000,'%Y-%m-%d %H:%m') as endTime, if(s.real_begin_time = 0,'' ,FROM_UNIXTIME(s.real_begin_time/1000,'%Y-%m-%d %H:%m')) as realBeginTime, @@ -191,7 +197,8 @@ t.commentValue as commentValue, td.`name` as deliverName, n.deliverPath as deliverPath, - td.id as deliverId + td.id as deliverId, + s.complated_status as process FROM t_pro_task_sub_time s LEFT JOIN t_pro_task_detail d on s.task_detail_id = d.id LEFT JOIN t_pro_role r on d.executor_role = r.id @@ -216,9 +223,12 @@ SELECT dl.id as deliverLogPostId, dl.task_sub_time_id as taskId, - cf.path as deliverPath + cf.path as deliverPath, + AVG(ch.score) FROM t_pro_task_deliver_post_log dl LEFT JOIN t_sys_commited_file cf on cf.id = dl.file_id + LEFT JOIN t_pro_task_deliver_post_log_checker ch on ch.deliver_post_log_id = dl.id + GROUP BY dl.id )n on s.id = n.taskId WHERE d.rec_status = 0 @@ -230,5 +240,73 @@ s.end_time > #{startTime} and d.level != 1 + group by d.id + + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_raw/ProUserAttentionRoleMapper.xml b/tall/src/main/resources/mapper_raw/ProUserAttentionRoleMapper.xml new file mode 100644 index 00000000..e7e77714 --- /dev/null +++ b/tall/src/main/resources/mapper_raw/ProUserAttentionRoleMapper.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, project_id, user_id, role_id, created_at, updated_at, rec_status + + + + + delete from t_pro_user_attention_role + where id = #{id,jdbcType=BIGINT} + + + delete from t_pro_user_attention_role + + + + + + insert into t_pro_user_attention_role (id, project_id, user_id, + role_id, created_at, updated_at, + rec_status) + values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, + #{roleId,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, + #{recStatus,jdbcType=TINYINT}) + + + insert into t_pro_user_attention_role + + + id, + + + project_id, + + + user_id, + + + role_id, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{projectId,jdbcType=BIGINT}, + + + #{userId,jdbcType=BIGINT}, + + + #{roleId,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_pro_user_attention_role + + + id = #{record.id,jdbcType=BIGINT}, + + + project_id = #{record.projectId,jdbcType=BIGINT}, + + + user_id = #{record.userId,jdbcType=BIGINT}, + + + role_id = #{record.roleId,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_pro_user_attention_role + set id = #{record.id,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + user_id = #{record.userId,jdbcType=BIGINT}, + role_id = #{record.roleId,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_pro_user_attention_role + + + project_id = #{projectId,jdbcType=BIGINT}, + + + user_id = #{userId,jdbcType=BIGINT}, + + + role_id = #{roleId,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_pro_user_attention_role + set project_id = #{projectId,jdbcType=BIGINT}, + user_id = #{userId,jdbcType=BIGINT}, + role_id = #{roleId,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/PoiUtil.java b/util/src/main/java/com/ccsens/util/PoiUtil.java index e16f4621..d7c0cd44 100644 --- a/util/src/main/java/com/ccsens/util/PoiUtil.java +++ b/util/src/main/java/com/ccsens/util/PoiUtil.java @@ -168,10 +168,11 @@ public class PoiUtil { newCell = row.createCell(j); } //查找当前单元格的样式 - CellStyle style = newCell.getCellStyle(); - if(ObjectUtil.isNull(style)){ - style = wb.createCellStyle(); - } +// CellStyle style = newCell.getCellStyle(); +// if(ObjectUtil.isNull(style)){ +// style = wb.createCellStyle(); +// } + CellStyle style = wb.createCellStyle(); //设置内容 if (!cell.value.equals(WebConstant.CELL_NULL)){ if(cell.num == 1){ @@ -623,7 +624,7 @@ public class PoiUtil { PoiUtilCell poiUtilCella = new PoiUtilCell(); PoiUtilCell poiUtilCellb = new PoiUtilCell(); PoiUtilCell poiUtilCell1 = new PoiUtilCell(); - poiUtilCell1.setValue("aaadddfff"); + poiUtilCell1.setValue("aaadddfffersdfsdfasftargadfgergsdfhasfgasfgaertagaergafdhsfgjfyk"); List cells = new ArrayList<>(); cells.add(poiUtilCell); @@ -655,9 +656,15 @@ public class PoiUtil { // cells5.add(new PoiUtilCell("9", 2, 2)); // cells5.add(new PoiUtilCell("9")); // list.add(cells5); + String fileName = "zzz/" + cn.hutool.core.date.DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = WebConstant.UPLOAD_PATH_BASE + fileName; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } Workbook wbs = exportWB("Sheet1", list, workbook); - OutputStream stream = new FileOutputStream(new File("F:\\wenjian\\"+System.currentTimeMillis()+".xlsx")); + OutputStream stream = new FileOutputStream(tmpFile); wbs.write(stream); stream.close(); diff --git a/util/src/main/java/com/ccsens/util/RedisUtil.java b/util/src/main/java/com/ccsens/util/RedisUtil.java index e4a9b300..eb416311 100644 --- a/util/src/main/java/com/ccsens/util/RedisUtil.java +++ b/util/src/main/java/com/ccsens/util/RedisUtil.java @@ -146,7 +146,7 @@ public class RedisUtil { * 递减 * * @param key 键 - * @param by 要减少几(小于0) + * @param delta 要减少几(小于0) * @return */ public long decr(String key, long delta) { @@ -496,7 +496,7 @@ public class RedisUtil { * @param time 时间(秒) * @return */ - public boolean lSet(String key, List value) { + public boolean lSet(String key, List value) { try { redisTemplate.opsForList().rightPushAll(key, value); return true; From 08c8fea0ab2ac792e995414160b597db86bdfa25 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 27 Oct 2020 14:20:41 +0800 Subject: [PATCH 30/72] =?UTF-8?q?=E5=BC=80=E5=A7=8B=E8=B7=B3=E7=BB=B3?= =?UTF-8?q?=E7=9C=81=E8=B5=9B=E5=9B=A2=E4=BD=93=E6=8A=A5=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/ProvinceController.java | 43 +++++++++++++++++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 28 ++++++++++++ .../mt/persist/dao/CompeteEnrollDao.java | 2 +- .../com/ccsens/mt/service/CompeteService.java | 2 +- .../ccsens/mt/service/IProvinceService.java | 17 ++++++++ .../ccsens/mt/service/ProvinceService.java | 22 ++++++++++ .../resources/mapper_dao/CompeteEnrollDao.xml | 1 + .../ccsens/tall/service/ProjectService.java | 22 ++++++---- .../com/ccsens/tall/web/RoleController.java | 3 +- 9 files changed, 128 insertions(+), 12 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/api/ProvinceController.java create mode 100644 mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java create mode 100644 mt/src/main/java/com/ccsens/mt/service/IProvinceService.java create mode 100644 mt/src/main/java/com/ccsens/mt/service/ProvinceService.java diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java new file mode 100644 index 00000000..d676f4d9 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -0,0 +1,43 @@ +package com.ccsens.mt.api; + +import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import com.ccsens.mt.service.IProvinceService; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @author 逗 + */ +@Slf4j +@Api(tags = "远程比赛省赛(集体报名)", description = "") +@RestController +@RequestMapping("/province") +public class ProvinceController { + @Resource + private IProvinceService provinceService; + + @MustLogin + @ApiOperation(value = "查找当前用户填写的信息的概览", notes = "") + @RequestMapping(value = "/overview", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getOverview(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查找当前用户填写的信息的概览:{}",params); + ProvinceCompeteVo.CompeteOverview competeOverview = provinceService.getOverview(params.getParam(),params.getUserId()); + log.info("查找当前用户填写的信息的概览:{}",competeOverview); + return JsonResponse.newInstance().ok(competeOverview); + } + +} diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java new file mode 100644 index 00000000..81506c46 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -0,0 +1,28 @@ +package com.ccsens.mt.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @author 逗 + */ +@Data +public class ProvinceCompeteVo { + @Data + @ApiModel("查看首页概览") + public static class CompeteOverview{ + @ApiModelProperty("参赛公司id") + private Long companyId; + @ApiModelProperty("参赛公司id") + private String companyName; + @ApiModelProperty("当前添加的教练的人数") + private int coachNum; + @ApiModelProperty("当前添加的领队的人数") + private int guideNum; + @ApiModelProperty("当前添加的参赛人员的人数") + private int playerNum; + } +} diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java index ef9dc8d3..55465a4d 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java @@ -36,7 +36,7 @@ public interface CompeteEnrollDao extends CompetePlayerMapper { * @param player_id 团队id * @return 团队参赛的组别 */ - CompeteVo.EnrollPlayInfo getPlayerAndProjectForTeam(@Param("player_id")long player_id); + CompeteVo.EnrollPlayInfo getPlayerAndProjectForTeam(@Param("teamId")long teamId,@Param("player_id")long player_id); /** * 查询参赛团队id diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 1626e5ea..43146161 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -708,7 +708,7 @@ public class CompeteService implements ICompeteService { List teamList = competeEnrollDao.getTeamId(projectInfo.getId()); for (CompeteVo.Team team1 : teamList) { //6:获取团队下队员的详细信息 - CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProjectForTeam(team1.getPlayer_id()); + CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProjectForTeam(team1.getId(),team1.getPlayer_id()); if (ObjectUtil.isNotNull(enrollPlayInfo)) { enrollPlayInfo.setName(projectInfo.getName()); arrayList.add(enrollPlayInfo); diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java new file mode 100644 index 00000000..e25589fa --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -0,0 +1,17 @@ +package com.ccsens.mt.service; + +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; + +/** + * @author 逗 + */ +public interface IProvinceService { + /** + * 查找当前用户填写的信息的概览 + * @param param + * @param userId + * @return + */ + ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId); +} diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java new file mode 100644 index 00000000..9f802e17 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -0,0 +1,22 @@ +package com.ccsens.mt.service; + +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +/** + * @author 逗 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class ProvinceService implements IProvinceService{ + + @Override + public ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId) { + return null; + } +} diff --git a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml index 2260dcaa..c3846e72 100644 --- a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml @@ -88,6 +88,7 @@ )a on a.tId = t.id WHERE p.id = #{player_id} + and t.id = #{teamId} and p.rec_status = 0 and t.rec_status = 0 diff --git a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java index 2f56e0ce..5e440c39 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProjectService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProjectService.java @@ -957,14 +957,20 @@ public class ProjectService implements IProjectService { proRoleDao.insertSelective(firstRole); parentId = firstRole.getId(); } - //添加角色 - ProRole proRole = new ProRole(); - proRole.setId(snowflake.nextId()); - proRole.setName(thisProject.getName()); - proRole.setParentId(parentId); - proRole.setProjectId(projectParentId); - proRole.setRelevanceProjectId(thisProject.getId()); - proRoleDao.insertSelective(proRole); + //查找该项目是否已经是项目角色 + ProRoleExample roleExample = new ProRoleExample(); + roleExample.createCriteria().andProjectIdEqualTo(projectParentId) + .andRelevanceProjectIdEqualTo(thisProject.getId()).andParentIdEqualTo(parentId); + if (proRoleDao.countByExample(roleExample) == 0) { + //添加角色 + ProRole proRole = new ProRole(); + proRole.setId(snowflake.nextId()); + proRole.setName(thisProject.getName()); + proRole.setParentId(parentId); + proRole.setProjectId(projectParentId); + proRole.setRelevanceProjectId(thisProject.getId()); + proRoleDao.insertSelective(proRole); + } } /** diff --git a/tall/src/main/java/com/ccsens/tall/web/RoleController.java b/tall/src/main/java/com/ccsens/tall/web/RoleController.java index 29405bbe..072b68f1 100644 --- a/tall/src/main/java/com/ccsens/tall/web/RoleController.java +++ b/tall/src/main/java/com/ccsens/tall/web/RoleController.java @@ -107,8 +107,7 @@ public class RoleController { @ApiImplicitParams({ }) @RequestMapping(value = "/update/show", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse updateRoleShow(HttpServletRequest request, - @ApiParam @Validated @RequestBody RoleDto.UpdateRoleShow roleShow) throws Exception { + public JsonResponse updateRoleShow(HttpServletRequest request,@ApiParam @Validated @RequestBody RoleDto.UpdateRoleShow roleShow) throws Exception { Long currentUserId = Long.valueOf(((Claims) request.getAttribute(WebConstant.REQUEST_KEY_CLAIMS)).getSubject()); proRoleService.updateRoleShow(currentUserId,roleShow); return JsonResponse.newInstance().ok(); From 6b538ee1b398b6114c97844ac248ddae444baf6a Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 27 Oct 2020 14:47:20 +0800 Subject: [PATCH 31/72] =?UTF-8?q?=E7=94=9F=E6=88=90=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=AF=B9=E5=BA=94=E7=9A=84bean?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/bean/po/CompeteCoach.java | 150 +++ .../mt/bean/po/CompeteCoachExample.java | 951 ++++++++++++++++++ .../com/ccsens/mt/bean/po/CompeteCompany.java | 88 ++ .../mt/bean/po/CompeteCompanyExample.java | 500 +++++++++ .../com/ccsens/mt/bean/po/CompetePlayer.java | 66 ++ .../mt/bean/po/CompetePlayerExample.java | 360 +++++++ .../mt/bean/po/CompeteProjectPlayer.java | 11 + .../bean/po/CompeteProjectPlayerExample.java | 60 ++ .../com/ccsens/mt/bean/po/CompeteTeam.java | 11 + .../ccsens/mt/bean/po/CompeteTeamExample.java | 60 ++ .../mt/persist/dao/CompeteCompanyDao.java | 14 + .../mt/persist/mapper/CompeteCoachMapper.java | 30 + .../ccsens/mt/service/ProvinceService.java | 7 +- .../mapper_dao/CompeteCompanyDao.xml | 8 + .../mapper_raw/CompeteCoachMapper.xml | 323 ++++++ .../mapper_raw/CompeteCompanyMapper.xml | 135 ++- .../mapper_raw/CompetePlayerMapper.xml | 105 +- .../mapper_raw/CompeteProjectPlayerMapper.xml | 25 +- .../mapper_raw/CompeteTeamMapper.xml | 27 +- 19 files changed, 2910 insertions(+), 21 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteCoach.java create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteCoachExample.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCoachMapper.java create mode 100644 mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml create mode 100644 mt/src/main/resources/mapper_raw/CompeteCoachMapper.xml diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCoach.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCoach.java new file mode 100644 index 00000000..249fe103 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCoach.java @@ -0,0 +1,150 @@ +package com.ccsens.mt.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class CompeteCoach implements Serializable { + private Long id; + + private Byte identity; + + private String name; + + private Byte gender; + + private String phone; + + private String idCard; + + private Long idPhoto; + + private Long coachCertificate; + + private Long companyId; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Byte getIdentity() { + return identity; + } + + public void setIdentity(Byte identity) { + this.identity = identity; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name == null ? null : name.trim(); + } + + public Byte getGender() { + return gender; + } + + public void setGender(Byte gender) { + this.gender = gender; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone == null ? null : phone.trim(); + } + + public String getIdCard() { + return idCard; + } + + public void setIdCard(String idCard) { + this.idCard = idCard == null ? null : idCard.trim(); + } + + public Long getIdPhoto() { + return idPhoto; + } + + public void setIdPhoto(Long idPhoto) { + this.idPhoto = idPhoto; + } + + public Long getCoachCertificate() { + return coachCertificate; + } + + public void setCoachCertificate(Long coachCertificate) { + this.coachCertificate = coachCertificate; + } + + public Long getCompanyId() { + return companyId; + } + + public void setCompanyId(Long companyId) { + this.companyId = companyId; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", identity=").append(identity); + sb.append(", name=").append(name); + sb.append(", gender=").append(gender); + sb.append(", phone=").append(phone); + sb.append(", idCard=").append(idCard); + sb.append(", idPhoto=").append(idPhoto); + sb.append(", coachCertificate=").append(coachCertificate); + sb.append(", companyId=").append(companyId); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCoachExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCoachExample.java new file mode 100644 index 00000000..9a65a8a7 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCoachExample.java @@ -0,0 +1,951 @@ +package com.ccsens.mt.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class CompeteCoachExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public CompeteCoachExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdentityIsNull() { + addCriterion("identity is null"); + return (Criteria) this; + } + + public Criteria andIdentityIsNotNull() { + addCriterion("identity is not null"); + return (Criteria) this; + } + + public Criteria andIdentityEqualTo(Byte value) { + addCriterion("identity =", value, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityNotEqualTo(Byte value) { + addCriterion("identity <>", value, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityGreaterThan(Byte value) { + addCriterion("identity >", value, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityGreaterThanOrEqualTo(Byte value) { + addCriterion("identity >=", value, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityLessThan(Byte value) { + addCriterion("identity <", value, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityLessThanOrEqualTo(Byte value) { + addCriterion("identity <=", value, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityIn(List values) { + addCriterion("identity in", values, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityNotIn(List values) { + addCriterion("identity not in", values, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityBetween(Byte value1, Byte value2) { + addCriterion("identity between", value1, value2, "identity"); + return (Criteria) this; + } + + public Criteria andIdentityNotBetween(Byte value1, Byte value2) { + addCriterion("identity not between", value1, value2, "identity"); + return (Criteria) this; + } + + public Criteria andNameIsNull() { + addCriterion("name is null"); + return (Criteria) this; + } + + public Criteria andNameIsNotNull() { + addCriterion("name is not null"); + return (Criteria) this; + } + + public Criteria andNameEqualTo(String value) { + addCriterion("name =", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotEqualTo(String value) { + addCriterion("name <>", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThan(String value) { + addCriterion("name >", value, "name"); + return (Criteria) this; + } + + public Criteria andNameGreaterThanOrEqualTo(String value) { + addCriterion("name >=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThan(String value) { + addCriterion("name <", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLessThanOrEqualTo(String value) { + addCriterion("name <=", value, "name"); + return (Criteria) this; + } + + public Criteria andNameLike(String value) { + addCriterion("name like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameNotLike(String value) { + addCriterion("name not like", value, "name"); + return (Criteria) this; + } + + public Criteria andNameIn(List values) { + addCriterion("name in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameNotIn(List values) { + addCriterion("name not in", values, "name"); + return (Criteria) this; + } + + public Criteria andNameBetween(String value1, String value2) { + addCriterion("name between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andNameNotBetween(String value1, String value2) { + addCriterion("name not between", value1, value2, "name"); + return (Criteria) this; + } + + public Criteria andGenderIsNull() { + addCriterion("gender is null"); + return (Criteria) this; + } + + public Criteria andGenderIsNotNull() { + addCriterion("gender is not null"); + return (Criteria) this; + } + + public Criteria andGenderEqualTo(Byte value) { + addCriterion("gender =", value, "gender"); + return (Criteria) this; + } + + public Criteria andGenderNotEqualTo(Byte value) { + addCriterion("gender <>", value, "gender"); + return (Criteria) this; + } + + public Criteria andGenderGreaterThan(Byte value) { + addCriterion("gender >", value, "gender"); + return (Criteria) this; + } + + public Criteria andGenderGreaterThanOrEqualTo(Byte value) { + addCriterion("gender >=", value, "gender"); + return (Criteria) this; + } + + public Criteria andGenderLessThan(Byte value) { + addCriterion("gender <", value, "gender"); + return (Criteria) this; + } + + public Criteria andGenderLessThanOrEqualTo(Byte value) { + addCriterion("gender <=", value, "gender"); + return (Criteria) this; + } + + public Criteria andGenderIn(List values) { + addCriterion("gender in", values, "gender"); + return (Criteria) this; + } + + public Criteria andGenderNotIn(List values) { + addCriterion("gender not in", values, "gender"); + return (Criteria) this; + } + + public Criteria andGenderBetween(Byte value1, Byte value2) { + addCriterion("gender between", value1, value2, "gender"); + return (Criteria) this; + } + + public Criteria andGenderNotBetween(Byte value1, Byte value2) { + addCriterion("gender not between", value1, value2, "gender"); + return (Criteria) this; + } + + public Criteria andPhoneIsNull() { + addCriterion("phone is null"); + return (Criteria) this; + } + + public Criteria andPhoneIsNotNull() { + addCriterion("phone is not null"); + return (Criteria) this; + } + + public Criteria andPhoneEqualTo(String value) { + addCriterion("phone =", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneNotEqualTo(String value) { + addCriterion("phone <>", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneGreaterThan(String value) { + addCriterion("phone >", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneGreaterThanOrEqualTo(String value) { + addCriterion("phone >=", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneLessThan(String value) { + addCriterion("phone <", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneLessThanOrEqualTo(String value) { + addCriterion("phone <=", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneLike(String value) { + addCriterion("phone like", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneNotLike(String value) { + addCriterion("phone not like", value, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneIn(List values) { + addCriterion("phone in", values, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneNotIn(List values) { + addCriterion("phone not in", values, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneBetween(String value1, String value2) { + addCriterion("phone between", value1, value2, "phone"); + return (Criteria) this; + } + + public Criteria andPhoneNotBetween(String value1, String value2) { + addCriterion("phone not between", value1, value2, "phone"); + return (Criteria) this; + } + + public Criteria andIdCardIsNull() { + addCriterion("id_card is null"); + return (Criteria) this; + } + + public Criteria andIdCardIsNotNull() { + addCriterion("id_card is not null"); + return (Criteria) this; + } + + public Criteria andIdCardEqualTo(String value) { + addCriterion("id_card =", value, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardNotEqualTo(String value) { + addCriterion("id_card <>", value, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardGreaterThan(String value) { + addCriterion("id_card >", value, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardGreaterThanOrEqualTo(String value) { + addCriterion("id_card >=", value, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardLessThan(String value) { + addCriterion("id_card <", value, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardLessThanOrEqualTo(String value) { + addCriterion("id_card <=", value, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardLike(String value) { + addCriterion("id_card like", value, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardNotLike(String value) { + addCriterion("id_card not like", value, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardIn(List values) { + addCriterion("id_card in", values, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardNotIn(List values) { + addCriterion("id_card not in", values, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardBetween(String value1, String value2) { + addCriterion("id_card between", value1, value2, "idCard"); + return (Criteria) this; + } + + public Criteria andIdCardNotBetween(String value1, String value2) { + addCriterion("id_card not between", value1, value2, "idCard"); + return (Criteria) this; + } + + public Criteria andIdPhotoIsNull() { + addCriterion("id_photo is null"); + return (Criteria) this; + } + + public Criteria andIdPhotoIsNotNull() { + addCriterion("id_photo is not null"); + return (Criteria) this; + } + + public Criteria andIdPhotoEqualTo(Long value) { + addCriterion("id_photo =", value, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoNotEqualTo(Long value) { + addCriterion("id_photo <>", value, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoGreaterThan(Long value) { + addCriterion("id_photo >", value, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoGreaterThanOrEqualTo(Long value) { + addCriterion("id_photo >=", value, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoLessThan(Long value) { + addCriterion("id_photo <", value, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoLessThanOrEqualTo(Long value) { + addCriterion("id_photo <=", value, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoIn(List values) { + addCriterion("id_photo in", values, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoNotIn(List values) { + addCriterion("id_photo not in", values, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoBetween(Long value1, Long value2) { + addCriterion("id_photo between", value1, value2, "idPhoto"); + return (Criteria) this; + } + + public Criteria andIdPhotoNotBetween(Long value1, Long value2) { + addCriterion("id_photo not between", value1, value2, "idPhoto"); + return (Criteria) this; + } + + public Criteria andCoachCertificateIsNull() { + addCriterion("coach_certificate is null"); + return (Criteria) this; + } + + public Criteria andCoachCertificateIsNotNull() { + addCriterion("coach_certificate is not null"); + return (Criteria) this; + } + + public Criteria andCoachCertificateEqualTo(Long value) { + addCriterion("coach_certificate =", value, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateNotEqualTo(Long value) { + addCriterion("coach_certificate <>", value, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateGreaterThan(Long value) { + addCriterion("coach_certificate >", value, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateGreaterThanOrEqualTo(Long value) { + addCriterion("coach_certificate >=", value, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateLessThan(Long value) { + addCriterion("coach_certificate <", value, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateLessThanOrEqualTo(Long value) { + addCriterion("coach_certificate <=", value, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateIn(List values) { + addCriterion("coach_certificate in", values, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateNotIn(List values) { + addCriterion("coach_certificate not in", values, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateBetween(Long value1, Long value2) { + addCriterion("coach_certificate between", value1, value2, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCoachCertificateNotBetween(Long value1, Long value2) { + addCriterion("coach_certificate not between", value1, value2, "coachCertificate"); + return (Criteria) this; + } + + public Criteria andCompanyIdIsNull() { + addCriterion("company_id is null"); + return (Criteria) this; + } + + public Criteria andCompanyIdIsNotNull() { + addCriterion("company_id is not null"); + return (Criteria) this; + } + + public Criteria andCompanyIdEqualTo(Long value) { + addCriterion("company_id =", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotEqualTo(Long value) { + addCriterion("company_id <>", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdGreaterThan(Long value) { + addCriterion("company_id >", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdGreaterThanOrEqualTo(Long value) { + addCriterion("company_id >=", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdLessThan(Long value) { + addCriterion("company_id <", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdLessThanOrEqualTo(Long value) { + addCriterion("company_id <=", value, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdIn(List values) { + addCriterion("company_id in", values, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotIn(List values) { + addCriterion("company_id not in", values, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdBetween(Long value1, Long value2) { + addCriterion("company_id between", value1, value2, "companyId"); + return (Criteria) this; + } + + public Criteria andCompanyIdNotBetween(Long value1, Long value2) { + addCriterion("company_id not between", value1, value2, "companyId"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompany.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompany.java index 3f4dea52..a8c03ff7 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompany.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompany.java @@ -10,6 +10,22 @@ public class CompeteCompany implements Serializable { private Byte type; + private Long competeTimeId; + + private String contactsName; + + private String contactsPhone; + + private Long userId; + + private Integer joinNum; + + private Integer leaderNum; + + private Integer judgmentNum; + + private Byte authorization; + private Date createdAt; private Date updatedAt; @@ -42,6 +58,70 @@ public class CompeteCompany implements Serializable { this.type = type; } + public Long getCompeteTimeId() { + return competeTimeId; + } + + public void setCompeteTimeId(Long competeTimeId) { + this.competeTimeId = competeTimeId; + } + + public String getContactsName() { + return contactsName; + } + + public void setContactsName(String contactsName) { + this.contactsName = contactsName == null ? null : contactsName.trim(); + } + + public String getContactsPhone() { + return contactsPhone; + } + + public void setContactsPhone(String contactsPhone) { + this.contactsPhone = contactsPhone == null ? null : contactsPhone.trim(); + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Integer getJoinNum() { + return joinNum; + } + + public void setJoinNum(Integer joinNum) { + this.joinNum = joinNum; + } + + public Integer getLeaderNum() { + return leaderNum; + } + + public void setLeaderNum(Integer leaderNum) { + this.leaderNum = leaderNum; + } + + public Integer getJudgmentNum() { + return judgmentNum; + } + + public void setJudgmentNum(Integer judgmentNum) { + this.judgmentNum = judgmentNum; + } + + public Byte getAuthorization() { + return authorization; + } + + public void setAuthorization(Byte authorization) { + this.authorization = authorization; + } + public Date getCreatedAt() { return createdAt; } @@ -75,6 +155,14 @@ public class CompeteCompany implements Serializable { sb.append(", id=").append(id); sb.append(", name=").append(name); sb.append(", type=").append(type); + sb.append(", competeTimeId=").append(competeTimeId); + sb.append(", contactsName=").append(contactsName); + sb.append(", contactsPhone=").append(contactsPhone); + sb.append(", userId=").append(userId); + sb.append(", joinNum=").append(joinNum); + sb.append(", leaderNum=").append(leaderNum); + sb.append(", judgmentNum=").append(judgmentNum); + sb.append(", authorization=").append(authorization); sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyExample.java index 24d4b91b..3fb558b5 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyExample.java @@ -295,6 +295,506 @@ public class CompeteCompanyExample { return (Criteria) this; } + public Criteria andCompeteTimeIdIsNull() { + addCriterion("compete_time_id is null"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdIsNotNull() { + addCriterion("compete_time_id is not null"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdEqualTo(Long value) { + addCriterion("compete_time_id =", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotEqualTo(Long value) { + addCriterion("compete_time_id <>", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdGreaterThan(Long value) { + addCriterion("compete_time_id >", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdGreaterThanOrEqualTo(Long value) { + addCriterion("compete_time_id >=", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdLessThan(Long value) { + addCriterion("compete_time_id <", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdLessThanOrEqualTo(Long value) { + addCriterion("compete_time_id <=", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdIn(List values) { + addCriterion("compete_time_id in", values, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotIn(List values) { + addCriterion("compete_time_id not in", values, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdBetween(Long value1, Long value2) { + addCriterion("compete_time_id between", value1, value2, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotBetween(Long value1, Long value2) { + addCriterion("compete_time_id not between", value1, value2, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andContactsNameIsNull() { + addCriterion("contacts_name is null"); + return (Criteria) this; + } + + public Criteria andContactsNameIsNotNull() { + addCriterion("contacts_name is not null"); + return (Criteria) this; + } + + public Criteria andContactsNameEqualTo(String value) { + addCriterion("contacts_name =", value, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameNotEqualTo(String value) { + addCriterion("contacts_name <>", value, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameGreaterThan(String value) { + addCriterion("contacts_name >", value, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameGreaterThanOrEqualTo(String value) { + addCriterion("contacts_name >=", value, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameLessThan(String value) { + addCriterion("contacts_name <", value, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameLessThanOrEqualTo(String value) { + addCriterion("contacts_name <=", value, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameLike(String value) { + addCriterion("contacts_name like", value, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameNotLike(String value) { + addCriterion("contacts_name not like", value, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameIn(List values) { + addCriterion("contacts_name in", values, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameNotIn(List values) { + addCriterion("contacts_name not in", values, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameBetween(String value1, String value2) { + addCriterion("contacts_name between", value1, value2, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsNameNotBetween(String value1, String value2) { + addCriterion("contacts_name not between", value1, value2, "contactsName"); + return (Criteria) this; + } + + public Criteria andContactsPhoneIsNull() { + addCriterion("contacts_phone is null"); + return (Criteria) this; + } + + public Criteria andContactsPhoneIsNotNull() { + addCriterion("contacts_phone is not null"); + return (Criteria) this; + } + + public Criteria andContactsPhoneEqualTo(String value) { + addCriterion("contacts_phone =", value, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneNotEqualTo(String value) { + addCriterion("contacts_phone <>", value, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneGreaterThan(String value) { + addCriterion("contacts_phone >", value, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneGreaterThanOrEqualTo(String value) { + addCriterion("contacts_phone >=", value, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneLessThan(String value) { + addCriterion("contacts_phone <", value, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneLessThanOrEqualTo(String value) { + addCriterion("contacts_phone <=", value, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneLike(String value) { + addCriterion("contacts_phone like", value, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneNotLike(String value) { + addCriterion("contacts_phone not like", value, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneIn(List values) { + addCriterion("contacts_phone in", values, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneNotIn(List values) { + addCriterion("contacts_phone not in", values, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneBetween(String value1, String value2) { + addCriterion("contacts_phone between", value1, value2, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andContactsPhoneNotBetween(String value1, String value2) { + addCriterion("contacts_phone not between", value1, value2, "contactsPhone"); + return (Criteria) this; + } + + public Criteria andUserIdIsNull() { + addCriterion("user_id is null"); + return (Criteria) this; + } + + public Criteria andUserIdIsNotNull() { + addCriterion("user_id is not null"); + return (Criteria) this; + } + + public Criteria andUserIdEqualTo(Long value) { + addCriterion("user_id =", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotEqualTo(Long value) { + addCriterion("user_id <>", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThan(Long value) { + addCriterion("user_id >", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("user_id >=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThan(Long value) { + addCriterion("user_id <", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThanOrEqualTo(Long value) { + addCriterion("user_id <=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdIn(List values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List values) { + addCriterion("user_id not in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdBetween(Long value1, Long value2) { + addCriterion("user_id between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotBetween(Long value1, Long value2) { + addCriterion("user_id not between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andJoinNumIsNull() { + addCriterion("join_num is null"); + return (Criteria) this; + } + + public Criteria andJoinNumIsNotNull() { + addCriterion("join_num is not null"); + return (Criteria) this; + } + + public Criteria andJoinNumEqualTo(Integer value) { + addCriterion("join_num =", value, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumNotEqualTo(Integer value) { + addCriterion("join_num <>", value, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumGreaterThan(Integer value) { + addCriterion("join_num >", value, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumGreaterThanOrEqualTo(Integer value) { + addCriterion("join_num >=", value, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumLessThan(Integer value) { + addCriterion("join_num <", value, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumLessThanOrEqualTo(Integer value) { + addCriterion("join_num <=", value, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumIn(List values) { + addCriterion("join_num in", values, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumNotIn(List values) { + addCriterion("join_num not in", values, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumBetween(Integer value1, Integer value2) { + addCriterion("join_num between", value1, value2, "joinNum"); + return (Criteria) this; + } + + public Criteria andJoinNumNotBetween(Integer value1, Integer value2) { + addCriterion("join_num not between", value1, value2, "joinNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumIsNull() { + addCriterion("leader_num is null"); + return (Criteria) this; + } + + public Criteria andLeaderNumIsNotNull() { + addCriterion("leader_num is not null"); + return (Criteria) this; + } + + public Criteria andLeaderNumEqualTo(Integer value) { + addCriterion("leader_num =", value, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumNotEqualTo(Integer value) { + addCriterion("leader_num <>", value, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumGreaterThan(Integer value) { + addCriterion("leader_num >", value, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumGreaterThanOrEqualTo(Integer value) { + addCriterion("leader_num >=", value, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumLessThan(Integer value) { + addCriterion("leader_num <", value, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumLessThanOrEqualTo(Integer value) { + addCriterion("leader_num <=", value, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumIn(List values) { + addCriterion("leader_num in", values, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumNotIn(List values) { + addCriterion("leader_num not in", values, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumBetween(Integer value1, Integer value2) { + addCriterion("leader_num between", value1, value2, "leaderNum"); + return (Criteria) this; + } + + public Criteria andLeaderNumNotBetween(Integer value1, Integer value2) { + addCriterion("leader_num not between", value1, value2, "leaderNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumIsNull() { + addCriterion("judgment_num is null"); + return (Criteria) this; + } + + public Criteria andJudgmentNumIsNotNull() { + addCriterion("judgment_num is not null"); + return (Criteria) this; + } + + public Criteria andJudgmentNumEqualTo(Integer value) { + addCriterion("judgment_num =", value, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumNotEqualTo(Integer value) { + addCriterion("judgment_num <>", value, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumGreaterThan(Integer value) { + addCriterion("judgment_num >", value, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumGreaterThanOrEqualTo(Integer value) { + addCriterion("judgment_num >=", value, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumLessThan(Integer value) { + addCriterion("judgment_num <", value, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumLessThanOrEqualTo(Integer value) { + addCriterion("judgment_num <=", value, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumIn(List values) { + addCriterion("judgment_num in", values, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumNotIn(List values) { + addCriterion("judgment_num not in", values, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumBetween(Integer value1, Integer value2) { + addCriterion("judgment_num between", value1, value2, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andJudgmentNumNotBetween(Integer value1, Integer value2) { + addCriterion("judgment_num not between", value1, value2, "judgmentNum"); + return (Criteria) this; + } + + public Criteria andAuthorizationIsNull() { + addCriterion("authorization is null"); + return (Criteria) this; + } + + public Criteria andAuthorizationIsNotNull() { + addCriterion("authorization is not null"); + return (Criteria) this; + } + + public Criteria andAuthorizationEqualTo(Byte value) { + addCriterion("authorization =", value, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationNotEqualTo(Byte value) { + addCriterion("authorization <>", value, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationGreaterThan(Byte value) { + addCriterion("authorization >", value, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationGreaterThanOrEqualTo(Byte value) { + addCriterion("authorization >=", value, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationLessThan(Byte value) { + addCriterion("authorization <", value, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationLessThanOrEqualTo(Byte value) { + addCriterion("authorization <=", value, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationIn(List values) { + addCriterion("authorization in", values, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationNotIn(List values) { + addCriterion("authorization not in", values, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationBetween(Byte value1, Byte value2) { + addCriterion("authorization between", value1, value2, "authorization"); + return (Criteria) this; + } + + public Criteria andAuthorizationNotBetween(Byte value1, Byte value2) { + addCriterion("authorization not between", value1, value2, "authorization"); + return (Criteria) this; + } + public Criteria andCreatedAtIsNull() { addCriterion("created_at is null"); return (Criteria) this; diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java index 502bc17b..69412bf2 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java @@ -36,6 +36,18 @@ public class CompetePlayer implements Serializable { private Long competeTimeId; + private Long idCardFrontFile; + + private Long idCardBackFile; + + private Long idPhotoFile; + + private Long studentRecordFile; + + private Long healthRecordFile; + + private Long insuranceRecordFile; + private static final long serialVersionUID = 1L; public Long getId() { @@ -166,6 +178,54 @@ public class CompetePlayer implements Serializable { this.competeTimeId = competeTimeId; } + public Long getIdCardFrontFile() { + return idCardFrontFile; + } + + public void setIdCardFrontFile(Long idCardFrontFile) { + this.idCardFrontFile = idCardFrontFile; + } + + public Long getIdCardBackFile() { + return idCardBackFile; + } + + public void setIdCardBackFile(Long idCardBackFile) { + this.idCardBackFile = idCardBackFile; + } + + public Long getIdPhotoFile() { + return idPhotoFile; + } + + public void setIdPhotoFile(Long idPhotoFile) { + this.idPhotoFile = idPhotoFile; + } + + public Long getStudentRecordFile() { + return studentRecordFile; + } + + public void setStudentRecordFile(Long studentRecordFile) { + this.studentRecordFile = studentRecordFile; + } + + public Long getHealthRecordFile() { + return healthRecordFile; + } + + public void setHealthRecordFile(Long healthRecordFile) { + this.healthRecordFile = healthRecordFile; + } + + public Long getInsuranceRecordFile() { + return insuranceRecordFile; + } + + public void setInsuranceRecordFile(Long insuranceRecordFile) { + this.insuranceRecordFile = insuranceRecordFile; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -188,6 +248,12 @@ public class CompetePlayer implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", competeTimeId=").append(competeTimeId); + sb.append(", idCardFrontFile=").append(idCardFrontFile); + sb.append(", idCardBackFile=").append(idCardBackFile); + sb.append(", idPhotoFile=").append(idPhotoFile); + sb.append(", studentRecordFile=").append(studentRecordFile); + sb.append(", healthRecordFile=").append(healthRecordFile); + sb.append(", insuranceRecordFile=").append(insuranceRecordFile); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java index aeb381a1..65d4bb9f 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java @@ -1124,6 +1124,366 @@ public class CompetePlayerExample { addCriterion("compete_time_id not between", value1, value2, "competeTimeId"); return (Criteria) this; } + + public Criteria andIdCardFrontFileIsNull() { + addCriterion("id_card_front_file is null"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileIsNotNull() { + addCriterion("id_card_front_file is not null"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileEqualTo(Long value) { + addCriterion("id_card_front_file =", value, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileNotEqualTo(Long value) { + addCriterion("id_card_front_file <>", value, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileGreaterThan(Long value) { + addCriterion("id_card_front_file >", value, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileGreaterThanOrEqualTo(Long value) { + addCriterion("id_card_front_file >=", value, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileLessThan(Long value) { + addCriterion("id_card_front_file <", value, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileLessThanOrEqualTo(Long value) { + addCriterion("id_card_front_file <=", value, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileIn(List values) { + addCriterion("id_card_front_file in", values, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileNotIn(List values) { + addCriterion("id_card_front_file not in", values, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileBetween(Long value1, Long value2) { + addCriterion("id_card_front_file between", value1, value2, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardFrontFileNotBetween(Long value1, Long value2) { + addCriterion("id_card_front_file not between", value1, value2, "idCardFrontFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileIsNull() { + addCriterion("id_card_back_file is null"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileIsNotNull() { + addCriterion("id_card_back_file is not null"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileEqualTo(Long value) { + addCriterion("id_card_back_file =", value, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileNotEqualTo(Long value) { + addCriterion("id_card_back_file <>", value, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileGreaterThan(Long value) { + addCriterion("id_card_back_file >", value, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileGreaterThanOrEqualTo(Long value) { + addCriterion("id_card_back_file >=", value, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileLessThan(Long value) { + addCriterion("id_card_back_file <", value, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileLessThanOrEqualTo(Long value) { + addCriterion("id_card_back_file <=", value, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileIn(List values) { + addCriterion("id_card_back_file in", values, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileNotIn(List values) { + addCriterion("id_card_back_file not in", values, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileBetween(Long value1, Long value2) { + addCriterion("id_card_back_file between", value1, value2, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdCardBackFileNotBetween(Long value1, Long value2) { + addCriterion("id_card_back_file not between", value1, value2, "idCardBackFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileIsNull() { + addCriterion("id_photo_file is null"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileIsNotNull() { + addCriterion("id_photo_file is not null"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileEqualTo(Long value) { + addCriterion("id_photo_file =", value, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileNotEqualTo(Long value) { + addCriterion("id_photo_file <>", value, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileGreaterThan(Long value) { + addCriterion("id_photo_file >", value, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileGreaterThanOrEqualTo(Long value) { + addCriterion("id_photo_file >=", value, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileLessThan(Long value) { + addCriterion("id_photo_file <", value, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileLessThanOrEqualTo(Long value) { + addCriterion("id_photo_file <=", value, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileIn(List values) { + addCriterion("id_photo_file in", values, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileNotIn(List values) { + addCriterion("id_photo_file not in", values, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileBetween(Long value1, Long value2) { + addCriterion("id_photo_file between", value1, value2, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andIdPhotoFileNotBetween(Long value1, Long value2) { + addCriterion("id_photo_file not between", value1, value2, "idPhotoFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileIsNull() { + addCriterion("student_record_file is null"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileIsNotNull() { + addCriterion("student_record_file is not null"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileEqualTo(Long value) { + addCriterion("student_record_file =", value, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileNotEqualTo(Long value) { + addCriterion("student_record_file <>", value, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileGreaterThan(Long value) { + addCriterion("student_record_file >", value, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileGreaterThanOrEqualTo(Long value) { + addCriterion("student_record_file >=", value, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileLessThan(Long value) { + addCriterion("student_record_file <", value, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileLessThanOrEqualTo(Long value) { + addCriterion("student_record_file <=", value, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileIn(List values) { + addCriterion("student_record_file in", values, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileNotIn(List values) { + addCriterion("student_record_file not in", values, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileBetween(Long value1, Long value2) { + addCriterion("student_record_file between", value1, value2, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andStudentRecordFileNotBetween(Long value1, Long value2) { + addCriterion("student_record_file not between", value1, value2, "studentRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileIsNull() { + addCriterion("health_record_file is null"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileIsNotNull() { + addCriterion("health_record_file is not null"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileEqualTo(Long value) { + addCriterion("health_record_file =", value, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileNotEqualTo(Long value) { + addCriterion("health_record_file <>", value, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileGreaterThan(Long value) { + addCriterion("health_record_file >", value, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileGreaterThanOrEqualTo(Long value) { + addCriterion("health_record_file >=", value, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileLessThan(Long value) { + addCriterion("health_record_file <", value, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileLessThanOrEqualTo(Long value) { + addCriterion("health_record_file <=", value, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileIn(List values) { + addCriterion("health_record_file in", values, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileNotIn(List values) { + addCriterion("health_record_file not in", values, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileBetween(Long value1, Long value2) { + addCriterion("health_record_file between", value1, value2, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andHealthRecordFileNotBetween(Long value1, Long value2) { + addCriterion("health_record_file not between", value1, value2, "healthRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileIsNull() { + addCriterion("insurance_record_file is null"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileIsNotNull() { + addCriterion("insurance_record_file is not null"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileEqualTo(Long value) { + addCriterion("insurance_record_file =", value, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileNotEqualTo(Long value) { + addCriterion("insurance_record_file <>", value, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileGreaterThan(Long value) { + addCriterion("insurance_record_file >", value, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileGreaterThanOrEqualTo(Long value) { + addCriterion("insurance_record_file >=", value, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileLessThan(Long value) { + addCriterion("insurance_record_file <", value, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileLessThanOrEqualTo(Long value) { + addCriterion("insurance_record_file <=", value, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileIn(List values) { + addCriterion("insurance_record_file in", values, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileNotIn(List values) { + addCriterion("insurance_record_file not in", values, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileBetween(Long value1, Long value2) { + addCriterion("insurance_record_file between", value1, value2, "insuranceRecordFile"); + return (Criteria) this; + } + + public Criteria andInsuranceRecordFileNotBetween(Long value1, Long value2) { + addCriterion("insurance_record_file not between", value1, value2, "insuranceRecordFile"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayer.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayer.java index d122968b..c8032b4c 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayer.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayer.java @@ -24,6 +24,8 @@ public class CompeteProjectPlayer implements Serializable { private Long competeGroupId; + private Byte success; + private static final long serialVersionUID = 1L; public Long getId() { @@ -106,6 +108,14 @@ public class CompeteProjectPlayer implements Serializable { this.competeGroupId = competeGroupId; } + public Byte getSuccess() { + return success; + } + + public void setSuccess(Byte success) { + this.success = success; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -122,6 +132,7 @@ public class CompeteProjectPlayer implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", competeGroupId=").append(competeGroupId); + sb.append(", success=").append(success); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayerExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayerExample.java index fb6e50c0..ec1632e9 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayerExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectPlayerExample.java @@ -704,6 +704,66 @@ public class CompeteProjectPlayerExample { addCriterion("compete_group_id not between", value1, value2, "competeGroupId"); return (Criteria) this; } + + public Criteria andSuccessIsNull() { + addCriterion("success is null"); + return (Criteria) this; + } + + public Criteria andSuccessIsNotNull() { + addCriterion("success is not null"); + return (Criteria) this; + } + + public Criteria andSuccessEqualTo(Byte value) { + addCriterion("success =", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessNotEqualTo(Byte value) { + addCriterion("success <>", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessGreaterThan(Byte value) { + addCriterion("success >", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessGreaterThanOrEqualTo(Byte value) { + addCriterion("success >=", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessLessThan(Byte value) { + addCriterion("success <", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessLessThanOrEqualTo(Byte value) { + addCriterion("success <=", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessIn(List values) { + addCriterion("success in", values, "success"); + return (Criteria) this; + } + + public Criteria andSuccessNotIn(List values) { + addCriterion("success not in", values, "success"); + return (Criteria) this; + } + + public Criteria andSuccessBetween(Byte value1, Byte value2) { + addCriterion("success between", value1, value2, "success"); + return (Criteria) this; + } + + public Criteria andSuccessNotBetween(Byte value1, Byte value2) { + addCriterion("success not between", value1, value2, "success"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java index 0d6a9e99..1b959386 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java @@ -26,6 +26,8 @@ public class CompeteTeam implements Serializable { private Long competeGroupId; + private Byte success; + private static final long serialVersionUID = 1L; public Long getId() { @@ -116,6 +118,14 @@ public class CompeteTeam implements Serializable { this.competeGroupId = competeGroupId; } + public Byte getSuccess() { + return success; + } + + public void setSuccess(Byte success) { + this.success = success; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -133,6 +143,7 @@ public class CompeteTeam implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", competeGroupId=").append(competeGroupId); + sb.append(", success=").append(success); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java index 25a8ba85..8d06ad1e 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java @@ -774,6 +774,66 @@ public class CompeteTeamExample { addCriterion("compete_group_id not between", value1, value2, "competeGroupId"); return (Criteria) this; } + + public Criteria andSuccessIsNull() { + addCriterion("success is null"); + return (Criteria) this; + } + + public Criteria andSuccessIsNotNull() { + addCriterion("success is not null"); + return (Criteria) this; + } + + public Criteria andSuccessEqualTo(Byte value) { + addCriterion("success =", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessNotEqualTo(Byte value) { + addCriterion("success <>", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessGreaterThan(Byte value) { + addCriterion("success >", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessGreaterThanOrEqualTo(Byte value) { + addCriterion("success >=", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessLessThan(Byte value) { + addCriterion("success <", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessLessThanOrEqualTo(Byte value) { + addCriterion("success <=", value, "success"); + return (Criteria) this; + } + + public Criteria andSuccessIn(List values) { + addCriterion("success in", values, "success"); + return (Criteria) this; + } + + public Criteria andSuccessNotIn(List values) { + addCriterion("success not in", values, "success"); + return (Criteria) this; + } + + public Criteria andSuccessBetween(Byte value1, Byte value2) { + addCriterion("success between", value1, value2, "success"); + return (Criteria) this; + } + + public Criteria andSuccessNotBetween(Byte value1, Byte value2) { + addCriterion("success not between", value1, value2, "success"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java new file mode 100644 index 00000000..9db29173 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -0,0 +1,14 @@ +package com.ccsens.mt.persist.dao; + +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; +import org.springframework.stereotype.Repository; + +/** + * @author 逗 + */ +@Repository +public interface CompeteCompanyDao extends CompeteCompanyMapper { + + ProvinceCompeteVo.CompeteOverview getCompanyOverview(Long competeTimeId, Long userId); +} diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCoachMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCoachMapper.java new file mode 100644 index 00000000..612a126d --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCoachMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.mt.persist.mapper; + +import com.ccsens.mt.bean.po.CompeteCoach; +import com.ccsens.mt.bean.po.CompeteCoachExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface CompeteCoachMapper { + long countByExample(CompeteCoachExample example); + + int deleteByExample(CompeteCoachExample example); + + int deleteByPrimaryKey(Long id); + + int insert(CompeteCoach record); + + int insertSelective(CompeteCoach record); + + List selectByExample(CompeteCoachExample example); + + CompeteCoach selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") CompeteCoach record, @Param("example") CompeteCoachExample example); + + int updateByExample(@Param("record") CompeteCoach record, @Param("example") CompeteCoachExample example); + + int updateByPrimaryKeySelective(CompeteCoach record); + + int updateByPrimaryKey(CompeteCoach record); +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 9f802e17..f08b5a18 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -2,11 +2,14 @@ package com.ccsens.mt.service; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import com.ccsens.mt.persist.dao.CompeteCompanyDao; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; + /** * @author 逗 */ @@ -14,9 +17,11 @@ import org.springframework.transaction.annotation.Transactional; @Service @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class ProvinceService implements IProvinceService{ + @Resource + private CompeteCompanyDao competeCompanyDao; @Override public ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId) { - return null; + return competeCompanyDao.getCompanyOverview(param.getCompeteTimeId(),userId); } } diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml new file mode 100644 index 00000000..17d49716 --- /dev/null +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteCoachMapper.xml b/mt/src/main/resources/mapper_raw/CompeteCoachMapper.xml new file mode 100644 index 00000000..bdd6fd11 --- /dev/null +++ b/mt/src/main/resources/mapper_raw/CompeteCoachMapper.xml @@ -0,0 +1,323 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, identity, name, gender, phone, id_card, id_photo, coach_certificate, company_id, + created_at, updated_at, rec_status + + + + + delete from t_compete_coach + where id = #{id,jdbcType=BIGINT} + + + delete from t_compete_coach + + + + + + insert into t_compete_coach (id, identity, name, + gender, phone, id_card, + id_photo, coach_certificate, company_id, + created_at, updated_at, rec_status + ) + values (#{id,jdbcType=BIGINT}, #{identity,jdbcType=TINYINT}, #{name,jdbcType=VARCHAR}, + #{gender,jdbcType=TINYINT}, #{phone,jdbcType=VARCHAR}, #{idCard,jdbcType=VARCHAR}, + #{idPhoto,jdbcType=BIGINT}, #{coachCertificate,jdbcType=BIGINT}, #{companyId,jdbcType=BIGINT}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} + ) + + + insert into t_compete_coach + + + id, + + + identity, + + + name, + + + gender, + + + phone, + + + id_card, + + + id_photo, + + + coach_certificate, + + + company_id, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{identity,jdbcType=TINYINT}, + + + #{name,jdbcType=VARCHAR}, + + + #{gender,jdbcType=TINYINT}, + + + #{phone,jdbcType=VARCHAR}, + + + #{idCard,jdbcType=VARCHAR}, + + + #{idPhoto,jdbcType=BIGINT}, + + + #{coachCertificate,jdbcType=BIGINT}, + + + #{companyId,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_compete_coach + + + id = #{record.id,jdbcType=BIGINT}, + + + identity = #{record.identity,jdbcType=TINYINT}, + + + name = #{record.name,jdbcType=VARCHAR}, + + + gender = #{record.gender,jdbcType=TINYINT}, + + + phone = #{record.phone,jdbcType=VARCHAR}, + + + id_card = #{record.idCard,jdbcType=VARCHAR}, + + + id_photo = #{record.idPhoto,jdbcType=BIGINT}, + + + coach_certificate = #{record.coachCertificate,jdbcType=BIGINT}, + + + company_id = #{record.companyId,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_compete_coach + set id = #{record.id,jdbcType=BIGINT}, + identity = #{record.identity,jdbcType=TINYINT}, + name = #{record.name,jdbcType=VARCHAR}, + gender = #{record.gender,jdbcType=TINYINT}, + phone = #{record.phone,jdbcType=VARCHAR}, + id_card = #{record.idCard,jdbcType=VARCHAR}, + id_photo = #{record.idPhoto,jdbcType=BIGINT}, + coach_certificate = #{record.coachCertificate,jdbcType=BIGINT}, + company_id = #{record.companyId,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_compete_coach + + + identity = #{identity,jdbcType=TINYINT}, + + + name = #{name,jdbcType=VARCHAR}, + + + gender = #{gender,jdbcType=TINYINT}, + + + phone = #{phone,jdbcType=VARCHAR}, + + + id_card = #{idCard,jdbcType=VARCHAR}, + + + id_photo = #{idPhoto,jdbcType=BIGINT}, + + + coach_certificate = #{coachCertificate,jdbcType=BIGINT}, + + + company_id = #{companyId,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_compete_coach + set identity = #{identity,jdbcType=TINYINT}, + name = #{name,jdbcType=VARCHAR}, + gender = #{gender,jdbcType=TINYINT}, + phone = #{phone,jdbcType=VARCHAR}, + id_card = #{idCard,jdbcType=VARCHAR}, + id_photo = #{idPhoto,jdbcType=BIGINT}, + coach_certificate = #{coachCertificate,jdbcType=BIGINT}, + company_id = #{companyId,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteCompanyMapper.xml b/mt/src/main/resources/mapper_raw/CompeteCompanyMapper.xml index 3dfa84ff..a3a835fe 100644 --- a/mt/src/main/resources/mapper_raw/CompeteCompanyMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteCompanyMapper.xml @@ -5,6 +5,14 @@ + + + + + + + + @@ -68,7 +76,8 @@ - id, name, type, created_at, updated_at, rec_status + id, name, type, compete_time_id, contacts_name, contacts_phone, user_id, join_num, + leader_num, judgment_num, authorization, created_at, updated_at, rec_status select @@ -118,13 +125,17 @@ id_card_front, id_card_back, prove_img, compete_group_id, company_id, authorization, created_at, updated_at, rec_status, - compete_time_id) + compete_time_id, id_card_front_file, id_card_back_file, + id_photo_file, student_record_file, health_record_file, + insurance_record_file) values (#{id,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{idCard,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, #{gender,jdbcType=TINYINT}, #{idCardFront,jdbcType=VARCHAR}, #{idCardBack,jdbcType=VARCHAR}, #{proveImg,jdbcType=VARCHAR}, #{competeGroupId,jdbcType=BIGINT}, #{companyId,jdbcType=BIGINT}, #{authorization,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, - #{competeTimeId,jdbcType=BIGINT}) + #{competeTimeId,jdbcType=BIGINT}, #{idCardFrontFile,jdbcType=BIGINT}, #{idCardBackFile,jdbcType=BIGINT}, + #{idPhotoFile,jdbcType=BIGINT}, #{studentRecordFile,jdbcType=BIGINT}, #{healthRecordFile,jdbcType=BIGINT}, + #{insuranceRecordFile,jdbcType=BIGINT}) insert into t_compete_player @@ -177,6 +188,24 @@ compete_time_id, + + id_card_front_file, + + + id_card_back_file, + + + id_photo_file, + + + student_record_file, + + + health_record_file, + + + insurance_record_file, + @@ -227,6 +256,24 @@ #{competeTimeId,jdbcType=BIGINT}, + + #{idCardFrontFile,jdbcType=BIGINT}, + + + #{idCardBackFile,jdbcType=BIGINT}, + + + #{idPhotoFile,jdbcType=BIGINT}, + + + #{studentRecordFile,jdbcType=BIGINT}, + + + #{healthRecordFile,jdbcType=BIGINT}, + + + #{insuranceRecordFile,jdbcType=BIGINT}, + select @@ -109,11 +110,11 @@ insert into t_compete_project_player (id, player_id, project_id, compete_time_id, gender_group, certificate, created_at, updated_at, rec_status, - compete_group_id) + compete_group_id, success) values (#{id,jdbcType=BIGINT}, #{playerId,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{genderGroup,jdbcType=TINYINT}, #{certificate,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, - #{competeGroupId,jdbcType=BIGINT}) + #{competeGroupId,jdbcType=BIGINT}, #{success,jdbcType=TINYINT}) insert into t_compete_project_player @@ -148,6 +149,9 @@ compete_group_id, + + success, + @@ -180,6 +184,9 @@ #{competeGroupId,jdbcType=BIGINT}, + + #{success,jdbcType=TINYINT}, + select @@ -110,11 +111,13 @@ insert into t_compete_team (id, creator, project_id, compete_time_id, gender_group, certificate, qr_code, created_at, updated_at, - rec_status, compete_group_id) + rec_status, compete_group_id, success + ) values (#{id,jdbcType=BIGINT}, #{creator,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{genderGroup,jdbcType=TINYINT}, #{certificate,jdbcType=TINYINT}, #{qrCode,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, - #{recStatus,jdbcType=TINYINT}, #{competeGroupId,jdbcType=BIGINT}) + #{recStatus,jdbcType=TINYINT}, #{competeGroupId,jdbcType=BIGINT}, #{success,jdbcType=TINYINT} + ) insert into t_compete_team @@ -152,6 +155,9 @@ compete_group_id, + + success, + @@ -187,6 +193,9 @@ #{competeGroupId,jdbcType=BIGINT}, + + #{success,jdbcType=TINYINT}, + + select + name, + contacts_name, + contacts_phone, + leader_num, + join_num + from + t_compete_company + where user_id = #{userId} + and compete_time_id =#{competeTimeId} + + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java b/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java index 50cf2a80..f5d7d93e 100644 --- a/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java +++ b/util/src/main/java/com/ccsens/util/bean/dto/QueryDto.java @@ -3,10 +3,8 @@ package com.ccsens.util.bean.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import org.springframework.validation.annotation.Validated; import javax.validation.Valid; -import javax.validation.constraints.NotNull; /** * @program: ptpro From b88fc3dfa349c3293f8906ca9fea6718cb88feab Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 28 Oct 2020 09:04:53 +0800 Subject: [PATCH 33/72] =?UTF-8?q?20201028=5F=E6=B5=8B=E8=AF=95=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A81.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/ProvinceController.java | 43 +++++++ .../mt/bean/dto/ProvinceCompeteDto.java | 56 +++++++++ .../com/ccsens/mt/bean/po/CompeteCompany.java | 12 +- .../mt/bean/po/CompeteCompanyExample.java | 48 ++++---- .../com/ccsens/mt/bean/po/CompeteProject.java | 11 ++ .../mt/bean/po/CompeteProjectExample.java | 60 +++++++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 33 ++++- .../mt/persist/dao/CompeteCompanyDao.java | 36 +++++- .../ccsens/mt/service/IProvinceService.java | 43 ++++++- .../ccsens/mt/service/ProvinceService.java | 94 ++++++++++++++ .../mapper_dao/CompeteCompanyDao.xml | 115 ++++++++++++++++++ .../mapper_raw/CompeteCompanyMapper.xml | 28 ++--- .../mapper_raw/CompeteProjectMapper.xml | 25 +++- .../ccsens/tall/persist/dao/ProRoleDao.java | 8 ++ .../ccsens/tall/service/IProRoleService.java | 15 +-- .../ccsens/tall/service/ProRoleService.java | 9 +- .../com/ccsens/tall/web/RoleController.java | 29 ++--- tall/src/main/resources/application.yml | 4 +- .../main/resources/mapper_dao/ProRoleDao.xml | 15 +++ 19 files changed, 606 insertions(+), 78 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index d676f4d9..167b979c 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -2,6 +2,7 @@ package com.ccsens.mt.api; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.dto.ProvinceCompeteDto; import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.service.IProvinceService; @@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * @author 逗 @@ -40,4 +42,45 @@ public class ProvinceController { return JsonResponse.newInstance().ok(competeOverview); } + @MustLogin + @ApiOperation(value = "根据组别查找本单位所有注册的选手", notes = "") + @RequestMapping(value = "/group/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryPlayerByGroupId( + @ApiParam @Validated @RequestBody QueryDto params) { + log.info("根据组别查找本单位所有注册的选手:{}",params); + List groupAndPlayers = provinceService.queryPlayerByGroupId(params.getParam(),params.getUserId()); + log.info("根据组别查找本单位所有注册的选手:{}",groupAndPlayers); + return JsonResponse.newInstance().ok(groupAndPlayers); + } + + @MustLogin + @ApiOperation(value = "根据大赛id查找所有的一级项目", notes = "") + @RequestMapping(value = "/first/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryFirstProjectByCompeteTimeId( + @ApiParam @Validated @RequestBody QueryDto params) { + log.info("查找所有的一级项目:{}",params); + List projectList = provinceService.queryFirstProjectByCompeteTimeId(params.getParam(),params.getUserId()); + log.info("查找所有的一级项目:{}",projectList); + return JsonResponse.newInstance().ok(projectList); + } + +// @MustLogin +// @ApiOperation(value = "根据一级项目id查找二级比赛项目的信息", notes = "") +// @RequestMapping(value = "/second/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) +// public JsonResponse> queryProjectByFirstProject( +// @ApiParam @Validated @RequestBody QueryDto params) { +// log.info("查找二级比赛项目的信息:{}",params); +// List projectList = provinceService.queryProjectByCompeteTimeId(params.getParam(),params.getUserId()); +// log.info("查找二级比赛项目的信息:{}",projectList); +// return JsonResponse.newInstance().ok(projectList); +// } + + @MustLogin + @ApiOperation(value = "新加/修改参赛人员", notes = "") + @RequestMapping(value = "/save/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse saveOrUpdatePlayer( @ApiParam QueryDto params) { + log.info("新加/修改参赛人员:{}",params); + provinceService.saveOrUpdatePlayer(params.getParam(),params.getUserId()); + return JsonResponse.newInstance().ok(); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java new file mode 100644 index 00000000..726b2f96 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -0,0 +1,56 @@ +package com.ccsens.mt.bean.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.servlet.http.Part; +import javax.validation.constraints.NotNull; + +/** + * @author 逗 + */ +@Data +public class ProvinceCompeteDto { + + @Data + @ApiModel("通过组别查找本单位注册的选手") + public static class QueryPlayerByGroup{ + @NotNull + @ApiModelProperty("参赛单位id") + private Long companyId; + @ApiModelProperty("组别id") + private Long groupId; + @ApiModelProperty("项目id") + private Long projectId; + } + + @Data + @ApiModel("添加或修改选手") + public static class PlayerInfo{ + @ApiModelProperty("选手id") + private Long playerId ; + @ApiModelProperty("参赛单位id") + private Long competeId; + @ApiModelProperty("组别id") + private Long groupId; + @ApiModelProperty("选手姓名") + private String playerName; + @ApiModelProperty("性别") + private int gender; + @ApiModelProperty("身份证号") + private String idCard; + @ApiModelProperty("身份证正面照片") + private Part idCardFront; + @ApiModelProperty("身份证反面照片") + private Part idCardBack; + @ApiModelProperty("证件照") + private Part idPhone; + @ApiModelProperty("学籍照片") + private Part studentRecord; + @ApiModelProperty("体检证明照片") + private Part healthRecord; + @ApiModelProperty("保险证明照片") + private Part insuranceRecord; + } +} diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompany.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompany.java index a8c03ff7..b79178b1 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompany.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompany.java @@ -22,7 +22,7 @@ public class CompeteCompany implements Serializable { private Integer leaderNum; - private Integer judgmentNum; + private Integer coachNum; private Byte authorization; @@ -106,12 +106,12 @@ public class CompeteCompany implements Serializable { this.leaderNum = leaderNum; } - public Integer getJudgmentNum() { - return judgmentNum; + public Integer getCoachNum() { + return coachNum; } - public void setJudgmentNum(Integer judgmentNum) { - this.judgmentNum = judgmentNum; + public void setCoachNum(Integer coachNum) { + this.coachNum = coachNum; } public Byte getAuthorization() { @@ -161,7 +161,7 @@ public class CompeteCompany implements Serializable { sb.append(", userId=").append(userId); sb.append(", joinNum=").append(joinNum); sb.append(", leaderNum=").append(leaderNum); - sb.append(", judgmentNum=").append(judgmentNum); + sb.append(", coachNum=").append(coachNum); sb.append(", authorization=").append(authorization); sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyExample.java index 3fb558b5..df5da771 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteCompanyExample.java @@ -675,63 +675,63 @@ public class CompeteCompanyExample { return (Criteria) this; } - public Criteria andJudgmentNumIsNull() { - addCriterion("judgment_num is null"); + public Criteria andCoachNumIsNull() { + addCriterion("coach_num is null"); return (Criteria) this; } - public Criteria andJudgmentNumIsNotNull() { - addCriterion("judgment_num is not null"); + public Criteria andCoachNumIsNotNull() { + addCriterion("coach_num is not null"); return (Criteria) this; } - public Criteria andJudgmentNumEqualTo(Integer value) { - addCriterion("judgment_num =", value, "judgmentNum"); + public Criteria andCoachNumEqualTo(Integer value) { + addCriterion("coach_num =", value, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumNotEqualTo(Integer value) { - addCriterion("judgment_num <>", value, "judgmentNum"); + public Criteria andCoachNumNotEqualTo(Integer value) { + addCriterion("coach_num <>", value, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumGreaterThan(Integer value) { - addCriterion("judgment_num >", value, "judgmentNum"); + public Criteria andCoachNumGreaterThan(Integer value) { + addCriterion("coach_num >", value, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumGreaterThanOrEqualTo(Integer value) { - addCriterion("judgment_num >=", value, "judgmentNum"); + public Criteria andCoachNumGreaterThanOrEqualTo(Integer value) { + addCriterion("coach_num >=", value, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumLessThan(Integer value) { - addCriterion("judgment_num <", value, "judgmentNum"); + public Criteria andCoachNumLessThan(Integer value) { + addCriterion("coach_num <", value, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumLessThanOrEqualTo(Integer value) { - addCriterion("judgment_num <=", value, "judgmentNum"); + public Criteria andCoachNumLessThanOrEqualTo(Integer value) { + addCriterion("coach_num <=", value, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumIn(List values) { - addCriterion("judgment_num in", values, "judgmentNum"); + public Criteria andCoachNumIn(List values) { + addCriterion("coach_num in", values, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumNotIn(List values) { - addCriterion("judgment_num not in", values, "judgmentNum"); + public Criteria andCoachNumNotIn(List values) { + addCriterion("coach_num not in", values, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumBetween(Integer value1, Integer value2) { - addCriterion("judgment_num between", value1, value2, "judgmentNum"); + public Criteria andCoachNumBetween(Integer value1, Integer value2) { + addCriterion("coach_num between", value1, value2, "coachNum"); return (Criteria) this; } - public Criteria andJudgmentNumNotBetween(Integer value1, Integer value2) { - addCriterion("judgment_num not between", value1, value2, "judgmentNum"); + public Criteria andCoachNumNotBetween(Integer value1, Integer value2) { + addCriterion("coach_num not between", value1, value2, "coachNum"); return (Criteria) this; } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProject.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProject.java index bc7548fe..21574449 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProject.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProject.java @@ -30,6 +30,8 @@ public class CompeteProject implements Serializable { private Byte recStatus; + private Long competeTimeId; + private static final long serialVersionUID = 1L; public Long getId() { @@ -136,6 +138,14 @@ public class CompeteProject implements Serializable { this.recStatus = recStatus; } + public Long getCompeteTimeId() { + return competeTimeId; + } + + public void setCompeteTimeId(Long competeTimeId) { + this.competeTimeId = competeTimeId; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -155,6 +165,7 @@ public class CompeteProject implements Serializable { sb.append(", createdAt=").append(createdAt); sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); + sb.append(", competeTimeId=").append(competeTimeId); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectExample.java index 027aa78c..6a4748a5 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectExample.java @@ -894,6 +894,66 @@ public class CompeteProjectExample { addCriterion("rec_status not between", value1, value2, "recStatus"); return (Criteria) this; } + + public Criteria andCompeteTimeIdIsNull() { + addCriterion("compete_time_id is null"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdIsNotNull() { + addCriterion("compete_time_id is not null"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdEqualTo(Long value) { + addCriterion("compete_time_id =", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotEqualTo(Long value) { + addCriterion("compete_time_id <>", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdGreaterThan(Long value) { + addCriterion("compete_time_id >", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdGreaterThanOrEqualTo(Long value) { + addCriterion("compete_time_id >=", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdLessThan(Long value) { + addCriterion("compete_time_id <", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdLessThanOrEqualTo(Long value) { + addCriterion("compete_time_id <=", value, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdIn(List values) { + addCriterion("compete_time_id in", values, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotIn(List values) { + addCriterion("compete_time_id not in", values, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdBetween(Long value1, Long value2) { + addCriterion("compete_time_id between", value1, value2, "competeTimeId"); + return (Criteria) this; + } + + public Criteria andCompeteTimeIdNotBetween(Long value1, Long value2) { + addCriterion("compete_time_id not between", value1, value2, "competeTimeId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 81506c46..4889840f 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -4,7 +4,8 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import javax.validation.constraints.NotNull; +import java.util.List; + /** * @author 逗 @@ -25,4 +26,34 @@ public class ProvinceCompeteVo { @ApiModelProperty("当前添加的参赛人员的人数") private int playerNum; } + @Data + @ApiModel("查找组别和组别下的选手信息") + public static class GroupAndPlayer{ + @ApiModelProperty("组别id") + private Long groupId; + @ApiModelProperty("组别名字") + private String groupName; + @ApiModelProperty("组别名字") + private List playerList; + } + + @Data + @ApiModel("组别下选手信息") + public static class PlayerInfoByGroup{ + @ApiModelProperty("选手id") + private Long playerId; + @ApiModelProperty("选手名称") + private String playerName; + @ApiModelProperty("是否参加了本项目") + private int joinProject; + } + + @Data + @ApiModel("查找一级比赛项目信息") + public static class FirstProject { + @ApiModelProperty("一级项目id") + private Long parentProjectId; + @ApiModelProperty("一级项目名字") + private String parentProjectName; + } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index 9db29173..cfeea0dd 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -1,14 +1,48 @@ package com.ccsens.mt.persist.dao; +import com.ccsens.mt.bean.dto.ProvinceCompeteDto; +import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.util.List; + /** * @author 逗 */ @Repository public interface CompeteCompanyDao extends CompeteCompanyMapper { - ProvinceCompeteVo.CompeteOverview getCompanyOverview(Long competeTimeId, Long userId); + /** + * 查找当前用户填写的信息的概览 + * @param competeTimeId 大赛id + * @param userId userId + * @return 返回信息概览 + */ + ProvinceCompeteVo.CompeteOverview getCompanyOverview(@Param("competeTimeId")Long competeTimeId, @Param("userId")Long userId); + + /** + * 通过组别id查询选手信息 + * @param companyId 单位id + * @param groupId 组别id + * @param projectId 项目id + * @return 返回选手信息 + */ + List queryPlayerByGroupId(@Param("companyId")Long companyId,@Param("groupId")Long groupId,@Param("projectId")Long projectId); + + /** + * 查找大赛所有的比赛项目 + * @param competeTimeId 大赛id + * @return 返回所有比赛项目信息 + */ + List queryProjectByCompeteTimeId(@Param("competeTimeId")Long competeTimeId); + + /** + * 查找一级项目 + * @param type 比赛类型 + * @return 返回一级项目信息 + */ + List queryFirstProjectByCompeteTimeId(@Param("type")int type); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index e25589fa..c94aa184 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -1,17 +1,54 @@ package com.ccsens.mt.service; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.dto.ProvinceCompeteDto; +import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import java.util.List; + /** * @author 逗 */ public interface IProvinceService { /** * 查找当前用户填写的信息的概览 - * @param param - * @param userId - * @return + * @param param 大赛id + * @param userId userId + * @return 返回当前用户填写的信息的概览 */ ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId); + + /** + * 通过组别查找当前单位的选手 + * @param param 组别单位信息 + * @param userId userId + * @return 返回选手id姓名和是否参赛的信息 + */ + List queryPlayerByGroupId(ProvinceCompeteDto.QueryPlayerByGroup param, Long userId); + +// /** +// * 查找本次大赛所有的项目 +// * @param param 大赛id +// * @param userId userId +// * @return 返回比赛项目的信息 +// */ +// List queryProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId); + + /** + * 查找一级项目 + * @param param 大赛id + * @param userId userId + * @return 返回一级项目 + */ + List queryFirstProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId); + + + /** + * 添加或修改选手 + * @param param 选手信息 + * @param userId userId + */ + void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId); + } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index f08b5a18..b105f197 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -1,14 +1,31 @@ package com.ccsens.mt.service; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.dto.ProvinceCompeteDto; +import com.ccsens.mt.bean.po.CompeteCompany; +import com.ccsens.mt.bean.po.CompetePlayer; +import com.ccsens.mt.bean.po.CompeteTime; +import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.persist.dao.CompeteCompanyDao; +import com.ccsens.mt.persist.dao.CompeteTimeDao; +import com.ccsens.mt.persist.mapper.CompetePlayerMapper; +import com.ccsens.util.NotSupportedFileTypeException; +import com.ccsens.util.PropUtil; +import com.ccsens.util.UploadFileUtil_Servlet3; +import com.ccsens.util.WebConstant; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.servlet.http.Part; +import java.io.File; +import java.util.ArrayList; +import java.util.List; /** * @author 逗 @@ -19,9 +36,86 @@ import javax.annotation.Resource; public class ProvinceService implements IProvinceService{ @Resource private CompeteCompanyDao competeCompanyDao; + @Resource + private Snowflake snowflake; + @Resource + private CompetePlayerMapper playerMapper; + @Resource + private CompeteTimeDao competeTimeDao; + /** + * 查找当前用户填写的信息的概览 + */ @Override public ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId) { return competeCompanyDao.getCompanyOverview(param.getCompeteTimeId(),userId); } + + /** + * 通过组别id查找本单位的注册选手 + */ + @Override + public List queryPlayerByGroupId(ProvinceCompeteDto.QueryPlayerByGroup param, Long userId) { + return competeCompanyDao.queryPlayerByGroupId(param.getCompanyId(),param.getGroupId(),param.getProjectId()); + } + +// /** +// * 查找大赛所有的比赛项目 +// */ +// @Override +// public List queryProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId) { +// return competeCompanyDao.queryProjectByCompeteTimeId(param.getCompeteTimeId()); +// } + + /** + * 查找一级项目 + */ + @Override + public List queryFirstProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId) { + List firstProjects = new ArrayList<>(); + //根据比赛类型查找大赛id + CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(param.getCompeteTimeId()); + if(ObjectUtil.isNotNull(competeTime)){ + firstProjects = competeCompanyDao.queryFirstProjectByCompeteTimeId(competeTime.getType()); + } + return firstProjects; + } + + /** + * 添加或修改选手 + */ + @Override + public void saveOrUpdatePlayer(ProvinceCompeteDto.PlayerInfo param, Long userId) { + //判断选手id是否为空 + if(ObjectUtil.isNull(param.getPlayerId())){ + //id为空,新加一个选手 + CompetePlayer player = new CompetePlayer(); + player.setId(snowflake.nextId()); + player.setName(param.getPlayerName()); + player.setGender((byte) param.getGender()); + player.setIdCard(param.getIdCard()); + player.setCompanyId(param.getCompeteId()); + player.setCompeteGroupId(param.getGroupId()); + //添加身份证正面照片 + }else { + //否则修改选手信息 + } + } + + /** + * 将上传的图片信息保存,并在数据库添加记录 + */ + private Long uploadFile(Part file) throws Exception { + //1.上传文件 + String allowedExts = "jpg,jpeg,png"; + String dir = PropUtil.path; + String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExts, dir); + log.info(dir+""+path); + //获取文件路径,文件名,和文件大小 + String filePath = WebConstant.UPLOAD_PATH_PROJECT + File.separator + path; + String name = UploadFileUtil_Servlet3.getFileNameByPart(file); + //导入数据库 + return null; + } + } diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 17d49716..e67a885c 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -2,7 +2,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteCompanyMapper.xml b/mt/src/main/resources/mapper_raw/CompeteCompanyMapper.xml index a3a835fe..3d1c7e21 100644 --- a/mt/src/main/resources/mapper_raw/CompeteCompanyMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteCompanyMapper.xml @@ -11,7 +11,7 @@ - + @@ -77,7 +77,7 @@ id, name, type, compete_time_id, contacts_name, contacts_phone, user_id, join_num, - leader_num, judgment_num, authorization, created_at, updated_at, rec_status + leader_num, coach_num, authorization, created_at, updated_at, rec_status select @@ -113,12 +114,12 @@ level, team, join_rule, certificate, member_min, member_max, type, created_at, updated_at, - rec_status) + rec_status, compete_time_id) values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{parentId,jdbcType=BIGINT}, #{level,jdbcType=TINYINT}, #{team,jdbcType=TINYINT}, #{joinRule,jdbcType=TINYINT}, #{certificate,jdbcType=TINYINT}, #{memberMin,jdbcType=INTEGER}, #{memberMax,jdbcType=INTEGER}, #{type,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, - #{recStatus,jdbcType=TINYINT}) + #{recStatus,jdbcType=TINYINT}, #{competeTimeId,jdbcType=BIGINT}) insert into t_compete_project @@ -162,6 +163,9 @@ rec_status, + + compete_time_id, + @@ -203,6 +207,9 @@ #{recStatus,jdbcType=TINYINT}, + + #{competeTimeId,jdbcType=BIGINT}, + + \ No newline at end of file From 575537d233bcb4eaa98a505d0aaa1a87682885d1 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 28 Oct 2020 09:40:13 +0800 Subject: [PATCH 34/72] 20201028V1.1 --- .../com/ccsens/mt/api/ProvinceController.java | 20 +++++++++---------- .../mt/bean/dto/ProvinceCompeteDto.java | 8 ++++++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 19 ++++++++++++++++-- .../mt/persist/dao/CompeteCompanyDao.java | 7 +++++++ .../ccsens/mt/service/IProvinceService.java | 8 ++++++++ .../ccsens/mt/service/ProvinceService.java | 8 ++++++-- mt/src/main/resources/application.yml | 4 ++-- .../mapper_dao/CompeteCompanyDao.xml | 18 +++++++++++++++-- 8 files changed, 74 insertions(+), 18 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 167b979c..3896b129 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -64,16 +64,16 @@ public class ProvinceController { return JsonResponse.newInstance().ok(projectList); } -// @MustLogin -// @ApiOperation(value = "根据一级项目id查找二级比赛项目的信息", notes = "") -// @RequestMapping(value = "/second/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) -// public JsonResponse> queryProjectByFirstProject( -// @ApiParam @Validated @RequestBody QueryDto params) { -// log.info("查找二级比赛项目的信息:{}",params); -// List projectList = provinceService.queryProjectByCompeteTimeId(params.getParam(),params.getUserId()); -// log.info("查找二级比赛项目的信息:{}",projectList); -// return JsonResponse.newInstance().ok(projectList); -// } + @MustLogin + @ApiOperation(value = "根据一级项目id查找二级比赛项目的信息", notes = "") + @RequestMapping(value = "/second/project", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> queryProjectByFirstProject( + @ApiParam @Validated @RequestBody QueryDto params) { + log.info("查找二级比赛项目的信息:{}",params); + List projectList = provinceService.queryProjectByFirstProject(params.getParam(),params.getUserId()); + log.info("查找二级比赛项目的信息:{}",projectList); + return JsonResponse.newInstance().ok(projectList); + } @MustLogin @ApiOperation(value = "新加/修改参赛人员", notes = "") diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index 726b2f96..63b58130 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -13,6 +13,14 @@ import javax.validation.constraints.NotNull; @Data public class ProvinceCompeteDto { + @Data + @ApiModel("一级项目id") + public static class FirstProject{ + @NotNull + @ApiModelProperty("一级项目id") + private Long firstProjectId; + } + @Data @ApiModel("通过组别查找本单位注册的选手") public static class QueryPlayerByGroup{ diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 4889840f..22a8500c 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -52,8 +52,23 @@ public class ProvinceCompeteVo { @ApiModel("查找一级比赛项目信息") public static class FirstProject { @ApiModelProperty("一级项目id") - private Long parentProjectId; + private Long projectId; @ApiModelProperty("一级项目名字") - private String parentProjectName; + private String projectName; + } + + @Data + @ApiModel("根据一级项目id查找二级项目id") + public static class CompeteSecondProject { + @ApiModelProperty("项目id") + private Long id; + @ApiModelProperty("名字") + private String name; + @ApiModelProperty("是否是团队项目 0否 1是") + private byte team; + @ApiModelProperty("最少人数") + private int memberMin; + @ApiModelProperty("最多人数") + private int memberMax; } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index cfeea0dd..91782031 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -45,4 +45,11 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @return 返回一级项目信息 */ List queryFirstProjectByCompeteTimeId(@Param("type")int type); + + /** + * 查找二级项目 + * @param firstProjectId 一级项目id + * @return 返回二级项目信息 + */ + List queryProjectByFirstProject(@Param("firstProjectId")Long firstProjectId); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index c94aa184..35c06821 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -43,6 +43,14 @@ public interface IProvinceService { */ List queryFirstProjectByCompeteTimeId(CompeteDto.CompeteTime param, Long userId); + /** + * 查找二级项目信息 + * @param param 二级项目信息 + * @param userId userId + * @return 返回二级项目信息 + */ + List queryProjectByFirstProject(ProvinceCompeteDto.FirstProject param, Long userId); + /** * 添加或修改选手 diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index b105f197..45e79c8f 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -39,8 +39,6 @@ public class ProvinceService implements IProvinceService{ @Resource private Snowflake snowflake; @Resource - private CompetePlayerMapper playerMapper; - @Resource private CompeteTimeDao competeTimeDao; /** @@ -81,6 +79,12 @@ public class ProvinceService implements IProvinceService{ return firstProjects; } + @Override + public List queryProjectByFirstProject(ProvinceCompeteDto.FirstProject param, Long userId) { + List competeSecondProjects = competeCompanyDao.queryProjectByFirstProject(param.getFirstProjectId()); + return null; + } + /** * 添加或修改选手 */ diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5889ff7f..5c2cd5c4 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: common, util-test \ No newline at end of file + active: dev + include: common, util-dev \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index e67a885c..e3bf8ee4 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -110,8 +110,8 @@ + \ No newline at end of file From 8e81245caec98477dccc71eb2ef1366106f804ea Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Wed, 28 Oct 2020 14:27:03 +0800 Subject: [PATCH 35/72] c --- .../com/ccsens/mt/api/ProvinceController.java | 31 ++++++- .../com/ccsens/mt/bean/dto/CompeteDto.java | 22 +++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 17 ++++ .../ccsens/mt/service/IProvinceService.java | 24 ++++++ .../ccsens/mt/service/ProvinceService.java | 85 ++++++++++++++++--- 5 files changed, 165 insertions(+), 14 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 7c019963..695e8097 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -53,13 +53,42 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "添加/修改单位信息", notes = "") @RequestMapping(value = "/save/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse saveCompany(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse saveCompany(@ApiParam @Validated @RequestBody QueryDto params) { log.info("添加/修改单位信息:{}",params); ProvinceCompeteVo.CompeteCompany competeCompany = provinceService.changeCompany(params.getParam()); log.info("添加/修改单位信息:{}",competeCompany); return JsonResponse.newInstance().ok(competeCompany); } + @MustLogin + @ApiOperation(value = "查找此单位的领队和教练信息", notes = "") + @RequestMapping(value = "/query/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse queryCoach(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查找此单位的领队和教练信息:{}",params); + ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = provinceService.queryCoach(params.getParam()); + log.info("查找此单位的领队和教练信息:{}",competeCompanyCoach); + return JsonResponse.newInstance().ok(competeCompanyCoach); + } + + @MustLogin + @ApiOperation(value = "保存领队和教练信息", notes = "") + @RequestMapping(value = "/save/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse saveCoach(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("保存领队和教练信息:{}",params); + provinceService.saveCoach(params.getParam()); + log.info("保存领队和教练信息:{}","插入成功"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "删除领队和教练信息", notes = "") + @RequestMapping(value = "/delete/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse deleteCoach(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("删除领队和教练信息:{}",params); + provinceService.deleteCoach(params.getParam()); + log.info("删除领队和教练信息:{}","删除成功"); + return JsonResponse.newInstance().ok(); + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index f3fd7331..aa0b954a 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -249,5 +249,27 @@ public class CompeteDto { private int authorization; } + @Data + @ApiModel("当前用户参赛单位基本信息") + public static class AddCoach{ + @ApiModelProperty("参赛单位id") + private Long companyId; + @ApiModelProperty("教练或领队的id,有则修改,没有则添加") + private Long cpachId; + @ApiModelProperty("身份: 0领队 1教练") + private int identity ; + @ApiModelProperty("姓名") + private String name ; + @ApiModelProperty("性别") + private int gender ; + @ApiModelProperty("手机号") + private String phone ; + @ApiModelProperty("身份证号") + private String idCard; + @ApiModelProperty("证件照(文件类型") + private Long idPhoto; + @ApiModelProperty("教练证(只有教练需要,文件类型") + private Long coachCertificate; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index cdbd2771..99a0d41d 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -44,4 +44,21 @@ public class ProvinceCompeteVo { @ApiModelProperty("参赛人员的人数") private int playerNum; } + @Data + + @ApiModel("查询当前用户参赛单位基本信息") + public static class CompeteCompanyCoach { + @ApiModelProperty("教练id") + private Long coachId; + @ApiModelProperty("领队id") + private Long guideId; + @ApiModelProperty("教练名字") + private String coachName; + @ApiModelProperty("领队名字") + private String guideName; + @ApiModelProperty("性别") + private int gender; + @ApiModelProperty("联系方式") + private String phone; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 2eb4a1f6..29e43ffb 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -29,4 +29,28 @@ public interface IProvinceService { * @return */ ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param); + + /** + * 查找此单位的领队和教练信息 + * @param + * @param + * @return + */ + ProvinceCompeteVo.CompeteCompanyCoach queryCoach(CompeteDto.CompeteCompany param); + + /** + * 添加领队和教练信息 + * @param + * @param + * @return + */ + void saveCoach(CompeteDto.AddCoach param); + + /** + * 删除领队和教练信息 + * @param + * @param + * @return + */ + void deleteCoach(CompeteDto.AddCoach param); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 25baeb86..5d3edf99 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -1,13 +1,16 @@ package com.ccsens.mt.service; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.po.CompeteCoach; import com.ccsens.mt.bean.po.CompeteCompany; import com.ccsens.mt.bean.po.CompeteCompanyExample; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.persist.dao.CompeteCompanyDao; +import com.ccsens.mt.persist.mapper.CompeteCoachMapper; import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; import com.ccsens.util.CodeEnum; import com.ccsens.util.exception.BaseException; @@ -31,8 +34,7 @@ public class ProvinceService implements IProvinceService{ @Resource private Snowflake snowflake; @Resource - CompeteCompanyMapper competeCompanyMapper; - + private CompeteCoachMapper competeCoachMapper; @Override public ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId) { @@ -51,7 +53,7 @@ public class ProvinceService implements IProvinceService{ //判断当前单位id是否为空, Long companyid = param.getCompanyId(); CompeteCompany competeCompany = new CompeteCompany(); - ProvinceCompeteVo.CompeteCompany competeCompany1 =null; + ProvinceCompeteVo.CompeteCompany competeCompany1 =new ProvinceCompeteVo.CompeteCompany(); //单位id为空,新增 if (ObjectUtil.isNull(companyid)){ Long id = snowflake.nextId(); @@ -62,15 +64,16 @@ public class ProvinceService implements IProvinceService{ competeCompany.setContactsPhone(param.getContactsPhone()); competeCompany.setLeaderNum(param.getGuideNum()); competeCompany.setJoinNum(param.getPlayerNum()); - competeCompanyMapper.insertSelective(competeCompany); - CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); - competeCompanyExample.createCriteria().andIdEqualTo(companyid); - competeCompany1 = (ProvinceCompeteVo.CompeteCompany) competeCompanyMapper.selectByExample(competeCompanyExample); + competeCompanyDao.insertSelective(competeCompany); + competeCompany1.setCompanyName(competeCompany.getName()); + competeCompany1.setPlayerNum(competeCompany.getJoinNum()); + competeCompany1.setGuideNum(competeCompany.getLeaderNum()); + competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); + competeCompany1.setContactsName(competeCompany.getContactsName()); + competeCompany1.setCoachNum(competeCompany.getCoachNum()); }else { //不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改 - CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); - competeCompanyExample.createCriteria().andIdEqualTo(companyid); - competeCompany = (CompeteCompany) competeCompanyMapper.selectByExample(competeCompanyExample); + competeCompany = competeCompanyDao.selectByPrimaryKey(companyid); if (ObjectUtil.isNotNull(param.getCoachNum())){ competeCompany.setCoachNum(param.getCoachNum()); } @@ -89,14 +92,70 @@ public class ProvinceService implements IProvinceService{ if (ObjectUtil.isNotNull(param.getPlayerNum())) { competeCompany.setJoinNum(param.getPlayerNum()); } - competeCompanyMapper.updateByPrimaryKeySelective(competeCompany); - competeCompanyExample.createCriteria().andIdEqualTo(competeCompany.getId()); - competeCompany1 = (ProvinceCompeteVo.CompeteCompany) competeCompanyMapper.selectByExample(competeCompanyExample); + competeCompanyDao.updateByPrimaryKey(competeCompany); + competeCompany1.setCompanyName(competeCompany.getName()); + competeCompany1.setPlayerNum(competeCompany.getJoinNum()); + competeCompany1.setGuideNum(competeCompany.getLeaderNum()); + competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); + competeCompany1.setContactsName(competeCompany.getContactsName()); + competeCompany1.setCoachNum(competeCompany.getCoachNum()); } return competeCompany1; } + @Override + public ProvinceCompeteVo.CompeteCompanyCoach queryCoach(CompeteDto.CompeteCompany param) { + Long company = param.getCompanyId(); + CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(company); + if (ObjectUtil.isNull(competeCoach)){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } + ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); + if (competeCoach.getIdentity() == 0){ + //给领队赋值 + competeCompanyCoach.setCoachName(competeCoach.getName()); + competeCompanyCoach.setCoachId(competeCoach.getId()); + competeCompanyCoach.setGender(competeCoach.getGender()); + competeCompanyCoach.setPhone(competeCoach.getPhone()); + }else { + competeCompanyCoach.setGuideName(competeCoach.getName()); + competeCompanyCoach.setCoachId(competeCoach.getId()); + competeCompanyCoach.setGender(competeCoach.getGender()); + competeCompanyCoach.setPhone(competeCoach.getPhone()); + } + return competeCompanyCoach; + } + @Override + public void saveCoach(CompeteDto.AddCoach param) { + CompeteCoach competeCoach = new CompeteCoach(); + Long companyId = param.getCompanyId(); + competeCoach.setCompanyId(companyId); + Long cpachId = param.getCpachId(); + competeCoach.setId(cpachId); + int identity = param.getIdentity(); + competeCoach.setIdentity((byte) identity); + String name = param.getName(); + competeCoach.setName(name); + int gender = param.getGender(); + competeCoach.setGender((byte) gender); + String phone = param.getPhone(); + competeCoach.setPhone(phone); + String idCard = param.getIdCard(); + competeCoach.setIdCard(idCard); + Long idPhoto = param.getIdPhoto(); + competeCoach.setIdPhoto(idPhoto); + Long coachCertificate = param.getCoachCertificate(); + competeCoach.setCoachCertificate(coachCertificate); + competeCoachMapper.insertSelective(competeCoach); + } + + @Override + public void deleteCoach(CompeteDto.AddCoach param) { + Long cpachId = param.getCpachId(); + CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(cpachId); + competeCoachMapper.deleteByPrimaryKey(competeCoach.getId()); + } } From b121fc4c801f8b976e43084a8d932c156ca20917 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 28 Oct 2020 14:54:27 +0800 Subject: [PATCH 36/72] 20201028v1.4 --- .../ccsens/cloudutil/aspect/LogAspect.java | 3 +- .../cloudutil/bean/tall/dto/LogDto.java | 4 + .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 2 + .../ccsens/mt/service/ProvinceService.java | 7 +- .../mapper_dao/CompeteCompanyDao.xml | 14 +- .../java/com/ccsens/tall/bean/po/SysLog.java | 221 +-- .../ccsens/tall/bean/po/SysLogExample.java | 1510 +++++++++-------- .../tall/persist/mapper/SysLogMapper.java | 58 +- .../resources/mapper_raw/SysLogMapper.xml | 531 +++--- 9 files changed, 1235 insertions(+), 1115 deletions(-) diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java index 7a43de2e..5d251207 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java @@ -98,9 +98,9 @@ public class LogAspect { log.info("保存日志,不进行记录"); return null; } - LogDto dto = new LogDto(); dto.setUrl(url); + dto.setFacility(""); //参数 Object[] args = pjp.getArgs(); StringBuilder param = new StringBuilder(); @@ -114,6 +114,7 @@ public class LogAspect { String userId = claims == null ? null : ((Claims) claims).getSubject(); if (userId != null) { param.append("userId:").append(userId).append("--"); + dto.setUserId(Long.parseLong(userId)); } } else if (args[i] instanceof Part) { diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/LogDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/LogDto.java index c0089813..b6bef73f 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/LogDto.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/LogDto.java @@ -24,4 +24,8 @@ public class LogDto { private String methodDesc; @ApiModelProperty("接口返回值(或异常)") private String result; + @ApiModelProperty("设备信息") + private String facility; + @ApiModelProperty("设备信息") + private Long userId; } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 0d65ecbc..30bd59b3 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -82,6 +82,8 @@ public class ProvinceCompeteVo { private int memberMin; @ApiModelProperty("最多人数") private int memberMax; + @ApiModelProperty("当前参赛人数") + private int joinNum; } @Data diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index f61ba394..2fffc572 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -131,9 +131,14 @@ public class ProvinceService implements IProvinceService { } } + /** + * 查找所有选手 + * @param param 单位id + * @param userId userId + * @return + */ @Override public List queryPlayerByCompanyId(ProvinceCompeteDto.CompanyIdVo param, Long userId) { - return competePlayerDao.queryPlayerByCompanyId(param.getCompanyId()); } diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index f42e8bc8..34bec894 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -121,12 +121,22 @@ - select - - distinct - - - from t_sys_log - - - - - order by ${orderByClause} - - - - - delete from t_sys_log - where id = #{id,jdbcType=BIGINT} - - - delete from t_sys_log - - - - - - insert into t_sys_log (id, url, method_desc, - params, result, created_at, - updated_at, rec_status) - values (#{id,jdbcType=BIGINT}, #{url,jdbcType=VARCHAR}, #{methodDesc,jdbcType=VARCHAR}, - #{params,jdbcType=VARCHAR}, #{result,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, - #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}) - - - insert into t_sys_log - - - id, - - - url, - - - method_desc, - - - params, - - - result, - - - created_at, - - - updated_at, - - - rec_status, - - - - - #{id,jdbcType=BIGINT}, - - - #{url,jdbcType=VARCHAR}, - - - #{methodDesc,jdbcType=VARCHAR}, - - - #{params,jdbcType=VARCHAR}, - - - #{result,jdbcType=VARCHAR}, - - - #{createdAt,jdbcType=TIMESTAMP}, - - - #{updatedAt,jdbcType=TIMESTAMP}, - - - #{recStatus,jdbcType=TINYINT}, - - - - - - update t_sys_log - - - id = #{record.id,jdbcType=BIGINT}, - - - url = #{record.url,jdbcType=VARCHAR}, - - - method_desc = #{record.methodDesc,jdbcType=VARCHAR}, - - - params = #{record.params,jdbcType=VARCHAR}, - - - result = #{record.result,jdbcType=VARCHAR}, - - - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{record.recStatus,jdbcType=TINYINT}, - - - - - - - - update t_sys_log - set id = #{record.id,jdbcType=BIGINT}, - url = #{record.url,jdbcType=VARCHAR}, - method_desc = #{record.methodDesc,jdbcType=VARCHAR}, - params = #{record.params,jdbcType=VARCHAR}, - result = #{record.result,jdbcType=VARCHAR}, - created_at = #{record.createdAt,jdbcType=TIMESTAMP}, - updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{record.recStatus,jdbcType=TINYINT} - - - - - - update t_sys_log - - - url = #{url,jdbcType=VARCHAR}, - - - method_desc = #{methodDesc,jdbcType=VARCHAR}, - - - params = #{params,jdbcType=VARCHAR}, - - - result = #{result,jdbcType=VARCHAR}, - - - created_at = #{createdAt,jdbcType=TIMESTAMP}, - - - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - - - rec_status = #{recStatus,jdbcType=TINYINT}, - - - where id = #{id,jdbcType=BIGINT} - - - update t_sys_log - set url = #{url,jdbcType=VARCHAR}, - method_desc = #{methodDesc,jdbcType=VARCHAR}, - params = #{params,jdbcType=VARCHAR}, - result = #{result,jdbcType=VARCHAR}, - created_at = #{createdAt,jdbcType=TIMESTAMP}, - updated_at = #{updatedAt,jdbcType=TIMESTAMP}, - rec_status = #{recStatus,jdbcType=TINYINT} - where id = #{id,jdbcType=BIGINT} - + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, url, method_desc, params, result, created_at, updated_at, rec_status, facility + + + + + delete from t_sys_log + where id = #{id,jdbcType=BIGINT} + + + delete from t_sys_log + + + + + + insert into t_sys_log (id, url, method_desc, + params, result, created_at, + updated_at, rec_status, facility + ) + values (#{id,jdbcType=BIGINT}, #{url,jdbcType=VARCHAR}, #{methodDesc,jdbcType=VARCHAR}, + #{params,jdbcType=VARCHAR}, #{result,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{facility,jdbcType=VARCHAR} + ) + + + insert into t_sys_log + + + id, + + + url, + + + method_desc, + + + params, + + + result, + + + created_at, + + + updated_at, + + + rec_status, + + + facility, + + + + + #{id,jdbcType=BIGINT}, + + + #{url,jdbcType=VARCHAR}, + + + #{methodDesc,jdbcType=VARCHAR}, + + + #{params,jdbcType=VARCHAR}, + + + #{result,jdbcType=VARCHAR}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + #{facility,jdbcType=VARCHAR}, + + + + + + update t_sys_log + + + id = #{record.id,jdbcType=BIGINT}, + + + url = #{record.url,jdbcType=VARCHAR}, + + + method_desc = #{record.methodDesc,jdbcType=VARCHAR}, + + + params = #{record.params,jdbcType=VARCHAR}, + + + result = #{record.result,jdbcType=VARCHAR}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + facility = #{record.facility,jdbcType=VARCHAR}, + + + + + + + + update t_sys_log + set id = #{record.id,jdbcType=BIGINT}, + url = #{record.url,jdbcType=VARCHAR}, + method_desc = #{record.methodDesc,jdbcType=VARCHAR}, + params = #{record.params,jdbcType=VARCHAR}, + result = #{record.result,jdbcType=VARCHAR}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT}, + facility = #{record.facility,jdbcType=VARCHAR} + + + + + + update t_sys_log + + + url = #{url,jdbcType=VARCHAR}, + + + method_desc = #{methodDesc,jdbcType=VARCHAR}, + + + params = #{params,jdbcType=VARCHAR}, + + + result = #{result,jdbcType=VARCHAR}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + facility = #{facility,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_sys_log + set url = #{url,jdbcType=VARCHAR}, + method_desc = #{methodDesc,jdbcType=VARCHAR}, + params = #{params,jdbcType=VARCHAR}, + result = #{result,jdbcType=VARCHAR}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT}, + facility = #{facility,jdbcType=VARCHAR} + where id = #{id,jdbcType=BIGINT} + \ No newline at end of file From e4f2eb27f3d2d8289c240968538a10faeecbdf8d Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Wed, 28 Oct 2020 16:02:32 +0800 Subject: [PATCH 37/72] 10-28 --- .../com/ccsens/mt/api/ProvinceController.java | 18 ++++++++ .../com/ccsens/mt/bean/dto/CompeteDto.java | 9 +++- .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 29 +++++++++++- .../ccsens/mt/service/IProvinceService.java | 16 +++++++ .../ccsens/mt/service/ProvinceService.java | 44 ++++++++++++++++++- 5 files changed, 113 insertions(+), 3 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 39dd7625..d69959b4 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -143,5 +143,23 @@ public class ProvinceController { return JsonResponse.newInstance().ok(); } + @MustLogin + @ApiOperation(value = "删除选手信息", notes = "") + @RequestMapping(value = "/del/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse deletePlayer(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("删除选手信息:{}",params); + provinceService.deletePlayer(params.getParam()); + log.info("删除选手信息:{}","删除成功"); + return JsonResponse.newInstance().ok(); + } + @MustLogin + @ApiOperation(value = "选手详细信息", notes = "") + @RequestMapping(value = "/playerInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getPlayerInfo(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("选手详细信息:{}",params); + ProvinceCompeteVo.PlayerInfo playerInfo = provinceService.getPlayerInfo(params.getParam()); + log.info("选手详细信息:{}",playerInfo); + return JsonResponse.newInstance().ok(playerInfo); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index aa0b954a..4e44e324 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -265,11 +265,18 @@ public class CompeteDto { @ApiModelProperty("手机号") private String phone ; @ApiModelProperty("身份证号") - private String idCard; + private String idCard; @ApiModelProperty("证件照(文件类型") private Long idPhoto; @ApiModelProperty("教练证(只有教练需要,文件类型") private Long coachCertificate; } + @Data + @ApiModel("项目id和组别id") + public static class DelPlayer{ + @ApiModelProperty("选手id") + private Long playerId; + + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 8dda18f6..94d3a933 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -103,7 +103,6 @@ public class ProvinceCompeteVo { private int playerNum; } @Data - @ApiModel("查询当前用户参赛单位基本信息") public static class CompeteCompanyCoach { @ApiModelProperty("教练id") @@ -119,4 +118,32 @@ public class ProvinceCompeteVo { @ApiModelProperty("联系方式") private String phone; } + @Data + @ApiModel("查询当前用户参赛单位基本信息") + public static class PlayerInfo { + @ApiModelProperty("选手id") + private Long playerId ; + @ApiModelProperty("参赛单位id") + private Long competeId; + @ApiModelProperty("组别id") + private Long groupId; + @ApiModelProperty("选手姓名") + private String playerName; + @ApiModelProperty("性别") + private int gender; + @ApiModelProperty("身份证号") + private String idCard; + @ApiModelProperty("身份证正面照片 或户口本照片 (浏览路径)") + private String idCardFront ; + @ApiModelProperty("身份证反面照片(浏览路径)") + private String idCardBack; + @ApiModelProperty("一寸证件照(浏览路径)") + private Long idPhone; + @ApiModelProperty("学籍证明(浏览路径)") + private Long studentRecord; + @ApiModelProperty("体检证明(浏览路径)") + private Long healthRecord; + @ApiModelProperty("保险证明(浏览路径)") + private Long insuranceRecord; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 7a290937..fc81b3cb 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -100,4 +100,20 @@ public interface IProvinceService { */ void deleteCoach(CompeteDto.AddCoach param); + /** + * 删除选手信息 + * @param + * @param + * @return + */ + void deletePlayer(CompeteDto.DelPlayer param); + + /** + * 查看选手信息 + * @param + * @param + * @return + */ + ProvinceCompeteVo.PlayerInfo getPlayerInfo(CompeteDto.DelPlayer param); + } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 7def52fd..523f4b9e 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -175,6 +175,7 @@ import com.ccsens.mt.persist.dao.CompetePlayerDao; import com.ccsens.mt.persist.dao.CompeteTimeDao; import com.ccsens.mt.persist.mapper.CommonFileMapper; import com.ccsens.mt.persist.mapper.CompeteCoachMapper; +import com.ccsens.mt.persist.mapper.CompetePlayerMapper; import com.ccsens.mt.util.Constant; import com.ccsens.util.CodeEnum; import com.ccsens.util.PropUtil; @@ -210,6 +211,8 @@ public class ProvinceService implements IProvinceService { private CompetePlayerDao competePlayerDao; @Resource private CompeteCoachMapper competeCoachMapper; + @Resource + private CompetePlayerMapper competePlayerMapper; /** * 查找当前用户填写的信息的概览 @@ -434,7 +437,46 @@ public class ProvinceService implements IProvinceService { public void deleteCoach(CompeteDto.AddCoach param) { Long cpachId = param.getCpachId(); CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(cpachId); - competeCoachMapper.deleteByPrimaryKey(competeCoach.getId()); + competeCoach.setRecStatus((byte) 2); + CompeteCoachExample competeCoachExample = new CompeteCoachExample(); + competeCoachExample.createCriteria().andIdEqualTo(cpachId); + competeCoachMapper.updateByExample(competeCoach,competeCoachExample); + + } + + @Override + public void deletePlayer(CompeteDto.DelPlayer param) { + Long playerId = param.getPlayerId(); +// competePlayerMapper.deleteByPrimaryKey(playerId); + CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); + competePlayer.setRecStatus((byte) 2); + CompetePlayerExample competePlayerExample = new CompetePlayerExample(); + competePlayerExample.createCriteria().andIdEqualTo(playerId); + competePlayerMapper.updateByExampleSelective(competePlayer,competePlayerExample); + + } + + @Override + public ProvinceCompeteVo.PlayerInfo getPlayerInfo(CompeteDto.DelPlayer param) { + Long playerId = param.getPlayerId(); + CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); + if (ObjectUtil.isNull(competePlayer)){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } + ProvinceCompeteVo.PlayerInfo playerInfo = new ProvinceCompeteVo.PlayerInfo(); + playerInfo.setPlayerId(competePlayer.getId()); + playerInfo.setCompeteId(competePlayer.getCompeteTimeId()); + playerInfo.setGroupId(competePlayer.getCompeteGroupId()); + playerInfo.setPlayerName(competePlayer.getName()); + playerInfo.setGender(competePlayer.getGender()); + playerInfo.setIdCard(competePlayer.getIdCard()); + playerInfo.setIdCardFront(competePlayer.getIdCardFront()); + playerInfo.setIdCardBack(competePlayer.getIdCardBack()); + playerInfo.setIdPhone(competePlayer.getIdPhotoFile()); + playerInfo.setStudentRecord(competePlayer.getStudentRecordFile()); + playerInfo.setHealthRecord(competePlayer.getHealthRecordFile()); + playerInfo.setInsuranceRecord(competePlayer.getInsuranceRecordFile()); + return playerInfo; } } From bc57141788c9938430c97cbf1f45572965335776 Mon Sep 17 00:00:00 2001 From: Wang0018 <1007152140@qq.com> Date: Wed, 28 Oct 2020 18:03:50 +0800 Subject: [PATCH 38/72] 10.28 --- .../com/ccsens/mt/api/ProvinceController.java | 10 ++++++++ .../mt/bean/dto/ProvinceCompeteDto.java | 22 ++++++++++++++++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 2 ++ .../ccsens/mt/persist/dao/CompeteTimeDao.java | 1 + .../ccsens/mt/service/IProvinceService.java | 6 ++++- .../ccsens/mt/service/ProvinceService.java | 23 +++++++++++++++++++ 6 files changed, 63 insertions(+), 1 deletion(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index ad15e257..1f8e6d53 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -12,6 +12,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Repository; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -112,6 +113,15 @@ public class ProvinceController { log.info("添加/修改单位信息:{}",competeCompany); return JsonResponse.newInstance().ok(competeCompany); } + @MustLogin + @ApiOperation(value ="添加/修改领队或教练",notes = "") + @RequestMapping(value = "/province/save/coach",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"}) + public JsonResponse updataLeader(@ApiParam @Validated @RequestBody QueryDto params){ + log.info("添加/修改单位信息:{}",params); + provinceService.updateLeader(params.getParam()); + return JsonResponse.newInstance().ok(); + } + diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index b7da8617..82fe2a19 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -69,4 +69,26 @@ public class ProvinceCompeteDto { @ApiModelProperty("保险证明照片") private Part insuranceRecord; } + @Data + @ApiModel("添加/修改领队或教练") + public static class ModifyLeader{ + @ApiModelProperty("参赛单位id") + private Long companyId; //参赛单位id + @ApiModelProperty("教练或领队的id") + private Long coachId; //教练或领队的id,有则修改,没有则添加 + @ApiModelProperty("身份: 0领队 1教练") + private int identity; //身份: 0领队 1教练 + @ApiModelProperty("姓名") + private String name; //姓名 + @ApiModelProperty("性别") + private String gender; //性别 + @ApiModelProperty("联系方式") + private String phone; //联系方式 + @ApiModelProperty("身份证号") + private String idCard; //身份证号 + @ApiModelProperty("证件照") + private Long idPhoto; //证件照(文件类型) + @ApiModelProperty("教练证") + private Long coachCertificate; //教练证(只有教练需要,文件类型) + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 0d65ecbc..29c7076c 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.servlet.http.Part; import java.util.List; @@ -102,4 +103,5 @@ public class ProvinceCompeteVo { @ApiModelProperty("参赛人员的人数") private int playerNum; } + } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java index 53c51615..fac2476c 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteTimeDao.java @@ -49,4 +49,5 @@ public interface CompeteTimeDao extends CompeteTimeMapper { * @return 返回组别信息 */ List queryGroupByProject(@Param("type") int type, @Param("projectId") Long projectId); + } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index efc56efe..fb3d61ea 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -75,5 +75,9 @@ public interface IProvinceService { */ ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param); - + /** + * 添加/修改领队或教练 + * @param param + */ + void updateLeader(ProvinceCompeteDto.ModifyLeader param); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index f61ba394..550652ac 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -1,5 +1,6 @@ package com.ccsens.mt.service; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -11,6 +12,7 @@ import com.ccsens.mt.persist.dao.CompeteCompanyDao; import com.ccsens.mt.persist.dao.CompetePlayerDao; import com.ccsens.mt.persist.dao.CompeteTimeDao; import com.ccsens.mt.persist.mapper.CommonFileMapper; +import com.ccsens.mt.persist.mapper.CompeteCoachMapper; import com.ccsens.mt.util.Constant; import com.ccsens.util.CodeEnum; import com.ccsens.util.PropUtil; @@ -45,6 +47,9 @@ public class ProvinceService implements IProvinceService { @Resource private CompetePlayerDao competePlayerDao; + @Resource + private CompeteCoachMapper competeCoachMapper; + /** * 查找当前用户填写的信息的概览 */ @@ -157,6 +162,7 @@ public class ProvinceService implements IProvinceService { commonFileMapper.insertSelective(fileDo); log.info("保存文件:{}", fileDo); return fileDo.getId(); + } @@ -216,5 +222,22 @@ public class ProvinceService implements IProvinceService { return competeCompany1; } + @Override + public void updateLeader(ProvinceCompeteDto.ModifyLeader param) { + Long coachId=param.getCoachId(); + if(ObjectUtil.isNull(coachId)){ + CompeteCoach competeCoach=new CompeteCoach(); + competeCoach.setId(snowflake.nextId()); + BeanUtil.copyProperties(param,competeCoach); + competeCoachMapper.insertSelective(competeCoach); + }else{ + CompeteCoach competeCoach=competeCoachMapper.selectByPrimaryKey(coachId); + if(ObjectUtil.isNotNull(competeCoach)){ + BeanUtil.copyProperties(param,competeCoach); + competeCoachMapper.updateByPrimaryKeySelective(competeCoach); + } + } + } + } From 5db90574d4ff0b7e0a08c204a5a08edb63c3b4f5 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 29 Oct 2020 09:18:23 +0800 Subject: [PATCH 39/72] 20201029v1.0 --- mt/src/main/java/com/ccsens/mt/api/ProvinceController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index c367fec8..e60abed7 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -77,7 +77,7 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "新加/修改参赛人员", notes = "") @RequestMapping(value = "/save/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse saveOrUpdatePlayer(@ApiParam QueryDto params) throws Exception { + public JsonResponse saveOrUpdatePlayer(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { log.info("新加/修改参赛人员:{}",params); provinceService.saveOrUpdatePlayer(params.getParam(),params.getUserId()); return JsonResponse.newInstance().ok(); @@ -86,7 +86,7 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "查找所有注册的选手", notes = "") @RequestMapping(value = "/query/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> queryPlayerByCompanyId(@ApiParam QueryDto params) throws Exception { + public JsonResponse> queryPlayerByCompanyId(@ApiParam @Validated @RequestBody QueryDto params) throws Exception { log.info("查找所有注册的选手:{}",params); List playerByCompanyIds = provinceService.queryPlayerByCompanyId(params.getParam(),params.getUserId()); log.info("查找所有注册的选手:{}",playerByCompanyIds); From 24762e244ce37f966f58af7549733c43fbfa865b Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 29 Oct 2020 10:11:55 +0800 Subject: [PATCH 40/72] 20201029v1.1 --- .../com/ccsens/mt/api/DebugController.java | 13 ++++++++ .../com/ccsens/mt/api/FileController.java | 33 +++++++++++++++++++ .../com/ccsens/mt/service/FileService.java | 1 + mt/src/main/resources/application.yml | 4 +-- .../main/java/com/ccsens/util/CodeEnum.java | 1 + 5 files changed, 50 insertions(+), 2 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/DebugController.java b/mt/src/main/java/com/ccsens/mt/api/DebugController.java index 54b5366b..eb2fca5f 100644 --- a/mt/src/main/java/com/ccsens/mt/api/DebugController.java +++ b/mt/src/main/java/com/ccsens/mt/api/DebugController.java @@ -11,10 +11,13 @@ import io.swagger.annotations.ApiOperation; import org.springframework.data.redis.core.ZSetOperations; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.Part; +import java.util.List; import java.util.Objects; import java.util.Set; @@ -59,4 +62,14 @@ public class DebugController { return JsonResponse.newInstance().ok("OK"); } + + @ApiOperation(value = "/测试",notes = "") + @ApiImplicitParams({ + }) + @RequestMapping(value="file",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) + public JsonResponse debug(HttpServletRequest request, @RequestParam() Part files) throws Exception { + System.out.println(files.getSize()); + return JsonResponse.newInstance().ok("测试"); + } + } diff --git a/mt/src/main/java/com/ccsens/mt/api/FileController.java b/mt/src/main/java/com/ccsens/mt/api/FileController.java index 6f711826..d1a8a56c 100644 --- a/mt/src/main/java/com/ccsens/mt/api/FileController.java +++ b/mt/src/main/java/com/ccsens/mt/api/FileController.java @@ -1,5 +1,6 @@ package com.ccsens.mt.api; +import cn.hutool.core.collection.CollectionUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.feign.TallFeignClient; @@ -19,6 +20,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; +import java.util.ArrayList; import java.util.List; /** @@ -81,4 +83,35 @@ public class FileController { log.info("文件下载结束"); } + + @ApiOperation(value = "上传图片证明文件(不大于2M)") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/upload/photo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse upload(HttpServletRequest request, @RequestParam() Part file) throws Exception { + log.info("文件上传:{}", file); + //限制文件大小 2M + if(file.getSize() > 2097152){ + throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); + } + String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); + JsonResponse tokenRes = tallFeignClient.getUserIdByToken(authHeader); + log.info("{}查询userId返回:{}", authHeader, tokenRes); + if (tokenRes.getCode().intValue() != CodeEnum.SUCCESS.getCode().intValue()) { + return tokenRes; + } + JSONObject json = JSON.parseObject(JSON.toJSONString(tokenRes.getData())); + Long userId = json.getLong("id"); + String dir = PropUtil.path + Constant.File.UPLOAD_URL; + List files = new ArrayList<>(); + files.add(file); + List fileVos = fileService.saveFile(dir, files, userId); + List vos = FileVo.Upload.transFilePo(fileVos); + log.info("文件上传返回:{}", vos); + FileVo.Upload vo = new FileVo.Upload(); + if(CollectionUtil.isNotEmpty(vos)){ + vo = vos.get(0); + } + return JsonResponse.newInstance().ok(vo); + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/FileService.java b/mt/src/main/java/com/ccsens/mt/service/FileService.java index aaa34977..b322a75b 100644 --- a/mt/src/main/java/com/ccsens/mt/service/FileService.java +++ b/mt/src/main/java/com/ccsens/mt/service/FileService.java @@ -41,6 +41,7 @@ public class FileService implements IFileService { List fileList = new ArrayList<>(); String allowedExt = WebConstant.IMG_TYPE + "," + WebConstant.Wps.FILE_TYPE_ALL; for (Part file: files) { + log.info("文件名:{}", file.getSubmittedFileName()); String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); CommonFile fileDo = new CommonFile(); diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..5889ff7f 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index f54770df..880a3c59 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -162,6 +162,7 @@ public enum CodeEnum { DINGDING_EXCEPTION(132,"钉钉接口调用异常。",true), URL_ERROR(133, "请求路径转换异常", true), JOIN_PROJECT_NUM_FULL(134, "可参赛次数已满", true), + PHOTO_FILE_EXCEED_2M(134, "图片大小不能超过2M", true), ; From f559e149f7c016a1f552a561ea76ae44281f1740 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Thu, 29 Oct 2020 10:18:54 +0800 Subject: [PATCH 41/72] tmp --- .../ccsens/mt/service/ProvinceService.java | 164 ------------------ 1 file changed, 164 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 523f4b9e..0ff89679 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -1,166 +1,3 @@ -// -//package com.ccsens.mt.service; -// -//import cn.hutool.core.bean.BeanUtil; -//import cn.hutool.core.lang.Snowflake; -//import cn.hutool.core.util.ObjectUtil; -//import com.ccsens.mt.bean.dto.CompeteDto; -//import com.ccsens.mt.bean.po.CompeteCoach; -//import com.ccsens.mt.bean.po.CompeteCompany; -//import com.ccsens.mt.bean.po.CompeteCompanyExample; -//import com.ccsens.mt.bean.vo.ProvinceCompeteVo; -// -//import com.ccsens.mt.persist.dao.CompeteCompanyDao; -//import com.ccsens.mt.persist.mapper.CompeteCoachMapper; -//import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; -//import com.ccsens.util.CodeEnum; -//import com.ccsens.util.exception.BaseException; -//import lombok.extern.slf4j.Slf4j; -//import org.springframework.stereotype.Service; -//import org.springframework.transaction.annotation.Propagation; -//import org.springframework.transaction.annotation.Transactional; -// -//import javax.annotation.Resource; -// -// -///** -// * @author 逗 -// */ -//@Slf4j -//@Service -//@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) -//public class ProvinceService implements IProvinceService{ -// @Resource -// private CompeteCompanyDao competeCompanyDao; -// @Resource -// private Snowflake snowflake; -// @Resource -// private CompeteCoachMapper competeCoachMapper; -// -// @Override -// public ProvinceCompeteVo.CompeteOverview getOverview(CompeteDto.CompeteTime param, Long userId) { -// return competeCompanyDao.getCompanyOverview(param.getCompeteTimeId(),userId); -// } -// -// @Override -// public ProvinceCompeteVo.CompeteCompany getCompany(CompeteDto.CompeteTime param, Long userId) { -// Long competeTimeId = param.getCompeteTimeId(); -// ProvinceCompeteVo.CompeteCompany competeCompany = competeCompanyDao.getCompany(competeTimeId,userId); -// return competeCompany; -// } -// -// @Override -// public ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param) { -// //判断当前单位id是否为空, -// Long companyid = param.getCompanyId(); -// CompeteCompany competeCompany = new CompeteCompany(); -// ProvinceCompeteVo.CompeteCompany competeCompany1 =new ProvinceCompeteVo.CompeteCompany(); -// //单位id为空,新增 -// if (ObjectUtil.isNull(companyid)){ -// Long id = snowflake.nextId(); -// competeCompany.setId(id); -// competeCompany.setCoachNum(param.getCoachNum()); -// competeCompany.setName(param.getCompanyName()); -// competeCompany.setContactsName(param.getContactsName()); -// competeCompany.setContactsPhone(param.getContactsPhone()); -// competeCompany.setLeaderNum(param.getGuideNum()); -// competeCompany.setJoinNum(param.getPlayerNum()); -// competeCompanyDao.insertSelective(competeCompany); -// competeCompany1.setCompanyName(competeCompany.getName()); -// competeCompany1.setPlayerNum(competeCompany.getJoinNum()); -// competeCompany1.setGuideNum(competeCompany.getLeaderNum()); -// competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); -// competeCompany1.setContactsName(competeCompany.getContactsName()); -// competeCompany1.setCoachNum(competeCompany.getCoachNum()); -// }else { -// //不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改 -// competeCompany = competeCompanyDao.selectByPrimaryKey(companyid); -// if (ObjectUtil.isNotNull(param.getCoachNum())){ -// competeCompany.setCoachNum(param.getCoachNum()); -// } -// if (ObjectUtil.isNotNull(param.getCompanyName())) { -// competeCompany.setName(param.getCompanyName()); -// } -// if (ObjectUtil.isNotNull(param.getContactsName())) { -// competeCompany.setContactsName(param.getContactsName()); -// } -// if (ObjectUtil.isNotNull(param.getContactsPhone())) { -// competeCompany.setContactsPhone(param.getContactsPhone()); -// } -// if (ObjectUtil.isNotNull(param.getGuideNum())) { -// competeCompany.setLeaderNum(param.getGuideNum()); -// } -// if (ObjectUtil.isNotNull(param.getPlayerNum())) { -// competeCompany.setJoinNum(param.getPlayerNum()); -// } -// competeCompanyDao.updateByPrimaryKey(competeCompany); -// competeCompany1.setCompanyName(competeCompany.getName()); -// competeCompany1.setPlayerNum(competeCompany.getJoinNum()); -// competeCompany1.setGuideNum(competeCompany.getLeaderNum()); -// competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); -// competeCompany1.setContactsName(competeCompany.getContactsName()); -// competeCompany1.setCoachNum(competeCompany.getCoachNum()); -// } -// return competeCompany1; -// } -// -// @Override -// public ProvinceCompeteVo.CompeteCompanyCoach queryCoach(CompeteDto.CompeteCompany param) { -// Long company = param.getCompanyId(); -// CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(company); -// if (ObjectUtil.isNull(competeCoach)){ -// throw new BaseException(CodeEnum.PARAM_ERROR); -// } -// ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); -// if (competeCoach.getIdentity() == 0){ -// //给领队赋值 -// competeCompanyCoach.setCoachName(competeCoach.getName()); -// competeCompanyCoach.setCoachId(competeCoach.getId()); -// competeCompanyCoach.setGender(competeCoach.getGender()); -// competeCompanyCoach.setPhone(competeCoach.getPhone()); -// }else { -// competeCompanyCoach.setGuideName(competeCoach.getName()); -// competeCompanyCoach.setCoachId(competeCoach.getId()); -// competeCompanyCoach.setGender(competeCoach.getGender()); -// competeCompanyCoach.setPhone(competeCoach.getPhone()); -// } -// return competeCompanyCoach; -// } -// -// @Override -// public void saveCoach(CompeteDto.AddCoach param) { -// CompeteCoach competeCoach = new CompeteCoach(); -// Long companyId = param.getCompanyId(); -// competeCoach.setCompanyId(companyId); -// Long cpachId = param.getCpachId(); -// competeCoach.setId(cpachId); -// int identity = param.getIdentity(); -// competeCoach.setIdentity((byte) identity); -// String name = param.getName(); -// competeCoach.setName(name); -// int gender = param.getGender(); -// competeCoach.setGender((byte) gender); -// String phone = param.getPhone(); -// competeCoach.setPhone(phone); -// String idCard = param.getIdCard(); -// competeCoach.setIdCard(idCard); -// Long idPhoto = param.getIdPhoto(); -// competeCoach.setIdPhoto(idPhoto); -// Long coachCertificate = param.getCoachCertificate(); -// competeCoach.setCoachCertificate(coachCertificate); -// competeCoachMapper.insertSelective(competeCoach); -// } -// -// @Override -// public void deleteCoach(CompeteDto.AddCoach param) { -// Long cpachId = param.getCpachId(); -// CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(cpachId); -// competeCoachMapper.deleteByPrimaryKey(competeCoach.getId()); -// } -// -// -//} -//======= package com.ccsens.mt.service; import cn.hutool.core.lang.Snowflake; @@ -447,7 +284,6 @@ public class ProvinceService implements IProvinceService { @Override public void deletePlayer(CompeteDto.DelPlayer param) { Long playerId = param.getPlayerId(); -// competePlayerMapper.deleteByPrimaryKey(playerId); CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); competePlayer.setRecStatus((byte) 2); CompetePlayerExample competePlayerExample = new CompetePlayerExample(); From 34eebc97d153ee258bf9434cd79c965fb51e1490 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 29 Oct 2020 11:53:56 +0800 Subject: [PATCH 42/72] v1.2 --- .../com/ccsens/mt/api/ProvinceController.java | 25 ++++++++++--------- .../mt/persist/dao/CompeteCompanyDao.java | 2 +- mt/src/main/resources/application.yml | 4 +-- .../mapper_dao/CompeteCompanyDao.xml | 6 +++-- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index e60abed7..a2ba2621 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -93,6 +93,7 @@ public class ProvinceController { return JsonResponse.newInstance().ok(playerByCompanyIds); } + @MustLogin @ApiOperation(value = "查询当前用户参赛单位基本信息", notes = "") @RequestMapping(value = "/get/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse getCompany(@ApiParam @Validated @RequestBody QueryDto params) { @@ -113,7 +114,7 @@ public class ProvinceController { } @MustLogin @ApiOperation(value ="添加/修改领队或教练",notes = "") - @RequestMapping(value = "/province/save/coach",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"}) + @RequestMapping(value = "/save/coach",method = RequestMethod.POST,produces = {"application/json;charset=UTF-8"}) public JsonResponse updataLeader(@ApiParam @Validated @RequestBody QueryDto params){ log.info("添加/修改单位信息:{}",params); provinceService.updateLeader(params.getParam()); @@ -130,16 +131,16 @@ public class ProvinceController { log.info("查找此单位的领队和教练信息:{}",competeCompanyCoach); return JsonResponse.newInstance().ok(competeCompanyCoach); } - - @MustLogin - @ApiOperation(value = "保存领队和教练信息", notes = "") - @RequestMapping(value = "/save/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse saveCoach(@ApiParam @Validated @RequestBody QueryDto params) { - log.info("保存领队和教练信息:{}",params); - provinceService.saveCoach(params.getParam()); - log.info("保存领队和教练信息:{}","插入成功"); - return JsonResponse.newInstance().ok(); - } +// +// @MustLogin +// @ApiOperation(value = "保存领队和教练信息", notes = "") +// @RequestMapping(value = "/save/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) +// public JsonResponse saveCoach(@ApiParam @Validated @RequestBody QueryDto params) { +// log.info("保存领队和教练信息:{}",params); +// provinceService.saveCoach(params.getParam()); +// log.info("保存领队和教练信息:{}","插入成功"); +// return JsonResponse.newInstance().ok(); +// } @MustLogin @ApiOperation(value = "删除领队和教练信息", notes = "") @@ -151,7 +152,7 @@ public class ProvinceController { return JsonResponse.newInstance().ok(); } - + @MustLogin @ApiOperation(value = "参加比赛", notes = "") @RequestMapping(value = "/join", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse playerJoinProject(@ApiParam @Validated @RequestBody QueryDto params) { diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index c6195f1f..eff3c0b2 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -54,7 +54,7 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { List queryProjectByFirstProject(@Param("firstProjectId")Long firstProjectId); - ProvinceCompeteVo.CompeteCompany getCompany(@Param("competeTimeId")long competeTimeId,@Param("userId")long userId); + ProvinceCompeteVo.CompeteCompany getCompany(@Param("competeTimeId")Long competeTimeId,@Param("userId")Long userId); /** * 查看单位报名的项目的数量 diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5889ff7f..5c2cd5c4 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: common, util-test \ No newline at end of file + active: dev + include: common, util-dev \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index b5782cb7..28325042 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -147,16 +147,18 @@ + + \ No newline at end of file From ee68dd3492bf35bfbf8ffd410df25bde1e0b2f61 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Thu, 29 Oct 2020 17:27:06 +0800 Subject: [PATCH 49/72] 20201029v1.7 --- .../com/ccsens/mt/api/ProvinceController.java | 2 +- .../com/ccsens/mt/bean/dto/CompeteDto.java | 2 + .../ccsens/mt/service/IProvinceService.java | 2 +- .../ccsens/mt/service/ProvinceService.java | 37 +++++++++++-------- 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 3d142461..5a1d8ceb 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -109,7 +109,7 @@ public class ProvinceController { @RequestMapping(value = "/save/company", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse saveCompany(@ApiParam @Validated @RequestBody QueryDto params) { log.info("添加/修改单位信息:{}",params); - ProvinceCompeteVo.CompeteCompany competeCompany = provinceService.changeCompany(params.getParam()); + ProvinceCompeteVo.CompeteCompany competeCompany = provinceService.changeCompany(params.getParam(),params.getUserId()); log.info("添加/修改单位信息:{}",competeCompany); return JsonResponse.newInstance().ok(competeCompany); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 1adc18c9..9d5b934d 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -230,6 +230,8 @@ public class CompeteDto { @Data @ApiModel("当前用户参赛单位基本信息") public static class CompeteCompany{ + @ApiModelProperty("大赛id") + private Long competeTimeId; @ApiModelProperty("参赛单位id") private Long companyId; @ApiModelProperty("单位名称") diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 1f4c5555..f7986aca 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -72,7 +72,7 @@ public interface IProvinceService { * @param * @return */ - ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param); + ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param, Long userId); /** * 添加/修改领队或教练 diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index f59f6eb3..c5fe8621 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -225,16 +225,14 @@ public class ProvinceService implements IProvinceService { if (ObjectUtil.isNull(competeCompany)){ competeCompany = new ProvinceCompeteVo.CompeteCompany(); } - return competeCompany; } @Override - public ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param) { + public ProvinceCompeteVo.CompeteCompany changeCompany(CompeteDto.CompeteCompany param, Long userId) { //判断当前单位id是否为空, Long companyid = param.getCompanyId(); CompeteCompany competeCompany = new CompeteCompany(); - ProvinceCompeteVo.CompeteCompany competeCompany1 = new ProvinceCompeteVo.CompeteCompany(); //单位id为空,新增 if (ObjectUtil.isNull(companyid)){ Long id = snowflake.nextId(); @@ -245,14 +243,16 @@ public class ProvinceService implements IProvinceService { competeCompany.setContactsPhone(param.getContactsPhone()); competeCompany.setLeaderNum(param.getGuideNum()); competeCompany.setJoinNum(param.getPlayerNum()); + competeCompany.setUserId(userId); + competeCompany.setCompeteTimeId(param.getCompeteTimeId()); competeCompanyDao.insertSelective(competeCompany); - // - competeCompany1.setCompanyId(competeCompany.getId()); - competeCompany1.setCoachNum(competeCompany.getCoachNum()); - competeCompany1.setContactsName(competeCompany.getContactsName()); - competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); - competeCompany1.setGuideNum(competeCompany.getLeaderNum()); - competeCompany1.setPlayerNum(competeCompany.getJoinNum()); +// // +// competeCompany1.setCompanyId(competeCompany.getId()); +// competeCompany1.setCoachNum(competeCompany.getCoachNum()); +// competeCompany1.setContactsName(competeCompany.getContactsName()); +// competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); +// competeCompany1.setGuideNum(competeCompany.getLeaderNum()); +// competeCompany1.setPlayerNum(competeCompany.getJoinNum()); }else { //不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改 competeCompany = competeCompanyDao.selectByPrimaryKey(companyid); @@ -274,12 +274,17 @@ public class ProvinceService implements IProvinceService { if (ObjectUtil.isNotNull(param.getPlayerNum())) { competeCompany.setJoinNum(param.getPlayerNum()); } - competeCompany1.setCompanyId(competeCompany.getId()); - competeCompany1.setCoachNum(competeCompany.getCoachNum()); - competeCompany1.setContactsName(competeCompany.getContactsName()); - competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); - competeCompany1.setGuideNum(competeCompany.getLeaderNum()); - competeCompany1.setPlayerNum(competeCompany.getJoinNum()); + competeCompanyDao.updateByPrimaryKeySelective(competeCompany); +// competeCompany1.setCompanyId(competeCompany.getId()); +// competeCompany1.setCoachNum(competeCompany.getCoachNum()); +// competeCompany1.setContactsName(competeCompany.getContactsName()); +// competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); +// competeCompany1.setGuideNum(competeCompany.getLeaderNum()); +// competeCompany1.setPlayerNum(competeCompany.getJoinNum()); + } + ProvinceCompeteVo.CompeteCompany competeCompany1 = competeCompanyDao.getCompany(param.getCompeteTimeId(),userId); + if (ObjectUtil.isNull(competeCompany1)){ + competeCompany1 = new ProvinceCompeteVo.CompeteCompany(); } return competeCompany1; } From e1f52353e10c0c64758231ab472f83095d1a3be7 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Thu, 29 Oct 2020 17:28:54 +0800 Subject: [PATCH 50/72] c --- mt/src/main/java/com/ccsens/mt/service/ProvinceService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index a641b042..7b6e8201 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -217,7 +217,6 @@ public class ProvinceService implements IProvinceService { if (ObjectUtil.isNull(competeCompany)){ competeCompany = new ProvinceCompeteVo.CompeteCompany(); } - return competeCompany; } From 8ea51525d661f127d9ed4a11cb9152cdf8cbaa6f Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Thu, 29 Oct 2020 18:18:55 +0800 Subject: [PATCH 51/72] 10-29 --- .../main/java/com/ccsens/mt/api/ProvinceController.java | 8 ++++---- .../java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java | 2 +- .../main/java/com/ccsens/mt/service/ProvinceService.java | 3 +++ mt/src/main/resources/application.yml | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 5a1d8ceb..321b0532 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -126,11 +126,11 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "查找此单位的领队和教练信息", notes = "") @RequestMapping(value = "/query/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryCoach(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse queryCoach(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查找此单位的领队和教练信息:{}",params); - ProvinceCompeteVo.CompeteCompanyHeadList competeCompanyCoachList = provinceService.queryCoach(params.getParam()); - log.info("查找此单位的领队和教练信息:{}",competeCompanyCoachList); - return JsonResponse.newInstance().ok(competeCompanyCoachList); + ProvinceCompeteVo.CompeteCompanyHeadList competeCompanyHeadList = provinceService.queryCoach(params.getParam()); + log.info("查找此单位的领队和教练信息:{}",competeCompanyHeadList); + return JsonResponse.newInstance().ok(competeCompanyHeadList); } // // @MustLogin diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 42204d34..2a842efa 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -138,7 +138,7 @@ public class ProvinceCompeteVo { public static class CompeteCompanyHeadList { @ApiModelProperty("教练集合") private List competeCompanyCoachList; - @ApiModelProperty("领队信息") + @ApiModelProperty("领队集合") private List competeCompanyLeadersList; } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index c5fe8621..97634dcc 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -322,6 +322,9 @@ public class ProvinceService implements IProvinceService { competeCompanyHeadList.setCompeteCompanyLeadersList(competeCompanyLeadersList); competeCompanyHeadList.setCompeteCompanyCoachList(competeCompanyCoachList); + }else { + competeCompanyHeadList.setCompeteCompanyLeadersList(competeCompanyLeadersList); + competeCompanyHeadList.setCompeteCompanyCoachList(competeCompanyCoachList); } return competeCompanyHeadList; } diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5889ff7f..5c2cd5c4 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: common, util-test \ No newline at end of file + active: dev + include: common, util-dev \ No newline at end of file From 41aecad610ddf970fbdf7959018ea43914e85a6c Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 30 Oct 2020 10:20:43 +0800 Subject: [PATCH 52/72] 10-30 --- .../java/com/ccsens/mt/service/ProvinceService.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 97634dcc..f702d402 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -294,15 +294,16 @@ public class ProvinceService implements IProvinceService { CompeteCoachExample competeCoachExample = new CompeteCoachExample(); competeCoachExample.createCriteria().andCompanyIdEqualTo(company); List competeCoachList = competeCoachMapper.selectByExample(competeCoachExample); - ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); + List competeCompanyCoachList = new ArrayList(); - ProvinceCompeteVo.CompeteCompanyLeader competeCompanyLeader = new ProvinceCompeteVo.CompeteCompanyLeader(); + List competeCompanyLeadersList = new ArrayList(); ProvinceCompeteVo.CompeteCompanyHeadList competeCompanyHeadList = new ProvinceCompeteVo.CompeteCompanyHeadList(); if (CollectionUtil.isNotEmpty(competeCoachList)){ for (CompeteCoach competeCoach : competeCoachList){ if (competeCoach.getIdentity() == 0){ //给领队赋值 + ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); competeCompanyCoach.setCoachName(competeCoach.getName()); competeCompanyCoach.setCoachId(competeCoach.getId()); competeCompanyCoach.setGender(competeCoach.getGender()); @@ -312,6 +313,7 @@ public class ProvinceService implements IProvinceService { }else { //给教练赋值 + ProvinceCompeteVo.CompeteCompanyLeader competeCompanyLeader = new ProvinceCompeteVo.CompeteCompanyLeader(); competeCompanyLeader.setGuideName(competeCoach.getName()); competeCompanyLeader.setGuideId(competeCoach.getId()); competeCompanyLeader.setGender(competeCoach.getGender()); @@ -436,7 +438,11 @@ public class ProvinceService implements IProvinceService { @Override public void updateLeader(ProvinceCompeteDto.ModifyLeader param) { - Long coachId=param.getCoachId(); + Long coachId = param.getCoachId(); +// Long companyId = param.getCompanyId(); +// CompeteCoachExample competeCoachExample = new CompeteCoachExample(); +// competeCoachExample.createCriteria().andCompanyIdEqualTo(companyId); +// List competeCoachList = competeCoachMapper.selectByExample(competeCoachExample); if(ObjectUtil.isNull(coachId)){ CompeteCoach competeCoach=new CompeteCoach(); competeCoach.setId(snowflake.nextId()); From 66437129579d47f19b0085d9324ce6a80ec207c9 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 30 Oct 2020 11:16:34 +0800 Subject: [PATCH 53/72] 10-30 --- .../ccsens/mt/service/ProvinceService.java | 33 ++++++++++--------- .../main/java/com/ccsens/util/CodeEnum.java | 4 ++- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index f702d402..3d270ea9 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -438,22 +438,25 @@ public class ProvinceService implements IProvinceService { @Override public void updateLeader(ProvinceCompeteDto.ModifyLeader param) { - Long coachId = param.getCoachId(); -// Long companyId = param.getCompanyId(); -// CompeteCoachExample competeCoachExample = new CompeteCoachExample(); -// competeCoachExample.createCriteria().andCompanyIdEqualTo(companyId); -// List competeCoachList = competeCoachMapper.selectByExample(competeCoachExample); - if(ObjectUtil.isNull(coachId)){ - CompeteCoach competeCoach=new CompeteCoach(); - competeCoach.setId(snowflake.nextId()); - BeanUtil.copyProperties(param,competeCoach); - competeCoachMapper.insertSelective(competeCoach); - }else{ - CompeteCoach competeCoach=competeCoachMapper.selectByPrimaryKey(coachId); - if(ObjectUtil.isNotNull(competeCoach)){ - BeanUtil.copyProperties(param,competeCoach); - competeCoachMapper.updateByPrimaryKeySelective(competeCoach); + if(ObjectUtil.isNull(param.getCoachId())){ + CompeteCoachExample competeCoachExample = new CompeteCoachExample(); + competeCoachExample.createCriteria().andCompanyIdEqualTo(param.getCompanyId()).andIdentityEqualTo((byte) param.getIdentity()); + long count = competeCoachMapper.countByExample(competeCoachExample); + if (param.getIdentity() == 0 && count >= 2){ + throw new BaseException(CodeEnum.COACH_NUM_FULL); + } + if (param.getIdentity() == 1 && count >=3){ + throw new BaseException(CodeEnum.COACH_NUM_FULL); } + CompeteCoach competeCoach1 = new CompeteCoach(); + competeCoach1.setId(snowflake.nextId()); + BeanUtil.copyProperties(param, competeCoach1); + competeCoachMapper.insertSelective(competeCoach1); + }else { + CompeteCoach competeCoach2 = new CompeteCoach(); + competeCoach2.setId(snowflake.nextId()); + BeanUtil.copyProperties(param, competeCoach2); + competeCoachMapper.insertSelective(competeCoach2); } } diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 880a3c59..98ab9657 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -162,7 +162,9 @@ public enum CodeEnum { DINGDING_EXCEPTION(132,"钉钉接口调用异常。",true), URL_ERROR(133, "请求路径转换异常", true), JOIN_PROJECT_NUM_FULL(134, "可参赛次数已满", true), - PHOTO_FILE_EXCEED_2M(134, "图片大小不能超过2M", true), + PHOTO_FILE_EXCEED_2M(135, "图片大小不能超过2M", true), + COACH_NUM_FULL(136,"该单位领队或教练人数已达上限",true) + ; From 4a45558649f6b13ff9baee0ba743d6251240b6fb Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 30 Oct 2020 11:17:37 +0800 Subject: [PATCH 54/72] =?UTF-8?q?20201030=E5=BC=80=E5=A7=8B=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/ProvinceController.java | 14 +++- .../com/ccsens/mt/bean/dto/CompeteDto.java | 46 +++++------ .../mt/bean/dto/ProvinceCompeteDto.java | 2 +- .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 24 ++++++ .../mt/persist/dao/CompeteCompanyDao.java | 7 ++ .../ccsens/mt/service/IProvinceService.java | 20 +++-- .../ccsens/mt/service/ProvinceService.java | 82 +++++++++---------- .../mapper_dao/CompeteCompanyDao.xml | 22 ++++- .../com/ccsens/tall/bean/dto/UserDto.java | 2 +- 9 files changed, 138 insertions(+), 81 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 5a1d8ceb..2a334af8 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -126,7 +126,7 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "查找此单位的领队和教练信息", notes = "") @RequestMapping(value = "/query/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse queryCoach(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse queryCoach(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查找此单位的领队和教练信息:{}",params); ProvinceCompeteVo.CompeteCompanyHeadList competeCompanyCoachList = provinceService.queryCoach(params.getParam()); log.info("查找此单位的领队和教练信息:{}",competeCompanyCoachList); @@ -175,10 +175,20 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "选手详细信息", notes = "") @RequestMapping(value = "/playerInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse getPlayerInfo(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse getPlayerInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("选手详细信息:{}",params); ProvinceCompeteVo.PlayerInfo playerInfo = provinceService.getPlayerInfo(params.getParam()); log.info("选手详细信息:{}",playerInfo); return JsonResponse.newInstance().ok(playerInfo); } + + @MustLogin + @ApiOperation(value = "查询教练或领队的详细信息", notes = "") + @RequestMapping(value = "/coachInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getCoachInfo(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询教练或领队的详细信息:{}",params); + ProvinceCompeteVo.GetCoach coachInfo = provinceService.getCoachInfo(params.getParam()); + log.info("查询教练或领队的详细信息:{}",coachInfo); + return JsonResponse.newInstance().ok(coachInfo); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 9d5b934d..452d0c35 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -250,33 +250,33 @@ public class CompeteDto { private int authorization; } - @Data - @ApiModel("当前用户参赛单位基本信息") - public static class AddCoach{ - @ApiModelProperty("参赛单位id") - private Long companyId; - @ApiModelProperty("教练或领队的id,有则修改,没有则添加") - private Long coachId; - @ApiModelProperty("身份: 0领队 1教练") - private int identity; - @ApiModelProperty("姓名") - private String name; - @ApiModelProperty("性别") - private int gender; - @ApiModelProperty("手机号") - private String phone; - @ApiModelProperty("身份证号") - private String idCard; - @ApiModelProperty("证件照(文件类型") - private Long idPhoto; - @ApiModelProperty("教练证(只有教练需要,文件类型") - private Long coachCertificate; - } +// @Data +// @ApiModel("当前用户参赛单位基本信息") +// public static class AddCoach{ +// @ApiModelProperty("参赛单位id") +// private Long companyId; +// @ApiModelProperty("教练或领队的id,有则修改,没有则添加") +// private Long coachId; +// @ApiModelProperty("身份: 0领队 1教练") +// private int identity; +// @ApiModelProperty("姓名") +// private String name; +// @ApiModelProperty("性别") +// private int gender; +// @ApiModelProperty("手机号") +// private String phone; +// @ApiModelProperty("身份证号") +// private String idCard; +// @ApiModelProperty("证件照(文件类型") +// private Long idPhoto; +// @ApiModelProperty("教练证(只有教练需要,文件类型") +// private Long coachCertificate; +// } @Data @ApiModel("领队id") public static class LeaderId{ - @ApiModelProperty("教练或领队的id,有则修改,没有则添加") + @ApiModelProperty("教练或领队的id") private Long coachId; } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index 420b330b..cb3a445d 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -108,7 +108,7 @@ public class ProvinceCompeteDto { @ApiModel("添加/修改领队或教练") public static class ModifyLeader{ @ApiModelProperty("参赛单位id") - private Long companyId; //参赛单位id + private Long companyId; //参赛单位id @ApiModelProperty("教练或领队的id") private Long coachId; //教练或领队的id,有则修改,没有则添加 @ApiModelProperty("身份: 0领队 1教练") diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 42204d34..85bf1c14 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -172,4 +172,28 @@ public class ProvinceCompeteVo { @ApiModelProperty("保险证明(浏览路径)") private String insuranceRecord; } + + + @Data + @ApiModel("查找性对或教练的详细基本信息") + public static class GetCoach{ + @ApiModelProperty("教练或领队的id,有则修改,没有则添加") + private Long coachId; + @ApiModelProperty("参赛单位id") + private Long companyId; + @ApiModelProperty("身份: 0领队 1教练") + private int identity; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("性别") + private int gender; + @ApiModelProperty("手机号") + private String phone; + @ApiModelProperty("身份证号") + private String idCard; + @ApiModelProperty("证件照(浏览路径)") + private Long idPhoto; + @ApiModelProperty("教练证(浏览路径)") + private Long coachCertificate; + } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index 05a15b18..f7db0974 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -86,4 +86,11 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @return 参加的数量 */ int getTeamNumByPlayerId(@Param("competeTimeId")Long competeTimeId, @Param("playerId")Long playerId); + + /** + * 查看教练或领队的详细信息 + * @param coachId 教练或领队的id + * @return 返回详细信息 + */ + ProvinceCompeteVo.GetCoach getCoachInfo(@Param("coachId")Long coachId); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index f7986aca..7476d969 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -88,13 +88,13 @@ public interface IProvinceService { */ ProvinceCompeteVo.CompeteCompanyHeadList queryCoach(ProvinceCompeteDto.CompanyIdVo param); - /** - * 添加领队和教练信息 - * @param - * @param - * @return - */ - void saveCoach(CompeteDto.AddCoach param); +// /** +// * 添加领队和教练信息 +// * @param +// * @param +// * @return +// */ +// void saveCoach(CompeteDto.AddCoach param); /** * 删除领队和教练信息 @@ -125,4 +125,10 @@ public interface IProvinceService { */ ProvinceCompeteVo.PlayerInfo getPlayerInfo(CompeteDto.DelPlayer param); + /** + * 查看领队或教练的详细信息 + * @param param 领队或教练的id + * @return 返回详细信息 + */ + ProvinceCompeteVo.GetCoach getCoachInfo(CompeteDto.LeaderId param); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index c5fe8621..93f6bdc2 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -294,14 +294,18 @@ public class ProvinceService implements IProvinceService { CompeteCoachExample competeCoachExample = new CompeteCoachExample(); competeCoachExample.createCriteria().andCompanyIdEqualTo(company); List competeCoachList = competeCoachMapper.selectByExample(competeCoachExample); - ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); + +// ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); List competeCompanyCoachList = new ArrayList(); - ProvinceCompeteVo.CompeteCompanyLeader competeCompanyLeader = new ProvinceCompeteVo.CompeteCompanyLeader(); + +// ProvinceCompeteVo.CompeteCompanyLeader competeCompanyLeader = new ProvinceCompeteVo.CompeteCompanyLeader(); List competeCompanyLeadersList = new ArrayList(); + ProvinceCompeteVo.CompeteCompanyHeadList competeCompanyHeadList = new ProvinceCompeteVo.CompeteCompanyHeadList(); if (CollectionUtil.isNotEmpty(competeCoachList)){ for (CompeteCoach competeCoach : competeCoachList){ if (competeCoach.getIdentity() == 0){ + ProvinceCompeteVo.CompeteCompanyCoach competeCompanyCoach = new ProvinceCompeteVo.CompeteCompanyCoach(); //给领队赋值 competeCompanyCoach.setCoachName(competeCoach.getName()); competeCompanyCoach.setCoachId(competeCoach.getId()); @@ -311,6 +315,7 @@ public class ProvinceService implements IProvinceService { }else { + ProvinceCompeteVo.CompeteCompanyLeader competeCompanyLeader = new ProvinceCompeteVo.CompeteCompanyLeader(); //给教练赋值 competeCompanyLeader.setGuideName(competeCoach.getName()); competeCompanyLeader.setGuideId(competeCoach.getId()); @@ -326,29 +331,29 @@ public class ProvinceService implements IProvinceService { return competeCompanyHeadList; } - @Override - public void saveCoach(CompeteDto.AddCoach param) { - CompeteCoach competeCoach = new CompeteCoach(); - Long companyId = param.getCompanyId(); - competeCoach.setCompanyId(companyId); - Long cpachId = param.getCoachId(); - competeCoach.setId(cpachId); - int identity = param.getIdentity(); - competeCoach.setIdentity((byte) identity); - String name = param.getName(); - competeCoach.setName(name); - int gender = param.getGender(); - competeCoach.setGender((byte) gender); - String phone = param.getPhone(); - competeCoach.setPhone(phone); - String idCard = param.getIdCard(); - competeCoach.setIdCard(idCard); - Long idPhoto = param.getIdPhoto(); - competeCoach.setIdPhoto(idPhoto); - Long coachCertificate = param.getCoachCertificate(); - competeCoach.setCoachCertificate(coachCertificate); - competeCoachMapper.insertSelective(competeCoach); - } +// @Override +// public void saveCoach(CompeteDto.AddCoach param) { +// CompeteCoach competeCoach = new CompeteCoach(); +// Long companyId = param.getCompanyId(); +// competeCoach.setCompanyId(companyId); +// Long cpachId = param.getCoachId(); +// competeCoach.setId(cpachId); +// int identity = param.getIdentity(); +// competeCoach.setIdentity((byte) identity); +// String name = param.getName(); +// competeCoach.setName(name); +// int gender = param.getGender(); +// competeCoach.setGender((byte) gender); +// String phone = param.getPhone(); +// competeCoach.setPhone(phone); +// String idCard = param.getIdCard(); +// competeCoach.setIdCard(idCard); +// Long idPhoto = param.getIdPhoto(); +// competeCoach.setIdPhoto(idPhoto); +// Long coachCertificate = param.getCoachCertificate(); +// competeCoach.setCoachCertificate(coachCertificate); +// competeCoachMapper.insertSelective(competeCoach); +// } @Override public void deleteCoach(CompeteDto.LeaderId param) { @@ -559,28 +564,17 @@ public class ProvinceService implements IProvinceService { teamMember.setPlayerId(player.getId()); teamMemberMapper.insertSelective(teamMember); } -// //检查该选手报名项目数量 -// int a = competeCompanyDao.getTeamNumByPlayerId(param.getCompeteTimeId(),player.getId()); -// if(a >= 6){ -// throw new BaseException(CodeEnum.JOIN_PROJECT_NUM_FULL.mtProjectMsg(player.getName())); -// } -// //团队性别组根据参赛成员而定 -// if (i == 0){ -// competeTeam.setGenderGroup(player.getGender()); -// }else { -// if(!competeTeam.getGenderGroup().equals(player.getGender())){ -// competeTeam.setGenderGroup((byte) 2); -// } -// } -// //添加成员表 -// CompeteTeamMember teamMember = new CompeteTeamMember(); -// teamMember.setId(snowflake.nextId()); -// teamMember.setCompeteTeamId(competeTeam.getId()); -// teamMember.setPlayerId(player.getId()); -// teamMemberMapper.insertSelective(teamMember); } } } + + /** + * 查找教练详细信息 + */ + @Override + public ProvinceCompeteVo.GetCoach getCoachInfo(CompeteDto.LeaderId param) { + return competeCompanyDao.getCoachInfo(param.getCoachId()); + } } diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 6cc588ee..7d7e09e0 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -68,10 +68,10 @@ cg.type = #{type} and cg.rec_status = 0 - and(p.company_id = #{companyId} or p.company_id is null) - AND (p.compete_group_id =#{groupId} or p.compete_group_id is null) - AND (p.rec_status = 0 or p.rec_status is null) + + and(p.company_id = #{companyId} or p.company_id is null) + AND (p.rec_status = 0) + \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/UserDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/UserDto.java index 7482d60b..cfb5fab5 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/UserDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/UserDto.java @@ -111,7 +111,7 @@ public class UserDto { @NotEmpty(message = "密码不能为空") @Pattern(regexp="^[a-zA-Z0-9._-]{6,20}$",message="密码长度需在6~20之间,不能使用汉字,不能包含特殊字符") private String password; - @ApiModelProperty("来源 0:默认注册,1:HT病人注册,2绿谷注册") + @ApiModelProperty("来源 0:默认注册,1:跳绳") private byte source = WebConstant.Regist.SOURCE; } From f1a5f1b5d162548202a10e15eaec41aacda91a21 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 30 Oct 2020 17:36:41 +0800 Subject: [PATCH 55/72] 10-30 --- .../com/ccsens/mt/bean/dto/CompeteDto.java | 2 +- .../ccsens/mt/service/ProvinceService.java | 49 ++++++++++++++----- 2 files changed, 37 insertions(+), 14 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 452d0c35..5d46e013 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -247,7 +247,7 @@ public class CompeteDto { @ApiModelProperty("参赛人员的人数") private int playerNum; @ApiModelProperty("是否同意安全责任书 0否 1是 只有同意才能报名") - private int authorization; + private Byte authorization; } // @Data diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 59e4c904..7b0afa67 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -22,8 +22,10 @@ import com.ccsens.mt.util.Constant; import com.ccsens.util.CodeEnum; import com.ccsens.util.PropUtil; import com.ccsens.util.UploadFileUtil_Servlet3; +import com.ccsens.util.WebConstant; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; +import org.aspectj.apache.bcel.classfile.Code; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -238,21 +240,27 @@ public class ProvinceService implements IProvinceService { Long id = snowflake.nextId(); competeCompany.setId(id); competeCompany.setCoachNum(param.getCoachNum()); + if (ObjectUtil.isNull(param.getCompanyName())){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } competeCompany.setName(param.getCompanyName()); + if (ObjectUtil.isNull(param.getContactsName())){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } competeCompany.setContactsName(param.getContactsName()); + if (ObjectUtil.isNull(param.getContactsPhone())){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } competeCompany.setContactsPhone(param.getContactsPhone()); competeCompany.setLeaderNum(param.getGuideNum()); competeCompany.setJoinNum(param.getPlayerNum()); competeCompany.setUserId(userId); competeCompany.setCompeteTimeId(param.getCompeteTimeId()); +// if (ObjectUtil.isNull(authorization)){ +// throw new BaseException(CodeEnum.PARAM_ERROR); +// } + competeCompany.setAuthorization(param.getAuthorization()); competeCompanyDao.insertSelective(competeCompany); -// // -// competeCompany1.setCompanyId(competeCompany.getId()); -// competeCompany1.setCoachNum(competeCompany.getCoachNum()); -// competeCompany1.setContactsName(competeCompany.getContactsName()); -// competeCompany1.setContactsPhone(competeCompany.getContactsPhone()); -// competeCompany1.setGuideNum(competeCompany.getLeaderNum()); -// competeCompany1.setPlayerNum(competeCompany.getJoinNum()); }else { //不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改 competeCompany = competeCompanyDao.selectByPrimaryKey(companyid); @@ -291,6 +299,9 @@ public class ProvinceService implements IProvinceService { @Override public ProvinceCompeteVo.CompeteCompanyHeadList queryCoach(ProvinceCompeteDto.CompanyIdVo param) { Long company = param.getCompanyId(); + if (ObjectUtil.isNull(company)){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } CompeteCoachExample competeCoachExample = new CompeteCoachExample(); competeCoachExample.createCriteria().andCompanyIdEqualTo(company); List competeCoachList = competeCoachMapper.selectByExample(competeCoachExample); @@ -415,11 +426,11 @@ public class ProvinceService implements IProvinceService { @Override public ProvinceCompeteVo.PlayerInfo getPlayerInfo(CompeteDto.DelPlayer param) { // -// Long playerId = param.getPlayerId(); -// CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); -// if (ObjectUtil.isNull(competePlayer)){ -// throw new BaseException(CodeEnum.PARAM_ERROR); -// } + Long playerId = param.getPlayerId(); + CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); + if (ObjectUtil.isNull(competePlayer)){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } // ProvinceCompeteVo.PlayerInfo playerInfo = new ProvinceCompeteVo.PlayerInfo(); // playerInfo.setPlayerId(competePlayer.getId()); // playerInfo.setCompeteId(competePlayer.getCompeteTimeId()); @@ -434,7 +445,7 @@ public class ProvinceService implements IProvinceService { // playerInfo.setHealthRecord(competePlayer.getHealthRecordFile()); // playerInfo.setInsuranceRecord(competePlayer.getInsuranceRecordFile()); // return playerInfo; - return competePlayerDao.getPlayerByPlayerId(param.getPlayerId()); + return competePlayerDao.getPlayerByPlayerId(playerId); } @Override @@ -449,6 +460,18 @@ public class ProvinceService implements IProvinceService { if (param.getIdentity() == 1 && count >=3){ throw new BaseException(CodeEnum.COACH_NUM_FULL); } + //手机号不能为空,且正确 + if(StrUtil.isEmpty(param.getPhone()) || !param.getPhone().matches(WebConstant.REGEX_PHONE)){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } + //身份证不能为空,且正确 + if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } + //证件照判断 + if (ObjectUtil.isNull(param.getIdPhoto())){ + throw new BaseException(CodeEnum.PARAM_ERROR); + } CompeteCoach competeCoach1 = new CompeteCoach(); competeCoach1.setId(snowflake.nextId()); BeanUtil.copyProperties(param, competeCoach1); From 6b35880269b3d4878623f2aa9f7fa895c20eb962 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 30 Oct 2020 17:38:08 +0800 Subject: [PATCH 56/72] 20201030v1.2 --- .../com/ccsens/mt/api/FileController.java | 65 ++++++++++++++----- .../com/ccsens/mt/service/FileService.java | 44 +++++++++++-- .../com/ccsens/mt/service/IFileService.java | 8 +++ .../ccsens/mt/service/ProvinceService.java | 37 ++++------- mt/src/main/resources/application.yml | 4 +- .../test/java/com/ccsens/util/TestQrCord.java | 4 +- 6 files changed, 113 insertions(+), 49 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/FileController.java b/mt/src/main/java/com/ccsens/mt/api/FileController.java index d1a8a56c..c0c7eaa6 100644 --- a/mt/src/main/java/com/ccsens/mt/api/FileController.java +++ b/mt/src/main/java/com/ccsens/mt/api/FileController.java @@ -1,6 +1,8 @@ package com.ccsens.mt.api; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.feign.TallFeignClient; @@ -20,6 +22,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; +import java.io.File; import java.util.ArrayList; import java.util.List; @@ -38,6 +41,8 @@ public class FileController { private IFileService fileService; @Resource private TallFeignClient tallFeignClient; + @Resource + private Snowflake snowflake; @ApiOperation(value = "上传文件") @@ -88,12 +93,8 @@ public class FileController { @ApiImplicitParams({ }) @RequestMapping(value = "/upload/photo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse upload(HttpServletRequest request, @RequestParam() Part file) throws Exception { + public JsonResponse uploadPhone(HttpServletRequest request, @RequestParam() Part file) throws Exception { log.info("文件上传:{}", file); - //限制文件大小 2M - if(file.getSize() > 2097152){ - throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); - } String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); JsonResponse tokenRes = tallFeignClient.getUserIdByToken(authHeader); log.info("{}查询userId返回:{}", authHeader, tokenRes); @@ -102,16 +103,50 @@ public class FileController { } JSONObject json = JSON.parseObject(JSON.toJSONString(tokenRes.getData())); Long userId = json.getLong("id"); - String dir = PropUtil.path + Constant.File.UPLOAD_URL; - List files = new ArrayList<>(); - files.add(file); - List fileVos = fileService.saveFile(dir, files, userId); - List vos = FileVo.Upload.transFilePo(fileVos); - log.info("文件上传返回:{}", vos); - FileVo.Upload vo = new FileVo.Upload(); - if(CollectionUtil.isNotEmpty(vos)){ - vo = vos.get(0); - } + FileVo.Upload vo = fileService.uploadPhone(file,userId); +// if(ObjectUtil.isNotNull(file)) { +// //限制文件大小 2M +// if (file.getSize() > 2097152) { +// throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); +// } +// String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); +// JsonResponse tokenRes = tallFeignClient.getUserIdByToken(authHeader); +// log.info("{}查询userId返回:{}", authHeader, tokenRes); +// if (tokenRes.getCode().intValue() != CodeEnum.SUCCESS.getCode().intValue()) { +// return tokenRes; +// } +// JSONObject json = JSON.parseObject(JSON.toJSONString(tokenRes.getData())); +// Long userId = json.getLong("id"); +// String dir = PropUtil.path + Constant.File.UPLOAD_URL; +//// List files = new ArrayList<>(); +//// files.add(file); +// String allowedExt = WebConstant.IMG_TYPE + "," + WebConstant.Wps.FILE_TYPE_ALL; +// +// log.info("文件名:{}", file.getSubmittedFileName()); +// String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); +// CommonFile fileDo = new CommonFile(); +// String name = file.getSubmittedFileName(); +// fileDo.setId(snowflake.nextId()); +// fileDo.setFileName(name); +// fileDo.setLocation(dir + java.io.File.separator + path); +// fileDo.setUserId(userId); +// if (WebConstant.IMG_TYPE.contains(name.substring(name.lastIndexOf(".") + 1))) { +// fileDo.setVisitLocation(PropUtil.imgDomain + Constant.File.UPLOAD_URL + File.separator + path); +// } else { +// fileDo.setVisitLocation(PropUtil.domain + "file/download/"+fileDo.getId()); +// } +// commonFileMapper.insertSelective(fileDo); +// log.info("保存文件:{}", fileDo); +// fileList.add(fileDo); +// +//// List fileVos = fileService.saveFile(dir, files, userId); +//// List vos = FileVo.Upload.transFilePo(fileVos); +//// log.info("文件上传返回:{}", vos); +// +// if (CollectionUtil.isNotEmpty(vos)) { +// vo = vos.get(0); +// } +// } return JsonResponse.newInstance().ok(vo); } } diff --git a/mt/src/main/java/com/ccsens/mt/service/FileService.java b/mt/src/main/java/com/ccsens/mt/service/FileService.java index b322a75b..f798ea08 100644 --- a/mt/src/main/java/com/ccsens/mt/service/FileService.java +++ b/mt/src/main/java/com/ccsens/mt/service/FileService.java @@ -1,13 +1,16 @@ package com.ccsens.mt.service; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.ccsens.mt.bean.po.CommonFile; +import com.ccsens.mt.bean.vo.FileVo; import com.ccsens.mt.persist.mapper.CommonFileMapper; import com.ccsens.mt.util.Constant; -import com.ccsens.util.NotSupportedFileTypeException; -import com.ccsens.util.PropUtil; -import com.ccsens.util.UploadFileUtil_Servlet3; -import com.ccsens.util.WebConstant; +import com.ccsens.util.*; +import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -67,4 +70,37 @@ public class FileService implements IFileService { public CommonFile getById(Long id) { return commonFileMapper.selectByPrimaryKey(id); } + + @Override + public FileVo.Upload uploadPhone(Part file,Long userId) throws IOException, NotSupportedFileTypeException { + FileVo.Upload vo = new FileVo.Upload(); + if(ObjectUtil.isNotNull(file)) { + //限制文件大小 2M + if (file.getSize() > 2097152) { + throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); + } + + String dir = PropUtil.path + Constant.File.UPLOAD_URL; + String allowedExt = WebConstant.IMG_TYPE; + + log.info("文件名:{}", file.getSubmittedFileName()); + String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); + + CommonFile fileDo = new CommonFile(); + String name = file.getSubmittedFileName(); + fileDo.setId(snowflake.nextId()); + fileDo.setFileName(name); + fileDo.setLocation(dir + java.io.File.separator + path); + fileDo.setUserId(userId); + + fileDo.setVisitLocation(PropUtil.imgDomain + Constant.File.UPLOAD_URL + File.separator + path); + + commonFileMapper.insertSelective(fileDo); + log.info("保存文件:{}", fileDo); + vo.setId(fileDo.getId()); + vo.setName(fileDo.getFileName()); + vo.setVisitUrl(fileDo.getVisitLocation()); + } + return vo; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/IFileService.java b/mt/src/main/java/com/ccsens/mt/service/IFileService.java index c2a33153..2ec2b66a 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IFileService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IFileService.java @@ -1,6 +1,7 @@ package com.ccsens.mt.service; import com.ccsens.mt.bean.po.CommonFile; +import com.ccsens.mt.bean.vo.FileVo; import com.ccsens.util.NotSupportedFileTypeException; import javax.servlet.http.Part; @@ -29,4 +30,11 @@ public interface IFileService { * @return 文件 */ CommonFile getById(Long id); + + /** + * 上传图片文件,不能超过2M + * @param file + * @return + */ + FileVo.Upload uploadPhone(Part file,Long userId) throws IOException, NotSupportedFileTypeException; } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 59e4c904..7c5adb89 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -124,6 +124,7 @@ public class ProvinceService implements IProvinceService { player.setId(snowflake.nextId()); player.setName(param.getPlayerName()); player.setGender((byte) param.getGender()); + //身份证不能为空,且正确 if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} //是否已注册 @@ -132,6 +133,14 @@ public class ProvinceService implements IProvinceService { if(competePlayerDao.countByExample(competePlayerExample) != 0){ throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE); } + //判断各种证件是否为空 + if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getGroupId())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getIdCardFront())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getIdPhone())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getStudentRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getHealthRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getInsuranceRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } player.setIdCard(param.getIdCard()); player.setCompanyId(param.getCompeteId()); player.setCompeteGroupId(param.getGroupId()); @@ -358,11 +367,7 @@ public class ProvinceService implements IProvinceService { @Override public void deleteCoach(CompeteDto.LeaderId param) { -//<<<<<<< HEAD -// Long coachId = param.getCoachId(); -// CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(coachId); -// competeCoachMapper.deleteByPrimaryKey(competeCoach.getId()); -//======= + Long id = param.getCoachId(); CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(id); if (ObjectUtil.isNotNull(competeCoach)){ @@ -414,26 +419,6 @@ public class ProvinceService implements IProvinceService { @Override public ProvinceCompeteVo.PlayerInfo getPlayerInfo(CompeteDto.DelPlayer param) { -// -// Long playerId = param.getPlayerId(); -// CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); -// if (ObjectUtil.isNull(competePlayer)){ -// throw new BaseException(CodeEnum.PARAM_ERROR); -// } -// ProvinceCompeteVo.PlayerInfo playerInfo = new ProvinceCompeteVo.PlayerInfo(); -// playerInfo.setPlayerId(competePlayer.getId()); -// playerInfo.setCompeteId(competePlayer.getCompeteTimeId()); -// playerInfo.setGroupId(competePlayer.getCompeteGroupId()); -// playerInfo.setPlayerName(competePlayer.getName()); -// playerInfo.setGender(competePlayer.getGender()); -// playerInfo.setIdCard(competePlayer.getIdCard()); -// playerInfo.setIdCardFront(competePlayer.getIdCardFront()); -// playerInfo.setIdCardBack(competePlayer.getIdCardBack()); -// playerInfo.setIdPhone(competePlayer.getIdPhotoFile()); -// playerInfo.setStudentRecord(competePlayer.getStudentRecordFile()); -// playerInfo.setHealthRecord(competePlayer.getHealthRecordFile()); -// playerInfo.setInsuranceRecord(competePlayer.getInsuranceRecordFile()); -// return playerInfo; return competePlayerDao.getPlayerByPlayerId(param.getPlayerId()); } @@ -471,7 +456,7 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNull(competeProject)){ throw new BaseException(CodeEnum.PARAM_ERROR); } //检查参赛人数是否符合 - if(CollectionUtil.isEmpty(param.getPlayers())){ throw new BaseException(CodeEnum.PARAM_ERROR); } +// if(CollectionUtil.isEmpty(param.getPlayers())){ throw new BaseException(CodeEnum.PARAM_ERROR); } int joinCount = 0; for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ if(joinProject.getJoinProject() == 1){ diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..5889ff7f 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/util/src/test/java/com/ccsens/util/TestQrCord.java b/util/src/test/java/com/ccsens/util/TestQrCord.java index 6479f93b..dc5425c5 100644 --- a/util/src/test/java/com/ccsens/util/TestQrCord.java +++ b/util/src/test/java/com/ccsens/util/TestQrCord.java @@ -33,8 +33,8 @@ public class TestQrCord { // String fileName = "zzz/" + "远程比赛-省赛(生产).png"; // String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-people&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; // String fileName = "zzz/" + "远程比赛-全民健身跳绳大赛(生产).png"; - String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://test.tall.wiki/compete-people&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; - String fileName = "zzz/" + "远程比赛-全民健身跳绳大赛(测试)1.png"; + String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://test.tall.wiki/compete&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; + String fileName = "zzz/" + "远程比赛省赛(测试)1.png"; QRCodeWriter qrCodeWriter = new QRCodeWriter(); From f8c4430a512507731704c5207cc419aabf285474 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 3 Nov 2020 10:32:26 +0800 Subject: [PATCH 57/72] =?UTF-8?q?20201103v1.0=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/FileController.java | 34 +++- .../com/ccsens/mt/bean/dto/CompeteDto.java | 32 +++- .../mt/bean/dto/ProvinceCompeteDto.java | 1 + .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 20 ++- .../mt/persist/dao/CompeteCompanyDao.java | 2 +- .../com/ccsens/mt/service/FileService.java | 55 ++++++ .../com/ccsens/mt/service/IFileService.java | 3 + .../ccsens/mt/service/ProvinceService.java | 160 +++++++++--------- .../mapper_dao/CompeteCompanyDao.xml | 19 ++- .../resources/mapper_dao/CompetePlayerDao.xml | 6 + .../main/java/com/ccsens/util/CodeEnum.java | 7 +- .../java/com/ccsens/util/WebConstant.java | 5 +- .../test/java/com/ccsens/util/OtherTest.java | 4 +- 13 files changed, 239 insertions(+), 109 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/FileController.java b/mt/src/main/java/com/ccsens/mt/api/FileController.java index c0c7eaa6..90bc751e 100644 --- a/mt/src/main/java/com/ccsens/mt/api/FileController.java +++ b/mt/src/main/java/com/ccsens/mt/api/FileController.java @@ -1,29 +1,28 @@ package com.ccsens.mt.api; -import cn.hutool.core.collection.CollectionUtil; + import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.feign.TallFeignClient; +import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.po.CommonFile; import com.ccsens.mt.bean.vo.FileVo; import com.ccsens.mt.service.IFileService; import com.ccsens.mt.util.Constant; import com.ccsens.util.*; +import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.exception.BaseException; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParams; -import io.swagger.annotations.ApiOperation; +import io.jsonwebtoken.Claims; +import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; -import java.io.File; -import java.util.ArrayList; import java.util.List; /** @@ -149,4 +148,25 @@ public class FileController { // } return JsonResponse.newInstance().ok(vo); } + + @ApiOperation(value = "上传图片证明文件(不大于2M)") + @ApiImplicitParams({ + }) + @RequestMapping(value = "/upload/photoBase64", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse uploadPhoneBase64(HttpServletRequest request, @ApiParam @Validated @RequestBody CompeteDto.FileBase64 params) throws Exception { +// log.info("文件上传:{}", params); + String authHeader = request.getHeader(WebConstant.HEADER_KEY_TOKEN); + JsonResponse tokenRes = tallFeignClient.getUserIdByToken(authHeader); + log.info("{}查询userId返回:{}", authHeader, tokenRes); + if (tokenRes.getCode().intValue() != CodeEnum.SUCCESS.getCode().intValue()) { + return tokenRes; + } + JSONObject json = JSON.parseObject(JSON.toJSONString(tokenRes.getData())); + Long userId = json.getLong("id"); + + FileVo.Upload vo = fileService.uploadPhoneBase64(params.getFileBase64(),userId); + + return JsonResponse.newInstance().ok(vo); + } + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 0b308c1c..a3d7b1ab 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -5,8 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NonNull; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; +import javax.validation.constraints.*; import java.util.List; /** @@ -230,26 +229,33 @@ public class CompeteDto { private String family; } @Data - @ApiModel("当前用户参赛单位基本信息") + @ApiModel("添加或修改单位信息") public static class CompeteCompany{ + @NotNull @ApiModelProperty("大赛id") private Long competeTimeId; @ApiModelProperty("参赛单位id") private Long companyId; +// @NotEmpty(message = "请输入单位名称") + @Size(min =0,max = 20,message = "单位名称过长") @ApiModelProperty("单位名称") private String companyName; + @NotEmpty(message = "姓名不能为空") + @Size(min =0,max = 6 ,message = "联系人姓名过长") @ApiModelProperty("主要联系人姓名") - private String contactsName ; + private String contactsName; + @NotEmpty(message = "联系方式不能为空") + @Pattern(regexp="^[1]([3-9])[0-9]{9}$",message="请输入正确的手机号") @ApiModelProperty("联系方式") private String contactsPhone ; @ApiModelProperty("教练的人数") - private int coachNum ; + private int coachNum; @ApiModelProperty("领队的人数") - private int guideNum ; + private int guideNum; @ApiModelProperty("参赛人员的人数") private int playerNum; @ApiModelProperty("是否同意安全责任书 0否 1是 只有同意才能报名") - private Byte authorization; + private byte authorization; } // @Data @@ -278,7 +284,7 @@ public class CompeteDto { @Data @ApiModel("领队id") public static class LeaderId{ - @NonNull + @NotNull @ApiModelProperty("教练或领队的id") private Long coachId; @@ -286,9 +292,17 @@ public class CompeteDto { @Data @ApiModel("项目id和组别id") public static class DelPlayer{ - @NonNull + @NotNull @ApiModelProperty("选手id") private Long playerId; } + + + @Data + @ApiModel("文件base64") + public static class FileBase64{ + @ApiModelProperty("") + private String fileBase64; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index cb3a445d..63cc8a3f 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -16,6 +16,7 @@ public class ProvinceCompeteDto { @Data @ApiModel("参赛单位id") public static class CompanyIdVo{ + @NotNull(message = "参赛单位错误") @ApiModelProperty("参赛单位id") private Long companyId; } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index a2e88edd..62be8623 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -159,16 +159,28 @@ public class ProvinceCompeteVo { private int gender; @ApiModelProperty("身份证号") private String idCard; + @ApiModelProperty("身份证正面照片 或户口本照片id") + private Long idCardFrontId; @ApiModelProperty("身份证正面照片 或户口本照片 (浏览路径)") private String idCardFront ; + @ApiModelProperty("身份证反面照片ID") + private Long idCardBackId; @ApiModelProperty("身份证反面照片(浏览路径)") private String idCardBack; + @ApiModelProperty("一寸证件照id") + private Long idPhoneId; @ApiModelProperty("一寸证件照(浏览路径)") private String idPhone; + @ApiModelProperty("学籍证明id") + private Long studentRecordId; @ApiModelProperty("学籍证明(浏览路径)") private String studentRecord; + @ApiModelProperty("体检证明id") + private Long healthRecordId; @ApiModelProperty("体检证明(浏览路径)") private String healthRecord; + @ApiModelProperty("保险证明id") + private Long insuranceRecordId; @ApiModelProperty("保险证明(浏览路径)") private String insuranceRecord; } @@ -191,9 +203,13 @@ public class ProvinceCompeteVo { private String phone; @ApiModelProperty("身份证号") private String idCard; + @ApiModelProperty("证件照id") + private Long idPhotoId; @ApiModelProperty("证件照(浏览路径)") - private Long idPhoto; + private String idPhoto; + @ApiModelProperty("教练证id") + private Long coachCertificateId; @ApiModelProperty("教练证(浏览路径)") - private Long coachCertificate; + private String coachCertificate; } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index f7db0974..9bc2d22d 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -68,7 +68,7 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @param companyId 单位id * @return 返回单位参加的项目的数量 */ - int getJoinProjectNum(@Param("competeTimeId")Long companyId); + int getJoinProjectNum(@Param("companyId")Long companyId); /** * 查找单位在某项目下的某个组别的参赛数量(个人项目) diff --git a/mt/src/main/java/com/ccsens/mt/service/FileService.java b/mt/src/main/java/com/ccsens/mt/service/FileService.java index f798ea08..d49951b3 100644 --- a/mt/src/main/java/com/ccsens/mt/service/FileService.java +++ b/mt/src/main/java/com/ccsens/mt/service/FileService.java @@ -1,8 +1,13 @@ package com.ccsens.mt.service; +import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.ccsens.mt.bean.po.CommonFile; @@ -19,9 +24,13 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import javax.servlet.http.Part; import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.Random; /** * @description: 文件操作 @@ -103,4 +112,50 @@ public class FileService implements IFileService { } return vo; } + + @Override + public FileVo.Upload uploadPhoneBase64(String fileBas64, Long userId) throws Exception { + FileVo.Upload vo = new FileVo.Upload(); + if(ObjectUtil.isNotNull(fileBas64)) { + log.info("-------------解析base64"); + //获取后缀 data:image/png;base64,xxxxxx + String suffix = fileBas64.substring(fileBas64.indexOf("/")+1, fileBas64.indexOf(";")); + String dir = PropUtil.path + Constant.File.UPLOAD_URL + File.separator; + Random random = new Random(); + String randomStr = String.valueOf(System.currentTimeMillis()) + random.nextInt(100) + "." + suffix; + String fileName = DateUtil.today() + "/" + randomStr; + + File file = new File(dir + fileName); + if (!file.getParentFile().exists()) { + file.getParentFile().mkdirs(); + } + // 截取base64,后面的字符串 + String base64flag = "base64,"; + int index = fileBas64.indexOf(base64flag); + String str = index < 0 ? fileBas64 : fileBas64.substring(index + base64flag.length()); + byte[] decode = Base64.decode(str); + FileOutputStream out = new FileOutputStream(file); + out.write(decode); + out.close(); + + if (file.length() > 2097152) { + throw new BaseException(CodeEnum.PHOTO_FILE_EXCEED_2M); + } + String name = file.getName(); + + CommonFile fileDo = new CommonFile(); + fileDo.setId(snowflake.nextId()); + fileDo.setFileName(name); + fileDo.setLocation(dir + fileName); + fileDo.setUserId(userId); + fileDo.setVisitLocation(PropUtil.imgDomain + Constant.File.UPLOAD_URL + File.separator + fileName); + + commonFileMapper.insertSelective(fileDo); + log.info("保存文件:{}", fileDo); + vo.setId(fileDo.getId()); + vo.setName(fileDo.getFileName()); + vo.setVisitUrl(fileDo.getVisitLocation()); + } + return vo; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/IFileService.java b/mt/src/main/java/com/ccsens/mt/service/IFileService.java index 2ec2b66a..83a1061f 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IFileService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IFileService.java @@ -5,6 +5,7 @@ import com.ccsens.mt.bean.vo.FileVo; import com.ccsens.util.NotSupportedFileTypeException; import javax.servlet.http.Part; +import java.io.FileNotFoundException; import java.io.IOException; import java.util.List; @@ -37,4 +38,6 @@ public interface IFileService { * @return */ FileVo.Upload uploadPhone(Part file,Long userId) throws IOException, NotSupportedFileTypeException; + + FileVo.Upload uploadPhoneBase64(String file, Long userId) throws FileNotFoundException, Exception; } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 1c12dce8..912b18ee 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -136,13 +136,13 @@ public class ProvinceService implements IProvinceService { throw new BaseException(CodeEnum.WBS_REPEAT_MEMBER_PHONE); } //判断各种证件是否为空 - if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.PARAM_ERROR); } - if(ObjectUtil.isNull(param.getGroupId())){ throw new BaseException(CodeEnum.PARAM_ERROR); } - if(ObjectUtil.isNull(param.getIdCardFront())){ throw new BaseException(CodeEnum.PARAM_ERROR); } - if(ObjectUtil.isNull(param.getIdPhone())){ throw new BaseException(CodeEnum.PARAM_ERROR); } - if(ObjectUtil.isNull(param.getStudentRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } - if(ObjectUtil.isNull(param.getHealthRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } - if(ObjectUtil.isNull(param.getInsuranceRecord())){ throw new BaseException(CodeEnum.PARAM_ERROR); } + if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY); } + if(ObjectUtil.isNull(param.getGroupId())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY); } + if(ObjectUtil.isNull(param.getIdCardFront())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY); } + if(ObjectUtil.isNull(param.getIdPhone())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY); } + if(ObjectUtil.isNull(param.getStudentRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY); } + if(ObjectUtil.isNull(param.getHealthRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY); } + if(ObjectUtil.isNull(param.getInsuranceRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY); } player.setIdCard(param.getIdCard()); player.setCompanyId(param.getCompeteId()); player.setCompeteGroupId(param.getGroupId()); @@ -248,49 +248,53 @@ public class ProvinceService implements IProvinceService { if (ObjectUtil.isNull(companyid)){ Long id = snowflake.nextId(); competeCompany.setId(id); - competeCompany.setCoachNum(param.getCoachNum()); - if (ObjectUtil.isNull(param.getCompanyName())){ - throw new BaseException(CodeEnum.PARAM_ERROR); +// competeCompany.setCoachNum(param.getCoachNum()); + if (StrUtil.isEmpty(param.getCompanyName())){ + throw new BaseException(CodeEnum.NAME_EMPTY); } competeCompany.setName(param.getCompanyName()); - if (ObjectUtil.isNull(param.getContactsName())){ - throw new BaseException(CodeEnum.PARAM_ERROR); + if (StrUtil.isEmpty(param.getContactsName())){ + throw new BaseException(CodeEnum.NAME_EMPTY); } competeCompany.setContactsName(param.getContactsName()); - if (ObjectUtil.isNull(param.getContactsPhone())){ - throw new BaseException(CodeEnum.PARAM_ERROR); + + if(StrUtil.isEmpty(param.getContactsPhone()) || !param.getContactsPhone().matches(WebConstant.REGEX_PHONE)){ + throw new BaseException(CodeEnum.PHONE_ERR); } competeCompany.setContactsPhone(param.getContactsPhone()); competeCompany.setLeaderNum(param.getGuideNum()); competeCompany.setJoinNum(param.getPlayerNum()); competeCompany.setUserId(userId); competeCompany.setCompeteTimeId(param.getCompeteTimeId()); -// if (ObjectUtil.isNull(authorization)){ -// throw new BaseException(CodeEnum.PARAM_ERROR); -// } + if(param.getAuthorization() != 1){ + throw new BaseException(CodeEnum.AUTHORIZATION_AGREE); + } competeCompany.setAuthorization(param.getAuthorization()); competeCompanyDao.insertSelective(competeCompany); }else { //不为空,根据单位id查出来修改 判断传进来的参数是否为空 为空则跳过 不为空则修改 competeCompany = competeCompanyDao.selectByPrimaryKey(companyid); - if (ObjectUtil.isNotNull(param.getCoachNum())){ - competeCompany.setCoachNum(param.getCoachNum()); - } - if (ObjectUtil.isNotNull(param.getCompanyName())) { +// if (ObjectUtil.isNotNull(param.getCoachNum())){ +// competeCompany.setCoachNum(param.getCoachNum()); +// } + if (StrUtil.isNotEmpty(param.getCompanyName())) { competeCompany.setName(param.getCompanyName()); } - if (ObjectUtil.isNotNull(param.getContactsName())) { + if (StrUtil.isNotEmpty(param.getContactsName())) { competeCompany.setContactsName(param.getContactsName()); } - if (ObjectUtil.isNotNull(param.getContactsPhone())) { + if (StrUtil.isNotEmpty(param.getContactsPhone())) { + if(!param.getContactsPhone().matches(WebConstant.REGEX_PHONE)){ + throw new BaseException(CodeEnum.PHONE_ERR); + } competeCompany.setContactsPhone(param.getContactsPhone()); } - if (ObjectUtil.isNotNull(param.getGuideNum())) { - competeCompany.setLeaderNum(param.getGuideNum()); - } - if (ObjectUtil.isNotNull(param.getPlayerNum())) { - competeCompany.setJoinNum(param.getPlayerNum()); - } +// if (ObjectUtil.isNotNull(param.getGuideNum())) { +// competeCompany.setLeaderNum(param.getGuideNum()); +// } +// if (ObjectUtil.isNotNull(param.getPlayerNum())) { +// competeCompany.setJoinNum(param.getPlayerNum()); +// } competeCompanyDao.updateByPrimaryKeySelective(competeCompany); // competeCompany1.setCompanyId(competeCompany.getId()); // competeCompany1.setCoachNum(competeCompany.getCoachNum()); @@ -308,9 +312,9 @@ public class ProvinceService implements IProvinceService { @Override public ProvinceCompeteVo.CompeteCompanyHeadList queryCoach(ProvinceCompeteDto.CompanyIdVo param) { Long company = param.getCompanyId(); - if (ObjectUtil.isNull(company)){ - throw new BaseException(CodeEnum.PARAM_ERROR); - } +// if (ObjectUtil.isNull(company)){ +// throw new BaseException(CodeEnum.PARAM_ERROR); +// } CompeteCoachExample competeCoachExample = new CompeteCoachExample(); competeCoachExample.createCriteria().andCompanyIdEqualTo(company); List competeCoachList = competeCoachMapper.selectByExample(competeCoachExample); @@ -386,9 +390,10 @@ public class ProvinceService implements IProvinceService { CompeteCoachExample competeCoachExample = new CompeteCoachExample(); competeCoachExample.createCriteria().andIdEqualTo(id); competeCoachMapper.updateByExample(competeCoach,competeCoachExample); - }else { - throw new BaseException(CodeEnum.PARAM_ERROR); } +// else { +// throw new BaseException(CodeEnum.PARAM_ERROR); +// } } @@ -423,38 +428,15 @@ public class ProvinceService implements IProvinceService { // CompetePlayerExample competePlayerExample = new CompetePlayerExample(); // competePlayerExample.createCriteria().andIdEqualTo(playerId); // competePlayerMapper.updateByExampleSelective(competePlayer,competePlayerExample); - }else { - throw new BaseException(CodeEnum.PARAM_ERROR); } +// else { +// throw new BaseException(CodeEnum.PARAM_ERROR); +// } } @Override public ProvinceCompeteVo.PlayerInfo getPlayerInfo(CompeteDto.DelPlayer param) { -//<<<<<<< HEAD return competePlayerDao.getPlayerByPlayerId(param.getPlayerId()); -//======= -//// -// Long playerId = param.getPlayerId(); -// CompetePlayer competePlayer = competePlayerMapper.selectByPrimaryKey(playerId); -// if (ObjectUtil.isNull(competePlayer)){ -// throw new BaseException(CodeEnum.PARAM_ERROR); -// } -//// ProvinceCompeteVo.PlayerInfo playerInfo = new ProvinceCompeteVo.PlayerInfo(); -//// playerInfo.setPlayerId(competePlayer.getId()); -//// playerInfo.setCompeteId(competePlayer.getCompeteTimeId()); -//// playerInfo.setGroupId(competePlayer.getCompeteGroupId()); -//// playerInfo.setPlayerName(competePlayer.getName()); -//// playerInfo.setGender(competePlayer.getGender()); -//// playerInfo.setIdCard(competePlayer.getIdCard()); -//// playerInfo.setIdCardFront(competePlayer.getIdCardFront()); -//// playerInfo.setIdCardBack(competePlayer.getIdCardBack()); -//// playerInfo.setIdPhone(competePlayer.getIdPhotoFile()); -//// playerInfo.setStudentRecord(competePlayer.getStudentRecordFile()); -//// playerInfo.setHealthRecord(competePlayer.getHealthRecordFile()); -//// playerInfo.setInsuranceRecord(competePlayer.getInsuranceRecordFile()); -//// return playerInfo; -// return competePlayerDao.getPlayerByPlayerId(playerId); -//>>>>>>> f1a5f1b5d162548202a10e15eaec41aacda91a21 } @Override @@ -471,24 +453,24 @@ public class ProvinceService implements IProvinceService { } //手机号不能为空,且正确 if(StrUtil.isEmpty(param.getPhone()) || !param.getPhone().matches(WebConstant.REGEX_PHONE)){ - throw new BaseException(CodeEnum.PARAM_ERROR); + throw new BaseException(CodeEnum.PHONE_ERR); } //身份证不能为空,且正确 if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){ - throw new BaseException(CodeEnum.PARAM_ERROR); + throw new BaseException(CodeEnum.ID_CARD_ERROR); } //证件照判断 - if (ObjectUtil.isNull(param.getIdPhoto())){ - throw new BaseException(CodeEnum.PARAM_ERROR); + if (param.getIdentity() == 1 && ObjectUtil.isNull(param.getIdPhoto())){ + throw new BaseException(CodeEnum.PHOTO_IS_EMPTY); } CompeteCoach competeCoach1 = new CompeteCoach(); competeCoach1.setId(snowflake.nextId()); BeanUtil.copyProperties(param, competeCoach1); competeCoachMapper.insertSelective(competeCoach1); }else { - CompeteCoach competeCoach2 = new CompeteCoach(); - BeanUtil.copyProperties(param, competeCoach2); - competeCoachMapper.updateByPrimaryKeySelective(competeCoach2); + CompeteCoach competeCoach = competeCoachMapper.selectByPrimaryKey(param.getCoachId()); + BeanUtil.copyProperties(param, competeCoach); + competeCoachMapper.updateByPrimaryKeySelective(competeCoach); } } @@ -501,20 +483,20 @@ public class ProvinceService implements IProvinceService { CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); if(ObjectUtil.isNull(competeProject)){ throw new BaseException(CodeEnum.PARAM_ERROR); } - //检查参赛人数是否符合 -// if(CollectionUtil.isEmpty(param.getPlayers())){ throw new BaseException(CodeEnum.PARAM_ERROR); } - int joinCount = 0; - for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ - if(joinProject.getJoinProject() == 1){ - joinCount++; - } - } - if(joinCount > competeProject.getMemberMax() ){ - throw new BaseException(CodeEnum.TEAM_MEMBER_ERROR); - } +// //检查参赛人数是否符合 +// int joinCount = 0; +// for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ +// if(joinProject.getJoinProject() == 1){ +// joinCount++; +// } +// } +//// if(joinCount > competeProject.getMemberMax() ){ +//// throw new BaseException(CodeEnum.TEAM_MEMBER_ERROR); +//// } //判断项目是个人还是团队,参加 if(competeProject.getTeam() == 0){ - param.getPlayers().forEach(joinPlayer -> { +// param.getPlayers().forEach(joinPlayer -> { + for(ProvinceCompeteDto.JoinProjectPlayer joinPlayer : param.getPlayers()){ //检查此用户之前是否参加此项目 CompeteProjectPlayerExample example = new CompeteProjectPlayerExample(); example.createCriteria().andProjectIdEqualTo(competeProject.getId()).andPlayerIdEqualTo(joinPlayer.getPlayerId()) @@ -554,7 +536,8 @@ public class ProvinceService implements IProvinceService { projectPlayer.setGenderGroup(player.getGender()); projectPlayerMapper.insertSelective(projectPlayer); } - }); +// }); + } }else { //查找当前公司是否已经报名此项目 CompeteTeam competeTeam; @@ -573,6 +556,23 @@ public class ProvinceService implements IProvinceService { competeTeamDao.insertSelective(competeTeam); } + //检查参赛人数是否符合 + int joinCount = 0; + for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ + if(joinProject.getJoinProject() == 1){ + joinCount++; + }else { + joinCount--; + } + } + CompeteTeamMemberExample example = new CompeteTeamMemberExample(); + example.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); + long memberNum = teamMemberMapper.countByExample(example); + + if(joinCount + memberNum > competeProject.getMemberMax() ){ + throw new BaseException(CodeEnum.TEAM_MEMBER_ERROR); + } + for (int i = 0; i < param.getPlayers().size(); i++) { ProvinceCompeteDto.JoinProjectPlayer joinProjectPlayer = param.getPlayers().get(i); CompetePlayer player = competePlayerDao.selectByPrimaryKey(joinProjectPlayer.getPlayerId()); diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 7d7e09e0..0cab33f8 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -39,6 +39,7 @@ cc.compete_time_id = #{competeTimeId} and cc.user_id = #{userId} and cc.rec_status = 0 + limit 1 select @@ -109,11 +112,13 @@ insert into t_compete_group (id, group_name, description, start_age, end_age, sequence, type, created_at, updated_at, - rec_status) + rec_status, sex, max_age, + min_age) values (#{id,jdbcType=BIGINT}, #{groupName,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}, #{startAge,jdbcType=INTEGER}, #{endAge,jdbcType=INTEGER}, #{sequence,jdbcType=INTEGER}, #{type,jdbcType=TINYINT}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, - #{recStatus,jdbcType=TINYINT}) + #{recStatus,jdbcType=TINYINT}, #{sex,jdbcType=TINYINT}, #{maxAge,jdbcType=TINYINT}, + #{minAge,jdbcType=TINYINT}) insert into t_compete_group @@ -148,6 +153,15 @@ rec_status, + + sex, + + + max_age, + + + min_age, + @@ -180,6 +194,15 @@ #{recStatus,jdbcType=TINYINT}, + + #{sex,jdbcType=TINYINT}, + + + #{maxAge,jdbcType=TINYINT}, + + + #{minAge,jdbcType=TINYINT}, + + select + + distinct + + + from t_pro_plugin_parameter + + + + + order by ${orderByClause} + + + + + delete from t_pro_plugin_parameter + where id = #{id,jdbcType=BIGINT} + + + delete from t_pro_plugin_parameter + + + + + + insert into t_pro_plugin_parameter (id, sub_task_id, member_id, + project_id, plugin_id, parameter, + created_at, updated_at, rec_status + ) + values (#{id,jdbcType=BIGINT}, #{subTaskId,jdbcType=BIGINT}, #{memberId,jdbcType=BIGINT}, + #{projectId,jdbcType=BIGINT}, #{pluginId,jdbcType=BIGINT}, #{parameter,jdbcType=VARCHAR}, + #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT} + ) + + + insert into t_pro_plugin_parameter + + + id, + + + sub_task_id, + + + member_id, + + + project_id, + + + plugin_id, + + + parameter, + + + created_at, + + + updated_at, + + + rec_status, + + + + + #{id,jdbcType=BIGINT}, + + + #{subTaskId,jdbcType=BIGINT}, + + + #{memberId,jdbcType=BIGINT}, + + + #{projectId,jdbcType=BIGINT}, + + + #{pluginId,jdbcType=BIGINT}, + + + #{parameter,jdbcType=VARCHAR}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + + + + update t_pro_plugin_parameter + + + id = #{record.id,jdbcType=BIGINT}, + + + sub_task_id = #{record.subTaskId,jdbcType=BIGINT}, + + + member_id = #{record.memberId,jdbcType=BIGINT}, + + + project_id = #{record.projectId,jdbcType=BIGINT}, + + + plugin_id = #{record.pluginId,jdbcType=BIGINT}, + + + parameter = #{record.parameter,jdbcType=VARCHAR}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + + + + + + update t_pro_plugin_parameter + set id = #{record.id,jdbcType=BIGINT}, + sub_task_id = #{record.subTaskId,jdbcType=BIGINT}, + member_id = #{record.memberId,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + plugin_id = #{record.pluginId,jdbcType=BIGINT}, + parameter = #{record.parameter,jdbcType=VARCHAR}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT} + + + + + + update t_pro_plugin_parameter + + + sub_task_id = #{subTaskId,jdbcType=BIGINT}, + + + member_id = #{memberId,jdbcType=BIGINT}, + + + project_id = #{projectId,jdbcType=BIGINT}, + + + plugin_id = #{pluginId,jdbcType=BIGINT}, + + + parameter = #{parameter,jdbcType=VARCHAR}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_pro_plugin_parameter + set sub_task_id = #{subTaskId,jdbcType=BIGINT}, + member_id = #{memberId,jdbcType=BIGINT}, + project_id = #{projectId,jdbcType=BIGINT}, + plugin_id = #{pluginId,jdbcType=BIGINT}, + parameter = #{parameter,jdbcType=VARCHAR}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file From 76f93721b43b2b74ba6bb113c2f7a71a84a1e26d Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Thu, 5 Nov 2020 14:29:24 +0800 Subject: [PATCH 60/72] 11-4 --- mt/src/main/java/com/ccsens/mt/service/ProvinceService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 1c12dce8..aecd2404 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -386,6 +386,7 @@ public class ProvinceService implements IProvinceService { CompeteCoachExample competeCoachExample = new CompeteCoachExample(); competeCoachExample.createCriteria().andIdEqualTo(id); competeCoachMapper.updateByExample(competeCoach,competeCoachExample); + }else { throw new BaseException(CodeEnum.PARAM_ERROR); } @@ -602,6 +603,7 @@ public class ProvinceService implements IProvinceService { teamMember.setCompeteTeamId(competeTeam.getId()); teamMember.setPlayerId(player.getId()); teamMemberMapper.insertSelective(teamMember); + } } From 232676fc994b40ad2f10961affb3a26294ef7328 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Thu, 5 Nov 2020 19:11:12 +0800 Subject: [PATCH 61/72] 11-4 --- .../com/ccsens/mt/api/CompeteController.java | 2 + .../com/ccsens/mt/api/ExcelController.java | 19 +- .../java/com/ccsens/mt/bean/vo/TableVo.java | 41 +++ .../mt/persist/dao/CompeteEnrollDao.java | 8 + .../com/ccsens/mt/service/CompeteService.java | 10 + .../com/ccsens/mt/service/ExcelService.java | 257 ++++++++++++++++++ .../ccsens/mt/service/ICompeteService.java | 2 + .../com/ccsens/mt/service/IExcelService.java | 15 + .../resources/mapper_dao/CompeteEnrollDao.xml | 7 + 9 files changed, 355 insertions(+), 6 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java create mode 100644 mt/src/main/java/com/ccsens/mt/service/ExcelService.java create mode 100644 mt/src/main/java/com/ccsens/mt/service/IExcelService.java diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index b1a21ff7..ea37039b 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -221,4 +221,6 @@ public class CompeteController { // return JsonResponse.newInstance().ok(playerList); // } + + } diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index e6cfadbb..2a82986e 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -3,6 +3,8 @@ package com.ccsens.mt.api; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.service.ICompeteService; +import com.ccsens.mt.service.IExcelService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; import io.swagger.annotations.Api; @@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import java.io.IOException; /** @@ -25,12 +28,16 @@ import java.io.IOException; @RestController @RequestMapping("/down") public class ExcelController { + @Resource + private IExcelService excelService; + + @MustLogin - @ApiOperation(value = "报名表详情表(关联wps)", notes = "") - @RequestMapping(value = "/enrollWPS", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse enrollPlayInfoWps(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { - log.info("查询各个项目报名人员信息:{}",params); -// String enrollPlayInfoList= competeService.enrollPlayInfoWps(params); - return JsonResponse.newInstance().ok(); + @ApiOperation(value = "大赛报名表", notes = "") + @RequestMapping(value = "/competeJoin", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse competeJoin(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + log.info("查询各种报名人员各种信息:{}",params); + String path = excelService.competeJoin(params); + return JsonResponse.newInstance().ok(path); } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java new file mode 100644 index 00000000..b06e70ef --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java @@ -0,0 +1,41 @@ +package com.ccsens.mt.bean.vo; + + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author li + */ +@Data +public class TableVo { + @Data + @ApiModel("XXXX大赛报名表") + public static class CompeteJoin{ + @ApiModelProperty("参赛项目") + private String competeProject; + @ApiModelProperty("组别") + private String competeGroup; + @ApiModelProperty("姓名") + private String name; + @ApiModelProperty("性别") + private int gender; + @ApiModelProperty("年龄") + private int age; + @ApiModelProperty("身份证号") + private String idCard; + @ApiModelProperty("身份证明") + private String idCardPromise; + @ApiModelProperty("一寸证件照") + private String picture; + @ApiModelProperty("学籍证明/俱乐部证明") + private String StudentPromise; + @ApiModelProperty("体检证明") + private String bodyTest; + @ApiModelProperty("人身意外伤害保险证明") + private String bodyProtect; + @ApiModelProperty("参赛队伍") + private String joinTeam; + } +} diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java index 55465a4d..9ed3e9bb 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteEnrollDao.java @@ -1,5 +1,6 @@ package com.ccsens.mt.persist.dao; +import com.ccsens.mt.bean.po.CompeteProjectPlayer; import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.persist.mapper.CompetePlayerMapper; import org.apache.ibatis.annotations.Param; @@ -108,4 +109,11 @@ public interface CompeteEnrollDao extends CompetePlayerMapper { */ List getGroupIdNameFromGroup(@Param("type")long type); + /** + * 查询项目信息 + * @param projectId 团队id + * @return 单人项目选手信息 + */ + CompeteProjectPlayer getPlayerInfoSingle(@Param("project_id")long projectId); + } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 43146161..48133b77 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -13,6 +13,7 @@ import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.LevelDto; import com.ccsens.mt.bean.po.*; import com.ccsens.mt.bean.vo.CompeteVo; +import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.persist.dao.CompeteEnrollDao; import com.ccsens.mt.persist.dao.CompetePlayerDao; import com.ccsens.mt.persist.dao.CompeteTeamDao; @@ -79,6 +80,8 @@ public class CompeteService implements ICompeteService { private CompeteEnrollDao competeEnrollDao; @Resource private TallFeignClient tallFeignClient; + @Resource + private CommonFileMapper commonFileMapper; /** * 查看第几届 @@ -892,6 +895,7 @@ public class CompeteService implements ICompeteService { return failPlayerInfoList; } + /** * 验证数据的正确性,存入数据库 */ @@ -1002,4 +1006,10 @@ public class CompeteService implements ICompeteService { } return true; } + + + + + + } \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java new file mode 100644 index 00000000..f1205e4d --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -0,0 +1,257 @@ +package com.ccsens.mt.service; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Snowflake; +import cn.hutool.core.util.IdcardUtil; +import com.ccsens.cloudutil.feign.TallFeignClient; +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.po.*; +import com.ccsens.mt.bean.vo.TableVo; +import com.ccsens.mt.persist.dao.CompeteEnrollDao; +import com.ccsens.mt.persist.dao.CompetePlayerDao; +import com.ccsens.mt.persist.dao.CompeteTeamDao; +import com.ccsens.mt.persist.dao.CompeteTimeDao; +import com.ccsens.mt.persist.mapper.*; +import com.ccsens.util.PoiUtil; +import com.ccsens.util.PropUtil; +import com.ccsens.util.RedisUtil; +import com.ccsens.util.bean.dto.QueryDto; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import javax.annotation.Resource; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; + +public class ExcelService implements IExcelService { + @Resource + private CompeteTimeDao competeTimeDao; + @Resource + private RedisUtil redisUtil; + @Resource + private CompeteCompanyMapper competeCompanyMapper; + @Resource + private Snowflake snowflake; + @Resource + private CompeteTeamDao competeTeamDao; + @Resource + private CompetePlayerDao competePlayerDao; + @Resource + private CompeteTeamMemberMapper competeTeamMemberMapper; + @Resource + private CompeteProjectMapper competeProjectMapper; + @Resource + private CompeteProjectPlayerMapper competeProjectPlayerMapper; + @Resource + private CompeteGroupMapper competeGroupMapper; + @Resource + private ILevelUpService levelUpService; + @Resource + private CompetePlayerFamilyMapper competePlayerFamilyMapper; + @Resource + private CompeteProjectGroupMapper competeProjectGroupMapper; + @Resource + private CompeteEnrollDao competeEnrollDao; + @Resource + private TallFeignClient tallFeignClient; + @Resource + private CommonFileMapper commonFileMapper; + + + @Override + public String competeJoin(QueryDto params) throws IOException { + CompeteDto.CompeteTime competeTime =params.getParam(); + List competeJoinList = getCompeteJoin(competeTime); + String path = getExcelFilePathForCompeteJoin(competeJoinList); + return null; + } + + private List getCompeteJoin(CompeteDto.CompeteTime params){ + List competeJoinList = new ArrayList<>(); + Long competeTimeId = params.getCompeteTimeId(); + CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(competeTimeId); + int type = competeTime.getType(); + Byte level = 2; + CompeteProjectExample competeProjectExample = new CompeteProjectExample(); + competeProjectExample.createCriteria().andTypeEqualTo((byte) type).andLevelEqualTo(level); + //获取参赛项目集合 + List competeProjectList = competeProjectMapper.selectByExample(competeProjectExample); + for (CompeteProject competeProject : competeProjectList){ + String projectName = competeProject.getName(); + if (competeProject.getTeam() == 0){ + //如果不是团队项目,查询该项目下报名人数集合 + CompeteProjectPlayerExample competeProjectPlayerExample = new CompeteProjectPlayerExample(); + competeProjectPlayerExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); + List competeProjectPlayerList = competeProjectPlayerMapper.selectByExample(competeProjectPlayerExample); + for (CompeteProjectPlayer competeProjectPlayer : competeProjectPlayerList){ + //查询每个报名人的详细信息下 + CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeProjectPlayer.getPlayerId()); + TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); + //姓名 + competeJoin.setName(competePlayer.getName()); + //身份证号 + competeJoin.setIdCard(competePlayer.getIdCard()); + //根据身份证获取选手年龄并赋值 + String idCard = competeJoin.getIdCard(); + int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard); + competeJoin.setAge(ageByIdCard); + //性别 + competeJoin.setGender(competePlayer.getGender()); + //查询单位,并赋值 + CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(competePlayer.getCompanyId()); + competeJoin.setJoinTeam(competeCompany.getName()); + //查询组别,并赋值 + CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(competePlayer.getCompeteGroupId()); + competeJoin.setCompeteGroup(competePlayer.getName()); + //身份证明查询,并赋值 + CommonFile commonFile = commonFileMapper.selectByPrimaryKey(competePlayer.getIdCardFrontFile()); + competeJoin.setIdCardPromise(commonFile.getVisitLocation()); + //一寸证件照查询赋值 + CommonFile commonFile1 = commonFileMapper.selectByPrimaryKey(competePlayer.getIdPhotoFile()); + competeJoin.setPicture(commonFile1.getVisitLocation()); + //学籍证明/俱乐部证明 + CommonFile commonFile2 = commonFileMapper.selectByPrimaryKey(competePlayer.getStudentRecordFile()); + competeJoin.setStudentPromise(commonFile2.getVisitLocation()); + //体检证明 + CommonFile commonFile3 = commonFileMapper.selectByPrimaryKey(competePlayer.getHealthRecordFile()); + competeJoin.setBodyTest(commonFile3.getVisitLocation()); + //人身意外伤害保险证明 + CommonFile commonFile4 = commonFileMapper.selectByPrimaryKey(competePlayer.getInsuranceRecordFile()); + competeJoin.setBodyProtect(commonFile4.getVisitLocation()); + //参赛项目名赋值 + competeJoin.setCompeteProject(projectName); + competeJoinList.add(competeJoin); + } + + }else { //团队项目 + //获取参赛队伍集合 + CompeteTeamExample competeTeamExample = new CompeteTeamExample(); + competeTeamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); + List competeTeamList = competeTeamDao.selectByExample(competeTeamExample); + for (CompeteTeam competeTeam : competeTeamList){ + //获取队伍下的成员集合 + CompeteTeamMemberExample competeTeamMemberExample = new CompeteTeamMemberExample(); + competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); + List competeTeamMemberList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); + for (CompeteTeamMember competeTeamMember : competeTeamMemberList){ + //查询成员详细信息 + CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()); + TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); + //姓名 + competeJoin.setName(competePlayer.getName()); + //身份证号 + competeJoin.setIdCard(competePlayer.getIdCard()); + //根据身份证获取选手年龄并赋值 + String idCard = competeJoin.getIdCard(); + int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard); + competeJoin.setAge(ageByIdCard); + //性别 + competeJoin.setGender(competePlayer.getGender()); + //查询单位,并赋值 + CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(competePlayer.getCompanyId()); + competeJoin.setJoinTeam(competeCompany.getName()); + //查询组别,并赋值 + CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(competePlayer.getCompeteGroupId()); + competeJoin.setCompeteGroup(competePlayer.getName()); + //身份证明查询,并赋值 + CommonFile commonFile = commonFileMapper.selectByPrimaryKey(competePlayer.getIdCardFrontFile()); + competeJoin.setIdCardPromise(commonFile.getVisitLocation()); + //一寸证件照查询赋值 + CommonFile commonFile1 = commonFileMapper.selectByPrimaryKey(competePlayer.getIdPhotoFile()); + competeJoin.setPicture(commonFile1.getVisitLocation()); + //学籍证明/俱乐部证明 + CommonFile commonFile2 = commonFileMapper.selectByPrimaryKey(competePlayer.getStudentRecordFile()); + competeJoin.setStudentPromise(commonFile2.getVisitLocation()); + //体检证明 + CommonFile commonFile3 = commonFileMapper.selectByPrimaryKey(competePlayer.getHealthRecordFile()); + competeJoin.setBodyTest(commonFile3.getVisitLocation()); + //人身意外伤害保险证明 + CommonFile commonFile4 = commonFileMapper.selectByPrimaryKey(competePlayer.getInsuranceRecordFile()); + competeJoin.setBodyProtect(commonFile4.getVisitLocation()); + //参赛项目名赋值 + competeJoin.setCompeteProject(projectName); + competeJoinList.add(competeJoin); + } + } + } + } + return competeJoinList; + } + + private String getExcelFilePathForCompeteJoin(List arrayList) throws IOException { + //创建excle表格对象 + List> list = new ArrayList<>(); + //创建行对象 + List title = new ArrayList<>(); + //给首行单元格赋值 + title.add(new PoiUtil.PoiUtilCell("参赛项目")); + title.add(new PoiUtil.PoiUtilCell("组别")); + title.add(new PoiUtil.PoiUtilCell("参赛队伍")); + title.add(new PoiUtil.PoiUtilCell("姓名")); + title.add(new PoiUtil.PoiUtilCell("性别")); + title.add(new PoiUtil.PoiUtilCell("年龄")); + title.add(new PoiUtil.PoiUtilCell("身份证号")); + title.add(new PoiUtil.PoiUtilCell("身份证明")); + title.add(new PoiUtil.PoiUtilCell("一寸证件照")); + title.add(new PoiUtil.PoiUtilCell("学籍证明/俱乐部证明")); + title.add(new PoiUtil.PoiUtilCell("体检证明")); + title.add(new PoiUtil.PoiUtilCell("人身意外伤害保险证明")); + list.add(title); + //创建整个excel表格对象 + Workbook workbook = new XSSFWorkbook(); + int i = 1; + for (TableVo.CompeteJoin competeJoin : arrayList) { + //行对象 + List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18)); + //单元格对象 + PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(competeJoin.getCompeteProject()); + cells.add(poiUtilCel); + PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(competeJoin.getCompeteGroup()); + cells.add(poiUtilCell); + PoiUtil.PoiUtilCell poiUtilCel2 = new PoiUtil.PoiUtilCell(competeJoin.getJoinTeam()); + cells.add(poiUtilCel2); + PoiUtil.PoiUtilCell poiUtilCel3 = new PoiUtil.PoiUtilCell(competeJoin.getName()); + cells.add(poiUtilCel3); + PoiUtil.PoiUtilCell poiUtilCel4 = new PoiUtil.PoiUtilCell(String.valueOf(competeJoin.getGender())); + cells.add(poiUtilCel4); + PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(String.valueOf(competeJoin.getAge())); + cells.add(poiUtilCel4); + PoiUtil.PoiUtilCell poiUtilCel6 = new PoiUtil.PoiUtilCell(competeJoin.getIdCard()); + cells.add(poiUtilCel4); + PoiUtil.PoiUtilCell poiUtilCel7 = new PoiUtil.PoiUtilCell(competeJoin.getIdCardPromise()); + cells.add(poiUtilCel4); + PoiUtil.PoiUtilCell poiUtilCel8 = new PoiUtil.PoiUtilCell(competeJoin.getPicture()); + cells.add(poiUtilCel4); + PoiUtil.PoiUtilCell poiUtilCel9 = new PoiUtil.PoiUtilCell(competeJoin.getStudentPromise()); + cells.add(poiUtilCel4); + PoiUtil.PoiUtilCell poiUtilCel10 = new PoiUtil.PoiUtilCell(competeJoin.getBodyTest()); + cells.add(poiUtilCel4); + PoiUtil.PoiUtilCell poiUtilCel11= new PoiUtil.PoiUtilCell(competeJoin.getBodyProtect()); + cells.add(poiUtilCel4); + list.add(cells); + i++; + } + //生成excel表格对象,并将数据放入 + Workbook wbs = PoiUtil.exportWB("报名表", list, workbook); + //8:关联金山在线文档 + String name = "XXXX大赛报名表" + ".xlsx"; + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + //PropUtil.path获取配置文件中的path属性,拼接生成写入信息的文件名, + File file = new File(path); + OutputStream stream = new FileOutputStream(file); + wbs.write(stream); + stream.close(); + return path; + } + +} diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index 206c18a0..84cf068a 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -147,6 +147,8 @@ public interface ICompeteService { * @return 返回失败的信息 */ List signupImport(String path) throws FileNotFoundException, Exception; + + } diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java new file mode 100644 index 00000000..b2d0679c --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -0,0 +1,15 @@ +package com.ccsens.mt.service; + +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.util.bean.dto.QueryDto; + +import java.io.IOException; + +public interface IExcelService { + /** + * XXXX大赛报名表 + * @param params 大赛id + * @return 返回失败的信息 + */ + String competeJoin(QueryDto params) throws IOException; +} diff --git a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml index c3846e72..fe66d7eb 100644 --- a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml @@ -170,4 +170,11 @@ WHERE type = #{type} ORDER BY id + From dc1a49110695832cd7379b837bcbce1f2bb862ab Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Fri, 6 Nov 2020 11:17:33 +0800 Subject: [PATCH 62/72] =?UTF-8?q?20201106v1.0=E8=B7=B3=E7=BB=B3=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ccsens/mt/service/ProvinceService.java | 7 +++++++ tall/src/main/resources/application.yml | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 027c0496..434a0337 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -146,6 +146,12 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNull(competeGroup) || param.getGender() != competeGroup.getSex()){ throw new BaseException(CodeEnum.MT_NOT_GROUP); } + //获取选手年龄 + int ageByIdCard = IdcardUtil.getAgeByIdCard(param.getIdCard()); + //判断年龄和分组是否匹配 + if(ageByIdCard < competeGroup.getMinAge() || ageByIdCard > competeGroup.getMaxAge()){ + throw new BaseException(CodeEnum.MT_NOT_GROUP); + } //判断各种证件是否为空 if(ObjectUtil.isNull(param.getIdCardFront()) && ObjectUtil.isNotNull(param.getIdCardBack())){ param.setIdCardFront(param.getIdCardBack()); @@ -165,6 +171,7 @@ public class ProvinceService implements IProvinceService { player.setStudentRecordFile(param.getStudentRecord()); player.setHealthRecordFile(param.getHealthRecord()); player.setInsuranceRecordFile(param.getInsuranceRecord()); + // //添加身份证正面照片 // player.setIdCardFrontFile(uploadPhotoFile(param.getIdCardFront(),userId)); // //身份证反面 diff --git a/tall/src/main/resources/application.yml b/tall/src/main/resources/application.yml index e75cc2c3..b5408a3a 100644 --- a/tall/src/main/resources/application.yml +++ b/tall/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: prod - include: util-prod,common + active: dev + include: util-dev,common From 242a49e20abfcdf717e20ab5660a546973723293 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Fri, 6 Nov 2020 18:35:34 +0800 Subject: [PATCH 63/72] 11-6 --- .../com/ccsens/mt/api/ExcelController.java | 24 +- .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 1 + .../java/com/ccsens/mt/bean/vo/TableVo.java | 56 ++- .../com/ccsens/mt/service/CompeteService.java | 2 +- .../com/ccsens/mt/service/ExcelService.java | 353 ++++++++++++++---- .../com/ccsens/mt/service/IExcelService.java | 21 +- .../main/java/com/ccsens/util/PoiUtil.java | 3 + 7 files changed, 385 insertions(+), 75 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index 2a82986e..33c66238 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -31,13 +31,31 @@ public class ExcelController { @Resource private IExcelService excelService; - @MustLogin - @ApiOperation(value = "大赛报名表", notes = "") + @ApiOperation(value = "xxx大赛报名表", notes = "") @RequestMapping(value = "/competeJoin", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse competeJoin(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { - log.info("查询各种报名人员各种信息:{}",params); + log.info("xxx大赛报名表:{}",params); String path = excelService.competeJoin(params); return JsonResponse.newInstance().ok(path); } + + @MustLogin + @ApiOperation(value = "参赛人数统计表", notes = "") + @RequestMapping(value = "/competeJoinCount", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse competeJoinCount(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + log.info("参赛人数统计表:{}",params); + String path = excelService.competeJoinCount(params.getParam()); + return JsonResponse.newInstance().ok(path); + } + + + @MustLogin + @ApiOperation(value = "XXX比赛报名汇总表", notes = "") + @RequestMapping(value = "/competeAllCount", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse competeAllCount(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + log.info("XXX比赛报名汇总表:{}",params); + String path = excelService.competeAllCount(params.getParam()); + return JsonResponse.newInstance().ok(path); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 62be8623..0c1c422a 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -29,6 +29,7 @@ public class ProvinceCompeteVo { private int projectNum; } + @Data @ApiModel("查找单位内的参赛选手列表") public static class PlayerByCompanyId{ diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java index b06e70ef..9d921137 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java @@ -20,7 +20,7 @@ public class TableVo { @ApiModelProperty("姓名") private String name; @ApiModelProperty("性别") - private int gender; + private String gender; @ApiModelProperty("年龄") private int age; @ApiModelProperty("身份证号") @@ -38,4 +38,58 @@ public class TableVo { @ApiModelProperty("参赛队伍") private String joinTeam; } + + + @Data + @ApiModel("参赛人数统计表") + public static class CompeteOverview{ + @ApiModelProperty("参赛队伍名称") + private String companyName; + @ApiModelProperty("当前添加的教练的人数") + private int coachNum; + @ApiModelProperty("当前添加的领队的人数") + private int guideNum; + @ApiModelProperty("当前添加的参赛人员的人数") + private int playerNum; + @ApiModelProperty("队伍总人数") + private int sum; + } + + + @Data + @ApiModel("XXX比赛报名汇总表") + public static class CompeteAllCount{ + @ApiModelProperty("参赛项目") + private String projectName; + @ApiModelProperty("小学男子组") + private int primaryMale; + @ApiModelProperty("小学女子组") + private int primaryFemale; + @ApiModelProperty("小学混合组") + private int primary; + @ApiModelProperty("中学男子组") + private int middleMale; + @ApiModelProperty("中学女子组") + private int middleFemale; + @ApiModelProperty("中学混合组") + private int middle; + @ApiModelProperty("高职院校男子组") + private int highMale; + @ApiModelProperty("高职院校女子组") + private int highFemale; + @ApiModelProperty("高职院校混合组") + private int high; + @ApiModelProperty("本科院校男子组") + private int collegeMale; + @ApiModelProperty("本科院校女子组") + private int collegeFemale; + @ApiModelProperty("本科院校混合组") + private int college; + @ApiModelProperty("俱乐部男子组(14岁及以下)") + private int clubMale; + @ApiModelProperty("俱乐部女子组(14岁及以下)") + private int clubFemale; + @ApiModelProperty("俱乐部混合组(14岁及以下)") + private int club; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 48133b77..c6f2ca97 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -112,7 +112,7 @@ public class CompeteService implements ICompeteService { // competeGroups.forEach(competeGroup -> { // CompeteProjectGroupExample competeProjectGroupExample = new CompeteProjectGroupExample(); // competeProjectGroupExample.createCriteria().andGroupIdEqualTo(competeGroup.getGroupId()).andProjectIdEqualTo(competeType.getProjectId()); -// if(competeProjectGroupMapper.countByExample(competeProjectGroupExample) == 0){ +// if(competeProjectGroupMapper.1ByExample(competeProjectGroupExample) == 0){ // competeGroups.remove(competeGroup); // } // }); diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index f1205e4d..d8f16049 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -3,21 +3,24 @@ package com.ccsens.mt.service; import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdcardUtil; +import cn.hutool.core.util.ObjectUtil; import com.ccsens.cloudutil.feign.TallFeignClient; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.po.*; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.bean.vo.TableVo; -import com.ccsens.mt.persist.dao.CompeteEnrollDao; -import com.ccsens.mt.persist.dao.CompetePlayerDao; -import com.ccsens.mt.persist.dao.CompeteTeamDao; -import com.ccsens.mt.persist.dao.CompeteTimeDao; +import com.ccsens.mt.persist.dao.*; import com.ccsens.mt.persist.mapper.*; import com.ccsens.util.PoiUtil; import com.ccsens.util.PropUtil; import com.ccsens.util.RedisUtil; import com.ccsens.util.bean.dto.QueryDto; +import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; @@ -27,7 +30,13 @@ import java.io.OutputStream; import java.util.ArrayList; import java.util.List; -public class ExcelService implements IExcelService { +/** + * @author 逗 + */ +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class ExcelService implements IExcelService { @Resource private CompeteTimeDao competeTimeDao; @Resource @@ -60,17 +69,23 @@ public class ExcelService implements IExcelService { private TallFeignClient tallFeignClient; @Resource private CommonFileMapper commonFileMapper; + @Resource + private IProvinceService provinceService; + @Resource + private CompeteCompanyDao competeCompanyDao; + @Resource + CompeteCoachMapper competeCoachMapper; @Override public String competeJoin(QueryDto params) throws IOException { - CompeteDto.CompeteTime competeTime =params.getParam(); + CompeteDto.CompeteTime competeTime = params.getParam(); List competeJoinList = getCompeteJoin(competeTime); String path = getExcelFilePathForCompeteJoin(competeJoinList); - return null; + return path; } - private List getCompeteJoin(CompeteDto.CompeteTime params){ + private List getCompeteJoin(CompeteDto.CompeteTime params) { List competeJoinList = new ArrayList<>(); Long competeTimeId = params.getCompeteTimeId(); CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(competeTimeId); @@ -80,14 +95,14 @@ public class ExcelService implements IExcelService { competeProjectExample.createCriteria().andTypeEqualTo((byte) type).andLevelEqualTo(level); //获取参赛项目集合 List competeProjectList = competeProjectMapper.selectByExample(competeProjectExample); - for (CompeteProject competeProject : competeProjectList){ + for (CompeteProject competeProject : competeProjectList) { String projectName = competeProject.getName(); - if (competeProject.getTeam() == 0){ + if (competeProject.getTeam() == 0) { //如果不是团队项目,查询该项目下报名人数集合 CompeteProjectPlayerExample competeProjectPlayerExample = new CompeteProjectPlayerExample(); competeProjectPlayerExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); List competeProjectPlayerList = competeProjectPlayerMapper.selectByExample(competeProjectPlayerExample); - for (CompeteProjectPlayer competeProjectPlayer : competeProjectPlayerList){ + for (CompeteProjectPlayer competeProjectPlayer : competeProjectPlayerList) { //查询每个报名人的详细信息下 CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeProjectPlayer.getPlayerId()); TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); @@ -99,45 +114,63 @@ public class ExcelService implements IExcelService { String idCard = competeJoin.getIdCard(); int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard); competeJoin.setAge(ageByIdCard); - //性别 - competeJoin.setGender(competePlayer.getGender()); + Byte gender = competePlayer.getGender(); + if (gender == 0) { + competeJoin.setGender("女"); + } else { + competeJoin.setGender("男"); + } //查询单位,并赋值 CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(competePlayer.getCompanyId()); - competeJoin.setJoinTeam(competeCompany.getName()); + if (ObjectUtil.isNotNull(competeCompany)) { + competeJoin.setJoinTeam(competeCompany.getName()); + } //查询组别,并赋值 CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(competePlayer.getCompeteGroupId()); - competeJoin.setCompeteGroup(competePlayer.getName()); - //身份证明查询,并赋值 - CommonFile commonFile = commonFileMapper.selectByPrimaryKey(competePlayer.getIdCardFrontFile()); - competeJoin.setIdCardPromise(commonFile.getVisitLocation()); - //一寸证件照查询赋值 - CommonFile commonFile1 = commonFileMapper.selectByPrimaryKey(competePlayer.getIdPhotoFile()); - competeJoin.setPicture(commonFile1.getVisitLocation()); - //学籍证明/俱乐部证明 - CommonFile commonFile2 = commonFileMapper.selectByPrimaryKey(competePlayer.getStudentRecordFile()); - competeJoin.setStudentPromise(commonFile2.getVisitLocation()); - //体检证明 - CommonFile commonFile3 = commonFileMapper.selectByPrimaryKey(competePlayer.getHealthRecordFile()); - competeJoin.setBodyTest(commonFile3.getVisitLocation()); - //人身意外伤害保险证明 - CommonFile commonFile4 = commonFileMapper.selectByPrimaryKey(competePlayer.getInsuranceRecordFile()); - competeJoin.setBodyProtect(commonFile4.getVisitLocation()); + if (ObjectUtil.isNotNull(competeGroup)) { + competeJoin.setCompeteGroup(competePlayer.getName()); + } +// //身份证明查询,并赋值 +// CommonFile commonFile = commonFileMapper.selectByPrimaryKey(competePlayer.getIdCardFrontFile()); +// if (ObjectUtil.isNotNull(commonFile)) { +// competeJoin.setIdCardPromise(commonFile.getVisitLocation()); +// } +// //一寸证件照查询赋值 +// CommonFile commonFile1 = commonFileMapper.selectByPrimaryKey(competePlayer.getIdPhotoFile()); +// if (ObjectUtil.isNotNull(commonFile1)) { +// competeJoin.setPicture(commonFile1.getVisitLocation()); +// } +// //学籍证明/俱乐部证明 +// CommonFile commonFile2 = commonFileMapper.selectByPrimaryKey(competePlayer.getStudentRecordFile()); +// if (ObjectUtil.isNotNull(commonFile2)) { +// competeJoin.setStudentPromise(commonFile2.getVisitLocation()); +// } +// //体检证明 +// CommonFile commonFile3 = commonFileMapper.selectByPrimaryKey(competePlayer.getHealthRecordFile()); +// if (ObjectUtil.isNotNull(commonFile3)) { +// competeJoin.setBodyTest(commonFile3.getVisitLocation()); +// } +// //人身意外伤害保险证明 +// CommonFile commonFile4 = commonFileMapper.selectByPrimaryKey(competePlayer.getInsuranceRecordFile()); +// if (ObjectUtil.isNotNull(commonFile4)) { +// competeJoin.setBodyProtect(commonFile4.getVisitLocation()); +// } //参赛项目名赋值 competeJoin.setCompeteProject(projectName); competeJoinList.add(competeJoin); } - }else { //团队项目 + } else { //团队项目 //获取参赛队伍集合 CompeteTeamExample competeTeamExample = new CompeteTeamExample(); competeTeamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); List competeTeamList = competeTeamDao.selectByExample(competeTeamExample); - for (CompeteTeam competeTeam : competeTeamList){ + for (CompeteTeam competeTeam : competeTeamList) { //获取队伍下的成员集合 CompeteTeamMemberExample competeTeamMemberExample = new CompeteTeamMemberExample(); competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); List competeTeamMemberList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); - for (CompeteTeamMember competeTeamMember : competeTeamMemberList){ + for (CompeteTeamMember competeTeamMember : competeTeamMemberList) { //查询成员详细信息 CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()); TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); @@ -150,28 +183,48 @@ public class ExcelService implements IExcelService { int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard); competeJoin.setAge(ageByIdCard); //性别 - competeJoin.setGender(competePlayer.getGender()); + Byte gender = competePlayer.getGender(); + if (gender == 0) { + competeJoin.setGender("女"); + } else { + competeJoin.setGender("男"); + } + //查询单位,并赋值 CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(competePlayer.getCompanyId()); - competeJoin.setJoinTeam(competeCompany.getName()); + if (ObjectUtil.isNotNull(competeCompany)) { + competeJoin.setJoinTeam(competeCompany.getName()); + } //查询组别,并赋值 CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(competePlayer.getCompeteGroupId()); - competeJoin.setCompeteGroup(competePlayer.getName()); - //身份证明查询,并赋值 - CommonFile commonFile = commonFileMapper.selectByPrimaryKey(competePlayer.getIdCardFrontFile()); - competeJoin.setIdCardPromise(commonFile.getVisitLocation()); - //一寸证件照查询赋值 - CommonFile commonFile1 = commonFileMapper.selectByPrimaryKey(competePlayer.getIdPhotoFile()); - competeJoin.setPicture(commonFile1.getVisitLocation()); - //学籍证明/俱乐部证明 - CommonFile commonFile2 = commonFileMapper.selectByPrimaryKey(competePlayer.getStudentRecordFile()); - competeJoin.setStudentPromise(commonFile2.getVisitLocation()); - //体检证明 - CommonFile commonFile3 = commonFileMapper.selectByPrimaryKey(competePlayer.getHealthRecordFile()); - competeJoin.setBodyTest(commonFile3.getVisitLocation()); - //人身意外伤害保险证明 - CommonFile commonFile4 = commonFileMapper.selectByPrimaryKey(competePlayer.getInsuranceRecordFile()); - competeJoin.setBodyProtect(commonFile4.getVisitLocation()); + if (ObjectUtil.isNotNull(competeGroup)) { + competeJoin.setCompeteGroup(competePlayer.getName()); + } +// //身份证明查询,并赋值 +// CommonFile commonFile = commonFileMapper.selectByPrimaryKey(competePlayer.getIdCardFrontFile()); +// if (ObjectUtil.isNotNull(commonFile)){ +// competeJoin.setIdCardPromise(commonFile.getVisitLocation()); +// } +// //一寸证件照查询赋值 +// CommonFile commonFile1 = commonFileMapper.selectByPrimaryKey(competePlayer.getIdPhotoFile()); +// if (ObjectUtil.isNotNull(commonFile1)){ +// competeJoin.setPicture(commonFile1.getVisitLocation()); +// } +// //学籍证明/俱乐部证明 +// CommonFile commonFile2 = commonFileMapper.selectByPrimaryKey(competePlayer.getStudentRecordFile()); +// if (ObjectUtil.isNotNull(commonFile2)){ +// competeJoin.setStudentPromise(commonFile2.getVisitLocation()); +// } +// //体检证明 +// CommonFile commonFile3 = commonFileMapper.selectByPrimaryKey(competePlayer.getHealthRecordFile()); +// if (ObjectUtil.isNotNull(commonFile3)){ +// competeJoin.setBodyTest(commonFile3.getVisitLocation()); +// } +// //人身意外伤害保险证明 +// CommonFile commonFile4 = commonFileMapper.selectByPrimaryKey(competePlayer.getInsuranceRecordFile()); +// if (ObjectUtil.isNotNull(commonFile4)){ +// competeJoin.setBodyProtect(commonFile4.getVisitLocation()); +// } //参赛项目名赋值 competeJoin.setCompeteProject(projectName); competeJoinList.add(competeJoin); @@ -179,7 +232,7 @@ public class ExcelService implements IExcelService { } } } - return competeJoinList; + return competeJoinList; } private String getExcelFilePathForCompeteJoin(List arrayList) throws IOException { @@ -188,6 +241,7 @@ public class ExcelService implements IExcelService { //创建行对象 List title = new ArrayList<>(); //给首行单元格赋值 + title.add(new PoiUtil.PoiUtilCell("序号")); title.add(new PoiUtil.PoiUtilCell("参赛项目")); title.add(new PoiUtil.PoiUtilCell("组别")); title.add(new PoiUtil.PoiUtilCell("参赛队伍")); @@ -195,11 +249,12 @@ public class ExcelService implements IExcelService { title.add(new PoiUtil.PoiUtilCell("性别")); title.add(new PoiUtil.PoiUtilCell("年龄")); title.add(new PoiUtil.PoiUtilCell("身份证号")); - title.add(new PoiUtil.PoiUtilCell("身份证明")); - title.add(new PoiUtil.PoiUtilCell("一寸证件照")); - title.add(new PoiUtil.PoiUtilCell("学籍证明/俱乐部证明")); - title.add(new PoiUtil.PoiUtilCell("体检证明")); - title.add(new PoiUtil.PoiUtilCell("人身意外伤害保险证明")); +// title.add(new PoiUtil.PoiUtilCell("身份证明")); +// title.add(new PoiUtil.PoiUtilCell("一寸证件照")); +// title.add(new PoiUtil.PoiUtilCell("学籍证明/俱乐部证明")); +// title.add(new PoiUtil.PoiUtilCell("体检证明")); +// title.add(new PoiUtil.PoiUtilCell("人身意外伤害保险证明")); + title.add(new PoiUtil.PoiUtilCell("备注")); list.add(title); //创建整个excel表格对象 Workbook workbook = new XSSFWorkbook(); @@ -220,19 +275,19 @@ public class ExcelService implements IExcelService { PoiUtil.PoiUtilCell poiUtilCel4 = new PoiUtil.PoiUtilCell(String.valueOf(competeJoin.getGender())); cells.add(poiUtilCel4); PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(String.valueOf(competeJoin.getAge())); - cells.add(poiUtilCel4); + cells.add(poiUtilCel5); PoiUtil.PoiUtilCell poiUtilCel6 = new PoiUtil.PoiUtilCell(competeJoin.getIdCard()); - cells.add(poiUtilCel4); - PoiUtil.PoiUtilCell poiUtilCel7 = new PoiUtil.PoiUtilCell(competeJoin.getIdCardPromise()); - cells.add(poiUtilCel4); - PoiUtil.PoiUtilCell poiUtilCel8 = new PoiUtil.PoiUtilCell(competeJoin.getPicture()); - cells.add(poiUtilCel4); - PoiUtil.PoiUtilCell poiUtilCel9 = new PoiUtil.PoiUtilCell(competeJoin.getStudentPromise()); - cells.add(poiUtilCel4); - PoiUtil.PoiUtilCell poiUtilCel10 = new PoiUtil.PoiUtilCell(competeJoin.getBodyTest()); - cells.add(poiUtilCel4); - PoiUtil.PoiUtilCell poiUtilCel11= new PoiUtil.PoiUtilCell(competeJoin.getBodyProtect()); - cells.add(poiUtilCel4); + cells.add(poiUtilCel6); +// PoiUtil.PoiUtilCell poiUtilCel7 = new PoiUtil.PoiUtilCell(competeJoin.getIdCardPromise()); +// cells.add(poiUtilCel7); +// PoiUtil.PoiUtilCell poiUtilCel8 = new PoiUtil.PoiUtilCell(competeJoin.getPicture()); +// cells.add(poiUtilCel8); +// PoiUtil.PoiUtilCell poiUtilCel9 = new PoiUtil.PoiUtilCell(competeJoin.getStudentPromise()); +// cells.add(poiUtilCel9); +// PoiUtil.PoiUtilCell poiUtilCel10 = new PoiUtil.PoiUtilCell(competeJoin.getBodyTest()); +// cells.add(poiUtilCel10); +// PoiUtil.PoiUtilCell poiUtilCel11 = new PoiUtil.PoiUtilCell(competeJoin.getBodyProtect()); +// cells.add(poiUtilCel11); list.add(cells); i++; } @@ -242,6 +297,104 @@ public class ExcelService implements IExcelService { String name = "XXXX大赛报名表" + ".xlsx"; String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; String path = PropUtil.path + filepath; +// String path = filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + //PropUtil.path获取配置文件中的path属性,拼接生成写入信息的文件名, + File file = new File(path); + OutputStream stream = new FileOutputStream(file); + wbs.write(stream); + stream.close(); + return path; + } + + + @Override + public String competeJoinCount(CompeteDto.CompeteTime params) throws IOException { + List competeOverviewList = competeJoinCountList(params); + String path = getExcelFilePathForCompeteJoinCount(competeOverviewList); + return path; + } + + private List competeJoinCountList(CompeteDto.CompeteTime params) { + CompeteCompanyExample competeCompanyExample = new CompeteCompanyExample(); + competeCompanyExample.createCriteria().andCompeteTimeIdEqualTo(params.getCompeteTimeId()); + //根据大赛id查公司集合 + List competeCompanyList = competeCompanyMapper.selectByExample(competeCompanyExample); + List competeOverview2List = new ArrayList<>(); + for (CompeteCompany competeCompany : competeCompanyList) { + //每个公司的教练数量 + int leader = 1; + int coach = 0; + CompeteCoachExample competeCoachExample = new CompeteCoachExample(); + competeCoachExample.createCriteria().andCompanyIdEqualTo(competeCompany.getId()).andIdentityEqualTo((byte) coach); + long count = competeCoachMapper.countByExample(competeCoachExample); + //每个公司的领队数量 + CompeteCoachExample competeCoachExample1 = new CompeteCoachExample(); + competeCoachExample1.createCriteria().andCompanyIdEqualTo(competeCompany.getId()).andIdentityEqualTo((byte) leader); + long count1 = competeCoachMapper.countByExample(competeCoachExample1); + //每个公司运动员人数 + CompetePlayerExample competePlayerExample2 = new CompetePlayerExample(); + competePlayerExample2.createCriteria().andCompanyIdEqualTo(competeCompany.getId()); + long count2 = competePlayerDao.countByExample(competePlayerExample2); + //总人数 + long sum = count + count1 + count2; + TableVo.CompeteOverview CompeteOverview2 = new TableVo.CompeteOverview(); + CompeteOverview2.setCompanyName(competeCompany.getName()); + CompeteOverview2.setCoachNum((int) count); + CompeteOverview2.setGuideNum((int) count1); + CompeteOverview2.setPlayerNum((int) count2); + CompeteOverview2.setSum((int) sum); + competeOverview2List.add(CompeteOverview2); + } + return competeOverview2List; + } + + + + private String getExcelFilePathForCompeteJoinCount(List arrayList) throws IOException { + //创建excle表格对象 + List> list = new ArrayList<>(); + //创建行对象 + List title = new ArrayList<>(); + //给首行单元格赋值 + title.add(new PoiUtil.PoiUtilCell("序号")); + title.add(new PoiUtil.PoiUtilCell("单位")); + title.add(new PoiUtil.PoiUtilCell("领队")); + title.add(new PoiUtil.PoiUtilCell("教练")); + title.add(new PoiUtil.PoiUtilCell("运动员")); + title.add(new PoiUtil.PoiUtilCell("总人数")); + list.add(title); + //创建整个excel表格对象 + Workbook workbook = new XSSFWorkbook(); + int i = 1; + for (TableVo.CompeteOverview competeOverview : arrayList) { + //行对象 + List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18)); + //单元格对象 + PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(competeOverview.getCompanyName()); + cells.add(poiUtilCel); + PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(String.valueOf(competeOverview.getGuideNum())); + cells.add(poiUtilCell); + PoiUtil.PoiUtilCell poiUtilCel2 = new PoiUtil.PoiUtilCell(String.valueOf(competeOverview.getCoachNum())); + cells.add(poiUtilCel2); + PoiUtil.PoiUtilCell poiUtilCel3 = new PoiUtil.PoiUtilCell(String.valueOf(competeOverview.getPlayerNum())); + cells.add(poiUtilCel3); + PoiUtil.PoiUtilCell poiUtilCel4 = new PoiUtil.PoiUtilCell(String.valueOf(competeOverview.getSum())); + cells.add(poiUtilCel4); + list.add(cells); + i++; + } + //生成excel表格对象,并将数据放入 + Workbook wbs = PoiUtil.exportWB("参赛人数统计表", list, workbook); + //8:关联金山在线文档 + String name = "参赛人数统计表" + ".xlsx"; + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; +// String path = filepath; File tmpFile = new File(path); if (!tmpFile.getParentFile().exists()) { tmpFile.getParentFile().mkdirs(); @@ -254,4 +407,66 @@ public class ExcelService implements IExcelService { return path; } + @Override + public String competeAllCount(CompeteDto.CompeteTime params) throws IOException { + return null; + } + + private List competeAllCountList(CompeteDto.CompeteTime params){ + //根据大赛查类型 + Long competeTimeId = params.getCompeteTimeId(); + CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(competeTimeId); + int type = competeTime.getType(); + Byte level = 2; + CompeteProjectExample competeProjectExample = new CompeteProjectExample(); + competeProjectExample.createCriteria().andTypeEqualTo((byte) type).andLevelEqualTo(level); + //获取参赛项目集合 + List competeProjectList = competeProjectMapper.selectByExample(competeProjectExample); + CompeteGroupExample competeGroupExample = new CompeteGroupExample(); + competeGroupExample.createCriteria().andTypeEqualTo((byte) type); + //获取组别集合 + List competeGroupList = competeGroupMapper.selectByExample(competeGroupExample); + for (CompeteProject competeProject : competeProjectList){ + //若不是团队项目 + if (competeProject.getTeam() == 0){ + TableVo.CompeteAllCount competeAllCount = new TableVo.CompeteAllCount(); + //项目名赋值 + competeAllCount.setProjectName(competeProject.getName()); + //遍历组别集合 + int i = 0; + for(CompeteGroup competeGroup : competeGroupList){ + CompetePlayerExample competePlayerExample = new CompetePlayerExample(); + competePlayerExample.createCriteria().andCompeteGroupIdEqualTo(competeGroup.getId()); + //计算每个组别人数 + long count = competePlayerDao.countByExample(competePlayerExample); + } + } + } + return null; + } + + + + } + + + + + + + + + + + + + + + + + + + + + diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java index b2d0679c..053f40c1 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -4,7 +4,9 @@ import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.util.bean.dto.QueryDto; import java.io.IOException; - +/** + * @author li + */ public interface IExcelService { /** * XXXX大赛报名表 @@ -12,4 +14,21 @@ public interface IExcelService { * @return 返回失败的信息 */ String competeJoin(QueryDto params) throws IOException; + + + + /** + * XXXX大赛报名表 + * @param params 大赛id + * @return 返回失败的信息 + */ + String competeJoinCount(CompeteDto.CompeteTime params) throws IOException; + + + /** + * XXX比赛报名汇总表 + * @param params 大赛id + * @return 返回失败的信息 + */ + String competeAllCount(CompeteDto.CompeteTime params) throws IOException; } diff --git a/util/src/main/java/com/ccsens/util/PoiUtil.java b/util/src/main/java/com/ccsens/util/PoiUtil.java index d7c0cd44..3bbcb1c2 100644 --- a/util/src/main/java/com/ccsens/util/PoiUtil.java +++ b/util/src/main/java/com/ccsens/util/PoiUtil.java @@ -162,6 +162,9 @@ public class PoiUtil { List cells = rows.get(i); for (int j = 0; j < cells.size(); j++) { PoiUtilCell cell = cells.get(j); + if(ObjectUtil.isNull(cell)){ + continue; + } //查找当前单元格 Cell newCell = row.getCell(j); if(ObjectUtil.isNull(newCell)){ From 2bc29dd266538e96f71fa8beb60a71a5d46f59ef Mon Sep 17 00:00:00 2001 From: wang0018 <1007152140@qq.com> Date: Fri, 6 Nov 2020 18:46:38 +0800 Subject: [PATCH 64/72] 11-6 --- .../com/ccsens/mt/api/ExcelController.java | 27 ++ .../java/com/ccsens/mt/bean/vo/CompeteVo.java | 7 + .../mt/persist/dao/CompeteCompanyDao.java | 16 + .../mt/persist/dao/CompetePlayerDao.java | 1 + .../persist/mapper/CompeteCompanyMapper.java | 1 + .../com/ccsens/mt/service/ExcelService.java | 276 ++++++++++++++++++ .../com/ccsens/mt/service/IExcelService.java | 20 ++ .../mapper_dao/CompeteCompanyDao.xml | 32 +- .../resources/mapper_dao/CompetePlayerDao.xml | 1 + 9 files changed, 379 insertions(+), 2 deletions(-) create mode 100644 mt/src/main/java/com/ccsens/mt/service/ExcelService.java create mode 100644 mt/src/main/java/com/ccsens/mt/service/IExcelService.java diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index e6cfadbb..b921afe6 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -3,6 +3,7 @@ package com.ccsens.mt.api; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.service.IExcelService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; import io.swagger.annotations.Api; @@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; import java.io.IOException; /** @@ -25,6 +27,9 @@ import java.io.IOException; @RestController @RequestMapping("/down") public class ExcelController { + @Resource + private IExcelService excelService; + @MustLogin @ApiOperation(value = "报名表详情表(关联wps)", notes = "") @RequestMapping(value = "/enrollWPS", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -33,4 +38,26 @@ public class ExcelController { // String enrollPlayInfoList= competeService.enrollPlayInfoWps(params); return JsonResponse.newInstance().ok(); } + + + @MustLogin + @ApiOperation(value = "大赛参赛队伍信息表", notes = "") + @RequestMapping(value = "/competitionTeamInformationTable", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse dasaiduiwuxinxiWPS(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + log.info("导出大赛参赛队伍信息表:{}",params); + String path = excelService.dasaiduiwuxinxiWPS(params); + return JsonResponse.newInstance().ok(path); + } + @MustLogin + @ApiOperation(value = "代表队名单", notes = "") + @RequestMapping(value = "/teamList", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse teamList(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { + log.info("导出代表队名单表:{}",params); + String path = excelService.iTeamListService(params); + return JsonResponse.newInstance().ok(path); + } + + + + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java index 518ba17f..2c46dd01 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java @@ -44,6 +44,13 @@ public class CompeteVo { @ApiModelProperty("描述") private String groupDescription; } + @Data + @ApiModel + public static class CompeteC{ + @ApiModelProperty("参赛队伍") + private String cansaiduiName; + + } @Data @ApiModel("模糊查询参赛单位") diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index 9bc2d22d..c11211c6 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -1,6 +1,8 @@ package com.ccsens.mt.persist.dao; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; +import com.ccsens.mt.bean.po.CompeteCoach; +import com.ccsens.mt.bean.po.CompeteCompany; import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; @@ -93,4 +95,18 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @return 返回详细信息 */ ProvinceCompeteVo.GetCoach getCoachInfo(@Param("coachId")Long coachId); + + /** + * 根据大赛id查看当前大赛所有队伍信息,以及联系人的信息 + * @param CompeteTimeId 大赛CompeteTimeId + * @return 返回参赛队伍详细信息 + */ + List selectByCompeteTimeId(Long CompeteTimeId); + + /** + * 根据查出来得大赛得单位的id查询教练和领队得信息 + * @param companyId 单位id + * @return + */ + List selectByCompanyId(@Param("companyId")Long companyId); } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java index 11e4b350..d703fdf5 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java @@ -1,5 +1,6 @@ package com.ccsens.mt.persist.dao; +import com.ccsens.mt.bean.po.CompetePlayer; import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.persist.mapper.CompetePlayerMapper; diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyMapper.java index 08e677eb..485d5402 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyMapper.java +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyMapper.java @@ -27,4 +27,5 @@ public interface CompeteCompanyMapper { int updateByPrimaryKeySelective(CompeteCompany record); int updateByPrimaryKey(CompeteCompany record); + } \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java new file mode 100644 index 00000000..27881b12 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -0,0 +1,276 @@ +package com.ccsens.mt.service; + +import cn.hutool.core.date.DateUtil; +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.po.*; +import com.ccsens.mt.persist.dao.CompeteCompanyDao; +import com.ccsens.mt.persist.dao.CompeteTimeDao; +import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; +import com.ccsens.mt.persist.mapper.CompetePlayerMapper; +import com.ccsens.util.PoiUtil; +import com.ccsens.util.PropUtil; +import com.ccsens.util.WebConstant; +import com.ccsens.util.bean.dto.QueryDto; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.map.HashedMap; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) +public class ExcelService implements IExcelService { + @Resource + private CompeteCompanyDao competeCompanyDao; + @Resource + private CompeteTimeDao competeTimeDao; + + @Resource + private CompetePlayerMapper competePlayerMapper; + + @Override + public String dasaiduiwuxinxiWPS(QueryDto params) { + //这个里面包含联系人得信息 + List competeCompanyList= competeCompanyDao.selectByCompeteTimeId(params.getParam().getCompeteTimeId()); + List competeCoachList =new ArrayList(); + for (CompeteCompany com:competeCompanyList) { + //再根据单位id查询,领队和教练信息,返回list集合 + competeCoachList.addAll(competeCompanyDao.selectByCompanyId(com.getId())); + } + List> biao = new ArrayList<>(); + //先把联系人的都添加进去 + List biaotou=new ArrayList<>(); + PoiUtil.PoiUtilCell biaotouName=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 8, 1, null, null); + biaotouName.setValue(competeTimeDao.selectByPrimaryKey(params.getParam().getCompeteTimeId()).getName()); + biaotou.add(biaotouName); + biao.add(biaotou); + List hangTou=new ArrayList<>(); + PoiUtil.PoiUtilCell xuhaoTou=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + xuhaoTou.setValue("序号"); + hangTou.add(xuhaoTou); + PoiUtil.PoiUtilCell cansaiduiwuTou=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + cansaiduiwuTou.setValue("参赛队伍"); + hangTou.add(cansaiduiwuTou); + PoiUtil.PoiUtilCell lianxirenTou=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + lianxirenTou.setValue("联系人/领队/教练"); + hangTou.add(lianxirenTou); + PoiUtil.PoiUtilCell nameTou=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + nameTou.setValue("姓名"); + hangTou.add(nameTou); + PoiUtil.PoiUtilCell sexTou=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + sexTou.setValue("性别"); + hangTou.add(sexTou); + PoiUtil.PoiUtilCell lianxifangshiTou=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + lianxifangshiTou.setValue("联系方式"); + hangTou.add(lianxifangshiTou); + PoiUtil.PoiUtilCell shenfenzhengTou=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + shenfenzhengTou.setValue("身份证号"); + hangTou.add(shenfenzhengTou); + PoiUtil.PoiUtilCell beizhuTou=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + beizhuTou.setValue("备注"); + hangTou.add(beizhuTou); + biao.add(hangTou); + int i=1; + for(CompeteCompany competeCompany:competeCompanyList){ + List hang=new ArrayList<>(); + PoiUtil.PoiUtilCell xuhao=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + xuhao.setValue(String.valueOf(i++)); + hang.add(xuhao); + PoiUtil.PoiUtilCell cansaiduiwu=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + cansaiduiwu.setValue(competeCompany.getName()); + hang.add(cansaiduiwu); + PoiUtil.PoiUtilCell renyuanleibei=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + renyuanleibei.setValue("联系人"); + hang.add(renyuanleibei); + PoiUtil.PoiUtilCell name=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + name.setValue(competeCompany.getContactsName()); + hang.add(name); + PoiUtil.PoiUtilCell sex=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + sex.setValue("/"); + hang.add(sex); + PoiUtil.PoiUtilCell pho=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + pho.setValue(String.valueOf(competeCompany.getContactsPhone())); + hang.add(pho); + PoiUtil.PoiUtilCell idCardNum=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + idCardNum.setValue("/"); + hang.add(idCardNum); + PoiUtil.PoiUtilCell beizhu=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + beizhu.setValue("无"); + hang.add(beizhu); + biao.add(hang); + for (CompeteCoach competeCoach:competeCoachList){ + if(competeCoach.getCompanyId().equals(competeCompany.getId())){ + List hanghou=new ArrayList<>(); + PoiUtil.PoiUtilCell xuhaoCach=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + xuhaoCach.setValue(String.valueOf(i++)); + hanghou.add(xuhaoCach); + PoiUtil.PoiUtilCell cansaiduiwuCach=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + cansaiduiwuCach.setValue(competeCompany.getName()); + hanghou.add(cansaiduiwuCach); + PoiUtil.PoiUtilCell renyuanleibeiCach=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + if (competeCoach.getIdentity().equals((byte) 0)){ + renyuanleibeiCach.setValue("领队"); + }else { + renyuanleibeiCach.setValue("教练"); + } + hanghou.add(renyuanleibeiCach); + PoiUtil.PoiUtilCell nameCach=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + nameCach.setValue(competeCoach.getName()); + hanghou.add(nameCach); + PoiUtil.PoiUtilCell sexCach=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + sexCach.setValue(competeCoach.getGender().equals((byte) 0)?"女":"男"); + hanghou.add(sexCach); + PoiUtil.PoiUtilCell phoCach=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + phoCach.setValue(String.valueOf(competeCoach.getPhone())); + hanghou.add(phoCach); + PoiUtil.PoiUtilCell idCardNumCach=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + idCardNumCach.setValue(String.valueOf(competeCoach.getIdPhoto())); + hanghou.add(idCardNumCach); + PoiUtil.PoiUtilCell beizhuCach=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1, null, null); + beizhuCach.setValue("无"); + hanghou.add(beizhuCach); + biao.add(hanghou); + } + } + } + Workbook workbook = new XSSFWorkbook(); + PoiUtil.exportWB("参赛队伍信息表",biao,workbook); + //String name = "跳绳比赛报名人数统计表" + ".xlsx"; + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; + + String path1="C:/d/"+filepath;//本地的路径 + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + File file = new File(path); + try { + OutputStream outputStream = new FileOutputStream(file); + workbook.write(outputStream); + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return PropUtil.domain + "file/download/know?path="+path; + } + + + @Override + public String iTeamListService(QueryDto params) { + //查出所有的单位的id + List competeCompanyList= competeCompanyDao.selectByCompeteTimeId(params.getParam().getCompeteTimeId()); + List> biao = new ArrayList<>(); + List biaoti=new ArrayList<>(); + PoiUtil.PoiUtilCell biaotouName=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 2, 1, null, null); + biaotouName.setValue("代表队名单"); + biaoti.add(biaotouName); + biao.add(biaoti); + for (CompeteCompany com:competeCompanyList) { + //查出教练和领队的list + List jLandLD=competeCompanyDao.selectByCompanyId(com.getId()); + CompetePlayerExample competePlayerExample=new CompetePlayerExample(); + competePlayerExample.createCriteria().andCompanyIdEqualTo(com.getId()); + //运动员list + List competePlayerList = competePlayerMapper.selectByExample(competePlayerExample); + + List daibiaodui=new ArrayList<>(); + PoiUtil.PoiUtilCell daibiaoduiName=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 2, 1, null, null); + daibiaoduiName.setValue(com.getName()); + daibiaodui.add(daibiaoduiName); + biao.add(daibiaodui); + //领队和教练 + List lingduiList=new ArrayList<>(); + PoiUtil.PoiUtilCell lingdui=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1); + lingdui.setValue("领 队:"); + lingduiList.add(lingdui); + biao.add(lingduiList); + StringBuffer lingduiName=new StringBuffer(""); + StringBuffer jiaolianName=new StringBuffer(""); + jLandLD.forEach(jLD->{ + if (jLD.getIdentity().equals((byte) 0)) { + lingduiName.append(jLD.getName()+'、'); + } else { + jiaolianName.append(jLD.getName()+'、'); + } + }); + if(lingduiName.length()>0){ + lingduiName.deleteCharAt(lingduiName.length() - 1) ; + } + if(jiaolianName.length()>0){ + jiaolianName.deleteCharAt(jiaolianName.length() - 1) ; + } + PoiUtil.PoiUtilCell lingduiNameHang=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1); + lingduiNameHang.setValue(String.valueOf(lingduiName)); + lingduiList.add(lingduiNameHang); + + biao.add(lingduiList); + List jiaolianList=new ArrayList<>(); + PoiUtil.PoiUtilCell jiaoling=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1); + jiaoling.setValue("教 练:"); + jiaolianList.add(jiaoling); + PoiUtil.PoiUtilCell jiaolianHang= new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1); + jiaolianHang.setValue(String.valueOf(jiaolianName)); + jiaolianList.add(jiaolianHang); + biao.add(jiaolianList); + + //再放运动员 + StringBuffer yDYLN=new StringBuffer(""); + competePlayerList.forEach(cpL->{ + yDYLN.append(cpL.getName()); + yDYLN.append("("); + yDYLN.append(cpL.getGender().equals((byte) 0)?"女":"男"); + yDYLN.append(")、"); + }); + if (yDYLN.length()>0){ + yDYLN.deleteCharAt(yDYLN.length()-1); + } + + List yundongyuanList=new ArrayList<>(); + PoiUtil.PoiUtilCell yuandongyuan=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1); + yuandongyuan.setValue("运动员"); + yundongyuanList.add(yuandongyuan); + PoiUtil.PoiUtilCell yuandongyuanName=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1); + yuandongyuanName.setValue(String.valueOf(yDYLN)); + yundongyuanList.add(yuandongyuanName); + biao.add(yundongyuanList); + biao.add(yundongyuanList); + List entryList=new ArrayList<>(); + PoiUtil.PoiUtilCell enter= new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 2, 1); + entryList.add(enter); + biao.add(entryList); + } + biao.remove(biaoti.size()-1); + Workbook workbook = new XSSFWorkbook(); + PoiUtil.exportWB("代表队名单",biao,workbook); + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; + String path1="C:/d/"+filepath;//本地的路径 + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + File file = new File(path); + try { + OutputStream outputStream = new FileOutputStream(file); + workbook.write(outputStream); + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return PropUtil.domain + "file/download/know?path="+path; + } +} diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java new file mode 100644 index 00000000..60401c86 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -0,0 +1,20 @@ +package com.ccsens.mt.service; + +import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.util.bean.dto.QueryDto; + +public interface IExcelService { + /** + * 导出大赛队伍信息表 + * @param params + * @return + */ + String dasaiduiwuxinxiWPS(QueryDto params); + + /** + *导出代表队名单 + * @param params + * @return + */ + String iTeamListService(QueryDto params); +} diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 0cab33f8..93285868 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -41,7 +41,6 @@ and cc.rec_status = 0 limit 1 - - + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index b5918284..831eebbb 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -189,4 +189,5 @@ id = #{playerId} and rec_status = 0 + \ No newline at end of file From 5174fb638f67d82ffb29991123ade7edc76b748c Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Sat, 7 Nov 2020 19:53:40 +0800 Subject: [PATCH 65/72] =?UTF-8?q?20201107=E6=B7=BB=E5=8A=A0=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E6=80=A7=E5=88=AB=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/DebugController.java | 13 ++-- .../com/ccsens/mt/api/ExcelController.java | 2 + .../com/ccsens/mt/bean/po/CompeteTeam.java | 11 ++++ .../ccsens/mt/bean/po/CompeteTeamExample.java | 60 +++++++++++++++++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 7 +++ .../mt/persist/dao/CompetePlayerDao.java | 7 +++ .../com/ccsens/mt/service/ExcelService.java | 22 +++---- .../ccsens/mt/service/ProvinceService.java | 37 +++++++----- .../java/com/ccsens/mt/util/Constant.java | 51 ++++++++++++++++ .../resources/mapper_dao/CompetePlayerDao.xml | 16 +++++ .../resources/mapper_dao/CompeteTimeDao.xml | 2 +- .../mapper_raw/CompeteTeamMapper.xml | 25 ++++++-- 12 files changed, 214 insertions(+), 39 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/DebugController.java b/mt/src/main/java/com/ccsens/mt/api/DebugController.java index eb2fca5f..05b970a4 100644 --- a/mt/src/main/java/com/ccsens/mt/api/DebugController.java +++ b/mt/src/main/java/com/ccsens/mt/api/DebugController.java @@ -1,7 +1,10 @@ package com.ccsens.mt.api; import com.ccsens.mt.bean.dto.LevelDto; +import com.ccsens.mt.bean.po.CompetePlayer; import com.ccsens.mt.bean.po.LevelUser; +import com.ccsens.mt.bean.vo.ProvinceCompeteVo; +import com.ccsens.mt.persist.dao.CompetePlayerDao; import com.ccsens.mt.service.ILevelUpService; import com.ccsens.util.JsonResponse; import com.ccsens.util.RedisUtil; @@ -29,6 +32,8 @@ public class DebugController { private RedisUtil redisUtil; @Resource private ILevelUpService levelUpService; + @Resource + private CompetePlayerDao competePlayerDao; @ApiOperation(value = "/测试",notes = "") @ApiImplicitParams({ @@ -66,10 +71,10 @@ public class DebugController { @ApiOperation(value = "/测试",notes = "") @ApiImplicitParams({ }) - @RequestMapping(value="file",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) - public JsonResponse debug(HttpServletRequest request, @RequestParam() Part files) throws Exception { - System.out.println(files.getSize()); - return JsonResponse.newInstance().ok("测试"); + @RequestMapping(value="/file",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) + public JsonResponse debug() throws Exception { + + return JsonResponse.newInstance().ok(); } } diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index 2a82986e..77106588 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -40,4 +40,6 @@ public class ExcelController { String path = excelService.competeJoin(params); return JsonResponse.newInstance().ok(path); } + + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java index d88d0524..fa2c36fe 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeam.java @@ -30,6 +30,8 @@ public class CompeteTeam implements Serializable { private Long companyId; + private Byte groupRemark; + private static final long serialVersionUID = 1L; public Long getId() { @@ -136,6 +138,14 @@ public class CompeteTeam implements Serializable { this.companyId = companyId; } + public Byte getGroupRemark() { + return groupRemark; + } + + public void setGroupRemark(Byte groupRemark) { + this.groupRemark = groupRemark; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -155,6 +165,7 @@ public class CompeteTeam implements Serializable { sb.append(", competeGroupId=").append(competeGroupId); sb.append(", success=").append(success); sb.append(", companyId=").append(companyId); + sb.append(", groupRemark=").append(groupRemark); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java index f447e9ef..a65a1587 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteTeamExample.java @@ -894,6 +894,66 @@ public class CompeteTeamExample { addCriterion("company_id not between", value1, value2, "companyId"); return (Criteria) this; } + + public Criteria andGroupRemarkIsNull() { + addCriterion("group_remark is null"); + return (Criteria) this; + } + + public Criteria andGroupRemarkIsNotNull() { + addCriterion("group_remark is not null"); + return (Criteria) this; + } + + public Criteria andGroupRemarkEqualTo(Byte value) { + addCriterion("group_remark =", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotEqualTo(Byte value) { + addCriterion("group_remark <>", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkGreaterThan(Byte value) { + addCriterion("group_remark >", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkGreaterThanOrEqualTo(Byte value) { + addCriterion("group_remark >=", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkLessThan(Byte value) { + addCriterion("group_remark <", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkLessThanOrEqualTo(Byte value) { + addCriterion("group_remark <=", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkIn(List values) { + addCriterion("group_remark in", values, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotIn(List values) { + addCriterion("group_remark not in", values, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkBetween(Byte value1, Byte value2) { + addCriterion("group_remark between", value1, value2, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotBetween(Byte value1, Byte value2) { + addCriterion("group_remark not between", value1, value2, "groupRemark"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 62be8623..19cce2d8 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -212,4 +212,11 @@ public class ProvinceCompeteVo { @ApiModelProperty("教练证(浏览路径)") private String coachCertificate; } + + + @Data + public static class TeamGroupRemark{ + private int sexGroup; + private String groupRemark = "123"; + } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java index 11e4b350..0441abb4 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java @@ -60,4 +60,11 @@ public interface CompetePlayerDao extends CompetePlayerMapper { * @return 返回详细信息 */ ProvinceCompeteVo.PlayerInfo getPlayerByPlayerId(@Param("playerId")Long playerId); + + /** + * 查找团队的性别组和组别信息备注 + * @param teamId 团队id + * @return 返回性别组和备注 + */ + ProvinceCompeteVo.TeamGroupRemark getTeamGroupRemark(@Param("teamId")Long teamId); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index f1205e4d..e53d0bea 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -16,8 +16,12 @@ import com.ccsens.util.PoiUtil; import com.ccsens.util.PropUtil; import com.ccsens.util.RedisUtil; import com.ccsens.util.bean.dto.QueryDto; +import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; @@ -26,17 +30,15 @@ import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; - +@Slf4j +@Service +@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public class ExcelService implements IExcelService { @Resource private CompeteTimeDao competeTimeDao; @Resource - private RedisUtil redisUtil; - @Resource private CompeteCompanyMapper competeCompanyMapper; @Resource - private Snowflake snowflake; - @Resource private CompeteTeamDao competeTeamDao; @Resource private CompetePlayerDao competePlayerDao; @@ -49,16 +51,6 @@ public class ExcelService implements IExcelService { @Resource private CompeteGroupMapper competeGroupMapper; @Resource - private ILevelUpService levelUpService; - @Resource - private CompetePlayerFamilyMapper competePlayerFamilyMapper; - @Resource - private CompeteProjectGroupMapper competeProjectGroupMapper; - @Resource - private CompeteEnrollDao competeEnrollDao; - @Resource - private TallFeignClient tallFeignClient; - @Resource private CommonFileMapper commonFileMapper; diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 38f59804..439f1518 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -517,19 +517,8 @@ public class ProvinceService implements IProvinceService { CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); if(ObjectUtil.isNull(competeProject)){ throw new BaseException(CodeEnum.PARAM_ERROR); } -// //检查参赛人数是否符合 -// int joinCount = 0; -// for(ProvinceCompeteDto.JoinProjectPlayer joinProject : param.getPlayers()){ -// if(joinProject.getJoinProject() == 1){ -// joinCount++; -// } -// } -//// if(joinCount > competeProject.getMemberMax() ){ -//// throw new BaseException(CodeEnum.TEAM_MEMBER_ERROR); -//// } //判断项目是个人还是团队,参加 if(competeProject.getTeam() == 0){ -// param.getPlayers().forEach(joinPlayer -> { for(ProvinceCompeteDto.JoinProjectPlayer joinPlayer : param.getPlayers()){ //检查此用户之前是否参加此项目 CompeteProjectPlayerExample example = new CompeteProjectPlayerExample(); @@ -570,7 +559,6 @@ public class ProvinceService implements IProvinceService { projectPlayer.setGenderGroup(player.getGender()); projectPlayerMapper.insertSelective(projectPlayer); } -// }); } }else { //查找当前公司是否已经报名此项目 @@ -638,10 +626,31 @@ public class ProvinceService implements IProvinceService { teamMember.setCompeteTeamId(competeTeam.getId()); teamMember.setPlayerId(player.getId()); teamMemberMapper.insertSelective(teamMember); - } } - + //查询团队内的成员,如果没有则删除团队 + CompeteTeamMemberExample memberExample = new CompeteTeamMemberExample(); + memberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); + if(teamMemberMapper.countByExample(memberExample) == 0){ + competeTeam.setRecStatus((byte) 2); + competeTeamDao.updateByPrimaryKeySelective(competeTeam); + }else { + //修改团队的性别组和组别备注信息 + ProvinceCompeteVo.TeamGroupRemark teamGroupRemark = competePlayerDao.getTeamGroupRemark(competeTeam.getId()); + if (StrUtil.isNotEmpty(teamGroupRemark.getGroupRemark())) { + competeTeam.setGenderGroup((byte) teamGroupRemark.getSexGroup()); + if (ObjectUtil.isNull(competeTeam.getGroupRemark()) || competeTeam.getGroupRemark() == 0) { + String groupRemark = teamGroupRemark.getGroupRemark().substring(0, teamGroupRemark.getGroupRemark().length() - 3); + Constant.COMPETE_TEAM_GROUP_REMARK remark = Constant.COMPETE_TEAM_GROUP_REMARK.phaseOf(groupRemark); + if (ObjectUtil.isNotNull(remark)) { + competeTeam.setGroupRemark((byte) remark.value); + } else { + competeTeam.setGroupRemark((byte) 0); + } + } + competeTeamDao.updateByPrimaryKeySelective(competeTeam); + } + } } } diff --git a/mt/src/main/java/com/ccsens/mt/util/Constant.java b/mt/src/main/java/com/ccsens/mt/util/Constant.java index 394481f1..5f3052c7 100644 --- a/mt/src/main/java/com/ccsens/mt/util/Constant.java +++ b/mt/src/main/java/com/ccsens/mt/util/Constant.java @@ -1,5 +1,7 @@ package com.ccsens.mt.util; +import com.ccsens.util.WebConstant; + /** * @description: * @author: whj @@ -63,4 +65,53 @@ public class Constant { //团体赛按名次 public final static byte RULE_TEAM_RANK = 5; } + + + public enum COMPETE_TEAM_GROUP_REMARK{ + primary_school(1,"小学") + ,middle_school(2,"中学") + ,high_school(3,"高职院校") + ,university(4,"本科院校") + ,club(5,"俱乐部"); + public int value; + public String phase; + COMPETE_TEAM_GROUP_REMARK(int value,String thePhase){ + this.value = value; + this.phase = thePhase; + } + /** + * 手写的从int到enum的转换函数 + */ + public static Constant.COMPETE_TEAM_GROUP_REMARK valueOf(int value) { + switch (value) { + case 1: return primary_school; + case 2: return middle_school; + case 3: return high_school; + case 4: return university; + case 5: return club; + default: return null; + } + } + /** + * 手写的从String到enum的转换函数 + */ + public static Constant.COMPETE_TEAM_GROUP_REMARK phaseOf(String phase) { + if(phase.equalsIgnoreCase(primary_school.phase)) { + return primary_school; + } + if(phase.equalsIgnoreCase(middle_school.phase)) { + return middle_school; + } + if(phase.equalsIgnoreCase(high_school.phase)) { + return high_school; + } + if(phase.equalsIgnoreCase(university.phase)) { + return university; + } + if(phase.equalsIgnoreCase(club.phase)) { + return club; + } + return null; + } + } } diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index b5918284..60e2cc41 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -189,4 +189,20 @@ id = #{playerId} and rec_status = 0 + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml index 53ed4b2e..3bbe88b0 100644 --- a/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteTimeDao.xml @@ -41,7 +41,7 @@ select @@ -113,12 +114,12 @@ compete_time_id, gender_group, certificate, qr_code, created_at, updated_at, rec_status, compete_group_id, success, - company_id) + company_id, group_remark) values (#{id,jdbcType=BIGINT}, #{creator,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{competeTimeId,jdbcType=BIGINT}, #{genderGroup,jdbcType=TINYINT}, #{certificate,jdbcType=TINYINT}, #{qrCode,jdbcType=VARCHAR}, #{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{competeGroupId,jdbcType=BIGINT}, #{success,jdbcType=TINYINT}, - #{companyId,jdbcType=BIGINT}) + #{companyId,jdbcType=BIGINT}, #{groupRemark,jdbcType=TINYINT}) insert into t_compete_team @@ -162,6 +163,9 @@ company_id, + + group_remark, + @@ -203,6 +207,9 @@ #{companyId,jdbcType=BIGINT}, + + #{groupRemark,jdbcType=TINYINT}, + SELECT p.id AS playerId, @@ -205,4 +212,54 @@ and m.rec_status = 0 and g.rec_status = 0 + + + \ No newline at end of file From 7d2c775a07565c87deffbb506673cdee0a05de65 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Mon, 9 Nov 2020 16:43:52 +0800 Subject: [PATCH 67/72] 1 --- .../com/ccsens/mt/service/ExcelService.java | 93 ++++++++++++++++++- 1 file changed, 92 insertions(+), 1 deletion(-) diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index 552d94d3..cd533013 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -391,7 +391,9 @@ public class ExcelService implements IExcelService { @Override public String competeAllCount(CompeteDto.CompeteTime params) throws IOException { - return null; + List competeAllCountList = competeAllCountList(params); + String path = getExcelFilePathForCompeteAllCount(competeAllCountList); + return path; } // private List competeAllCountList(CompeteDto.CompeteTime params){ @@ -432,6 +434,95 @@ public class ExcelService implements IExcelService { return competePlayerDao.getTeamJoinNumByType(params.getCompeteTimeId()); } + + + private String getExcelFilePathForCompeteAllCount(List arrayList) throws IOException { + //创建excle表格对象 + List> list = new ArrayList<>(); + //创建行对象 + List title = new ArrayList<>(); + //给首行单元格赋值 + title.add(new PoiUtil.PoiUtilCell("序号")); + title.add(new PoiUtil.PoiUtilCell("参赛项目")); + title.add(new PoiUtil.PoiUtilCell("小学男子组")); + title.add(new PoiUtil.PoiUtilCell("小学女子组")); + title.add(new PoiUtil.PoiUtilCell("小学混合组")); + title.add(new PoiUtil.PoiUtilCell("中学男子组")); + title.add(new PoiUtil.PoiUtilCell("中学女子组")); + title.add(new PoiUtil.PoiUtilCell("中学混合组")); + title.add(new PoiUtil.PoiUtilCell("高职院校男子组")); + title.add(new PoiUtil.PoiUtilCell("高职院校女子组")); + title.add(new PoiUtil.PoiUtilCell("高职院校混合组")); + title.add(new PoiUtil.PoiUtilCell("本科院校男子组")); + title.add(new PoiUtil.PoiUtilCell("本科院校女子组")); + title.add(new PoiUtil.PoiUtilCell("本科院校混合组")); + title.add(new PoiUtil.PoiUtilCell("俱乐部男子组(14岁及以下)")); + title.add(new PoiUtil.PoiUtilCell("俱乐部女子组(14岁及以下)")); + title.add(new PoiUtil.PoiUtilCell("俱乐部混合组(14岁及以下)")); + title.add(new PoiUtil.PoiUtilCell("合计")); + list.add(title); + //创建整个excel表格对象 + Workbook workbook = new XSSFWorkbook(); + int i = 1; + for (TableVo.CompeteAllCount competeAllCount : arrayList) { + //行对象 + List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18)); + //单元格对象 + PoiUtil.PoiUtilCell poiUtilCel15 = new PoiUtil.PoiUtilCell(competeAllCount.getProjectName()); + cells.add(poiUtilCel15); + PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(0))); + cells.add(poiUtilCel); + PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(1))); + cells.add(poiUtilCell); + PoiUtil.PoiUtilCell poiUtilCel2 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(2))); + cells.add(poiUtilCel2); + PoiUtil.PoiUtilCell poiUtilCel3 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(3))); + cells.add(poiUtilCel3); + PoiUtil.PoiUtilCell poiUtilCel4 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(4))); + cells.add(poiUtilCel4); + PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(5))); + cells.add(poiUtilCel5); + PoiUtil.PoiUtilCell poiUtilCel6 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(6))); + cells.add(poiUtilCel6); + PoiUtil.PoiUtilCell poiUtilCel7 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(7))); + cells.add(poiUtilCel7); + PoiUtil.PoiUtilCell poiUtilCel8 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(8))); + cells.add(poiUtilCel8); + PoiUtil.PoiUtilCell poiUtilCel9 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(9))); + cells.add(poiUtilCel9); + PoiUtil.PoiUtilCell poiUtilCel10 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(10))); + cells.add(poiUtilCel10); + PoiUtil.PoiUtilCell poiUtilCel11 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(11))); + cells.add(poiUtilCel11); + PoiUtil.PoiUtilCell poiUtilCel12 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(12))); + cells.add(poiUtilCel12); + PoiUtil.PoiUtilCell poiUtilCel13 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(13))); + cells.add(poiUtilCel13); + PoiUtil.PoiUtilCell poiUtilCel14 = new PoiUtil.PoiUtilCell(String.valueOf(competeAllCount.getNums().get(14))); + cells.add(poiUtilCel14); + list.add(cells); + i++; + } + //生成excel表格对象,并将数据放入 + Workbook wbs = PoiUtil.exportWB("XXX比赛报名汇总表", list, workbook); + //8:关联金山在线文档 + String name = "参赛人数统计表" + ".xlsx"; + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; +// String path = filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + //PropUtil.path获取配置文件中的path属性,拼接生成写入信息的文件名, + File file = new File(path); + OutputStream stream = new FileOutputStream(file); + wbs.write(stream); + stream.close(); + return path; + } + } From 0ab3479ef0002da7a91cb40a9526a414949dd070 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Mon, 9 Nov 2020 16:54:10 +0800 Subject: [PATCH 68/72] 1 --- .../mt/bean/po/CompeteProjectConfig.java | 117 +++ .../bean/po/CompeteProjectConfigExample.java | 741 ++++++++++++++++++ .../persist/mapper/CompeteCompanyMapper.java | 1 - .../mapper/CompeteProjectConfigMapper.java | 30 + .../mapper_raw/CompeteProjectConfigMapper.xml | 276 +++++++ 5 files changed, 1164 insertions(+), 1 deletion(-) create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectConfig.java create mode 100644 mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectConfigExample.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectConfigMapper.java create mode 100644 mt/src/main/resources/mapper_raw/CompeteProjectConfigMapper.xml diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectConfig.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectConfig.java new file mode 100644 index 00000000..91e3bfe0 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectConfig.java @@ -0,0 +1,117 @@ +package com.ccsens.mt.bean.po; + +import java.io.Serializable; +import java.util.Date; + +public class CompeteProjectConfig implements Serializable { + private Long id; + + private Long projectId; + + private Integer siteNum; + + private Long startTime; + + private Long endTime; + + private Date createdAt; + + private Date updatedAt; + + private Byte recStatus; + + private Long projectDuration; + + private static final long serialVersionUID = 1L; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public Integer getSiteNum() { + return siteNum; + } + + public void setSiteNum(Integer siteNum) { + this.siteNum = siteNum; + } + + public Long getStartTime() { + return startTime; + } + + public void setStartTime(Long startTime) { + this.startTime = startTime; + } + + public Long getEndTime() { + return endTime; + } + + public void setEndTime(Long endTime) { + this.endTime = endTime; + } + + public Date getCreatedAt() { + return createdAt; + } + + public void setCreatedAt(Date createdAt) { + this.createdAt = createdAt; + } + + public Date getUpdatedAt() { + return updatedAt; + } + + public void setUpdatedAt(Date updatedAt) { + this.updatedAt = updatedAt; + } + + public Byte getRecStatus() { + return recStatus; + } + + public void setRecStatus(Byte recStatus) { + this.recStatus = recStatus; + } + + public Long getProjectDuration() { + return projectDuration; + } + + public void setProjectDuration(Long projectDuration) { + this.projectDuration = projectDuration; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", id=").append(id); + sb.append(", projectId=").append(projectId); + sb.append(", siteNum=").append(siteNum); + sb.append(", startTime=").append(startTime); + sb.append(", endTime=").append(endTime); + sb.append(", createdAt=").append(createdAt); + sb.append(", updatedAt=").append(updatedAt); + sb.append(", recStatus=").append(recStatus); + sb.append(", projectDuration=").append(projectDuration); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectConfigExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectConfigExample.java new file mode 100644 index 00000000..590e4e41 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteProjectConfigExample.java @@ -0,0 +1,741 @@ +package com.ccsens.mt.bean.po; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class CompeteProjectConfigExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public CompeteProjectConfigExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Long value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Long value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Long value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Long value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Long value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Long value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Long value1, Long value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Long value1, Long value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNull() { + addCriterion("project_id is null"); + return (Criteria) this; + } + + public Criteria andProjectIdIsNotNull() { + addCriterion("project_id is not null"); + return (Criteria) this; + } + + public Criteria andProjectIdEqualTo(Long value) { + addCriterion("project_id =", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotEqualTo(Long value) { + addCriterion("project_id <>", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThan(Long value) { + addCriterion("project_id >", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdGreaterThanOrEqualTo(Long value) { + addCriterion("project_id >=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThan(Long value) { + addCriterion("project_id <", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdLessThanOrEqualTo(Long value) { + addCriterion("project_id <=", value, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdIn(List values) { + addCriterion("project_id in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotIn(List values) { + addCriterion("project_id not in", values, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdBetween(Long value1, Long value2) { + addCriterion("project_id between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andProjectIdNotBetween(Long value1, Long value2) { + addCriterion("project_id not between", value1, value2, "projectId"); + return (Criteria) this; + } + + public Criteria andSiteNumIsNull() { + addCriterion("site_num is null"); + return (Criteria) this; + } + + public Criteria andSiteNumIsNotNull() { + addCriterion("site_num is not null"); + return (Criteria) this; + } + + public Criteria andSiteNumEqualTo(Integer value) { + addCriterion("site_num =", value, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumNotEqualTo(Integer value) { + addCriterion("site_num <>", value, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumGreaterThan(Integer value) { + addCriterion("site_num >", value, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumGreaterThanOrEqualTo(Integer value) { + addCriterion("site_num >=", value, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumLessThan(Integer value) { + addCriterion("site_num <", value, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumLessThanOrEqualTo(Integer value) { + addCriterion("site_num <=", value, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumIn(List values) { + addCriterion("site_num in", values, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumNotIn(List values) { + addCriterion("site_num not in", values, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumBetween(Integer value1, Integer value2) { + addCriterion("site_num between", value1, value2, "siteNum"); + return (Criteria) this; + } + + public Criteria andSiteNumNotBetween(Integer value1, Integer value2) { + addCriterion("site_num not between", value1, value2, "siteNum"); + return (Criteria) this; + } + + public Criteria andStartTimeIsNull() { + addCriterion("start_time is null"); + return (Criteria) this; + } + + public Criteria andStartTimeIsNotNull() { + addCriterion("start_time is not null"); + return (Criteria) this; + } + + public Criteria andStartTimeEqualTo(Long value) { + addCriterion("start_time =", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotEqualTo(Long value) { + addCriterion("start_time <>", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeGreaterThan(Long value) { + addCriterion("start_time >", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeGreaterThanOrEqualTo(Long value) { + addCriterion("start_time >=", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeLessThan(Long value) { + addCriterion("start_time <", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeLessThanOrEqualTo(Long value) { + addCriterion("start_time <=", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeIn(List values) { + addCriterion("start_time in", values, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotIn(List values) { + addCriterion("start_time not in", values, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeBetween(Long value1, Long value2) { + addCriterion("start_time between", value1, value2, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotBetween(Long value1, Long value2) { + addCriterion("start_time not between", value1, value2, "startTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNull() { + addCriterion("end_time is null"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNotNull() { + addCriterion("end_time is not null"); + return (Criteria) this; + } + + public Criteria andEndTimeEqualTo(Long value) { + addCriterion("end_time =", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotEqualTo(Long value) { + addCriterion("end_time <>", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThan(Long value) { + addCriterion("end_time >", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThanOrEqualTo(Long value) { + addCriterion("end_time >=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThan(Long value) { + addCriterion("end_time <", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThanOrEqualTo(Long value) { + addCriterion("end_time <=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIn(List values) { + addCriterion("end_time in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotIn(List values) { + addCriterion("end_time not in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeBetween(Long value1, Long value2) { + addCriterion("end_time between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotBetween(Long value1, Long value2) { + addCriterion("end_time not between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNull() { + addCriterion("created_at is null"); + return (Criteria) this; + } + + public Criteria andCreatedAtIsNotNull() { + addCriterion("created_at is not null"); + return (Criteria) this; + } + + public Criteria andCreatedAtEqualTo(Date value) { + addCriterion("created_at =", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotEqualTo(Date value) { + addCriterion("created_at <>", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThan(Date value) { + addCriterion("created_at >", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("created_at >=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThan(Date value) { + addCriterion("created_at <", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtLessThanOrEqualTo(Date value) { + addCriterion("created_at <=", value, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtIn(List values) { + addCriterion("created_at in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotIn(List values) { + addCriterion("created_at not in", values, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtBetween(Date value1, Date value2) { + addCriterion("created_at between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andCreatedAtNotBetween(Date value1, Date value2) { + addCriterion("created_at not between", value1, value2, "createdAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNull() { + addCriterion("updated_at is null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIsNotNull() { + addCriterion("updated_at is not null"); + return (Criteria) this; + } + + public Criteria andUpdatedAtEqualTo(Date value) { + addCriterion("updated_at =", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotEqualTo(Date value) { + addCriterion("updated_at <>", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThan(Date value) { + addCriterion("updated_at >", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) { + addCriterion("updated_at >=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThan(Date value) { + addCriterion("updated_at <", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtLessThanOrEqualTo(Date value) { + addCriterion("updated_at <=", value, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtIn(List values) { + addCriterion("updated_at in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotIn(List values) { + addCriterion("updated_at not in", values, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtBetween(Date value1, Date value2) { + addCriterion("updated_at between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andUpdatedAtNotBetween(Date value1, Date value2) { + addCriterion("updated_at not between", value1, value2, "updatedAt"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNull() { + addCriterion("rec_status is null"); + return (Criteria) this; + } + + public Criteria andRecStatusIsNotNull() { + addCriterion("rec_status is not null"); + return (Criteria) this; + } + + public Criteria andRecStatusEqualTo(Byte value) { + addCriterion("rec_status =", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotEqualTo(Byte value) { + addCriterion("rec_status <>", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThan(Byte value) { + addCriterion("rec_status >", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) { + addCriterion("rec_status >=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThan(Byte value) { + addCriterion("rec_status <", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusLessThanOrEqualTo(Byte value) { + addCriterion("rec_status <=", value, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusIn(List values) { + addCriterion("rec_status in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotIn(List values) { + addCriterion("rec_status not in", values, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusBetween(Byte value1, Byte value2) { + addCriterion("rec_status between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andRecStatusNotBetween(Byte value1, Byte value2) { + addCriterion("rec_status not between", value1, value2, "recStatus"); + return (Criteria) this; + } + + public Criteria andProjectDurationIsNull() { + addCriterion("project_duration is null"); + return (Criteria) this; + } + + public Criteria andProjectDurationIsNotNull() { + addCriterion("project_duration is not null"); + return (Criteria) this; + } + + public Criteria andProjectDurationEqualTo(Long value) { + addCriterion("project_duration =", value, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationNotEqualTo(Long value) { + addCriterion("project_duration <>", value, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationGreaterThan(Long value) { + addCriterion("project_duration >", value, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationGreaterThanOrEqualTo(Long value) { + addCriterion("project_duration >=", value, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationLessThan(Long value) { + addCriterion("project_duration <", value, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationLessThanOrEqualTo(Long value) { + addCriterion("project_duration <=", value, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationIn(List values) { + addCriterion("project_duration in", values, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationNotIn(List values) { + addCriterion("project_duration not in", values, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationBetween(Long value1, Long value2) { + addCriterion("project_duration between", value1, value2, "projectDuration"); + return (Criteria) this; + } + + public Criteria andProjectDurationNotBetween(Long value1, Long value2) { + addCriterion("project_duration not between", value1, value2, "projectDuration"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyMapper.java index 485d5402..08e677eb 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyMapper.java +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteCompanyMapper.java @@ -27,5 +27,4 @@ public interface CompeteCompanyMapper { int updateByPrimaryKeySelective(CompeteCompany record); int updateByPrimaryKey(CompeteCompany record); - } \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectConfigMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectConfigMapper.java new file mode 100644 index 00000000..bbbbcb9d --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectConfigMapper.java @@ -0,0 +1,30 @@ +package com.ccsens.mt.persist.mapper; + +import com.ccsens.mt.bean.po.CompeteProjectConfig; +import com.ccsens.mt.bean.po.CompeteProjectConfigExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface CompeteProjectConfigMapper { + long countByExample(CompeteProjectConfigExample example); + + int deleteByExample(CompeteProjectConfigExample example); + + int deleteByPrimaryKey(Long id); + + int insert(CompeteProjectConfig record); + + int insertSelective(CompeteProjectConfig record); + + List selectByExample(CompeteProjectConfigExample example); + + CompeteProjectConfig selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") CompeteProjectConfig record, @Param("example") CompeteProjectConfigExample example); + + int updateByExample(@Param("record") CompeteProjectConfig record, @Param("example") CompeteProjectConfigExample example); + + int updateByPrimaryKeySelective(CompeteProjectConfig record); + + int updateByPrimaryKey(CompeteProjectConfig record); +} \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteProjectConfigMapper.xml b/mt/src/main/resources/mapper_raw/CompeteProjectConfigMapper.xml new file mode 100644 index 00000000..83c3bf11 --- /dev/null +++ b/mt/src/main/resources/mapper_raw/CompeteProjectConfigMapper.xml @@ -0,0 +1,276 @@ + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, project_id, site_num, start_time, end_time, created_at, updated_at, rec_status, + project_duration + + + + + delete from t_compete_project_config + where id = #{id,jdbcType=BIGINT} + + + delete from t_compete_project_config + + + + + + insert into t_compete_project_config (id, project_id, site_num, + start_time, end_time, created_at, + updated_at, rec_status, project_duration + ) + values (#{id,jdbcType=BIGINT}, #{projectId,jdbcType=BIGINT}, #{siteNum,jdbcType=INTEGER}, + #{startTime,jdbcType=BIGINT}, #{endTime,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP}, + #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}, #{projectDuration,jdbcType=BIGINT} + ) + + + insert into t_compete_project_config + + + id, + + + project_id, + + + site_num, + + + start_time, + + + end_time, + + + created_at, + + + updated_at, + + + rec_status, + + + project_duration, + + + + + #{id,jdbcType=BIGINT}, + + + #{projectId,jdbcType=BIGINT}, + + + #{siteNum,jdbcType=INTEGER}, + + + #{startTime,jdbcType=BIGINT}, + + + #{endTime,jdbcType=BIGINT}, + + + #{createdAt,jdbcType=TIMESTAMP}, + + + #{updatedAt,jdbcType=TIMESTAMP}, + + + #{recStatus,jdbcType=TINYINT}, + + + #{projectDuration,jdbcType=BIGINT}, + + + + + + update t_compete_project_config + + + id = #{record.id,jdbcType=BIGINT}, + + + project_id = #{record.projectId,jdbcType=BIGINT}, + + + site_num = #{record.siteNum,jdbcType=INTEGER}, + + + start_time = #{record.startTime,jdbcType=BIGINT}, + + + end_time = #{record.endTime,jdbcType=BIGINT}, + + + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{record.recStatus,jdbcType=TINYINT}, + + + project_duration = #{record.projectDuration,jdbcType=BIGINT}, + + + + + + + + update t_compete_project_config + set id = #{record.id,jdbcType=BIGINT}, + project_id = #{record.projectId,jdbcType=BIGINT}, + site_num = #{record.siteNum,jdbcType=INTEGER}, + start_time = #{record.startTime,jdbcType=BIGINT}, + end_time = #{record.endTime,jdbcType=BIGINT}, + created_at = #{record.createdAt,jdbcType=TIMESTAMP}, + updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{record.recStatus,jdbcType=TINYINT}, + project_duration = #{record.projectDuration,jdbcType=BIGINT} + + + + + + update t_compete_project_config + + + project_id = #{projectId,jdbcType=BIGINT}, + + + site_num = #{siteNum,jdbcType=INTEGER}, + + + start_time = #{startTime,jdbcType=BIGINT}, + + + end_time = #{endTime,jdbcType=BIGINT}, + + + created_at = #{createdAt,jdbcType=TIMESTAMP}, + + + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + + + rec_status = #{recStatus,jdbcType=TINYINT}, + + + project_duration = #{projectDuration,jdbcType=BIGINT}, + + + where id = #{id,jdbcType=BIGINT} + + + update t_compete_project_config + set project_id = #{projectId,jdbcType=BIGINT}, + site_num = #{siteNum,jdbcType=INTEGER}, + start_time = #{startTime,jdbcType=BIGINT}, + end_time = #{endTime,jdbcType=BIGINT}, + created_at = #{createdAt,jdbcType=TIMESTAMP}, + updated_at = #{updatedAt,jdbcType=TIMESTAMP}, + rec_status = #{recStatus,jdbcType=TINYINT}, + project_duration = #{projectDuration,jdbcType=BIGINT} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file From 7fdeabbf84c34d2618786d6def69badd52b873c4 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 09:17:48 +0800 Subject: [PATCH 69/72] =?UTF-8?q?20201110=E4=BF=AE=E6=94=B9=E6=8A=A5?= =?UTF-8?q?=E5=90=8D=E8=A7=84=E5=88=99=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ccsens/cloudutil/aspect/LogAspect.java | 10 +++ .../ccsens/mt/service/ProvinceService.java | 71 +++---------------- mt/src/main/resources/application.yml | 4 +- .../java/com/ccsens/tall/bean/po/SysLog.java | 11 +++ .../ccsens/tall/bean/po/SysLogExample.java | 60 ++++++++++++++++ .../tall/service/ProTaskDetailService.java | 16 ++--- .../resources/mapper_raw/SysLogMapper.xml | 30 ++++++-- 7 files changed, 122 insertions(+), 80 deletions(-) diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java index c88b21a2..5ea780e6 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/aspect/LogAspect.java @@ -1,6 +1,9 @@ package com.ccsens.cloudutil.aspect; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.ccsens.cloudutil.bean.tall.dto.LogDto; +import com.ccsens.cloudutil.bean.tall.vo.UserVo; import com.ccsens.cloudutil.feign.TallFeignClient; import com.ccsens.util.UploadFileUtil_Servlet3; import com.ccsens.util.WebConstant; @@ -74,6 +77,13 @@ public class LogAspect { throw throwable; } if (logDto != null) { + if("/users/signin".equals(logDto.getUrl()) && result != null){ + JSONObject json = JSONObject.parseObject(JSON.toJSONString(result)); + if(json.getIntValue("code") == 200 && json.get("data") != null){ + long userId = json.getJSONObject("data").getLongValue("id"); + logDto.setUserId(userId); + } + } String message = result == null ? null : result.toString().length() > 1000 ? result.toString().substring(0, 1000) : result.toString(); logDto.setResult(message); tallFeignClient.log(logDto); diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 439f1518..aa86061f 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -9,31 +9,24 @@ import cn.hutool.core.util.StrUtil; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; import com.ccsens.mt.bean.po.*; -import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.persist.dao.CompeteCompanyDao; import com.ccsens.mt.persist.dao.CompetePlayerDao; import com.ccsens.mt.persist.dao.CompeteTeamDao; import com.ccsens.mt.persist.dao.CompeteTimeDao; import com.ccsens.mt.persist.mapper.*; -import com.ccsens.mt.persist.mapper.CommonFileMapper; import com.ccsens.mt.persist.mapper.CompeteCoachMapper; import com.ccsens.mt.persist.mapper.CompetePlayerMapper; import com.ccsens.mt.util.Constant; import com.ccsens.util.CodeEnum; -import com.ccsens.util.PropUtil; -import com.ccsens.util.UploadFileUtil_Servlet3; import com.ccsens.util.WebConstant; import com.ccsens.util.exception.BaseException; import lombok.extern.slf4j.Slf4j; -import org.aspectj.apache.bcel.classfile.Code; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import javax.servlet.http.Part; -import java.io.File; import java.util.ArrayList; import java.util.List; @@ -51,8 +44,6 @@ public class ProvinceService implements IProvinceService { @Resource private CompeteTimeDao competeTimeDao; @Resource - private CommonFileMapper commonFileMapper; - @Resource private CompetePlayerDao competePlayerDao; @Resource private CompeteCoachMapper competeCoachMapper; @@ -226,27 +217,6 @@ public class ProvinceService implements IProvinceService { return competePlayerDao.queryPlayerByCompanyId(param.getCompanyId()); } - /** - * 将上传的图片信息保存,并在数据库添加记录 - */ - private Long uploadPhotoFile(Part file,Long userId) throws Exception { - log.info("上传文件:{}", file.getSubmittedFileName()); - String allowedExt = "jpg,jpeg,png"; - String dir = PropUtil.path; - String path = UploadFileUtil_Servlet3.uploadFile(file, allowedExt, dir); - log.info(dir+""+path); - - CommonFile fileDo = new CommonFile(); - String name = file.getSubmittedFileName(); - fileDo.setId(snowflake.nextId()); - fileDo.setFileName(name); - fileDo.setLocation(dir + File.separator + path); - fileDo.setUserId(userId); - fileDo.setVisitLocation(PropUtil.imgDomain + Constant.File.UPLOAD_URL + File.separator + path); - commonFileMapper.insertSelective(fileDo); - log.info("保存文件:{}", fileDo); - return fileDo.getId(); - } @Override @@ -385,29 +355,6 @@ public class ProvinceService implements IProvinceService { return competeCompanyHeadList; } -// @Override -// public void saveCoach(CompeteDto.AddCoach param) { -// CompeteCoach competeCoach = new CompeteCoach(); -// Long companyId = param.getCompanyId(); -// competeCoach.setCompanyId(companyId); -// Long cpachId = param.getCoachId(); -// competeCoach.setId(cpachId); -// int identity = param.getIdentity(); -// competeCoach.setIdentity((byte) identity); -// String name = param.getName(); -// competeCoach.setName(name); -// int gender = param.getGender(); -// competeCoach.setGender((byte) gender); -// String phone = param.getPhone(); -// competeCoach.setPhone(phone); -// String idCard = param.getIdCard(); -// competeCoach.setIdCard(idCard); -// Long idPhoto = param.getIdPhoto(); -// competeCoach.setIdPhoto(idPhoto); -// Long coachCertificate = param.getCoachCertificate(); -// competeCoach.setCoachCertificate(coachCertificate); -// competeCoachMapper.insertSelective(competeCoach); -// } @Override public void deleteCoach(CompeteDto.LeaderId param) { @@ -424,11 +371,6 @@ public class ProvinceService implements IProvinceService { }else { throw new BaseException(CodeEnum.PARAM_ERROR); } -// else { -// throw new BaseException(CodeEnum.PARAM_ERROR); -// } - - } @Override @@ -590,12 +532,11 @@ public class ProvinceService implements IProvinceService { CompeteTeamMemberExample example = new CompeteTeamMemberExample(); example.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); long memberNum = teamMemberMapper.countByExample(example); - - if(joinCount + memberNum > competeProject.getMemberMax() ){ - throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); - //TODO 参赛人数不满足比赛人数要求 + if(joinCount + memberNum > 0) { + if (joinCount + memberNum > competeProject.getMemberMax() || joinCount + memberNum < competeProject.getMemberMin()) { + throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); + } } - for (int i = 0; i < param.getPlayers().size(); i++) { ProvinceCompeteDto.JoinProjectPlayer joinProjectPlayer = param.getPlayers().get(i); CompetePlayer player = competePlayerDao.selectByPrimaryKey(joinProjectPlayer.getPlayerId()); @@ -635,6 +576,10 @@ public class ProvinceService implements IProvinceService { competeTeam.setRecStatus((byte) 2); competeTeamDao.updateByPrimaryKeySelective(competeTeam); }else { + //当前参赛人数不符提示错误信息 + if(teamMemberMapper.countByExample(memberExample) > competeProject.getMemberMax() || teamMemberMapper.countByExample(memberExample) < competeProject.getMemberMin()){ + throw new BaseException(CodeEnum.MEMBER_NUM_ERROR); + } //修改团队的性别组和组别备注信息 ProvinceCompeteVo.TeamGroupRemark teamGroupRemark = competePlayerDao.getTeamGroupRemark(competeTeam.getId()); if (StrUtil.isNotEmpty(teamGroupRemark.getGroupRemark())) { diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5c2cd5c4..5889ff7f 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: dev - include: common, util-dev \ No newline at end of file + active: test + include: common, util-test \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysLog.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysLog.java index 67f4f1c5..a0310ab6 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysLog.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysLog.java @@ -22,6 +22,8 @@ public class SysLog implements Serializable { private String facility; + private Long userId; + private static final long serialVersionUID = 1L; public Long getId() { @@ -96,6 +98,14 @@ public class SysLog implements Serializable { this.facility = facility == null ? null : facility.trim(); } + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -111,6 +121,7 @@ public class SysLog implements Serializable { sb.append(", updatedAt=").append(updatedAt); sb.append(", recStatus=").append(recStatus); sb.append(", facility=").append(facility); + sb.append(", userId=").append(userId); sb.append("]"); return sb.toString(); } diff --git a/tall/src/main/java/com/ccsens/tall/bean/po/SysLogExample.java b/tall/src/main/java/com/ccsens/tall/bean/po/SysLogExample.java index 36127a35..c327b42a 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/po/SysLogExample.java +++ b/tall/src/main/java/com/ccsens/tall/bean/po/SysLogExample.java @@ -694,6 +694,66 @@ public class SysLogExample { addCriterion("facility not between", value1, value2, "facility"); return (Criteria) this; } + + public Criteria andUserIdIsNull() { + addCriterion("user_id is null"); + return (Criteria) this; + } + + public Criteria andUserIdIsNotNull() { + addCriterion("user_id is not null"); + return (Criteria) this; + } + + public Criteria andUserIdEqualTo(Long value) { + addCriterion("user_id =", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotEqualTo(Long value) { + addCriterion("user_id <>", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThan(Long value) { + addCriterion("user_id >", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThanOrEqualTo(Long value) { + addCriterion("user_id >=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThan(Long value) { + addCriterion("user_id <", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThanOrEqualTo(Long value) { + addCriterion("user_id <=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdIn(List values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List values) { + addCriterion("user_id not in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdBetween(Long value1, Long value2) { + addCriterion("user_id between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotBetween(Long value1, Long value2) { + addCriterion("user_id not between", value1, value2, "userId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 3ce1fa2e..122977fd 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -275,14 +275,14 @@ public class ProTaskDetailService implements IProTaskDetailService { if (CollectionUtil.isNotEmpty(secondTaskVoList)) { for (TaskVo.NormalTask normalTask : secondTaskVoList) { - //处理分数 - MemberVo.MemberInfo memberInfo = proMemberService.getMemberByUserIdAndProjectId(currentUserId, normalTask.getProjectId()); - if (ObjectUtil.isNotNull(memberInfo)) { - BigDecimal score = mtFeignClient.getMemberScore(normalTask.getDetailId(), memberInfo.getId()); - if (ObjectUtil.isNotNull(score)) { - normalTask.setScore(score); - } - } +// //处理分数 +// MemberVo.MemberInfo memberInfo = proMemberService.getMemberByUserIdAndProjectId(currentUserId, normalTask.getProjectId()); +// if (ObjectUtil.isNotNull(memberInfo)) { +// BigDecimal score = mtFeignClient.getMemberScore(normalTask.getDetailId(), memberInfo.getId()); +// if (ObjectUtil.isNotNull(score)) { +// normalTask.setScore(score); +// } +// } //处理插件 managePlugin(currentUserId, roleId, normalTask, imitation); //任务完成状态 diff --git a/tall/src/main/resources/mapper_raw/SysLogMapper.xml b/tall/src/main/resources/mapper_raw/SysLogMapper.xml index 7625c3c5..a9b87760 100644 --- a/tall/src/main/resources/mapper_raw/SysLogMapper.xml +++ b/tall/src/main/resources/mapper_raw/SysLogMapper.xml @@ -11,6 +11,7 @@ + @@ -71,7 +72,8 @@ - id, url, method_desc, params, result, created_at, updated_at, rec_status, facility + id, url, method_desc, params, result, created_at, updated_at, rec_status, facility, + user_id @@ -210,6 +218,9 @@ facility = #{record.facility,jdbcType=VARCHAR}, + + user_id = #{record.userId,jdbcType=BIGINT}, + @@ -225,7 +236,8 @@ created_at = #{record.createdAt,jdbcType=TIMESTAMP}, updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}, rec_status = #{record.recStatus,jdbcType=TINYINT}, - facility = #{record.facility,jdbcType=VARCHAR} + facility = #{record.facility,jdbcType=VARCHAR}, + user_id = #{record.userId,jdbcType=BIGINT} @@ -257,6 +269,9 @@ facility = #{facility,jdbcType=VARCHAR}, + + user_id = #{userId,jdbcType=BIGINT}, + where id = #{id,jdbcType=BIGINT} @@ -269,7 +284,8 @@ created_at = #{createdAt,jdbcType=TIMESTAMP}, updated_at = #{updatedAt,jdbcType=TIMESTAMP}, rec_status = #{recStatus,jdbcType=TINYINT}, - facility = #{facility,jdbcType=VARCHAR} + facility = #{facility,jdbcType=VARCHAR}, + user_id = #{userId,jdbcType=BIGINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file From dbc98f8d4290086cfcbf9033cbb30f0397ef145d Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 11:05:56 +0800 Subject: [PATCH 70/72] =?UTF-8?q?20201110mt=E6=9F=A5=E7=9C=8B=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E6=AF=94=E8=B5=9B=E5=8F=82=E8=B5=9B=E7=9A=84=E9=80=89?= =?UTF-8?q?=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/mt/api/ProvinceController.java | 20 ++--- .../com/ccsens/mt/bean/dto/CompeteDto.java | 2 +- .../mt/bean/dto/ProvinceCompeteDto.java | 13 +++ .../com/ccsens/mt/bean/po/CompeteGroup.java | 11 +++ .../mt/bean/po/CompeteGroupExample.java | 60 +++++++++++++ .../com/ccsens/mt/bean/po/CompetePlayer.java | 11 +++ .../mt/bean/po/CompetePlayerExample.java | 60 +++++++++++++ .../mt/persist/dao/CompeteCompanyDao.java | 8 ++ .../ccsens/mt/service/IProvinceService.java | 7 ++ .../ccsens/mt/service/ProvinceService.java | 89 +++++++++++++------ mt/src/main/resources/druid-dev.yml | 2 +- .../mapper_dao/CompeteCompanyDao.xml | 21 +++++ .../mapper_raw/CompeteGroupMapper.xml | 25 ++++-- .../mapper_raw/CompetePlayerMapper.xml | 25 ++++-- .../tall/service/ProTaskDetailService.java | 10 +-- .../main/java/com/ccsens/util/CodeEnum.java | 3 +- 16 files changed, 311 insertions(+), 56 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 86fc6f65..918b95ba 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -132,16 +132,6 @@ public class ProvinceController { log.info("查找此单位的领队和教练信息:{}",competeCompanyHeadList); return JsonResponse.newInstance().ok(competeCompanyHeadList); } -// -// @MustLogin -// @ApiOperation(value = "保存领队和教练信息", notes = "") -// @RequestMapping(value = "/save/coach", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) -// public JsonResponse saveCoach(@ApiParam @Validated @RequestBody QueryDto params) { -// log.info("保存领队和教练信息:{}",params); -// provinceService.saveCoach(params.getParam()); -// log.info("保存领队和教练信息:{}","插入成功"); -// return JsonResponse.newInstance().ok(); -// } @MustLogin @ApiOperation(value = "删除领队和教练信息", notes = "") @@ -191,4 +181,14 @@ public class ProvinceController { log.info("查询教练或领队的详细信息:{}",coachInfo); return JsonResponse.newInstance().ok(coachInfo); } + + @MustLogin + @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") + @RequestMapping(value = "/coachInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查询教练或领队的详细信息:{}",params); + List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); + log.info("查询教练或领队的详细信息:{}",groupAndPlayer); + return JsonResponse.newInstance().ok(groupAndPlayer); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 35d18e31..3e9d1ab7 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -290,7 +290,7 @@ public class CompeteDto { } @Data - @ApiModel("项目id和组别id") + @ApiModel("要删除的选手id") public static class DelPlayer{ @NotNull @ApiModelProperty("选手id") diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index f57e3ab8..c4037cb6 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -51,6 +51,8 @@ public class ProvinceCompeteDto { private Long competeId; @ApiModelProperty("组别id") private Long groupId; + @ApiModelProperty("组别信息 1小学、2中学、3高职院校、4本科院校、5俱乐部") + private int groupRemark; @ApiModelProperty("选手姓名") private String playerName; @ApiModelProperty("性别 0女 1男") @@ -127,4 +129,15 @@ public class ProvinceCompeteDto { @ApiModelProperty("教练证") private Long coachCertificate; //教练证(只有教练需要,文件类型) } + + @Data + @ApiModel("查找团队项目下已参加的选手信息") + public static class GetPlayerByTeamProject{ + @NotNull(message = "请先填写基础信息") + @ApiModelProperty("参赛单位id") + private Long companyId; + @NotNull(message = "请选择项目") + @ApiModelProperty("项目id") + private Long projectId; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroup.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroup.java index f25ad54e..5801522e 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroup.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroup.java @@ -30,6 +30,8 @@ public class CompeteGroup implements Serializable { private Byte minAge; + private Byte groupRemark; + private static final long serialVersionUID = 1L; public Long getId() { @@ -136,6 +138,14 @@ public class CompeteGroup implements Serializable { this.minAge = minAge; } + public Byte getGroupRemark() { + return groupRemark; + } + + public void setGroupRemark(Byte groupRemark) { + this.groupRemark = groupRemark; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -155,6 +165,7 @@ public class CompeteGroup implements Serializable { sb.append(", sex=").append(sex); sb.append(", maxAge=").append(maxAge); sb.append(", minAge=").append(minAge); + sb.append(", groupRemark=").append(groupRemark); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroupExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroupExample.java index a2bba3a7..381b53c7 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroupExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompeteGroupExample.java @@ -904,6 +904,66 @@ public class CompeteGroupExample { addCriterion("min_age not between", value1, value2, "minAge"); return (Criteria) this; } + + public Criteria andGroupRemarkIsNull() { + addCriterion("group_remark is null"); + return (Criteria) this; + } + + public Criteria andGroupRemarkIsNotNull() { + addCriterion("group_remark is not null"); + return (Criteria) this; + } + + public Criteria andGroupRemarkEqualTo(Byte value) { + addCriterion("group_remark =", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotEqualTo(Byte value) { + addCriterion("group_remark <>", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkGreaterThan(Byte value) { + addCriterion("group_remark >", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkGreaterThanOrEqualTo(Byte value) { + addCriterion("group_remark >=", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkLessThan(Byte value) { + addCriterion("group_remark <", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkLessThanOrEqualTo(Byte value) { + addCriterion("group_remark <=", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkIn(List values) { + addCriterion("group_remark in", values, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotIn(List values) { + addCriterion("group_remark not in", values, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkBetween(Byte value1, Byte value2) { + addCriterion("group_remark between", value1, value2, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotBetween(Byte value1, Byte value2) { + addCriterion("group_remark not between", value1, value2, "groupRemark"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java index 69412bf2..26349e0e 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayer.java @@ -48,6 +48,8 @@ public class CompetePlayer implements Serializable { private Long insuranceRecordFile; + private Byte groupRemark; + private static final long serialVersionUID = 1L; public Long getId() { @@ -226,6 +228,14 @@ public class CompetePlayer implements Serializable { this.insuranceRecordFile = insuranceRecordFile; } + public Byte getGroupRemark() { + return groupRemark; + } + + public void setGroupRemark(Byte groupRemark) { + this.groupRemark = groupRemark; + } + @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -254,6 +264,7 @@ public class CompetePlayer implements Serializable { sb.append(", studentRecordFile=").append(studentRecordFile); sb.append(", healthRecordFile=").append(healthRecordFile); sb.append(", insuranceRecordFile=").append(insuranceRecordFile); + sb.append(", groupRemark=").append(groupRemark); sb.append("]"); return sb.toString(); } diff --git a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java index 65d4bb9f..b23ee7ee 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java +++ b/mt/src/main/java/com/ccsens/mt/bean/po/CompetePlayerExample.java @@ -1484,6 +1484,66 @@ public class CompetePlayerExample { addCriterion("insurance_record_file not between", value1, value2, "insuranceRecordFile"); return (Criteria) this; } + + public Criteria andGroupRemarkIsNull() { + addCriterion("group_remark is null"); + return (Criteria) this; + } + + public Criteria andGroupRemarkIsNotNull() { + addCriterion("group_remark is not null"); + return (Criteria) this; + } + + public Criteria andGroupRemarkEqualTo(Byte value) { + addCriterion("group_remark =", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotEqualTo(Byte value) { + addCriterion("group_remark <>", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkGreaterThan(Byte value) { + addCriterion("group_remark >", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkGreaterThanOrEqualTo(Byte value) { + addCriterion("group_remark >=", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkLessThan(Byte value) { + addCriterion("group_remark <", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkLessThanOrEqualTo(Byte value) { + addCriterion("group_remark <=", value, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkIn(List values) { + addCriterion("group_remark in", values, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotIn(List values) { + addCriterion("group_remark not in", values, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkBetween(Byte value1, Byte value2) { + addCriterion("group_remark between", value1, value2, "groupRemark"); + return (Criteria) this; + } + + public Criteria andGroupRemarkNotBetween(Byte value1, Byte value2) { + addCriterion("group_remark not between", value1, value2, "groupRemark"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index 9bc2d22d..4e8260a1 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -93,4 +93,12 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @return 返回详细信息 */ ProvinceCompeteVo.GetCoach getCoachInfo(@Param("coachId")Long coachId); + + /** + * 查找团队项目下的参赛选手信息 + * @param projectId + * @param type + * @return + */ + List getPlayerByTeamProject(@Param("projectId")Long projectId, @Param("type")Byte type); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 7476d969..7d5111fa 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -131,4 +131,11 @@ public interface IProvinceService { * @return 返回详细信息 */ ProvinceCompeteVo.GetCoach getCoachInfo(CompeteDto.LeaderId param); + + /** + * 查找团队项目下已参加的选手信息 + * @param param 单位id和团体项目id + * @return 返回参加的选手的详细信息,按组别分类 + */ + List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index aa86061f..9a8066e6 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -119,8 +119,9 @@ public class ProvinceService implements IProvinceService { CompetePlayer player = new CompetePlayer(); player.setId(snowflake.nextId()); player.setName(param.getPlayerName()); - player.setGender((byte) param.getGender()); + + if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.NOT_COMPANY); } //身份证不能为空,且正确 if(StrUtil.isEmpty(param.getIdCard()) || !IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} //是否已注册 @@ -129,14 +130,26 @@ public class ProvinceService implements IProvinceService { if(competePlayerDao.countByExample(competePlayerExample) != 0){ throw new BaseException(CodeEnum.ID_CARD_ALREADY); } - - if(ObjectUtil.isNull(param.getCompeteId())){ throw new BaseException(CodeEnum.NOT_COMPANY); } - if(ObjectUtil.isNull(param.getGroupId())){ throw new BaseException(CodeEnum.MT_NOT_GROUP); } - //检查性别与组别是否匹配 - CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(param.getGroupId()); - if(ObjectUtil.isNull(competeGroup) || param.getGender() != competeGroup.getSex()){ - throw new BaseException(CodeEnum.MT_NOT_GROUP); + //验证性别是否正确 + int gender = IdcardUtil.getGenderByIdCard(param.getIdCard()); + if(gender != param.getGender()){ + throw new BaseException(CodeEnum.GENDER_ERROR); } + //通过groupRemark和性别查找选手组别信息 + CompeteGroup competeGroup = new CompeteGroup(); + CompeteGroupExample competeGroupExample = new CompeteGroupExample(); + competeGroupExample.createCriteria().andSexEqualTo((byte) param.getGender()).andGroupRemarkEqualTo((byte) param.getGroupRemark()); + List groupList = competeGroupMapper.selectByExample(competeGroupExample); + if(CollectionUtil.isNotEmpty(groupList)){ + competeGroup = groupList.get(0); + } +// if(ObjectUtil.isNull(param.getGroupId())){ throw new BaseException(CodeEnum.MT_NOT_GROUP); } + +// //检查性别与组别是否匹配 +// CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(param.getGroupId()); +// if(ObjectUtil.isNull(competeGroup) || param.getGender() != competeGroup.getSex()){ +// throw new BaseException(CodeEnum.MT_NOT_GROUP); +// } //获取选手年龄 int ageByIdCard = IdcardUtil.getAgeByIdCard(param.getIdCard()); //判断年龄和分组是否匹配 @@ -153,28 +166,17 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNull(param.getStudentRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY.mtMsgPhoto("学籍证明")); } if(ObjectUtil.isNull(param.getHealthRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY.mtMsgPhoto("健康证明")); } if(ObjectUtil.isNull(param.getInsuranceRecord())){ throw new BaseException(CodeEnum.PHOTO_IS_EMPTY.mtMsgPhoto("保险证明")); } + player.setGender((byte) param.getGender()); player.setIdCard(param.getIdCard()); player.setCompanyId(param.getCompeteId()); player.setCompeteGroupId(param.getGroupId()); + player.setGroupRemark((byte) param.getGroupRemark()); player.setIdCardFrontFile(param.getIdCardFront()); player.setIdCardBackFile(param.getIdCardBack()); player.setIdPhotoFile(param.getIdPhone()); player.setStudentRecordFile(param.getStudentRecord()); player.setHealthRecordFile(param.getHealthRecord()); player.setInsuranceRecordFile(param.getInsuranceRecord()); - -// //添加身份证正面照片 -// player.setIdCardFrontFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //身份证反面 -// player.setIdCardBackFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //一寸证件照 -// player.setIdPhotoFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //学籍证明 -// player.setStudentRecordFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //健康证明 -// player.setHealthRecordFile(uploadPhotoFile(param.getIdCardFront(),userId)); -// //保险证明 -// player.setInsuranceRecordFile(uploadPhotoFile(param.getIdCardFront(),userId)); competePlayerDao.insertSelective(player); log.info("新加参赛选手:{}",player); }else { @@ -182,6 +184,31 @@ public class ProvinceService implements IProvinceService { CompetePlayer player = competePlayerDao.selectByPrimaryKey(param.getPlayerId()); log.info("查找需要修改的选手信息:{}",player); if(ObjectUtil.isNull(player)){ throw new BaseException(CodeEnum.PARAM_ERROR); } + //身份证不能为空,且正确 + if(!IdcardUtil.isValidCard(param.getIdCard())){throw new BaseException(CodeEnum.ID_CARD_ERROR);} + //是否已注册 + CompetePlayerExample competePlayerExample = new CompetePlayerExample(); + competePlayerExample.createCriteria().andIdCardEqualTo(param.getIdCard()).andIdNotEqualTo(param.getPlayerId()); + if(competePlayerDao.countByExample(competePlayerExample) != 0){throw new BaseException(CodeEnum.ID_CARD_ALREADY);} + //验证性别是否正确 + int gender = IdcardUtil.getGenderByIdCard(param.getIdCard()); + if(gender != param.getGender()){ + throw new BaseException(CodeEnum.GENDER_ERROR); + } + //通过groupRemark和性别查找选手组别信息 + CompeteGroup competeGroup = new CompeteGroup(); + CompeteGroupExample competeGroupExample = new CompeteGroupExample(); + competeGroupExample.createCriteria().andSexEqualTo((byte) param.getGender()).andGroupRemarkEqualTo((byte) param.getGroupRemark()); + List groupList = competeGroupMapper.selectByExample(competeGroupExample); + if(CollectionUtil.isNotEmpty(groupList)){ + competeGroup = groupList.get(0); + } + //获取选手年龄 + int ageByIdCard = IdcardUtil.getAgeByIdCard(param.getIdCard()); + //判断年龄和分组是否匹配 + if(ageByIdCard < competeGroup.getMinAge() || ageByIdCard > competeGroup.getMaxAge()){ + throw new BaseException(CodeEnum.MT_NOT_GROUP); + } //字段不为空则修改 if(StrUtil.isNotEmpty(param.getPlayerName())){player.setName(param.getPlayerName());} if(StrUtil.isNotEmpty(param.getIdCard())){player.setIdCard(param.getIdCard());} @@ -195,13 +222,6 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNotNull(param.getStudentRecord())){player.setStudentRecordFile(param.getStudentRecord());} if(ObjectUtil.isNotNull(param.getHealthRecord())){player.setHealthRecordFile(param.getHealthRecord());} if(ObjectUtil.isNotNull(param.getInsuranceRecord())){player.setInsuranceRecordFile(param.getInsuranceRecord());} - -// if(ObjectUtil.isNotNull(param.getIdCardFront())){player.setIdCardFrontFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getIdCardBack())){player.setIdCardBackFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getIdPhone())){player.setIdPhotoFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getStudentRecord())){ player.setStudentRecordFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getHealthRecord())){ player.setHealthRecordFile(uploadPhotoFile(param.getIdCardFront(),userId));} -// if(ObjectUtil.isNotNull(param.getInsuranceRecord())){ player.setInsuranceRecordFile(uploadPhotoFile(param.getIdCardFront(),userId));} competePlayerDao.updateByPrimaryKeySelective(player); } } @@ -606,5 +626,18 @@ public class ProvinceService implements IProvinceService { public ProvinceCompeteVo.GetCoach getCoachInfo(CompeteDto.LeaderId param) { return competeCompanyDao.getCoachInfo(param.getCoachId()); } + + /** + * 查找团体项目下的参赛选手信息 + */ + @Override + public List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param) { + //查找项目 + CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); + if(ObjectUtil.isNotNull(competeProject)){ + List groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType()); + } + return null; + } } diff --git a/mt/src/main/resources/druid-dev.yml b/mt/src/main/resources/druid-dev.yml index 8b496426..5676a291 100644 --- a/mt/src/main/resources/druid-dev.yml +++ b/mt/src/main/resources/druid-dev.yml @@ -32,4 +32,4 @@ spring: username: root validationQuery: SELECT 1 FROM DUAL # env: CCSENS_GAME - env: CCSENS_TALL \ No newline at end of file + env: CCSENS_TALL diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 0cab33f8..48077005 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -232,6 +232,27 @@ WHERE id = #{coachId} + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompeteGroupMapper.xml b/mt/src/main/resources/mapper_raw/CompeteGroupMapper.xml index 9831411f..6be0336f 100644 --- a/mt/src/main/resources/mapper_raw/CompeteGroupMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompeteGroupMapper.xml @@ -15,6 +15,7 @@ + @@ -76,7 +77,7 @@ id, group_name, description, start_age, end_age, sequence, type, created_at, updated_at, - rec_status, sex, max_age, min_age + rec_status, sex, max_age, min_age, group_remark @@ -253,6 +260,9 @@ min_age = #{record.minAge,jdbcType=TINYINT}, + + group_remark = #{record.groupRemark,jdbcType=TINYINT}, + @@ -272,7 +282,8 @@ rec_status = #{record.recStatus,jdbcType=TINYINT}, sex = #{record.sex,jdbcType=TINYINT}, max_age = #{record.maxAge,jdbcType=TINYINT}, - min_age = #{record.minAge,jdbcType=TINYINT} + min_age = #{record.minAge,jdbcType=TINYINT}, + group_remark = #{record.groupRemark,jdbcType=TINYINT} @@ -316,6 +327,9 @@ min_age = #{minAge,jdbcType=TINYINT}, + + group_remark = #{groupRemark,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -332,7 +346,8 @@ rec_status = #{recStatus,jdbcType=TINYINT}, sex = #{sex,jdbcType=TINYINT}, max_age = #{maxAge,jdbcType=TINYINT}, - min_age = #{minAge,jdbcType=TINYINT} + min_age = #{minAge,jdbcType=TINYINT}, + group_remark = #{groupRemark,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml b/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml index 1488ee21..bbcc90d4 100644 --- a/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml +++ b/mt/src/main/resources/mapper_raw/CompetePlayerMapper.xml @@ -24,6 +24,7 @@ + @@ -87,7 +88,7 @@ id, user_id, name, id_card, phone, gender, id_card_front, id_card_back, prove_img, compete_group_id, company_id, authorization, created_at, updated_at, rec_status, compete_time_id, id_card_front_file, id_card_back_file, id_photo_file, student_record_file, - health_record_file, insurance_record_file + health_record_file, insurance_record_file, group_remark @@ -351,6 +358,9 @@ insurance_record_file = #{record.insuranceRecordFile,jdbcType=BIGINT}, + + group_remark = #{record.groupRemark,jdbcType=TINYINT}, + @@ -379,7 +389,8 @@ id_photo_file = #{record.idPhotoFile,jdbcType=BIGINT}, student_record_file = #{record.studentRecordFile,jdbcType=BIGINT}, health_record_file = #{record.healthRecordFile,jdbcType=BIGINT}, - insurance_record_file = #{record.insuranceRecordFile,jdbcType=BIGINT} + insurance_record_file = #{record.insuranceRecordFile,jdbcType=BIGINT}, + group_remark = #{record.groupRemark,jdbcType=TINYINT} @@ -450,6 +461,9 @@ insurance_record_file = #{insuranceRecordFile,jdbcType=BIGINT}, + + group_remark = #{groupRemark,jdbcType=TINYINT}, + where id = #{id,jdbcType=BIGINT} @@ -475,7 +489,8 @@ id_photo_file = #{idPhotoFile,jdbcType=BIGINT}, student_record_file = #{studentRecordFile,jdbcType=BIGINT}, health_record_file = #{healthRecordFile,jdbcType=BIGINT}, - insurance_record_file = #{insuranceRecordFile,jdbcType=BIGINT} + insurance_record_file = #{insuranceRecordFile,jdbcType=BIGINT}, + group_remark = #{groupRemark,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} \ No newline at end of file diff --git a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java index 122977fd..fbe80a26 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java @@ -201,11 +201,11 @@ public class ProTaskDetailService implements IProTaskDetailService { List secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId, firstTaskDetail.getId(), startTime, endTime, roleId); if (CollectionUtil.isNotEmpty(secondNormalTaskList)) { for (TaskVo.NormalTask task : secondNormalTaskList) { - //处理分数 - BigDecimal score = mtFeignClient.getAdminScore(task.getProjectId(), task.getDetailId()); - if (ObjectUtil.isNotNull(score)) { - task.setScore(score); - } +// //处理分数 +// BigDecimal score = mtFeignClient.getAdminScore(task.getProjectId(), task.getDetailId()); +// if (ObjectUtil.isNotNull(score)) { +// task.setScore(score); +// } //处理插件 managePlugin(currentUserId, roleId, task, imitation); //二级任务完成状态 diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 1ec281e0..9d96e5ce 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -173,7 +173,8 @@ public enum CodeEnum { NOT_COMPANY(142,"请先填写基础信息",true), MT_NOT_GROUP(143,"请选择正确的组别信息",true), CONTACTS_NAME_EMPTY(144,"联系人名称不能为空",true), - MEMBER_NUM_ERROR(144,"参赛人数不满足比赛人数要求",true), + MEMBER_NUM_ERROR(145,"参赛人数不满足比赛人数要求",true), + GENDER_ERROR(146,"请选择正确的性别",true), ; From 735a4da26ddb70ecc8c3db101e18dc409af9b7ea Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 11:08:44 +0800 Subject: [PATCH 71/72] =?UTF-8?q?20201110mt=E6=9F=A5=E7=9C=8B=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E6=AF=94=E8=B5=9B=E5=8F=82=E8=B5=9B=E7=9A=84=E9=80=89?= =?UTF-8?q?=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mt/src/main/java/com/ccsens/mt/api/ProvinceController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 918b95ba..920f75c3 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -184,7 +184,7 @@ public class ProvinceController { @MustLogin @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") - @RequestMapping(value = "/coachInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + @RequestMapping(value = "/teamProject/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查询教练或领队的详细信息:{}",params); List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); From b8f0618c54d9d41d26d682efd2682a30c3347e15 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Tue, 10 Nov 2020 11:30:48 +0800 Subject: [PATCH 72/72] 20201110mtV1.3 --- mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java | 2 ++ mt/src/main/java/com/ccsens/mt/service/ProvinceService.java | 2 +- mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml | 2 +- mt/src/main/resources/mapper_dao/CompetePlayerDao.xml | 4 +--- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index c715fe57..88911e1d 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -154,6 +154,8 @@ public class ProvinceCompeteVo { private Long competeId; @ApiModelProperty("组别id") private Long groupId; + @ApiModelProperty("组别信息") + private int groupRemark; @ApiModelProperty("选手姓名") private String playerName; @ApiModelProperty("性别") diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 9a8066e6..3233b232 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -169,7 +169,7 @@ public class ProvinceService implements IProvinceService { player.setGender((byte) param.getGender()); player.setIdCard(param.getIdCard()); player.setCompanyId(param.getCompeteId()); - player.setCompeteGroupId(param.getGroupId()); + player.setCompeteGroupId(competeGroup.getId()); player.setGroupRemark((byte) param.getGroupRemark()); player.setIdCardFrontFile(param.getIdCardFront()); player.setIdCardBackFile(param.getIdCardBack()); diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 9daf7c6a..33da3934 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -50,7 +50,7 @@ if(pp.id is null and a.mId is null,0,1) as joinProject FROM t_compete_group cg - LEFT JOIN t_compete_player p on cg.id = p.compete_group_id + LEFT JOIN t_compete_player p on cg.sex = p.gender_group and cg.group_remark = p.group_remark LEFT JOIN t_compete_project_player pp on p.id = pp.player_id and pp.project_id = #{projectId} and pp.rec_status = 0 LEFT JOIN ( SELECT diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index f9e89461..24d3a093 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -178,6 +178,7 @@ id_card as idCard, company_id as competeId, compete_group_id as groupId, + group_remark as groupRemark, (SELECT id FROM t_common_file WHERE id = id_card_front_file) as idCardFrontId, (SELECT visit_location FROM t_common_file WHERE id = id_card_front_file) as idCardFront, (SELECT id FROM t_common_file WHERE id = id_card_back_file) as idCardBackId, @@ -196,9 +197,7 @@ id = #{playerId} and rec_status = 0 -<<<<<<< HEAD -======= ->>>>>>> c32326aa81c6ae6a4ce3e0a067a7617201458f50 \ No newline at end of file