| | |
| | | package com.doumee.core.utils; |
| | | |
| | | import com.doumee.dao.business.model.Areas; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | | import cn.binarywang.wx.miniapp.bean.WxMaCodeLineColor; |
| | | import com.doumee.core.wx.WxMiniConfig; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.InputStream; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLDecoder; |
| | | import java.util.*; |
| | | import java.util.regex.Matcher; |
| | | import java.util.regex.Pattern; |
| | | |
| | | @Slf4j |
| | | public class Constants { |
| | | |
| | | public static final String[] ALL_SPELL_LIST_FIRST = new String[]{"A", "B", "C", "D", "E", "F", "G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}; |
| | |
| | | public static final int FOUR = 4 ; |
| | | public static final String LABELS_IMG ="LABELS_IMG" ; |
| | | public static final String ORDERSET_REG_INTEGRAL_REWARD_STATUS = "ORDERSET_REG_INTEGRAL_REWARD_STATUS"; |
| | | public static final String ORDERSET_SHARE_INTEGRAL_REWARD_STATUS="ORDERSET_SHARE_INTEGRAL_REWARD_STATUS"; |
| | | public static final String ORDERSET_REG_COUPON_REWARD_STATUS="ORDERSET_REG_COUPON_REWARD_STATUS"; |
| | | public static final String ORDERSET_SHARE_COUPON_REWARD_STATUS="ORDERSET_SHARE_COUPON_REWARD_STATUS"; |
| | | public static final String ORDERSET_REG_INTEGRAL_REWARD="ORDERSET_REG_INTEGRAL_REWARD"; |
| | | public static final String ORDERSET_SHARE_INTEGRAL_REWARD="ORDERSET_SHARE_INTEGRAL_REWARD"; |
| | | public static final String ORDERSET_REG_COUPON_REWARD_LIST="ORDERSET_REG_COUPON_REWARD_LIST"; |
| | | public static final String ORDERSET_SHARE_COUPON_REWARD_LIST="ORDERSET_SHARE_COUPON_REWARD_LIST"; |
| | | public static final String ORDERSET_RETURN_MEMBER_INTEGRAL_STATUS="ORDERSET_RETURN_MEMBER_INTEGRAL_STATUS"; |
| | | public static final String ORDERSET_RETURN_SHOP_INTEGRAL_STATUS="ORDERSET_RETURN_SHOP_INTEGRAL_STATUS"; |
| | | public static final String ORDERSET_RETURN_MEMBER_INTEGRAL="ORDERSET_RETURN_MEMBER_INTEGRAL"; |
| | | public static final String ORDERSET_RETURN_SHOP_INTEGRAL="ORDERSET_RETURN_SHOP_INTEGRAL"; |
| | | public static final String ORDERSET_SHARE_INTEGRAL_REWARD_STATUS="ORDERSET_SHARE_INTEGRAL_REWARD_STATUS"; |
| | | public static final String ORDERSET_REG_COUPON_REWARD_STATUS="ORDERSET_REG_COUPON_REWARD_STATUS"; |
| | | public static final String ORDERSET_SHARE_COUPON_REWARD_STATUS="ORDERSET_SHARE_COUPON_REWARD_STATUS"; |
| | | public static final String ORDERSET_REG_INTEGRAL_REWARD="ORDERSET_REG_INTEGRAL_REWARD"; |
| | | public static final String ORDERSET_SHARE_INTEGRAL_REWARD="ORDERSET_SHARE_INTEGRAL_REWARD"; |
| | | public static final String ORDERSET_REG_COUPON_REWARD_LIST="ORDERSET_REG_COUPON_REWARD_LIST"; |
| | | public static final String ORDERSET_SHARE_COUPON_REWARD_LIST="ORDERSET_SHARE_COUPON_REWARD_LIST"; |
| | | public static final String ORDERSET_RETURN_MEMBER_INTEGRAL_STATUS="ORDERSET_RETURN_MEMBER_INTEGRAL_STATUS"; |
| | | public static final String ORDERSET_RETURN_SHOP_INTEGRAL_STATUS="ORDERSET_RETURN_SHOP_INTEGRAL_STATUS"; |
| | | public static final String ORDERSET_RETURN_MEMBER_INTEGRAL="ORDERSET_RETURN_MEMBER_INTEGRAL"; |
| | | public static final String ORDERSET_RETURN_SHOP_INTEGRAL="ORDERSET_RETURN_SHOP_INTEGRAL"; |
| | | |
| | | public static final String INTERALSET_DEDUCTINTEGRALLIMIT="INTERALSET_DEDUCTINTEGRALLIMIT"; |
| | | public static final String INTERALSET_MININTEGRALPRICELIMIT="INTERALSET_MININTEGRALPRICELIMIT"; |
| | | public static final String INTERALSET_INTEGRALINVALIDTYPE="INTERALSET_INTEGRALINVALIDTYPE"; |
| | | public static final String INTERALSET_INTEGRALINVALIDCIRCLE="INTERALSET_INTEGRALINVALIDCIRCLE"; |
| | | public static final String INTERALSET_INTEGRALRULEINFO="INTERALSET_INTEGRALRULEINFO"; |
| | | public static final String INTERALSET_DEDUCTINTEGRALLIMIT="INTERALSET_DEDUCTINTEGRALLIMIT"; |
| | | public static final String INTERALSET_MININTEGRALPRICELIMIT="INTERALSET_MININTEGRALPRICELIMIT"; |
| | | public static final String INTERALSET_INTEGRALINVALIDTYPE="INTERALSET_INTEGRALINVALIDTYPE"; |
| | | public static final String INTERALSET_INTEGRALINVALIDCIRCLE="INTERALSET_INTEGRALINVALIDCIRCLE"; |
| | | public static final String INTERALSET_INTEGRALRULEINFO="INTERALSET_INTEGRALRULEINFO"; |
| | | |
| | | public static final String ORDERSET_TOTAL_RATE="ORDERSET_TOTAL_RATE"; |
| | | public static final String ORDERSET_TOTAL_RATE="ORDERSET_TOTAL_RATE"; |
| | | public static final String ORDER_SET ="ORDER_SET" ; |
| | | public static final String INTEGRAL_SET ="INTEGRAL_SET" ; |
| | | |
| | | public static final String MEMBER_PREFIX = "member_"; |
| | | public static final String SHOP_PREFIX = "shop_"; |
| | | public static final String PRIVACY_AGREEMENT = "PRIVACY_AGREEMENT"; |
| | | public static final String ABOUT_US = "ABOUT_US"; |
| | | public static final String SERVER_INTRODUCE = "SERVER_INTRODUCE"; |
| | | public static final String SERVER_PHONE ="SERVER_PHONE" ; |
| | | public static final String SHOP_INTEGRAL_BG ="SHOP_INTEGRAL_BG" ; |
| | | public static final String USER_INVITE_BG ="USER_INVITE_BG" ; |
| | | public static final String CENTER_INVITE_BG ="CENTER_INVITE_BG" ; |
| | | public static final String USER_SHARE_BG ="USER_SHARE_BG" ; |
| | | |
| | | |
| | | |
| | | /** |
| | | * mq tag |
| | | */ |
| | | public interface MQ_TAG{ |
| | | String order = "order"; |
| | | String order = "order"; |
| | | String activity = "activity"; |
| | | } |
| | | public interface MQ_KEY{ |
| | | String activity_looknum = "looknum"; |
| | | String activity_signup = "signup"; |
| | | String activity_looknum = "looknum"; |
| | | String activity_signup = "signup"; |
| | | } |
| | | public static final String SUCCESS_STR = "SUCCESS" ; |
| | | |
| | |
| | | public static final String POST_COMMENTS="POST_COMMENTS";//发布评论 |
| | | public static final String COFFEE_MAP_CONSUME="COFFEE_MAP_CONSUME";//咖啡地图消费 |
| | | |
| | | //(发现) |
| | | //(发现) |
| | | public static final String ACTIVITY_FILE = "ACTIVITY"; |
| | | //轮播) |
| | | //轮播) |
| | | public static final String BANNER_FILE = "BANNER"; |
| | | //(商品) |
| | | //(商品) |
| | | public static final String GOODS_FILE = "GOODS"; |
| | | //(用户) |
| | | //(用户) |
| | | public static final String MEMBER_FILE = "MEMBER"; |
| | | //商家 |
| | | //商家 |
| | | public static final String SHOP_FILE = "SHOP"; |
| | | //(系统配置等) |
| | | //(系统配置等) |
| | | public static final String SYSTEM_FILE = "SYSTEM"; |
| | | //(评论) |
| | | //(评论) |
| | | public static final String COMMENT_FILE = "COMMENT"; |
| | | //其他) |
| | | //其他) |
| | | public static final String OTHER_FILE = "OTHER"; |
| | | // |
| | | // |
| | | public static final String AFTERSALE_FILE = "AFTERSALE"; |
| | | |
| | | public static final String COFFEE_ARTICLE_BACKGROUND = "COFFEE_ARTICLE_BACKGROUND"; |
| | | |
| | | public static final String TRANSFER_FILE = "TRANSFER_FILE"; |
| | | |
| | | public static final String INVITE_RULE = "INVITE_RULE"; |
| | | |
| | | public static final String INVITE_IMG = "INVITE_IMG"; |
| | | |
| | | public static final String SHARES_FILE = "SHARES_FILE"; |
| | | |
| | | public static final String INVITE_IMG_URL = "INVITE_IMG_URL"; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public interface RedisKeys { |
| | |
| | | AFTERSALE_APPLY(8, "申请售后补充说明附件", "申请售后补充说明附件"), |
| | | AFTERSALE_KD(9, "申请售后邮寄说明附件", "申请售后邮寄说明附件"), |
| | | TRANSFER_FILE(10, "打款凭证", "打款凭证"), |
| | | COMMENT_FILE(11, "评论附件", "评论附件"), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | |
| | | DONE(3, "交易完成", "交易完成"), |
| | | CLOSE(4, "已关闭", "已关闭"), |
| | | PART_DONE(5, "部分发货", "部分发货"), |
| | | |
| | | |
| | | REFUND(6, "订单退款", "订单退款"), |
| | | ; |
| | | // 成员变量 |
| | | private String name; |
| | |
| | | } |
| | | |
| | | public enum ShareType{ |
| | | // 0活动1探店2咨询3店铺 4商品5分享邀请海报 |
| | | // 0活动1探店2咨询3店铺 4商品5分享邀请海报 |
| | | SHARE_ACTIVITY_ACTIVITY(0,"活动","活动"), |
| | | SHARE_ACTIVITY_VISITSHOP(1,"探店","咨询"), |
| | | SHARE_ACTIVITY_NEW(2,"咨询","咨询"), |
| | |
| | | |
| | | |
| | | |
| | | //对象类型 0商城订单 1积分流水 2优惠券发放 3过期提醒 4社区消息 |
| | | public enum NoticeType{ |
| | | NOTICE_ORDER_SEND(10,"商城订单",0,0,"订单已发货","您购买的商品订单:{param} 已发货"), |
| | | NOTICE_ORDER_WRITE_OFF(11,"商城订单",0,0,"订单已核销","您购买的商品订单:{param} 已核销"), |
| | | NOTICE_ORDER_REFUND(12,"商城订单",0,0,"订单已退款","您购买的商品订单:{param} 已退款"), |
| | | |
| | | // 0订单通知 1系统消息 2互动消息 3优惠券提醒 4官方客服 5活动推荐 6我的关注 |
| | | INTEGRAL_INVITE(20,"积分流水",1,0,"积分变动通知","邀请好友成功,获得{param}积分"), |
| | | |
| | | NOTICE_ORDER(0,"0订单通知","0订单通知"), |
| | | NOTICE_SYSTEM(1,"1系统消息","1系统消息"), |
| | | NOTICE_INTERACTION(2,"互动消息","互动消息"), |
| | | NOTICE_MEMBER_COUPON(3,"优惠券提醒","优惠券提醒"), |
| | | NOTICE_ACTIVITY(5,"活动推荐","活动推荐"), |
| | | NOTICE_MEMBER_FOLLOW(6,"我的关注","我的关注") |
| | | COUPON(30,"优惠券发放",2,0,"优惠券发放","已获得优惠券,{param}"), |
| | | |
| | | |
| | | EXPIRE_INTEGRAL(40,"积分过期提醒",3,0,"积分即将过期","您有{param}积分即将过期"), |
| | | EXPIRE_COUPON(41,"优惠券发放",3,0,"优惠券发放","您有{param}张优惠券将在{param2}过期"), |
| | | |
| | | COMMENT(50,"社区消息",4,1,"收到评论","{param}回复了您的评论"), |
| | | |
| | | ; |
| | | |
| | | private Integer key; |
| | | private String info; //消息名称 |
| | | private Integer objType; //对象类型 0商城订单 1积分流水 2优惠券发放 3过期提醒 4社区消息 |
| | | private Integer noticeType; //消息类型 0=系统消息;1=社区消息 |
| | | private String title;//标题 |
| | | private String content; //提示文案 |
| | | |
| | | private String type; |
| | | |
| | | private String content; |
| | | |
| | | NoticeType(Integer key, String type, String content) { |
| | | NoticeType(Integer key,String info, Integer objType, Integer noticeType,String title,String content) { |
| | | this.key = key; |
| | | this.type = type; |
| | | this.objType = objType; |
| | | this.noticeType = noticeType; |
| | | this.info = info; |
| | | this.title = title; |
| | | this.content = content; |
| | | } |
| | | |
| | | |
| | | public Integer getKey() { |
| | | return key; |
| | | } |
| | | |
| | | public void setKey(Integer key) { |
| | | this.key = key; |
| | | } |
| | | |
| | | |
| | | public Integer getObjType() { |
| | | return objType; |
| | | } |
| | | |
| | | public void setObjType(Integer objType) { |
| | | this.objType = objType; |
| | | } |
| | | |
| | | |
| | | public Integer getNoticeType() { |
| | | return noticeType; |
| | | } |
| | | |
| | | public void setNoticeType(Integer noticeType) { |
| | | this.noticeType = noticeType; |
| | | } |
| | | |
| | | |
| | | public String getInfo() { |
| | | return info; |
| | | } |
| | | |
| | | public void setInfo(String info) { |
| | | this.info = info; |
| | | } |
| | | |
| | | |
| | | public String getContent() { |
| | | return content; |
| | | } |
| | | |
| | | public void setContent(String content) { |
| | | this.content = content; |
| | | } |
| | | |
| | | |
| | | public String getTitle() { |
| | | return title; |
| | | } |
| | | |
| | | public void setTitle(String title) { |
| | | this.title = title; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public enum IntegralObjType { |
| | | REGISTER(0, "注册积分奖励", "注册成功,获得${param}积分",0,0), |
| | | INVITENEWUSER(3, "邀请好友得积分", "推荐好友${param}成功,获得${param1}积分",0,0), |
| | | INVITENEWUSER(3, "邀请好友得积分", "推荐好友${param1}成功,获得${param}积分",0,0), |
| | | SYSTEM_RECHARGE(12,"积分发放","平台奖励,获得${param}积分",0,0), |
| | | SYSTEM_DEDUCT(13,"积分扣除","平台扣减,消耗${param}积分",0,0), |
| | | MEMBER_ORDER_CANCEL(14,"取消订单退回","交易退款退回,获得${param}积分",0,0), |
| | | MEMBER_ORDER_REFUND(28,"订单退款","订单退款,返还订单消耗${param}积分",0,0), |
| | | MEMBER_ORDER(9,"下单抵扣","消费抵扣,消耗${param}积分",1,0), |
| | | ORDER_DONATE(15,"消费返积分","购物成功,获得${param}积分",0,0), |
| | | SHOP_YEAR_SETTLEMENT(18,"积分过期","积分过期,消耗${param}积分",0,0), |
| | | MEMBER_ORDER_REFUND_RETURN(27,"订单退款","订单退款,扣除订单返还${param}积分",0,0), |
| | | |
| | | |
| | | ORDER_DONE_AMOUNT(16,"订单结算","${param}订单结算成功,获得¥${param1}元",0,1),//${param}订单编号,${param1}金额 |
| | | WITHDRAW_APPLY(17,"余额提现","余额提现已提交,消耗¥${param}元",0,1), |
| | | WITHDRAW_APPLY_BACK(19,"提现退回","余额提现失败,获得¥${param}元",0,1), |
| | | ORDER_DONE_AMOUNT_BACK(20,"订单结算退回","${param}订单结算退回,消耗¥${param1}元",0,1),//${param}订单编号,${param1}金额 |
| | | ORDER_DONE_AMOUNT(16,"订单结算","${param1}订单结算成功,获得¥${param}",0,1),//${param}订单编号,${param1}金额 |
| | | WITHDRAW_APPLY(17,"余额提现","余额提现已提交,消耗¥${param}",0,1), |
| | | WITHDRAW_APPLY_BACK(19,"提现退回","余额提现失败,获得¥${param}",0,1), |
| | | SHOP_ORDER_REFUND_CASH(25,"订单结算退回","${param1}订单退款,扣除结算金额¥${param}",0,0), |
| | | |
| | | |
| | | SHOP_ORDER(21,"消费返积分","会员${param}交易成功,获得${param1}积分",0,0),//${param}昵称-手机号 |
| | | SHOP_ORDER_CANCEL(22,"订单取消退回","订单取消退回,退回${param}积分",0,0), |
| | | SHOP_ORDER(21,"消费返积分","会员${param1}交易成功,获得${param}积分",0,0),//${param}昵称-手机号 |
| | | // SHOP_ORDER_CANCEL(22,"订单取消退回","订单取消退回,退回${param}积分",0,0), |
| | | SHOP_ORDER_REFUND_INTEGRAL(26,"订单退款","订单退款,扣除订单返还${param}积分",0,0), |
| | | SHOP_SYSTEM_RECHARGE(23,"积分发放","平台奖励,获得${param}积分",0,0), |
| | | SHOP_SYSTEM_DEDUCT(24,"积分扣除","平台扣减,消耗${param}积分",0,0), |
| | | |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | public enum WxNotice { |
| | | |
| | | GOODSORDER_SEND(0,"您购买的商品【{param}】已发货","/","02BlSaqsSje7IjsWy0K7HdH7ArpOsEHD14OQU2Mk2Cs"), |
| | | GOODSORDER_WRITEOFF(1,"您购买的商品【{param}】已核销","/","A_-0NgHwX5a6Dlst64rqcDtcz_fGILwl3HTpN1rf7GE"), |
| | | GOODSORDER_REFUND(2,"您购买的商品【{param}】已退款,退款金额【¥{param2}】","/","yGwMHrXM3Qd55hdSeaKY9dLb-kfgE2Vs-8iK9kQaveI"); |
| | | |
| | | WxNotice(int i, String s, String s1,String s2) { |
| | | this.type = i; |
| | | this.noticeInfo = s; |
| | | this.jumpUrl = s1; |
| | | this.tempId = s2; |
| | | } |
| | | |
| | | |
| | | private int type; |
| | | private String noticeInfo; //通知信息 |
| | | private String jumpUrl;//跳转路径 |
| | | private String tempId;//跳转路径 |
| | | |
| | | |
| | | public int getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(int type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getNoticeInfo() { |
| | | return noticeInfo; |
| | | } |
| | | |
| | | public void setNoticeInfo(String noticeInfo) { |
| | | this.noticeInfo = noticeInfo; |
| | | } |
| | | |
| | | public String getJumpUrl() { |
| | | return jumpUrl; |
| | | } |
| | | |
| | | public void setJumpUrl(String jumpUrl) { |
| | | this.jumpUrl = jumpUrl; |
| | | } |
| | | public String getTempId() { |
| | | return tempId; |
| | | } |
| | | public void setTempId(String tempId) { |
| | | this.tempId = tempId; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | public enum UserActionType { |
| | | CHANGE_SHOP(0, "经销商更换","由【${param1}】于【${param2}】,进行【经销商更换】" ), |
| | | CHANGE_SALETYPE(1, "经销商更换销售模式","由【${param1}】于【${param2}】,进行【销售模式变更】" ), |
| | | CHANGE_ORDER_KD(2, "订单快递更换","${param1}" ), |
| | | ; |
| | | |
| | | // 成员变量 |
| | |
| | | this.info = info; |
| | | } |
| | | } |
| | | |
| | | |
| | | public static InputStream generateWxMiniImgStream(String scene, String page, boolean isUsePage) { |
| | | //生成图片上传OSS |
| | | Map<String,Object> body = new HashMap<>(); |
| | | // 场景码,与前端约定,最终是需要前端解析 |
| | | body.put("scene", scene); |
| | | // 正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版。 |
| | | String env_version = "develop"; |
| | | body.put("env_version", env_version); |
| | | if(isUsePage){ |
| | | body.put("page", page); |
| | | } |
| | | //body.put("page", "pages/index/index"); |
| | | // 透明,根据你的场景自行设置body参数 |
| | | body.put("is_hyaline", true); |
| | | try { |
| | | WxMaCodeLineColor codeLineColor = new WxMaCodeLineColor("0","0","0"); |
| | | byte[] bytes = WxMiniConfig.wxMaService.getQrcodeService().createWxaCodeUnlimitBytes |
| | | (scene,null,false,env_version,300,false,codeLineColor,false); |
| | | if (bytes !=null) { |
| | | InputStream inputStream = new ByteArrayInputStream(bytes); |
| | | /* ByteArrayOutputStream baos = new ByteArrayOutputStream(); |
| | | byte[] buffer = new byte[1024]; |
| | | int len = -1; |
| | | while ((len = inputStream.read(buffer)) != -1) { |
| | | baos.write(buffer, 0, len); |
| | | } |
| | | System.out.println("data:mediatype;base64," + Base64.getEncoder().encodeToString(baos.toByteArray()));*/ |
| | | log.error("生成小程序码成功:============"+inputStream.available()); |
| | | return inputStream; |
| | | }else{ |
| | | log.error("生成小程序码失败:============"); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.error("生成小程序码失败:============"+e.getMessage()); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | public static Integer getInviteCode(String inviteStr){ |
| | | if(StringUtils.isNotBlank(inviteStr)&&inviteStr.startsWith("m_")){ |
| | | return Integer.valueOf(inviteStr.replace("m_","")); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static String getBankInfo(String bankName, String bankAccount){ |
| | | return bankName + "("+ |
| | | bankAccount. |
| | | replaceAll("^.*(.{4})$", "$1") |
| | | + ")"; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |