|
|
@@ -114,6 +114,8 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
|
|
|
private UserMidMapper userMidMapper;
|
|
|
@Autowired
|
|
|
private AsyncUtils asyncUtils;
|
|
|
+ @Autowired
|
|
|
+ private TTaskMemberMapper tTaskMemberMapper;
|
|
|
@Value(value = "${upload.path}")
|
|
|
private String uploadPath = null;
|
|
|
|
|
|
@@ -1166,7 +1168,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
|
|
|
nt.setProcessStatus(4);
|
|
|
notice=NoticeStatus.MENBER_NO.getCode();
|
|
|
}
|
|
|
- orderNewService.addNoticMember(notice, ono, in.getType(),result);
|
|
|
+ addNoticMember(notice, ono, in.getType(),result);
|
|
|
addMemberLog(in.getId(),status,in.getRemarks());
|
|
|
return tOrderTaskMapper.updateByPrimaryKeySelective(nt);
|
|
|
}
|
|
|
@@ -1180,7 +1182,7 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
|
|
|
addMemberLog(t.getId(),0,"修改重新发起");
|
|
|
t.setProcessStatus(1);
|
|
|
TOrderNewBo ono = tOrderNewMapper.getSaleIdByOno(task.getOrderNo());
|
|
|
- orderNewService.addNoticMember(NoticeStatus.MENBER_START.getCode(), ono, null,0);
|
|
|
+ addNoticMember(NoticeStatus.MENBER_START.getCode(), ono, null,0);
|
|
|
return orderNewService.updateOrderTask(t);
|
|
|
}
|
|
|
@Override
|
|
|
@@ -1198,5 +1200,138 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
|
|
|
return memberLogMapper.memberLog(id);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public int addMemberSonProject(Integer tid, String serviceYear, String taskComment,Integer memberType) {
|
|
|
+ Date date =new Date();
|
|
|
+ TOrderTask tOrderTask = tOrderTaskMapper.selectByPrimaryKey(tid);
|
|
|
+ tOrderTask.setSplitStatus(1);
|
|
|
+ tOrderTask.setSplitAid(TokenManager.getAdminId());
|
|
|
+ tOrderTask.setSplitTime(date);
|
|
|
+ tOrderTaskMapper.updateByPrimaryKey(tOrderTask);
|
|
|
+ tOrderTask.setId(null);
|
|
|
+ tOrderTask.setSplitStatus(2);
|
|
|
+ tOrderTask.setSplitSuper(tid);
|
|
|
+ if (memberType!=null){
|
|
|
+ tOrderTask.setProcessStatus(1);
|
|
|
+ tOrderTask.setMemberType(memberType);
|
|
|
+ }
|
|
|
+ Integer i=tOrderTaskMapper.getSplitCount(tid);
|
|
|
+ i++;
|
|
|
+ tOrderTask.setSplitId(i);
|
|
|
+ tOrderTaskMapper.insertSelective(tOrderTask);
|
|
|
+ TTaskMember t = tTaskMemberMapper.selectByTid(tid);
|
|
|
+ if (t.getServiceLife()!=null||t.getServiceYear()!=null||t.getYearSum()!=null||t.getContractTerm()!=null){
|
|
|
+ TTaskMember ttm=new TTaskMember();
|
|
|
+ ttm.setTid(t.getId());
|
|
|
+ if(t.getServiceLife()!=null)ttm.setServiceLife(t.getServiceLife());
|
|
|
+ if(t.getServiceYear()!=null)ttm.setServiceYear(t.getServiceYear());
|
|
|
+ if(t.getYearSum()!=null)ttm.setYearSum(t.getYearSum());
|
|
|
+ if(t.getContractTerm()!=null)ttm.setContractTerm(t.getContractTerm());
|
|
|
+ tTaskMemberMapper.insertSelective(ttm);
|
|
|
+ }
|
|
|
+ addMemberLog(tOrderTask.getId(),0,"新增会员项目");
|
|
|
+ addNoticMember(NoticeStatus.MENBER_START.getCode(),tOrderTask.getOrderNo(),null,0);
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ public void addNoticMember(Integer type, String orderNo,Integer shiroType,Integer result) {
|
|
|
+ TOrderNewBo tn = tOrderNewMapper.getSaleIdByOno(orderNo);
|
|
|
+ addNoticMember(NoticeStatus.MENBER_START.getCode(),tn,null,0);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void addNoticMember(Integer type, TOrderNewBo b,Integer shiroType,Integer result) {
|
|
|
+ StringBuffer sb=new StringBuffer();
|
|
|
+ String aid=null;
|
|
|
+ List<Admin>admins=new ArrayList<>();
|
|
|
+ sb.append("客户名称【").append(b.getUserName()).append("】,订单编号【").append(b.getOrderNo()).append("】,");
|
|
|
+ if (type.equals(NoticeStatus.MENBER_START.getCode())){
|
|
|
+ sb=sb.append("发起会员项目,请及时审核");
|
|
|
+ aid=b.getFinanceId();
|
|
|
+ }else if (type.equals(NoticeStatus.MENBER_YES.getCode())){
|
|
|
+ sb=sb.append("会员项目审核");
|
|
|
+ if(shiroType==0){
|
|
|
+ sb=sb.append("财务已通过。");
|
|
|
+ if (result==1) {
|
|
|
+ admins = MemberEnd(b);
|
|
|
+ }else{
|
|
|
+ admins=adminMapper.getAdminRoleList("总裁");
|
|
|
+ }
|
|
|
+ } else if(shiroType==1){
|
|
|
+ sb=sb.append("特批已通过。");
|
|
|
+ admins = MemberEnd(b);
|
|
|
+ }
|
|
|
+ }else if (type.equals(NoticeStatus.MENBER_NO.getCode())){
|
|
|
+ if(shiroType==0){
|
|
|
+ sb=sb.append("财务已驳回。");
|
|
|
+ } else if(shiroType==1){
|
|
|
+ sb=sb.append("特批已驳回。");
|
|
|
+ }
|
|
|
+ aid=b.getSalesmanId();
|
|
|
+ }
|
|
|
+ if (admins!=null&&admins.size()>0){
|
|
|
+ for (Admin admin : admins) {
|
|
|
+ asyncUtils.addNotic(type,admin.getId(),sb.toString());
|
|
|
+ sendMemberEmail(type,admin.getId(),sb.toString());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ asyncUtils.addNotic(type,aid,sb.toString());
|
|
|
+ sendMemberEmail(type,aid,sb.toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 会员项目完成审核调用
|
|
|
+ * @param b
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<Admin> MemberEnd(TOrderNewBo b) {
|
|
|
+ List<Admin> admins;
|
|
|
+ admins=adminMapper.getAdminRoleList("咨询师管理员");
|
|
|
+ Admin admin = new Admin();
|
|
|
+ admin.setId(b.getSalesmanId());
|
|
|
+ admins.add(admin);
|
|
|
+ pushTOrderNew(b);
|
|
|
+ return admins;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 新建完成会员项目修改订单状态
|
|
|
+ * @param b
|
|
|
+ */
|
|
|
+ private void pushTOrderNew(TOrderNewBo b) {
|
|
|
+ List<TOrderTaskBo> l = tOrderTaskMapper.selectOrderTask(b.getOrderNo(), 0);
|
|
|
+ int counts =l.size();
|
|
|
+ int x=0;
|
|
|
+ for (TOrderTaskBo t : l) {
|
|
|
+ if (t.getTaskStatus()>0) {
|
|
|
+ x++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ TOrderNew n = new TOrderNew();
|
|
|
+ n.setOrderNo(b.getOrderNo());
|
|
|
+ if (x==0) {
|
|
|
+ n.setProcessStatus(4);
|
|
|
+ } else if(x<counts) {
|
|
|
+ n.setProcessStatus(5);
|
|
|
+ } else if(x==counts) {
|
|
|
+ n.setProcessStatus(6);
|
|
|
+ }
|
|
|
+ tOrderNewMapper.updateByPrimaryKeySelective(n);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 发送邮件使用
|
|
|
+ * @param type
|
|
|
+ * @param aid
|
|
|
+ * @param content
|
|
|
+ */
|
|
|
+ private void sendMemberEmail(Integer type,String aid,String content) {
|
|
|
+ Admin admin = adminMapper.selectByPrimaryKey(aid);
|
|
|
+ EmailBo bo = new EmailBo(NoticeStatus.getValueByCode(type), admin.getEmail(),content);
|
|
|
+ if(com.goafanti.common.utils.StringUtils.isNotBlank(admin.getEmail())) {
|
|
|
+ asyncUtils.send(bo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
}
|