Commit 591bc844 by 徐高华

朋友圈

parent e4e333bf
package com.gic.haoban.manage.api.qdto.moment; package com.gic.haoban.manage.api.qdto.moment;
import com.gic.api.base.commons.BasePageInfo;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -13,139 +15,140 @@ import java.util.List; ...@@ -13,139 +15,140 @@ import java.util.List;
* @Modify * @Modify
* @CopyRight 杭州 * @CopyRight 杭州
*/ */
public class QwMomentPlanQDTO implements Serializable { public class QwMomentPlanQDTO extends BasePageInfo {
private static final long serialVersionUID = 67027585759300L; private String wxEnterpriseId ;
private String enterpriseId ;
/** /**
* 名称 * 活动名称或id
*/
private String title;
/**
* 描述
*/
private String remark;
/**
* 几天后失效
*/ */
private int expireDays; private String nameParams ;
private String nameParamsLike ;
/** /**
* 执行方式 0企微1好办小程序 * 执行方式
*/ */
private int execType; private Integer execType ;
/** /**
* 1立即发布2定时发布 * 1进行中 2终止 0未开始 3 已结束
*/ */
private Integer publishType; private Integer statusFlag ;
/** /**
* 发布时间 * 开始时间
*/ */
private Date publishTime; private Date startTime ;
/** /**
* 0全部导购 1部分导购 * 结束时间
*/ */
private Integer planClerkType; private Date endTime ;
/** /**
* 0自主上传 1内容 * 创建人
*/ */
private Integer mediaType; private List<String> creatorIdList ;
/** /**
* 素材json * 排序字段 完成率:exec_rate 点赞:total_like_count 评论:total_comment_count
*/ */
private String mediaInfo; private String sortColumn ;
/** /**
* 素材回显内容 * desc / asc
*/ */
private String mediaInfoShow; private String sortType ;
// 选择的导购id列表
private List<String> selectClerkIdList ;
public List<String> getSelectClerkIdList() { public List<String> getCreatorIdList() {
return selectClerkIdList; return creatorIdList;
} }
public void setSelectClerkIdList(List<String> selectClerkIdList) { public void setCreatorIdList(List<String> creatorIdList) {
this.selectClerkIdList = selectClerkIdList; this.creatorIdList = creatorIdList;
} }
public String getTitle() { public String getNameParamsLike() {
return title; return nameParamsLike;
} }
public void setTitle(String title) { public void setNameParamsLike(String nameParamsLike) {
this.title = title; this.nameParamsLike = nameParamsLike;
} }
public String getRemark() { public String getWxEnterpriseId() {
return remark; return wxEnterpriseId;
} }
public void setRemark(String remark) { public void setWxEnterpriseId(String wxEnterpriseId) {
this.remark = remark; this.wxEnterpriseId = wxEnterpriseId;
} }
public int getExpireDays() { public String getEnterpriseId() {
return expireDays; return enterpriseId;
} }
public void setExpireDays(int expireDays) { public void setEnterpriseId(String enterpriseId) {
this.expireDays = expireDays; this.enterpriseId = enterpriseId;
} }
public int getExecType() { public String getSortColumn() {
return execType; return sortColumn;
} }
public void setExecType(int execType) { public void setSortColumn(String sortColumn) {
this.execType = execType; this.sortColumn = sortColumn;
} }
public Integer getPublishType() { public String getSortType() {
return publishType; return sortType;
} }
public void setPublishType(Integer publishType) { public void setSortType(String sortType) {
this.publishType = publishType; this.sortType = sortType;
} }
public Date getPublishTime() { public String getNameParams() {
return publishTime; return nameParams;
} }
public void setPublishTime(Date publishTime) { public void setNameParams(String nameParams) {
this.publishTime = publishTime; this.nameParams = nameParams;
} }
public Integer getPlanClerkType() { public Integer getExecType() {
return planClerkType; return execType;
} }
public void setPlanClerkType(Integer planClerkType) { public void setExecType(Integer execType) {
this.planClerkType = planClerkType; this.execType = execType;
} }
public Integer getMediaType() { public Integer getStatusFlag() {
return mediaType; return statusFlag;
} }
public void setMediaType(Integer mediaType) { public void setStatusFlag(Integer statusFlag) {
this.mediaType = mediaType; this.statusFlag = statusFlag;
} }
public String getMediaInfo() { public Date getStartTime() {
return mediaInfo; return startTime;
} }
public void setMediaInfo(String mediaInfo) { public void setStartTime(Date startTime) {
this.mediaInfo = mediaInfo; this.startTime = startTime;
} }
public String getMediaInfoShow() { public Date getEndTime() {
return mediaInfoShow; return endTime;
} }
public void setMediaInfoShow(String mediaInfoShow) { public void setEndTime(Date endTime) {
this.mediaInfoShow = mediaInfoShow; this.endTime = endTime;
} }
} }
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper.moment; package com.gic.haoban.manage.service.dao.mapper.moment;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO; import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO;
import com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO;
import com.gic.haoban.manage.service.entity.moment.TabQwMomentPlan; import com.gic.haoban.manage.service.entity.moment.TabQwMomentPlan;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface QwMomentPlanMapper { public interface QwMomentPlanMapper {
void insert(TabQwMomentPlan tab) ; void insert(TabQwMomentPlan tab) ;
...@@ -15,4 +18,7 @@ public interface QwMomentPlanMapper { ...@@ -15,4 +18,7 @@ public interface QwMomentPlanMapper {
TabQwMomentPlan getById(@Param("planId") Long planId) ; TabQwMomentPlan getById(@Param("planId") Long planId) ;
void updateClerkNum(@Param("planId")Long planId, @Param("totalNum")int totalNum , @Param("taskClerkNum")int taskClerkNum , @Param("doneNum")int doneNum);
List<TabQwMomentPlan> list(QwMomentPlanQDTO qdto);
} }
...@@ -194,6 +194,41 @@ ...@@ -194,6 +194,41 @@
select <include refid="Base_Column_List" /> from tab_haoban_qw_moment_plan where plan_id =#{planId} and delete_flag = 0 select <include refid="Base_Column_List" /> from tab_haoban_qw_moment_plan where plan_id =#{planId} and delete_flag = 0
</select> </select>
<select id="list" resultMap="result-map-tabHaobanQwMomentPlan"
parameterType="com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO">
select <include refid="Base_Column_List"/> from tab_haoban_qw_moment_plan where wx_enterprise_id=#{wxEnterpriseId} and enterprise_id = #{enterpriseId}
<if test="statusFlag ==0">
and ( status_flag = 1 and begin_date <![CDATA[ > ]]> DATE_FORMAT(NOW(),'%Y-%m-%d') )
</if>
<if test="statusFlag ==1">
and ( status_flag = 1 and end_date <![CDATA[ >= ]]> DATE_FORMAT(NOW(),'%Y-%m-%d') and begin_date <![CDATA[ <= ]]> now() )
</if>
<if test="statusFlag ==2">
and ( status_flag = 2 )
</if>
<if test="statusFlag ==3">
and ( status_flag = 1 and end_date <![CDATA[ < ]]> DATE_FORMAT(NOW(),'%Y-%m-%d') )
</if>
<if test="null != startTime" >
and create_time >= #{startTime} and create_time <![CDATA[ <= ]]> #{endTime}
</if>
<if test="null != nameParamsLike" >
and ( title like #{nameParamsLike} or plan_id = #{nameParamsLike} )
</if>
<if test="null != execType">
and exec_type = #{execType}
</if>
<if test="null != creatorIdList and creatorIdList.size()>0">
AND creator_id IN
<foreach collection="creatorIdList" separator="," open="(" close=")" item="item">
#{item}
</foreach>
</if>
and delete_flag = 0 order by ${sortColumn} ${sortType}
</select>
<update id="del" parameterType="java.lang.Long"> <update id="del" parameterType="java.lang.Long">
update tab_haoban_qw_moment_plan set delete_flag = 1 where plan_id = #{planId} update tab_haoban_qw_moment_plan set delete_flag = 1 where plan_id = #{planId}
</update> </update>
...@@ -202,4 +237,20 @@ ...@@ -202,4 +237,20 @@
update tab_haoban_qw_moment_plan set status_flag = 2 where plan_id = #{planId} update tab_haoban_qw_moment_plan set status_flag = 2 where plan_id = #{planId}
</update> </update>
<update id="updateClerkNum">
update tab_haoban_qw_moment_plan <set>
<if test="-1 != totalNum">
total_num = #{totalNum} ,
</if>
<if test="-1 != taskClerkNum">
task_clerk_num = #{taskClerkNum} ,
</if>
<if test="-1 != doneNum">
done_num = #{doneNum} ,
</if>
</set>
where plan_id = #{planId}
</update>
</mapper> </mapper>
\ No newline at end of file
...@@ -3,6 +3,7 @@ import com.gic.commons.util.DateUtil; ...@@ -3,6 +3,7 @@ import com.gic.commons.util.DateUtil;
import com.gic.haoban.manage.api.dto.ContentMaterialDTO; import com.gic.haoban.manage.api.dto.ContentMaterialDTO;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO; import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO; import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO;
import com.gic.haoban.manage.api.qdto.moment.QwMomentPlanQDTO;
import com.gic.haoban.manage.api.service.moment.QwMomentApiService; import com.gic.haoban.manage.api.service.moment.QwMomentApiService;
import com.gic.haoban.manage.service.service.chat.GroupChatPlanService; import com.gic.haoban.manage.service.service.chat.GroupChatPlanService;
import com.gic.haoban.manage.service.service.content.impl.GroupMessageServiceImpl; import com.gic.haoban.manage.service.service.content.impl.GroupMessageServiceImpl;
...@@ -37,18 +38,32 @@ public class MomentTest { ...@@ -37,18 +38,32 @@ public class MomentTest {
dto.setEnterpriseId("123"); dto.setEnterpriseId("123");
dto.setExecType(1); dto.setExecType(1);
dto.setExpireDays(10); dto.setExpireDays(10);
dto.setPlanClerkType(1); dto.setPlanClerkType(1);
dto.setPlanId(770643491869106177L); dto.setPlanId(770643491869106177L);
// ,"b2ef17cce11f476b996d0b27ebadf7fb" // ,"b2ef17cce11f476b996d0b27ebadf7fb"
List<String> clerkIds = Arrays.asList("a02065ae51594fb9832e4199d4e3a1b0","753a367d709d40a38b17ed25847d3b4b") ; List<String> clerkIds = Arrays.asList("a02065ae51594fb9832e4199d4e3a1b0","753a367d709d40a38b17ed25847d3b4b") ;
dto.setSelectClerkIdList(clerkIds); dto.setSelectClerkIdList(clerkIds);
this.qwMomentApiService.save(dto) ;
}
this.qwMomentApiService.save(dto) ;
@Test
public void page() {
QwMomentPlanQDTO qdto = new QwMomentPlanQDTO();
qdto.setEnterpriseId("123");
qdto.setWxEnterpriseId("123");
qdto.setExecType(1);
qdto.setStatusFlag(1);
qdto.setStartTime(new Date());
qdto.setEndTime(new Date());
qdto.setNameParams("123");
qdto.setPageNum(1);
qdto.setPageSize(2);
this.qwMomentApiService.planList(qdto) ;
} }
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -7,6 +7,8 @@ import com.gic.clerk.api.dto.AuthorizedUser; ...@@ -7,6 +7,8 @@ import com.gic.clerk.api.dto.AuthorizedUser;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.PageHelperUtils; import com.gic.commons.util.PageHelperUtils;
import com.gic.commons.webapi.reponse.RestResponse; 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.moment.QwMomentPlanAttendDTO; import com.gic.haoban.manage.api.dto.moment.QwMomentPlanAttendDTO;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO; import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDTO;
import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDataDTO; import com.gic.haoban.manage.api.dto.moment.QwMomentPlanDataDTO;
...@@ -19,6 +21,7 @@ import com.gic.haoban.manage.web.qo.moment.PlanClerkListQO; ...@@ -19,6 +21,7 @@ import com.gic.haoban.manage.web.qo.moment.PlanClerkListQO;
import com.gic.haoban.manage.web.qo.moment.PlanDataListQO; import com.gic.haoban.manage.web.qo.moment.PlanDataListQO;
import com.gic.haoban.manage.web.qo.moment.PlanListQO; import com.gic.haoban.manage.web.qo.moment.PlanListQO;
import com.gic.haoban.manage.web.qo.moment.QwMomentPlanQO; import com.gic.haoban.manage.web.qo.moment.QwMomentPlanQO;
import com.gic.haoban.manage.web.utils.CreatorUtils;
import com.gic.haoban.manage.web.vo.moment.HaobanQwMomentPlanVO; import com.gic.haoban.manage.web.vo.moment.HaobanQwMomentPlanVO;
import com.gic.haoban.manage.web.vo.moment.QwMomentPlanAttendVO; import com.gic.haoban.manage.web.vo.moment.QwMomentPlanAttendVO;
import com.gic.haoban.manage.web.vo.moment.QwMomentPlanDataVO; import com.gic.haoban.manage.web.vo.moment.QwMomentPlanDataVO;
...@@ -54,8 +57,14 @@ public class QwMomentController { ...@@ -54,8 +57,14 @@ public class QwMomentController {
@ResponseBody @ResponseBody
public RestResponse<String> add(@RequestBody QwMomentPlanQO qo){ public RestResponse<String> add(@RequestBody QwMomentPlanQO qo){
logger.info("新建任务={}", JSONObject.toJSONString(qo)); logger.info("新建任务={}", JSONObject.toJSONString(qo));
AuthorizedUser loginUser = SessionContextUtils.getLoginUser() ; QwMomentPlanDTO plan = EntityUtil.changeEntityByJSON(QwMomentPlanDTO.class,qo) ;
return null ; WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
plan.setEnterpriseId(loginUser.getEnterpriseId());
plan.setWxEnterpriseId(loginUser.getWxEnterpriseId());
plan.setCreatorId(loginUser.getClerkId());
plan.setCreatorName(loginUser.getClerkName());
ServiceResponse<QwMomentPlanDTO> resp = this.qwMomentApiService.save(plan) ;
return RestResponse.successResult(resp.getResult().getPlanId()+"") ;
} }
...@@ -64,10 +73,20 @@ public class QwMomentController { ...@@ -64,10 +73,20 @@ public class QwMomentController {
*/ */
@RequestMapping("update") @RequestMapping("update")
@ResponseBody @ResponseBody
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_EIDT, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务") // @GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_EIDT, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务")
public RestResponse<String> update(@RequestBody QwMomentPlanQO qo) { public RestResponse<String> update(@RequestBody QwMomentPlanQO qo) {
logger.info("更新任务={}", JSONObject.toJSONString(qo));
return null ; if(null == qo.getPlanId()) {
return RestResponse.failure("9999","活动id为空") ;
}
QwMomentPlanDTO plan = EntityUtil.changeEntityByJSON(QwMomentPlanDTO.class,qo) ;
WebLoginDTO loginUser = AuthWebRequestUtil.getLoginUser();
plan.setEnterpriseId(loginUser.getEnterpriseId());
plan.setWxEnterpriseId(loginUser.getWxEnterpriseId());
plan.setCreatorId(loginUser.getClerkId());
plan.setCreatorName(loginUser.getClerkName());
ServiceResponse<QwMomentPlanDTO> resp = this.qwMomentApiService.save(plan) ;
return RestResponse.successResult(resp.getResult().getPlanId()+"") ;
} }
/** /**
...@@ -76,7 +95,7 @@ public class QwMomentController { ...@@ -76,7 +95,7 @@ public class QwMomentController {
*/ */
@RequestMapping("del") @RequestMapping("del")
@ResponseBody @ResponseBody
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_DEL, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务") //@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_DEL, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务")
public RestResponse<Void> del(Long planId){ public RestResponse<Void> del(Long planId){
ServiceResponse<QwMomentPlanDTO> resp = this.qwMomentApiService.detail(planId) ; ServiceResponse<QwMomentPlanDTO> resp = this.qwMomentApiService.detail(planId) ;
if(null == resp.getResult()) { if(null == resp.getResult()) {
...@@ -95,7 +114,7 @@ public class QwMomentController { ...@@ -95,7 +114,7 @@ public class QwMomentController {
*/ */
@RequestMapping("stop") @RequestMapping("stop")
@ResponseBody @ResponseBody
@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_STOP, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务") //@GicLogRecord(value = "${#logValue}", category = GicLogRecordCategoryEnum.CLERKTASK, optType = GicLogRecordOptTypeEnum.CLERKTASK_STOP, userFunc = LogRecordUserServiceImpl.class, optPage = "营销-导购任务")
public RestResponse<Void> stop(Long planId){ public RestResponse<Void> stop(Long planId){
ServiceResponse<QwMomentPlanDTO> resp = this.qwMomentApiService.detail(planId) ; ServiceResponse<QwMomentPlanDTO> resp = this.qwMomentApiService.detail(planId) ;
if(null == resp.getResult()) { if(null == resp.getResult()) {
...@@ -136,7 +155,8 @@ public class QwMomentController { ...@@ -136,7 +155,8 @@ public class QwMomentController {
*/ */
@RequestMapping("plan-list") @RequestMapping("plan-list")
public RestResponse<Page<HaobanQwMomentPlanVO>> planList(@RequestBody PlanListQO qo) { public RestResponse<Page<HaobanQwMomentPlanVO>> planList(@RequestBody PlanListQO qo) {
QwMomentPlanQDTO qdto = new QwMomentPlanQDTO() ; QwMomentPlanQDTO qdto = EntityUtil.changeEntityByJSON(QwMomentPlanQDTO.class,qo) ;
qdto.setCreatorIdList(CreatorUtils.getCreatorIdList(qo.getShowSelfFlag()));
ServiceResponse<Page<QwMomentPlanDTO>> resp = this.qwMomentApiService.planList(qdto) ; ServiceResponse<Page<QwMomentPlanDTO>> resp = this.qwMomentApiService.planList(qdto) ;
Page<HaobanQwMomentPlanVO> retPage = PageHelperUtils.changePageToCurrentPage(resp.getResult(), HaobanQwMomentPlanVO.class); Page<HaobanQwMomentPlanVO> retPage = PageHelperUtils.changePageToCurrentPage(resp.getResult(), HaobanQwMomentPlanVO.class);
return RestResponse.successResult(retPage); return RestResponse.successResult(retPage);
......
...@@ -17,6 +17,8 @@ public class QwMomentPlanQO implements Serializable { ...@@ -17,6 +17,8 @@ public class QwMomentPlanQO implements Serializable {
private static final long serialVersionUID = 67027585759300L; private static final long serialVersionUID = 67027585759300L;
private Long planId ;
/** /**
* 名称 * 名称
*/ */
...@@ -61,6 +63,14 @@ public class QwMomentPlanQO implements Serializable { ...@@ -61,6 +63,14 @@ public class QwMomentPlanQO implements Serializable {
// 选择的导购id列表 // 选择的导购id列表
private List<String> selectClerkIdList ; private List<String> selectClerkIdList ;
public Long getPlanId() {
return planId;
}
public void setPlanId(Long planId) {
this.planId = planId;
}
public List<String> getSelectClerkIdList() { public List<String> getSelectClerkIdList() {
return selectClerkIdList; return selectClerkIdList;
} }
......
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