Commit 3c64f57e authored by shiyu's avatar shiyu

一次性订阅消息实体类

parent 41a43610
package com.wwdz.ch.db.dao;
import com.wwdz.ch.db.domain.distribution.DisposableSubscribeRecord;
import java.util.List;
public interface DisposableSubscribeRecordDao {
boolean insert(DisposableSubscribeRecord disposableSubscribeRecord);
boolean update(DisposableSubscribeRecord disposableSubscribeRecord);
boolean isExisted(String openid, String templateId);
boolean isSubscribed(String openid, String templateId);
List<DisposableSubscribeRecord> findList(long userId);
}
package com.wwdz.ch.db.impl.distribution;
import com.wwdz.ch.db.dao.DisposableSubscribeRecordDao;
import com.wwdz.ch.db.domain.OfficialAccountSubscribeRecordExample;
import com.wwdz.ch.db.domain.distribution.DisposableSubscribeRecord;
import com.wwdz.ch.db.domain.distribution.DisposableSubscribeRecordExample;
import com.wwdz.ch.db.mapper.distribution.DisposableSubscribeRecordMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Repository
public class DisposableSubscribeRecordDaoImpl implements DisposableSubscribeRecordDao {
@Autowired
DisposableSubscribeRecordMapper disposableSubscribeRecordMapper;
@Override
public boolean insert(DisposableSubscribeRecord disposableSubscribeRecord) {
return disposableSubscribeRecordMapper.insert(disposableSubscribeRecord) > 0;
}
@Override
public boolean update(DisposableSubscribeRecord disposableSubscribeRecord) {
DisposableSubscribeRecordExample example = new DisposableSubscribeRecordExample();
DisposableSubscribeRecordExample.Criteria criteria = example.createCriteria();
criteria.andOpenidEqualTo(disposableSubscribeRecord.getOpenid());
criteria.andTemplateIdEqualTo(disposableSubscribeRecord.getTemplateId());
disposableSubscribeRecord.setUpdateTime(new Date());
return disposableSubscribeRecordMapper.updateByExampleSelective(disposableSubscribeRecord, example) > 0;
}
@Override
public boolean isExisted(String openid, String templateId) {
DisposableSubscribeRecordExample example = new DisposableSubscribeRecordExample();
DisposableSubscribeRecordExample.Criteria criteria = example.createCriteria();
criteria.andOpenidEqualTo(openid);
criteria.andTemplateIdEqualTo(templateId);
return disposableSubscribeRecordMapper.countByExample(example) > 0;
}
@Override
public boolean isSubscribed(String openid, String templateId) {
DisposableSubscribeRecordExample example = new DisposableSubscribeRecordExample();
DisposableSubscribeRecordExample.Criteria criteria = example.createCriteria();
criteria.andOpenidEqualTo(openid);
criteria.andTemplateIdEqualTo(templateId);
criteria.andIsValidEqualTo(true);
return disposableSubscribeRecordMapper.countByExample(example) > 0;
}
@Override
public List<DisposableSubscribeRecord> findList(long userId) {
DisposableSubscribeRecordExample example = new DisposableSubscribeRecordExample();
DisposableSubscribeRecordExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
return disposableSubscribeRecordMapper.selectByExample(example);
}
}
package com.wwdz.ch.db.mapper.distribution;
import com.wwdz.ch.db.domain.distribution.DisposableSubscribeRecord;
import com.wwdz.ch.db.domain.distribution.DisposableSubscribeRecordExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface DisposableSubscribeRecordMapper {
long countByExample(DisposableSubscribeRecordExample example);
int deleteByExample(DisposableSubscribeRecordExample example);
int deleteByPrimaryKey(Integer id);
int insert(DisposableSubscribeRecord record);
int insertSelective(DisposableSubscribeRecord record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table disposable_subscribe_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
DisposableSubscribeRecord selectOneByExample(DisposableSubscribeRecordExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table disposable_subscribe_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
DisposableSubscribeRecord selectOneByExampleSelective(@Param("example") DisposableSubscribeRecordExample example, @Param("selective") DisposableSubscribeRecord.Column ... selective);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table disposable_subscribe_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
List<DisposableSubscribeRecord> selectByExampleSelective(@Param("example") DisposableSubscribeRecordExample example, @Param("selective") DisposableSubscribeRecord.Column ... selective);
List<DisposableSubscribeRecord> selectByExample(DisposableSubscribeRecordExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table disposable_subscribe_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
DisposableSubscribeRecord selectByPrimaryKeySelective(@Param("id") Integer id, @Param("selective") DisposableSubscribeRecord.Column ... selective);
DisposableSubscribeRecord selectByPrimaryKey(Integer id);
int updateByExampleSelective(@Param("record") DisposableSubscribeRecord record, @Param("example") DisposableSubscribeRecordExample example);
int updateByExample(@Param("record") DisposableSubscribeRecord record, @Param("example") DisposableSubscribeRecordExample example);
int updateByPrimaryKeySelective(DisposableSubscribeRecord record);
int updateByPrimaryKey(DisposableSubscribeRecord record);
}
\ No newline at end of file
......@@ -132,6 +132,7 @@ public class OfficialAccountCallbackController {
}
} catch (Exception e) {
logger.error("微信公众号通知回调接口 error : {}", e);
......
package com.wwdz.ch.wx.impl.distribution;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.DisposableSubscribeRecordDao;
import com.wwdz.ch.db.domain.distribution.DisposableSubscribeRecord;
import com.wwdz.ch.wx.service.distribution.DisposableSubscribeRecordService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class DisposableSubscribeRecordServiceImpl implements DisposableSubscribeRecordService {
private static final Logger logger = LoggerFactory.getLogger(DisposableSubscribeRecordServiceImpl.class);
@Autowired
DisposableSubscribeRecordDao disposableSubscribeRecordDao;
@Override
public Result insert(DisposableSubscribeRecord disposableSubscribeRecord) {
try {
Long userId = disposableSubscribeRecord.getUserId();
String openid = disposableSubscribeRecord.getOpenid();
String templateId = disposableSubscribeRecord.getTemplateId();
boolean isExisted = disposableSubscribeRecordDao.isExisted(openid, templateId);
//如果有历史记录,则做更新
if (isExisted) {
disposableSubscribeRecordDao.update(disposableSubscribeRecord);
} else {
disposableSubscribeRecordDao.insert(disposableSubscribeRecord);
}
return Result.success();
} catch (Exception e) {
logger.error("保存一次性订阅消息记录 error: {}", e);
}
return Result.failed();
}
@Override
public Result update(DisposableSubscribeRecord disposableSubscribeRecord) {
return null;
}
@Override
public Result isExisted(String openid, String templateId) {
return null;
}
@Override
public Result isSubscribed(String openid, String templateId) {
return null;
}
@Override
public List<DisposableSubscribeRecord> findList(long userId) {
return null;
}
}
package com.wwdz.ch.wx.service.distribution;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.domain.distribution.DisposableSubscribeRecord;
import java.util.List;
/**
* 小程序一次性订阅消息
*/
public interface DisposableSubscribeRecordService {
Result insert(DisposableSubscribeRecord disposableSubscribeRecord);
Result update(DisposableSubscribeRecord disposableSubscribeRecord);
Result isExisted(String openid, String templateId);
Result isSubscribed(String openid, String templateId);
List<DisposableSubscribeRecord> findList(long userId);
}
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