diff --git a/Cpop-Jambox/src/main/java/com/cpop/jambox/business/bo/EasyLearnPageBo.java b/Cpop-Jambox/src/main/java/com/cpop/jambox/business/bo/EasyLearnPageBo.java index 261d559..c573199 100644 --- a/Cpop-Jambox/src/main/java/com/cpop/jambox/business/bo/EasyLearnPageBo.java +++ b/Cpop-Jambox/src/main/java/com/cpop/jambox/business/bo/EasyLearnPageBo.java @@ -22,13 +22,6 @@ import java.util.List; @ApiModel(value = "EasyLearnPageBo对象", description = "放心学分页查询参数") public class EasyLearnPageBo { - /** - * 开始与结束时间 - */ - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8") - @ApiModelProperty(value = "开始与结束时间") - private List startAndEnd; - /** * 顾问 */ diff --git a/Cpop-Jambox/src/main/java/com/cpop/jambox/business/controller/EasyLearnController.java b/Cpop-Jambox/src/main/java/com/cpop/jambox/business/controller/EasyLearnController.java index 14ada5d..162979b 100644 --- a/Cpop-Jambox/src/main/java/com/cpop/jambox/business/controller/EasyLearnController.java +++ b/Cpop-Jambox/src/main/java/com/cpop/jambox/business/controller/EasyLearnController.java @@ -13,12 +13,15 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import io.swagger.annotations.Api; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URLEncoder; +import java.time.LocalDate; +import java.util.List; /** * 果酱-放心学订单表 控制层。 @@ -44,8 +47,8 @@ public class EasyLearnController { */ @ApiOperation("查询放心学分页") @GetMapping("/getEasyLearnPage") - public R> getEasyLearnPage(@Validated EasyLearnPageBo bo) { - Page page = easyLearnOrderService.getEasyLearnPage(bo); + public R> getEasyLearnPage(@RequestParam(value = "startAndEnd",required = false) List startAndEnd, @Validated EasyLearnPageBo bo) { + Page page = easyLearnOrderService.getEasyLearnPage(startAndEnd, bo); return R.ok(page); } @@ -58,7 +61,8 @@ public class EasyLearnController { */ @GetMapping("/getEasyLearnXml") @ApiOperation("导出放心学数据") - public void getEasyLearnXml(HttpServletResponse response, @ApiParam("分页查询条件") @Validated EasyLearnPageBo bo) throws IOException { + public void getEasyLearnXml(HttpServletResponse response, @RequestParam(value = "startAndEnd", required = false) List startAndEnd, + @ApiParam("分页查询条件") @Validated EasyLearnPageBo bo) throws IOException { // 这里注意 有同学反应使用swagger 会导致各种问题,请直接用浏览器或者用postman response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setCharacterEncoding("utf-8"); @@ -84,6 +88,6 @@ public class EasyLearnController { } String fileName = URLEncoder.encode(fileFullName + "数据", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); - EasyExcel.write(response.getOutputStream(), EasyLearnPageDto.class).sheet("记录").doWrite(easyLearnOrderService.getEasyLearnXml(bo)); + EasyExcel.write(response.getOutputStream(), EasyLearnPageDto.class).sheet("记录").doWrite(easyLearnOrderService.getEasyLearnXml(startAndEnd, bo)); } } diff --git a/Cpop-Jambox/src/main/java/com/cpop/jambox/business/service/EasyLearnOrderService.java b/Cpop-Jambox/src/main/java/com/cpop/jambox/business/service/EasyLearnOrderService.java index b22a60f..8d28885 100644 --- a/Cpop-Jambox/src/main/java/com/cpop/jambox/business/service/EasyLearnOrderService.java +++ b/Cpop-Jambox/src/main/java/com/cpop/jambox/business/service/EasyLearnOrderService.java @@ -7,6 +7,7 @@ import com.cpop.jambox.business.vo.EasyLearnPageVo; import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.service.IService; +import java.time.LocalDate; import java.util.Collection; import java.util.List; @@ -25,7 +26,7 @@ public interface EasyLearnOrderService extends IService { * @param bo 查询参数 * @return Page */ - Page getEasyLearnPage(EasyLearnPageBo bo); + Page getEasyLearnPage(List startAndEnd,EasyLearnPageBo bo); /** * 导出放心学数据 @@ -34,5 +35,5 @@ public interface EasyLearnOrderService extends IService { * @param bo 请求参数 * @return List */ - List getEasyLearnXml(EasyLearnPageBo bo); + List getEasyLearnXml(List startAndEnd,EasyLearnPageBo bo); } diff --git a/Cpop-Jambox/src/main/java/com/cpop/jambox/business/service/impl/EasyLearnOrderServiceImpl.java b/Cpop-Jambox/src/main/java/com/cpop/jambox/business/service/impl/EasyLearnOrderServiceImpl.java index d754a4e..3a28afc 100644 --- a/Cpop-Jambox/src/main/java/com/cpop/jambox/business/service/impl/EasyLearnOrderServiceImpl.java +++ b/Cpop-Jambox/src/main/java/com/cpop/jambox/business/service/impl/EasyLearnOrderServiceImpl.java @@ -23,6 +23,7 @@ import com.zaxxer.hikari.HikariDataSource; import org.apache.poi.util.StringUtil; import org.springframework.stereotype.Service; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @@ -40,38 +41,41 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl + * @author DB + * @since 2023/12/15 */ @Override - public Page getEasyLearnPage(EasyLearnPageBo bo) { + public Page getEasyLearnPage(List startAndEnd, EasyLearnPageBo bo) { //TODO: 后续数据录入后,应该查询新版中的数据 - return getOldEasyLearnPage(bo); + return getOldEasyLearnPage(startAndEnd, bo); } /** * 导出放心学数据 - * @author DB - * @since 2023/12/15 + * * @param bo 请求参数 * @return List + * @author DB + * @since 2023/12/15 */ @Override - public List getEasyLearnXml(EasyLearnPageBo bo) { + public List getEasyLearnXml(List startAndEnd, EasyLearnPageBo bo) { //TODO: 后续数据录入后,应该查询新版中的数据 - return getOldEasyLearnXml(bo); + return getOldEasyLearnXml(startAndEnd, bo); } /** * 获取旧数据 - * @author DB - * @since 2023/12/15 + * * @param bo 请求参数 * @return List + * @author DB + * @since 2023/12/15 */ - private List getOldEasyLearnXml(EasyLearnPageBo bo) { + private List getOldEasyLearnXml(List startAndEnd, EasyLearnPageBo bo) { //TODO: 暂时不处理顾问 try { getJamboxProdDataSource(); @@ -80,14 +84,14 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl + * @author DB + * @since 2023/12/15 */ - private Page getOldEasyLearnPage(EasyLearnPageBo bo) { + private Page getOldEasyLearnPage(List startAndEnd,EasyLearnPageBo bo) { //TODO: 暂时不处理顾问 try { getJamboxProdDataSource(); @@ -136,14 +141,14 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl item.toEntity(EasyLearnPageVo.class)); + return Db.paginate("j_commodity_ticket", page, getLearnNowPayLaterData(startAndEnd,false, bo)).map(item -> item.toEntity(EasyLearnPageVo.class)); } finally { DataSourceKey.clear(); } case 1: try { DataSourceKey.use("jamboxProd"); - return Db.paginate("j_commodity_ticket", page, getLearnNowPayLaterData(true, bo)).map(item -> item.toEntity(EasyLearnPageVo.class)); + return Db.paginate("j_commodity_ticket", page, getLearnNowPayLaterData(startAndEnd,true, bo)).map(item -> item.toEntity(EasyLearnPageVo.class)); } finally { DataSourceKey.clear(); } @@ -153,7 +158,7 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl item.toEntity(EasyLearnPageVo.class)); + return Db.paginate("j_commodity_ticket", page, getEcppData(startAndEnd,bo)).map(item -> item.toEntity(EasyLearnPageVo.class)); } finally { DataSourceKey.clear(); } @@ -161,7 +166,7 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl item.toEntity(EasyLearnPageVo.class)); + return Db.paginate("j_commodity_ticket", page, getMemberData(startAndEnd,bo)).map(item -> item.toEntity(EasyLearnPageVo.class)); } finally { DataSourceKey.clear(); } @@ -173,7 +178,7 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl startAndEnd, EasyLearnPageBo bo) { QueryWrapper queryWrapper = QueryWrapper.create(); queryWrapper //查询品牌校区 @@ -187,25 +192,25 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl * @author DB * @since 2023/12/15 - * @return Page */ - private QueryWrapper getEcppData(EasyLearnPageBo bo) { + private QueryWrapper getEcppData(List startAndEnd,EasyLearnPageBo bo) { QueryWrapper queryWrapper = QueryWrapper.create(); queryWrapper //查询品牌校区 @@ -225,28 +230,32 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl + * @author DB + * @since 2023/12/15 */ - private QueryWrapper getLearnNowPayLaterData(Boolean isMonth, EasyLearnPageBo bo) { + private QueryWrapper getLearnNowPayLaterData(List startAndEnd,Boolean isMonth, EasyLearnPageBo bo) { QueryWrapper queryWrapper = QueryWrapper.create() //查询品牌校区 .select("tbi.name as brandName", "tmi.mechanism as storeName") - .select( "jct.ticket_id as id", "jct.wx_order_id as outOrderNo", "jct.name as customerName", "jct.price as totalAmount", "jct.price as totalPayAmount", "jct.phone as customerPhone", "jct.creation_time as createTime") + .select("jct.ticket_id as id", "jct.wx_order_id as outOrderNo", "jct.name as customerName", "jct.price as totalAmount", "jct.price as totalPayAmount", "jct.phone as customerPhone", "jct.creation_time as createTime") .select("tct.name as productName") .from("j_commodity_ticket").as("jct") //品牌 @@ -264,13 +273,16 @@ public class EasyLearnOrderServiceImpl extends ServiceImpl implements Ta TASK.COMPLETION_DATE, TASK.SUBJECT) .from(TASK) + .where(TASK.TASK_TYPE.in(0, 1)) .and(TASK.TASK_STATUS.eq(bo.getIsFinish() ? 9 : 8).and(TASK.TASK_CONTENT.like(bo.getTaskContent()))) .and(TASK.SUBJECT.like(bo.getSubject())), TaskArchivingPagVo.class, @@ -115,12 +116,30 @@ public class TaskServiceImpl extends ServiceImpl implements Ta */ @Override public void setTaskArchiving(String taskId) { + //获取任务 + Task task = this.getById(taskId); this.updateChain() .set(TASK.TASK_STATUS, 9) .set(TASK.TASK_ITEM, 3) .set(TASK.COMPLETION_DATE, LocalDate.now()) .where(TASK.ID.eq(taskId)) .update(); + // 企微通知手机号 + List phoneList = new ArrayList(); + StaffInfoVo responsibleStaff = SpringUtils.getBean(StaffService.class).getStaffInfo(task.getResponsibleStaffId()); + //字符串数组 + String testStaffPhone = SpringUtils.getBean(RedisService.class).getCacheObject(OamConfigKey.OAM_CONFIG_KEY + OamConfigEnum.TEST_STAFF_PHONE.getKey()); + phoneList.add(responsibleStaff.getPhoneNumber()); + List testPhoneList = Arrays.asList(testStaffPhone.split(",")); + phoneList.addAll(testPhoneList); + try { + SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT, + phoneList, + "==========开发任务更新==========" + "\n" + task.getTaskContent() + "\n" + "任务归档", + false); + } catch (IOException e) { + throw new ServiceException("发送任务通知失败!"); + } } /** @@ -386,6 +405,23 @@ public class TaskServiceImpl extends ServiceImpl implements Ta task.setToDeployTime(LocalDateTime.now()).setTestToFinishUrl(bo.getTestToFinishUrl()).setTaskStatus(8).setTaskItem(2); } this.updateById(task); + // 企微通知手机号 + List phoneList = new ArrayList(); + StaffInfoVo responsibleStaff = SpringUtils.getBean(StaffService.class).getStaffInfo(task.getResponsibleStaffId()); + //字符串数组 + String testStaffPhone = SpringUtils.getBean(RedisService.class).getCacheObject(OamConfigKey.OAM_CONFIG_KEY + OamConfigEnum.TEST_STAFF_PHONE.getKey()); + phoneList.add(responsibleStaff.getPhoneNumber()); + List testPhoneList = Arrays.asList(testStaffPhone.split(",")); + phoneList.addAll(testPhoneList); + try { + SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT, + phoneList, + "==========开发任务更新==========" + "\n" + task.getTaskContent() + "\n" + + (bo.getTaskItem() == 0 ? "开发转测试" : "测试转待部署"), + false); + } catch (IOException e) { + throw new ServiceException("发送任务通知失败!"); + } } /** diff --git a/Cpop-Oam/src/main/java/com/cpop/oam/business/service/impl/TaskWorkOrderServiceImpl.java b/Cpop-Oam/src/main/java/com/cpop/oam/business/service/impl/TaskWorkOrderServiceImpl.java index 9e8e83c..427f177 100644 --- a/Cpop-Oam/src/main/java/com/cpop/oam/business/service/impl/TaskWorkOrderServiceImpl.java +++ b/Cpop-Oam/src/main/java/com/cpop/oam/business/service/impl/TaskWorkOrderServiceImpl.java @@ -534,6 +534,10 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl