Commit 3ad36424 by zhangzhendong

Merge branch 'feature-offline-activity' into 'master'

Feature offline activity

See merge request !783
parents 7d8bc0bb 3946a000
package com.gic.haoban.manage.web.controller.offline;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.webapi.reponse.RestResponse;
import com.gic.haoban.manage.web.qo.offline.PageOfflinePreQO;
import com.gic.haoban.manage.web.qo.offline.WriteOffOfflinePreQO;
import com.gic.haoban.manage.web.vo.offline.CountOfflinePreVO;
import com.gic.haoban.manage.web.vo.offline.OfflinePreInfoVO;
import com.gic.marketing.pro.api.dto.offline.CountOfflinePreDTO;
import com.gic.marketing.pro.api.dto.offline.OfflinePreInfoDTO;
import com.gic.marketing.pro.api.qdto.offline.PageOfflinePreQDTO;
import com.gic.marketing.pro.api.qdto.offline.WriteOffOfflinePreQDTO;
import com.gic.marketing.pro.api.service.offline.OfflinePreApiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* 好办小程序-线下预约
*/
@Controller
public class OfflinePreController {
@Autowired
private OfflinePreApiService offlinePreApiService;
/**
* 预约列表
* @param qo 参数
* @return 预约列表
*/
@RequestMapping("/page-offline-pre")
@ResponseBody
public RestResponse<Page<OfflinePreInfoVO>> pageOfflinePre(@RequestBody PageOfflinePreQO qo){
ServiceResponse<Page<OfflinePreInfoDTO>> offlinePreInfoDTO = offlinePreApiService.pageOfflinePre(JSONObject.parseObject(JSONObject.toJSONString(qo), PageOfflinePreQDTO.class));
return JSONObject.parseObject(JSONObject.toJSONString(offlinePreInfoDTO, SerializerFeature.WriteMapNullValue), RestResponse.class);
}
/**
* 获取预约详情
* @param offlinePreId 预约ID
* @param enterpriseId 企业ID
* @return 预约详情
*/
@RequestMapping("/get-offline-pre")
@ResponseBody
public RestResponse<OfflinePreInfoVO> getOfflinePre(Long offlinePreId, String enterpriseId){
ServiceResponse<OfflinePreInfoDTO> offlinePreInfo = offlinePreApiService.getOfflinePre(offlinePreId, enterpriseId);
return JSONObject.parseObject(JSONObject.toJSONString(offlinePreInfo, SerializerFeature.WriteMapNullValue), RestResponse.class);
}
/**
* 核销预约单
* @param qo 入参
* @return
*/
@RequestMapping("/write-off-offline-pre")
@ResponseBody
public RestResponse<Boolean> writeOffOfflinePre(@RequestBody WriteOffOfflinePreQO qo){
ServiceResponse<Boolean> writeOffOfflinePre = offlinePreApiService.writeOffOfflinePre(JSONObject.parseObject(JSONObject.toJSONString(qo), WriteOffOfflinePreQDTO.class));
return JSONObject.parseObject(JSONObject.toJSONString(writeOffOfflinePre, SerializerFeature.WriteMapNullValue), RestResponse.class);
}
/**
* 预约统计
* @param storeId 门店ID
* @param enterpriseId 企业ID
* @return 预约详情
*/
@RequestMapping("/count-offline-pre")
@ResponseBody
public RestResponse<CountOfflinePreVO> countOfflinePre(String storeId, String enterpriseId){
ServiceResponse<CountOfflinePreDTO> countOfflinePre = offlinePreApiService.countOfflinePre(storeId, enterpriseId);
return JSONObject.parseObject(JSONObject.toJSONString(countOfflinePre, SerializerFeature.WriteMapNullValue), RestResponse.class);
}
/**
* 校验是否核销
* @param offlinePreId 预约ID
* @param storeId 门店ID
* @return 预约详情
*/
@RequestMapping("/check-offline-pre-write-off")
@ResponseBody
public RestResponse<Void> checkOfflinePreWriteOff(Long offlinePreId, String storeId){
ServiceResponse<Void> countOfflinePre = offlinePreApiService.checkOfflinePreWriteOff(offlinePreId, storeId);
return JSONObject.parseObject(JSONObject.toJSONString(countOfflinePre, SerializerFeature.WriteMapNullValue), RestResponse.class);
}
}
package com.gic.haoban.manage.web.qo.offline;
import com.gic.commons.web.qo.PageQo;
import java.io.Serializable;
/**
* @description: 这里是描述文字
* @author: 巴弗
* @createDate: 2022/11/22 15:25
*/
public class PageOfflinePreQO extends PageQo implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 会员ID
*/
private String memberId;
/**
* 企业ID
*/
private String enterpriseId;
/**
* type 1:预约中 2:历史预约
*/
private Integer type;
/**
* 门店ID
*/
private String storeId;
/**
* 查询角色 1:会员 2:导购
*/
private Integer role;
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public Integer getRole() {
return role;
}
public void setRole(Integer role) {
this.role = role;
}
}
package com.gic.haoban.manage.web.qo.offline;
import java.io.Serializable;
/**
* @description: 这里是描述文字
* @author: 巴弗
* @createDate: 2022/11/22 16:13
*/
public class WriteOffOfflinePreQO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 活动预约ID
*/
private Long offlinePreId;
/**
* 核销上传图片,英文逗号隔开
*/
private String writeOffImgUrl;
/**
* 核销导购
*/
private String clerkId;
/**
* 核销兑换数量
*/
private Integer writeOffExchangeNum;
/**
* 门店ID
*/
private String storeId;
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public Long getOfflinePreId() {
return offlinePreId;
}
public void setOfflinePreId(Long offlinePreId) {
this.offlinePreId = offlinePreId;
}
public String getWriteOffImgUrl() {
return writeOffImgUrl;
}
public void setWriteOffImgUrl(String writeOffImgUrl) {
this.writeOffImgUrl = writeOffImgUrl;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public Integer getWriteOffExchangeNum() {
return writeOffExchangeNum;
}
public void setWriteOffExchangeNum(Integer writeOffExchangeNum) {
this.writeOffExchangeNum = writeOffExchangeNum;
}
}
package com.gic.haoban.manage.web.vo.offline;
import java.io.Serializable;
/**
* @description: 这里是描述文字
* @author: 巴弗
* @createDate: 2022/12/1 15:41
*/
public class CountOfflinePreVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 今天
*/
private Integer today;
/**
* 近7天
*/
private Integer nearly7Days;
public Integer getToday() {
return today;
}
public void setToday(Integer today) {
this.today = today;
}
public Integer getNearly7Days() {
return nearly7Days;
}
public void setNearly7Days(Integer nearly7Days) {
this.nearly7Days = nearly7Days;
}
}
package com.gic.haoban.manage.web.vo.offline;
import com.gic.marketing.pro.api.dto.offline.RewardDTO;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @description: 预约详情页
* @author: 巴弗
* @createDate: 2022/11/22 15:13
*/
public class OfflinePreInfoVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 活动预约ID
*/
private String offlinePreId;
/**
* 活动名称
*/
private String name;
/**
* 可预约地址 1:门店 2:自定义地址
*/
private Integer preAddressFlag;
/**
* 当pre_address_flag 为门店时这里存store_widget_id;为自定义地址时这里存具体地址
*/
private String preAddress;
/**
* 状态 0:进行中;1: 已完成;2:已过期;3:已取消
*/
private Integer statusFlag;
/**
* 预约时间
*/
private Date preTime;
/**
* 门店ID
*/
private String storeId;
/**
* 门店名称
*/
private String storeName;
/**
* 预兑换数量
*/
private Integer preExchangeNum;
/**
* 预约上传图片,英文逗号隔开
*/
private String preImgUrl;
/**
* 预约核销方式 1:导购核销 2:扫码核销
*/
private Integer writeOffType;
/**
* 核销时间
*/
private Date writeOffTime;
/**
* 引导添加企微开关 0: 关闭 1:开启
*/
private Integer addEnterpriseWechatFlag;
/**
* 导购企微二维码
*/
private String clerkQrCodeUrl;
/**
* 核销链接
*/
private String writeOffUrl;
/**
* 取消时间
*/
private Date cancelTime;
/**
* 修改信息次数
*/
private Integer editNum;
/**
* 证书json
*/
private String certificateContent;
/**
* 奖励信息
*/
private List<RewardDTO> rewardList;
/**
* 会员ID
*/
private String memberId;
/**
* 预约类型1: 服务预约 2:物品回收
*/
private Integer preType;
/**
* 等级名称
*/
private String gradeName;
/**
* 会员名称
*/
private String memberName;
/**
* 会员头像
*/
private String thirdImg;
/**
* 核销导购
*/
private String clerkId;
/**
* 核销导购
*/
private String clerkName;
/**
* 核销上传图片,英文逗号隔开
*/
private String writeOffImgUrl;
/**
* 核销兑换数量
*/
private Integer writeOffExchangeNum;
public Integer getWriteOffExchangeNum() {
return writeOffExchangeNum;
}
public void setWriteOffExchangeNum(Integer writeOffExchangeNum) {
this.writeOffExchangeNum = writeOffExchangeNum;
}
public String getOfflinePreId() {
return offlinePreId;
}
public void setOfflinePreId(String offlinePreId) {
this.offlinePreId = offlinePreId;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Date getPreTime() {
return preTime;
}
public void setPreTime(Date preTime) {
this.preTime = preTime;
}
public String getStoreId() {
return storeId;
}
public void setStoreId(String storeId) {
this.storeId = storeId;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
public Integer getPreExchangeNum() {
return preExchangeNum;
}
public void setPreExchangeNum(Integer preExchangeNum) {
this.preExchangeNum = preExchangeNum;
}
public String getPreImgUrl() {
return preImgUrl;
}
public void setPreImgUrl(String preImgUrl) {
this.preImgUrl = preImgUrl;
}
public Integer getWriteOffType() {
return writeOffType;
}
public void setWriteOffType(Integer writeOffType) {
this.writeOffType = writeOffType;
}
public String getClerkQrCodeUrl() {
return clerkQrCodeUrl;
}
public void setClerkQrCodeUrl(String clerkQrCodeUrl) {
this.clerkQrCodeUrl = clerkQrCodeUrl;
}
public String getWriteOffUrl() {
return writeOffUrl;
}
public void setWriteOffUrl(String writeOffUrl) {
this.writeOffUrl = writeOffUrl;
}
public Integer getAddEnterpriseWechatFlag() {
return addEnterpriseWechatFlag;
}
public void setAddEnterpriseWechatFlag(Integer addEnterpriseWechatFlag) {
this.addEnterpriseWechatFlag = addEnterpriseWechatFlag;
}
public Date getCancelTime() {
return cancelTime;
}
public void setCancelTime(Date cancelTime) {
this.cancelTime = cancelTime;
}
public Integer getEditNum() {
return editNum;
}
public void setEditNum(Integer editNum) {
this.editNum = editNum;
}
public String getCertificateContent() {
return certificateContent;
}
public void setCertificateContent(String certificateContent) {
this.certificateContent = certificateContent;
}
public List<RewardDTO> getRewardList() {
return rewardList;
}
public void setRewardList(List<RewardDTO> rewardList) {
this.rewardList = rewardList;
}
public Date getWriteOffTime() {
return writeOffTime;
}
public void setWriteOffTime(Date writeOffTime) {
this.writeOffTime = writeOffTime;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getPreAddressFlag() {
return preAddressFlag;
}
public void setPreAddressFlag(Integer preAddressFlag) {
this.preAddressFlag = preAddressFlag;
}
public String getPreAddress() {
return preAddress;
}
public void setPreAddress(String preAddress) {
this.preAddress = preAddress;
}
public String getMemberId() {
return memberId;
}
public void setMemberId(String memberId) {
this.memberId = memberId;
}
public Integer getPreType() {
return preType;
}
public void setPreType(Integer preType) {
this.preType = preType;
}
public String getGradeName() {
return gradeName;
}
public void setGradeName(String gradeName) {
this.gradeName = gradeName;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getThirdImg() {
return thirdImg;
}
public void setThirdImg(String thirdImg) {
this.thirdImg = thirdImg;
}
public String getClerkId() {
return clerkId;
}
public void setClerkId(String clerkId) {
this.clerkId = clerkId;
}
public String getClerkName() {
return clerkName;
}
public void setClerkName(String clerkName) {
this.clerkName = clerkName;
}
public String getWriteOffImgUrl() {
return writeOffImgUrl;
}
public void setWriteOffImgUrl(String writeOffImgUrl) {
this.writeOffImgUrl = writeOffImgUrl;
}
}
......@@ -111,6 +111,8 @@
timeout="10000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanRoleApiService" id="haobanRoleApiService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.role.HaobanMenuApiService" id="haobanMenuApiService"/>
<dubbo:reference interface="com.gic.marketing.pro.api.service.offline.OfflinePreApiService" id="offlinePreApiService" timeout="10000" retries="0" check="false"/>
<dubbo:reference interface="com.gic.enterprise.api.service.AccountService" id="accountService"/>
......
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