Browse Source

[微信第三方开发平台][新增]:更新微信小程序模板设置

release_toaliyun_real
Stormeye Wu 7 years ago
parent
commit
739b3cd1bb
3 changed files with 59 additions and 12 deletions
  1. +10
    -2
      mallinkService/src/main/java/com/iformall/service/WxTemplateMsgService.java
  2. +11
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java
  3. +38
    -10
      mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java

+ 10
- 2
mallinkService/src/main/java/com/iformall/service/WxTemplateMsgService.java View File

@@ -9,8 +9,8 @@ public interface WxTemplateMsgService {
* 根据实体查询分页列表
*
* @param record
* @param offset
* @param limit
* @param pageIndex
* @param pageSize
* @return
*/
PageInfo<WxTemplateMsg> listAsPage(WxTemplateMsg record, Integer pageIndex, Integer pageSize);
@@ -22,6 +22,14 @@ public interface WxTemplateMsgService {
* @return
*/
WxTemplateMsg getById(Long id);

/**
* 根据Obj获得实体
*
* @param record
* @return
*/
WxTemplateMsg getByObj(WxTemplateMsg record);
/**
* 保存或更新实体


+ 11
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxTemplateMsgServiceImpl.java View File

@@ -11,6 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.iformall.common.IdWorker;

import java.util.Date;

@Service
public class WxTemplateMsgServiceImpl implements WxTemplateMsgService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@@ -29,14 +31,23 @@ public class WxTemplateMsgServiceImpl implements WxTemplateMsgService {
return wxTemplateMsgMapper.selectByPrimaryKey(id);
}

@Override
public WxTemplateMsg getByObj(WxTemplateMsg record) {
return wxTemplateMsgMapper.selectOne(record);
}

@Override
public void saveOrUpdate(WxTemplateMsg record) {
Date curDate = new Date();
if (record.getId() == null) {
//record.setId(UUID.randomUUID().toString().replaceAll("-", ""));
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
record.setCreateDate(curDate);
record.setUpdateDate(curDate);
wxTemplateMsgMapper.insertSelective(record);
} else {
record.setUpdateDate(curDate);
wxTemplateMsgMapper.updateByPrimaryKeySelective(record);
}
}


+ 38
- 10
mallinkWechatOpen/src/main/java/com/iformall/controller/WxWeappInfoController.java View File

@@ -12,16 +12,11 @@ import com.google.gson.reflect.TypeToken;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxWeappBasicSet;
import com.iformall.domain.po.WxWeappCodeStatus;
import com.iformall.domain.po.WxWeappExtSet;
import com.iformall.domain.po.WxWeappInfo;
import com.iformall.domain.po.*;
import com.iformall.enums.EnumAppType;
import com.iformall.enums.EnumAuditStatus;
import com.iformall.service.WxWeappBasicSetService;
import com.iformall.service.WxWeappCodeStatusService;
import com.iformall.service.WxWeappExtSetService;
import com.iformall.service.WxWeappInfoService;
import com.iformall.enums.EnumTemplateType;
import com.iformall.service.*;
import com.iformall.service.wechat.WxOpenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -71,6 +66,12 @@ public class WxWeappInfoController extends BaseController {
@Autowired
private WxOpenService openService;

@Autowired
private WxAppinfoService appinfoService;

@Autowired
private WxTemplateMsgService templateMsgService;


@ApiOperation("分页列表接口")
@GetMapping("list")
@@ -158,6 +159,7 @@ public class WxWeappInfoController extends BaseController {

// 设置微信模板
if(weappBasicSet.getType().equals(EnumAppType.C.getCode())) {
WxAppinfo appinfo = appinfoService.getByAppId(appId);
try {
WxMaService maService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appId);
// 核销成功消息
@@ -165,13 +167,39 @@ public class WxWeappInfoController extends BaseController {
JSONArray keyidlist = verify_success.getJSONArray("keyword_id_list");
List<Integer> keyArr = getIdList(keyidlist);
WxMaTemplateAddResult ret = maService.getTemplateService().addTemplate(verify_success.getString("id"), keyArr);
// TODO update wx_template_msg
if(appinfo != null) {
// wx_template_msg
WxTemplateMsg templateMsgQ = new WxTemplateMsg();
templateMsgQ.setTenantId(appinfo.getTenantId());
templateMsgQ.setType(EnumTemplateType.VERIFY_SUCCESS.getCode());
WxTemplateMsg templateMsg = templateMsgService.getByObj(templateMsgQ);
if(templateMsg != null) {
templateMsg.setTemplateId(ret.getTemplateId());
templateMsgService.saveOrUpdate(templateMsg);
} else {
templateMsgQ.setTemplateId(ret.getTemplateId());
templateMsgService.saveOrUpdate(templateMsgQ);
}
}
// 核销失败消息
JSONObject verify_fail = templeObj.getJSONObject("verify_fail");
keyidlist = verify_fail.getJSONArray("keyword_id_list");
List<Integer> keyArr1 = getIdList(keyidlist);
ret = maService.getTemplateService().addTemplate(verify_fail.getString("id"), keyArr1);
// TODO update wx_template_msg
if(appinfo != null) {
// wx_template_msg
WxTemplateMsg templateMsgQ = new WxTemplateMsg();
templateMsgQ.setTenantId(appinfo.getTenantId());
templateMsgQ.setType(EnumTemplateType.VERIFY_FAIL.getCode());
WxTemplateMsg templateMsg = templateMsgService.getByObj(templateMsgQ);
if(templateMsg != null) {
templateMsg.setTemplateId(ret.getTemplateId());
templateMsgService.saveOrUpdate(templateMsg);
} else {
templateMsgQ.setTemplateId(ret.getTemplateId());
templateMsgService.saveOrUpdate(templateMsgQ);
}
}
} catch (WxErrorException e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());


Loading…
Cancel
Save