diff --git a/xm-core/src/main/java/com/xm/core/service/XmTaskService.java b/xm-core/src/main/java/com/xm/core/service/XmTaskService.java index f81a1f5a..a7897450 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmTaskService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmTaskService.java @@ -12,10 +12,13 @@ import com.mdp.safe.client.entity.User; import com.mdp.safe.client.utils.LoginUtils; import com.xm.core.entity.XmMenu; import com.xm.core.entity.XmTask; +import com.xm.core.entity.XmTaskExecuser; import com.xm.core.entity.XmTaskSkill; import com.xm.core.queue.XmTaskSumParentsPushService; +import com.xm.core.service.client.SysClient; import com.xm.core.vo.BatchRelTasksWithMenu; import com.xm.core.vo.BatchRelTasksWithPhase; +import com.xm.core.vo.UserSvrVo; import com.xm.core.vo.XmTaskVo; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -60,6 +63,10 @@ public class XmTaskService extends BaseService { PushNotifyMsgService notifyMsgService; + @Autowired + SysClient sysClient; + + @Autowired XmGroupService groupService; @@ -208,6 +215,28 @@ public class XmTaskService extends BaseService { xmTaskVo.setTaskSkillNames(xmTaskVo.getSkills().stream().map(k->k.getSkillName()).collect(Collectors.joining(","))); xmTaskVo.setTaskSkillIds(xmTaskVo.getSkills().stream().map(k->k.getSkillId()).collect(Collectors.joining(","))); } + + if(StringUtils.hasText(xmTaskVo.getServiceId())){ + Map userServiceData=sysClient.getUserSvrByServiceId(xmTaskVo.getServiceId()); + if(userServiceData!=null && !userServiceData.isEmpty()){ + User exeUser=BaseUtils.fromMap(userServiceData,User.class); + UserSvrVo svrVo=BaseUtils.fromMap(userServiceData,UserSvrVo.class); + XmTaskExecuser xmTaskExecuser=new XmTaskExecuser(); + xmTaskExecuser.setTaskId(xmTaskVo.getId()); + xmTaskExecuser.setTaskName(xmTaskVo.getName()); + xmTaskExecuser.setProjectId(xmTaskVo.getProjectId()); + xmTaskExecuser.setUserid(exeUser.getUserid()); + xmTaskExecuser.setUsername(exeUser.getUsername()); + xmTaskExecuser.setExecUserBranchId(exeUser.getBranchId()); + xmTaskExecuser.setBranchId(xmTaskVo.getCbranchId()); + xmTaskExecuser.setStatus("1"); + xmTaskExecuser.setQuoteAmount(svrVo.getPrice()); + xmTaskExecuser.setQuoteWorkload(xmTaskVo.getBudgetWorkload()); + xmTaskExecuser.setSkillRemark((String)userServiceData.get("skills")); + xmTaskExecuserService.addExecuser(xmTaskExecuser); + } + } + XmTask xmTask = new XmTask(); BeanUtils.copyProperties(xmTaskVo,xmTask); this.insert(xmTask); @@ -225,6 +254,8 @@ public class XmTaskService extends BaseService { xmTaskSkillService.addSkill(xmTaskVo.getSkills()); } + + //xmTaskExecuserService.updateXmTaskExeUseridsAndUsernamesByTaskId(xmTaskVo.getId()); //xmTaskSkillService.updateXmTaskSkillIdsAndNamesByTaskId(xmTaskVo.getId()); @@ -236,6 +267,10 @@ public class XmTaskService extends BaseService { return xmTaskVo; } + public XmTaskVo createByService(XmTaskVo xmTaskVo){ + + return xmTaskVo; + } /** * 有执行人,有子任务都不允许删除 * @param xmTask diff --git a/xm-core/src/main/java/com/xm/core/service/client/SysClient.java b/xm-core/src/main/java/com/xm/core/service/client/SysClient.java index 139dc326..66dbeace 100644 --- a/xm-core/src/main/java/com/xm/core/service/client/SysClient.java +++ b/xm-core/src/main/java/com/xm/core/service/client/SysClient.java @@ -42,6 +42,24 @@ public class SysClient { return user; } + + /** + * 查询用户服务明细及用户基本信息 + * @param serviceId + * @return + */ + public Map getUserSvrByServiceId(String serviceId){ + String url="/sys/sys/userSvr/detail?id={serviceId}"; + Map re=callBizService.getForMap(url,map("serviceId",serviceId)); + Map data= (Map) re.get("data"); + if(data==null || data.isEmpty()){ + return null; + } + + return data; + + } + /** * 检查用户归属企业是否可以投标等等 * @param branchId diff --git a/xm-core/src/main/java/com/xm/core/vo/UserSvrVo.java b/xm-core/src/main/java/com/xm/core/vo/UserSvrVo.java new file mode 100644 index 00000000..b22662b8 --- /dev/null +++ b/xm-core/src/main/java/com/xm/core/vo/UserSvrVo.java @@ -0,0 +1,70 @@ +package com.xm.core.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 组织 com 顶级模块 mdp 大模块 sys 小模块
+ * 实体 UserSvr所有属性名:
+ * "id","服务编号","name","服务名称","remark","服务简介","price","服务价格","pimg","服务主图","times","服务时间范围","status","状态0初始1上架2下架","summary","简介","userid","用户编号","ctime","创建时间","ltime","最后更新时间";
+ * 当前主键(包括多主键):
+ * id;
+ */ + @Data +@ApiModel(description="企业服务列表") +public class UserSvrVo implements java.io.Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty(notes="服务编号,主键",allowEmptyValue=true,example="",allowableValues="") + String id; + + + @ApiModelProperty(notes="服务名称",allowEmptyValue=true,example="",allowableValues="") + String name; + + @ApiModelProperty(notes="服务简介",allowEmptyValue=true,example="",allowableValues="") + String remark; + + @ApiModelProperty(notes="服务价格",allowEmptyValue=true,example="",allowableValues="") + BigDecimal price; + + @ApiModelProperty(notes="服务主图",allowEmptyValue=true,example="",allowableValues="") + String pimg; + + @ApiModelProperty(notes="服务时间范围",allowEmptyValue=true,example="",allowableValues="") + String times; + + @ApiModelProperty(notes="状态0初始1上架2下架",allowEmptyValue=true,example="",allowableValues="") + String status; + + @ApiModelProperty(notes="简介",allowEmptyValue=true,example="",allowableValues="") + String summary; + + @ApiModelProperty(notes="用户编号",allowEmptyValue=true,example="",allowableValues="") + String userid; + + @ApiModelProperty(notes="创建时间",allowEmptyValue=true,example="",allowableValues="") + Date ctime; + + @ApiModelProperty(notes="最后更新时间",allowEmptyValue=true,example="",allowableValues="") + Date ltime; + + /** + *服务编号 + **/ + public UserSvrVo(String id) { + this.id = id; + } + + /** + * 企业服务列表 + **/ + public UserSvrVo() { + } + +} \ No newline at end of file