Просмотр исходного кода

[标签短信][修改][草稿]

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
a6061f486b
1 измененных файлов: 6 добавлений и 73 удалений
  1. +6
    -73
      mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java

+ 6
- 73
mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java Просмотреть файл

@@ -88,6 +88,12 @@ public class WxMsgController extends BaseController {
return new ResultData(ErrorCode.PUSH_LIMIT_NOT_INRANG); return new ResultData(ErrorCode.PUSH_LIMIT_NOT_INRANG);
} }
} }

if(wxMsg.getId()!=null){
//如果不是草稿必然之前状态是草稿,删除
wxMsgService.deleteById(wxMsg.getId());
}

} }
wxMsg.setTenantId(getTenantId()); wxMsg.setTenantId(getTenantId());
//1、手机多条以逗号分隔,直接通过实体得到wxmsg.getphones //1、手机多条以逗号分隔,直接通过实体得到wxmsg.getphones
@@ -157,79 +163,6 @@ public class WxMsgController extends BaseController {
return ""; return "";
} }


@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxMsg wxMsg) {
logger.debug("[" + getIpAddr() + "] WxMsgController::update");

//不是草稿检验疲劳度
if (!wxMsg.getStatus().equals(EnumMsgStatus.MSG_STATUS_DRAFT.getCode())) {
if (wxMsg.getIsright().equals(EnumMsgSend.MSG_SEND_IMMEDIATELY.getCode())) {
try {
pushLimitService.checkSendTime(getTenantId());
} catch (MallinkException e) {
logger.error(e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
}
} else {
PushLimit pushLimit = pushLimitService.getPushLimit(getTenantId());
String sendtime = wxMsg.getSendtime();
Date date = DateUtils.stringToDate(sendtime, "yyyy-MM-dd HH:mm:ss");
boolean isInDate = DateUtils.isInDate(date, pushLimit.getTimeStart(), pushLimit.getTimeEnd());
if (!isInDate) {
return new ResultData(ErrorCode.PUSH_LIMIT_NOT_INRANG);
}
}
}

//1、手机多条以逗号分隔,直接通过实体得到wxmsg.getphones
//2、通过标签
String phones = wxMsg.getPhones();
String label = wxMsg.getLabel();
if (!phones.equals("") && !label.equals("")) {//两种方式只能选其一
return new ResultData(ErrorCode.MSG_SEND_WAY_CHOOSE_ERROR);
}

if (phones.equals("")) {//没有手工输入手机号时解析标签,有,继续流转
phones = parselabel(wxMsg.getTenantId(), wxMsg);
if (phones.equals("")) {//解析之后手机号依然不存在时返回
return new ResultData(ErrorCode.MSG_PHONE_NOT_FOUND);
}
}

//保证手机号惟一
String[] phoneSplit = phones.split(",");
Set<String> phoneSet = new HashSet<>();
for (String phone : phoneSplit) {
phoneSet.add(phone);
}
wxMsg.setExpectSendNumber(phoneSet.size());//预计发送数量
StringBuffer sb = new StringBuffer();
for (String phone : phoneSet) {
sb.append(phone).append(",");
}
wxMsg.setPhones(sb.deleteCharAt(sb.length() - 1).toString());

//从短信配置中查询密钥 bid 等信息
WxMsgConfig wxMsgConfig = new WxMsgConfig();
wxMsgConfig.setTenantId(wxMsg.getTenantId());
List<WxMsgConfig> wxMsgConfigs = wxMsgConfigMapper.findList(wxMsgConfig);
if (wxMsgConfigs.size() == 0) return new ResultData(ErrorCode.MSG_SERVER_NOT_FIND, "您还未接入短信运营商,请联系平台管理员");
wxMsgConfig = wxMsgConfigs.get(0);

if (wxMsgConfig.getRemains() == 0) {
logger.info("短信数量为0");
return new ResultData(ErrorCode.MSG_SUM_ZERO);
}

if (wxMsgConfig.getRemains() < wxMsg.getExpectSendNumber()) {
logger.info("短信数量不足");
return new ResultData(ErrorCode.MSG_SUM_INSUFFICENT);
}
wxMsgService.saveOrUpdate(wxMsg, wxMsgConfig);
return new ResultData();
}

@ApiOperation("根据id删除接口") @ApiOperation("根据id删除接口")
@GetMapping("/del") @GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)


Загрузка…
Отмена
Сохранить