Commit f7e3e057 by 徐高华

任务通知

parent d4500d9d
package com.gic.haoban.manage.api.dto;
import java.io.Serializable;
public class HaobanTaskNoticeDTO implements Serializable{
private static final long serialVersionUID = 196969807081000L;
/**id*/
private long id;
/**企业id*/
private String enterpriseId;
/**计划id*/
private String planId;
/**1群发 2话务 3社群 4朋友圈*/
private int planType;
/**说明*/
private String remark;
/**创建人*/
private String creatorId;
/**创建时间*/
private java.util.Date createTime;
/**更新时间*/
private java.util.Date updateTime;
/**1未处理 2已处理*/
private int statusFlag;
public void setId(long id){
this.id = id;
}
public long getId(){
return id;
}
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setPlanId(String planId){
this.planId = planId;
}
public String getPlanId(){
return planId;
}
public void setPlanType(int planType){
this.planType = planType;
}
public int getPlanType(){
return planType;
}
public void setRemark(String remark){
this.remark = remark;
}
public String getRemark(){
return remark;
}
public void setCreatorId(String creatorId){
this.creatorId = creatorId;
}
public String getCreatorId(){
return creatorId;
}
public void setCreateTime(java.util.Date createTime){
this.createTime = createTime;
}
public java.util.Date getCreateTime(){
return createTime;
}
public void setUpdateTime(java.util.Date updateTime){
this.updateTime = updateTime;
}
public java.util.Date getUpdateTime(){
return updateTime;
}
public void setStatusFlag(int statusFlag){
this.statusFlag = statusFlag;
}
public int getStatusFlag(){
return statusFlag;
}
}
\ No newline at end of file
package com.gic.haoban.manage.api.service;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.HaobanTaskNoticeDTO;
public interface HaobanTaskNoticeApiService {
ServiceResponse<Void> save(HaobanTaskNoticeDTO notice);
ServiceResponse<Void> sendTimer(String params);
}
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.TabHaobanTaskNotice;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface HaobanTaskNoticeMapper {
int save(TabHaobanTaskNotice notice);
int updateStatus(@Param("ids") List<Long> ids);
List<TabHaobanTaskNotice> listForTimer() ;
}
package com.gic.haoban.manage.service.entity;
import java.io.Serializable ;
public class TabHaobanTaskNotice implements Serializable{
private static final long serialVersionUID = 196969807081000L;
/**id*/
private long id;
/**企业id*/
private String enterpriseId;
/**计划id*/
private String planId;
/**1群发 2话务 3社群 4朋友圈*/
private int planType;
/**说明*/
private String remark;
/**创建人*/
private String creatorId;
/**创建时间*/
private java.util.Date createTime;
/**更新时间*/
private java.util.Date updateTime;
/**1未处理 2已处理*/
private int statusFlag;
public void setId(long id){
this.id = id;
}
public long getId(){
return id;
}
public void setEnterpriseId(String enterpriseId){
this.enterpriseId = enterpriseId;
}
public String getEnterpriseId(){
return enterpriseId;
}
public void setPlanId(String planId){
this.planId = planId;
}
public String getPlanId(){
return planId;
}
public void setPlanType(int planType){
this.planType = planType;
}
public int getPlanType(){
return planType;
}
public void setRemark(String remark){
this.remark = remark;
}
public String getRemark(){
return remark;
}
public void setCreatorId(String creatorId){
this.creatorId = creatorId;
}
public String getCreatorId(){
return creatorId;
}
public void setCreateTime(java.util.Date createTime){
this.createTime = createTime;
}
public java.util.Date getCreateTime(){
return createTime;
}
public void setUpdateTime(java.util.Date updateTime){
this.updateTime = updateTime;
}
public java.util.Date getUpdateTime(){
return updateTime;
}
public void setStatusFlag(int statusFlag){
this.statusFlag = statusFlag;
}
public int getStatusFlag(){
return statusFlag;
}
}
\ No newline at end of file
package com.gic.haoban.manage.service.service.out.impl;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.HaobanTaskNoticeDTO;
import com.gic.haoban.manage.api.service.HaobanTaskNoticeApiService;
import com.gic.haoban.manage.service.dao.mapper.HaobanTaskNoticeMapper;
import com.gic.haoban.manage.service.entity.TabHaobanTaskNotice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("haobanTaskNoticeApiService")
public class HaobanTaskNoticeApiServiceImpl implements HaobanTaskNoticeApiService {
@Autowired
private HaobanTaskNoticeMapper haobanTaskNoticeMapper;
@Override
public ServiceResponse<Void> save(HaobanTaskNoticeDTO notice) {
TabHaobanTaskNotice entity = EntityUtil.changeEntityByJSON(TabHaobanTaskNotice.class, notice) ;
entity.setId(UniqueIdUtils.uniqueLong());
this.haobanTaskNoticeMapper.save(entity) ;
return ServiceResponse.success();
}
@Override
public ServiceResponse<Void> sendTimer(String params) {
List<TabHaobanTaskNotice> list = this.haobanTaskNoticeMapper.listForTimer() ;
return null;
}
}
......@@ -140,6 +140,8 @@
<dubbo:service interface="com.gic.haoban.manage.api.service.licence.LicenceOrderApiService" ref="licenceOrderApiServiceImpl"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.licence.AppOrderApiService" ref="appOrderApiServiceImpl"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.HaobanTaskNoticeApiService" ref="haobanTaskNoticeApiService"/>
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" ref="haobanMenuApiServiceImpl"/>
......
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.gic.haoban.manage.service.dao.mapper.HaobanTaskNoticeMapper">
<resultMap type="com.gic.haoban.manage.service.entity.TabHaobanTaskNotice" id="result-map-tabHaobanTaskNotice">
<result column="id" javaType="long" jdbcType="BIGINT" property="id"/>
<result column="enterprise_id" javaType="String" jdbcType="CHAR" property="enterpriseId"/>
<result column="plan_id" javaType="String" jdbcType="VARCHAR" property="planId"/>
<result column="plan_type" javaType="int" jdbcType="INTEGER" property="planType"/>
<result column="remark" javaType="String" jdbcType="VARCHAR" property="remark"/>
<result column="creator_id" javaType="String" jdbcType="VARCHAR" property="creatorId"/>
<result column="create_time" javaType="java.util.Date" jdbcType="TIMESTAMP" property="createTime"/>
<result column="update_time" javaType="java.util.Date" jdbcType="TIMESTAMP" property="updateTime"/>
<result column="status_flag" javaType="int" jdbcType="INTEGER" property="statusFlag"/>
</resultMap>
<sql id="Base_Column_List">
enterprise_id,
plan_id,
plan_type,
remark,
creator_id,
create_time,
update_time,
status_flag
</sql>
<!-- ===================== 新增 ======================== -->
<insert id="save">
<![CDATA[
INSERT INTO tab_haoban_task_notice(
enterprise_id,
plan_id,
plan_type,
remark,
creator_id,
create_time,
update_time,
status_flag
)VALUES(
#{enterpriseId,jdbcType=CHAR},
#{planId,jdbcType=VARCHAR},
#{planType,jdbcType=INTEGER},
#{remark,jdbcType=VARCHAR},
#{creatorId,jdbcType=VARCHAR},
now(),
now(),
1
)
]]>
</insert>
<update id="updateStatus">
UPDATE tab_haoban_task_notice SET
status_flag= 2 where id in
<foreach collection="ids" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>
</update>
<select id="listForTimer" resultMap="result-map-tabHaobanTaskNotice">
SELECT
<include refid="Base_Column_List" />
FROM tab_haoban_task_notice WHERE status_flag = 1
</select>
</mapper>
\ No newline at end of file
package com.gic.haoban.manage.web.controller;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.base.api.common.pojo.dto.WebLoginDTO;
import com.gic.haoban.common.utils.AuthWebRequestUtil;
import com.gic.haoban.manage.api.dto.HaobanTaskNoticeDTO;
import com.gic.haoban.manage.api.service.HaobanTaskNoticeApiService;
import com.gic.haoban.manage.web.log.LogRecordUserServiceImpl;
import com.gic.log.record.anno.GicLogRecord;
import com.gic.log.record.util.GicLogRecordCategoryEnum;
import com.gic.log.record.util.GicLogRecordOptTypeEnum;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
/**
* 任务提醒
*/
@RestController
@RequestMapping("/task-notice")
public class TaskNoticeController {
private static Logger logger = LogManager.getLogger(TaskNoticeController.class);
private HaobanTaskNoticeApiService taskNoticeApiService;
/**
* 是否需要提醒 3社群 4朋友圈
* @param planId
* @param planType
* @return
*/
@RequestMapping("has-task")
@ResponseBody
public RestResponse<Boolean> hasTask(String planId , int planType){
return RestResponse.successResult(true) ;
}
/**
* 朋友圈提醒
* @param dto
* @return
*/
@RequestMapping("moment")
@ResponseBody
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.QW_MOMENT, optType = GicLogRecordOptTypeEnum.QW_MOMENT_TASK_NOTICE, userFunc = LogRecordUserServiceImpl.class, optPage = "企微朋友圈")
public RestResponse<String> momentSave(@RequestBody HaobanTaskNoticeDTO dto){
ServiceResponse<Void> resp = this.save(dto,4) ;
if(!resp.isSuccess()) {
return RestResponse.failure("9999",resp.getMessage()) ;
}
return RestResponse.successResult() ;
}
/**
* 客户群提醒
* @param dto
* @return
*/
@RequestMapping("chat")
@ResponseBody
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.HB_QQF, optType = GicLogRecordOptTypeEnum.HB_QQF_TASK_NOTICE, userFunc = LogRecordUserServiceImpl.class, optPage = "客户群群发")
public RestResponse<String> chatSave(@RequestBody HaobanTaskNoticeDTO dto){
ServiceResponse<Void> resp = this.save(dto,3) ;
if(!resp.isSuccess()) {
return RestResponse.failure("9999",resp.getMessage()) ;
}
return RestResponse.successResult() ;
}
private ServiceResponse<Void> save(HaobanTaskNoticeDTO dto , int type) {
logger.info("新建任务={}", JSONObject.toJSONString(dto));
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
dto.setEnterpriseId(loginUser.getEnterpriseId());
dto.setCreatorId(loginUser.getClerkId());
dto.setPlanType(type);
ServiceResponse<Void> resp = this.taskNoticeApiService.save(dto) ;
return resp ;
}
}
......@@ -145,6 +145,7 @@
<dubbo:reference id="couponCardService" interface="com.gic.marketing.api.service.CouponCardService" timeout="100000" retries="0" check="false" />
<dubbo:reference id="qwMomentApiService" interface="com.gic.haoban.manage.api.service.moment.QwMomentApiService" timeout="100000" retries="0" check="false" />
<dubbo:reference id="contactConfigApiService" interface="com.gic.haoban.manage.api.service.contact.ContactConfigApiService" timeout="10000" retries="0" check="false" />
<dubbo:reference interface="com.gic.haoban.manage.api.service.HaobanTaskNoticeApiService" id="haobanTaskNoticeApiService" timeout="10000" retries="0" check="false" />
</beans>
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