Commit cb798b7d by guojuxing

授权联合成功发送短信

parent 5ba2da31
package com.gic.enterprise.service.outer.impl.union;
import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.auth.dto.UserDTO;
import com.gic.auth.service.UserApiService;
import com.gic.enterprise.constant.union.UnionEnterpriseAuthDetailStatusEnum;
import com.gic.enterprise.constant.union.UnionEnterpriseAuthResOperateEnum;
import com.gic.enterprise.constant.union.UnionEnterpriseAuthResTypeEnum;
import com.gic.enterprise.constant.union.UnionEnterpriseAuthStatusEnum;
import com.gic.enterprise.dto.union.UnionEnterpriseAuthDTO;
import com.gic.enterprise.entity.TabEnterprise;
import com.gic.enterprise.entity.TabSysUnionEnterpriseAuth;
import com.gic.enterprise.entity.TabSysUnionEnterpriseAuthResDetail;
import com.gic.enterprise.error.ErrorCode;
import com.gic.enterprise.exception.CommonException;
import com.gic.enterprise.service.UnionEnterpriseAuthResDetailApiService;
import com.gic.enterprise.service.UnionEnterpriseAuthResDetailService;
import com.gic.enterprise.service.UnionEnterpriseAuthResLogService;
import com.gic.enterprise.service.UnionEnterpriseAuthService;
import com.gic.enterprise.service.*;
import com.gic.marketing.process.api.service.sms.SmsSendApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 联合资源回调接口
......@@ -31,12 +38,22 @@ import java.util.List;
*/
@Service("unionEnterpriseAuthResDetailApiService")
public class UnionEnterpriseAuthResDetailApiServiceImpl implements UnionEnterpriseAuthResDetailApiService{
private static Logger LOGGER = LogManager.getLogger(UnionEnterpriseAuthResDetailApiServiceImpl.class);
@Autowired
private UnionEnterpriseAuthResDetailService unionEnterpriseAuthResDetailService;
@Autowired
private UnionEnterpriseAuthService unionEnterpriseAuthService;
@Autowired
private UnionEnterpriseAuthResLogService unionEnterpriseAuthResLogService;
@Autowired
private SmsSendApiService smsSendApiService;
@Autowired
private EnterpriseService enterpriseService;
@Autowired
private UserApiService userApiService;
private static String SMS_CODE_TO_OWN = "GICSHHT002";
private static String SMS_CODE_TO_UNION = "GICSHHT012";
@Override
public ServiceResponse<Void> authDataCallback() {
......@@ -122,10 +139,35 @@ public class UnionEnterpriseAuthResDetailApiServiceImpl implements UnionEnterpri
dto.setUnionEnterpriseAuthId(old.getUnionEnterpriseAuthId());
dto.setLastUnionTime(new Date());
unionEnterpriseAuthService.update(dto);
List<Integer> enterpriseIdList = new ArrayList<>(2);
enterpriseIdList.add(ownEnterpriseId);
enterpriseIdList.add(unionEnterpriseId);
List<TabEnterprise> enterpriseList = enterpriseService.listEnterpriseByIds(enterpriseIdList);
Map<String, String> enterpriseMap = enterpriseList.stream().collect(Collectors.toMap(e -> e.getEnterpriseId().toString(), e -> e.getEnterpriseName()));
sendSms(ownEnterpriseId, enterpriseMap.get(ownEnterpriseId), enterpriseMap.get(unionEnterpriseId), true);
sendSms(unionEnterpriseId, enterpriseMap.get(ownEnterpriseId), enterpriseMap.get(unionEnterpriseId), false);
}
unionEnterpriseAuthResDetailService.union(detail.getUnionEnterpriseAuthResDetailId(), authStatus, authKey, remark);
}
private void sendSms(Integer enterpriseId, String ownEnterpriseName, String unionEnterpriseName, boolean sendSmsToOwn) {
//发送短信
String[] smsArrOfOwn = new String[] { sendSmsToOwn ? ownEnterpriseName : unionEnterpriseName,
sendSmsToOwn ? unionEnterpriseName : ownEnterpriseName};
ServiceResponse<UserDTO> userResponse = userApiService.getUserByEnterpriseId(enterpriseId);
//发送手机验证码
ServiceResponse<Void> smsSendResult = smsSendApiService.sendPlatformSms(sendSmsToOwn ? SMS_CODE_TO_OWN : SMS_CODE_TO_UNION,
enterpriseId,
userResponse.getResult().getPhoneAreaCode(),
userResponse.getResult().getPhoneNumber(),
smsArrOfOwn);
if (!smsSendResult.isSuccess()) {
LOGGER.warn("全部联合成功发送短信错误信息:{}", JSON.toJSONString(smsSendResult));
}
}
/**
* 其他资源是否授权成功/解除成功
* @param unionEnterpriseAuthId
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment