diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java index aa659df..b834db9 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/MallUserInfo.java @@ -1,6 +1,8 @@ package com.iformall.domain.po; +import com.iformall.enums.EnumUserAdmin; import com.iformall.enums.EnumUserWechat; +import com.iformall.utils.Constant; import lombok.Data; import org.apache.commons.lang3.StringUtils; @@ -21,7 +23,7 @@ public class MallUserInfo implements Serializable { protected Long id; @Transient - protected List ids; + protected List ids; @Transient protected String sortColumns; @@ -57,6 +59,9 @@ public class MallUserInfo implements Serializable { @Transient private Integer withWechat; + @Transient + private Integer withWechatForQuery; + @Transient private Long roleId; @@ -75,16 +80,44 @@ public class MallUserInfo implements Serializable { @Transient private String captcha; - @io.swagger.annotations.ApiModelProperty(value="1合同审批 2账单审批",name="flowPermission") - private String flowPermission; + @io.swagger.annotations.ApiModelProperty(value = "邮箱", name = "email") + private String email; + + public Integer getWithWechatNotFormat() { + return this.withWechat; + } + + public Integer getWithWechat() { + if(StringUtils.isNotBlank(this.webOpenId)) { + this.withWechat = EnumUserWechat.HAD.getCode(); + } else { + this.withWechat = EnumUserWechat.NO.getCode(); + } + return this.withWechat; + } - public Integer getWithWechat() { + public void protectInfos() { + if(StringUtils.isNotBlank(this.password)) { + setPassword("保密"); + } + if(StringUtils.isNotBlank(this.bopenId)) { + setBopenId("保密"); + } if(StringUtils.isNotBlank(this.webOpenId)) { - this.withWechat = EnumUserWechat.HAD.getCode(); - } else { - this.withWechat = EnumUserWechat.NO.getCode(); + setWebOpenId("保密"); + } + } + + public boolean isFmSuperAdmin() { + if(StringUtils.isBlank(tenantId)) { + return false; + } + if(tenantId.equalsIgnoreCase(Constant.FM_SYS_ADMIN)) { + if(id.equals(Constant.SUPER_ADMIN) || isAdmin.equals(EnumUserAdmin.ADMIN.getCode())) { + return true; + } } - return this.withWechat; + return false; } public static enum Field diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxAppinfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxAppinfo.java index 65ce9ad..d2c0abd 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxAppinfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxAppinfo.java @@ -51,96 +51,6 @@ public class WxAppinfo implements Serializable { @io.swagger.annotations.ApiModelProperty(value="支付ID,参看wx_pay_account_bill",name="payBillId") private Long payBillId; - public Long getPayBillId() { - return payBillId; - } - - public void setPayBillId(Long payBillId) { - this.payBillId = payBillId; - } - - public String getTenantId() { - return tenantId; - } - public void setTenantId(String _tenantId) { - tenantId = _tenantId; - } - public String getAppId() { - return appId; - } - public void setAppId(String _appId) { - appId = _appId; - } - public String getParentAppId() { - return parentAppId; - } - - public void setParentAppId(String parentAppId) { - this.parentAppId = parentAppId; - } - public String getName() { - return name; - } - public void setName(String _name) { - name = _name; - } - public String getSecret() { - return secret; - } - public void setSecret(String _secret) { - secret = _secret; - } - public String getToken() { - return token; - } - public void setToken(String _token) { - token = _token; - } - public String getAesKey() { - return aesKey; - } - public void setAesKey(String _aesKey) { - aesKey = _aesKey; - } - public String getMsgDataFormat() { - return msgDataFormat; - } - public void setMsgDataFormat(String _msgDataFormat) { - msgDataFormat = _msgDataFormat; - } - public String getAccessToken() { - return accessToken; - } - public void setAccessToken(String _accessToken) { - accessToken = _accessToken; - } - public Date getLastTokenTime() { - return lastTokenTime; - } - public void setLastTokenTime(Date _lastTokenTime) { - lastTokenTime = _lastTokenTime; - } - public Integer getExpiresIn() { - return expiresIn; - } - public void setExpiresIn(Integer _expiresIn) { - expiresIn = _expiresIn; - } - public Long getPayId() { - return payId; - } - public void setPayId(Long _payId) { - payId = _payId; - } - - public Integer getType() { - return type; - } - - public void setType(Integer type) { - this.type = type; - } - public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java index 7d1630e..43307bc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUser.java @@ -52,7 +52,7 @@ public class WxCUser implements Serializable { private String countryCode; @io.swagger.annotations.ApiModelProperty(value="用户注册IP",name="registerIp") private String registerIp; - @io.swagger.annotations.ApiModelProperty(value="",name="verifyCodePhone") + @io.swagger.annotations.ApiModelProperty(value="验证码手机",name="verifyCodePhone") private String verifyCodePhone; @io.swagger.annotations.ApiModelProperty(value="注册时记录用户扫码渠道,如朋友圈广告",name="qrcodeSource") private String qrcodeSource; @@ -66,6 +66,8 @@ public class WxCUser implements Serializable { private Integer score; @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") private Date updateDate; + @io.swagger.annotations.ApiModelProperty(value="上次活跃时间",name="activeTime") + private Date activeTime; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") private Date createDate; @io.swagger.annotations.ApiModelProperty(value="小程序的appId",name="appId") @@ -108,12 +110,15 @@ public class WxCUser implements Serializable { @io.swagger.annotations.ApiModelProperty(value="关注订阅号Scene",name="subsSubscribeScene") private String subsSubscribeScene; + @io.swagger.annotations.ApiModelProperty(value="积分",name="credit") + private Integer credit; - //渠道名称 @Transient + @io.swagger.annotations.ApiModelProperty(value="渠道名称",name="channelName") private String channelName; - //渠道描述 + @Transient + @io.swagger.annotations.ApiModelProperty(value="渠道描述",name="sceneDescription") protected String sceneDescription; @Transient @@ -125,6 +130,14 @@ public class WxCUser implements Serializable { @Transient protected Date endDate; + @Transient + @io.swagger.annotations.ApiModelProperty(value="操作人类型 枚举:EnumUserType",name="operatorType") + private Integer operatorType; + + @Transient + @io.swagger.annotations.ApiModelProperty(value="操作人ID",name="operatorId") + private Long operatorId; + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") @@ -158,6 +171,7 @@ public class WxCUser implements Serializable { ,ExtraInfo_ASC("`extra_info` ASC"),ExtraInfo_DESC("`extra_info` DESC") ,IsSubscribe_ASC("`is_subscribe` ASC"),IsSubscribe_DESC("`is_subscribe` DESC") ,Credit_ASC("`credit` ASC"),Credit_DESC("`credit` DESC") + ,ActiveTime_ASC("`active_time` ASC"),ActiveTime_DESC("`active_time` DESC") ; private String value; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java b/mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java index 7146e63..df8eece 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxPayAccount.java @@ -35,9 +35,9 @@ public class WxPayAccount implements Serializable { private String certPath; @io.swagger.annotations.ApiModelProperty(value="商户模式-0:普通商户模式1:服务商模式",name="type") private Integer type; - @io.swagger.annotations.ApiModelProperty(value="0:未开启分账1:开启分账",name="type") + @io.swagger.annotations.ApiModelProperty(value="是否开启分账(0:未开启分账1:开启分账)",name="type") private Integer share; - @io.swagger.annotations.ApiModelProperty(value="手续费",name="rate") + @io.swagger.annotations.ApiModelProperty(value="手续费(万分之几,默认60)",name="rate") private Integer rate; public String getPayNotifyUrl() { diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java b/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java index 5dcd5f2..ebe5af4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java @@ -26,8 +26,10 @@ public class WxTemplateMsg implements Serializable { private String tenantId; @io.swagger.annotations.ApiModelProperty(value="模板ID",name="templateId") private String templateId; - @io.swagger.annotations.ApiModelProperty(value="模板类型1:核销成功消息,2:核销失败消息",name="type") + @io.swagger.annotations.ApiModelProperty(value="模板类型1:核销成功消息,2:核销失败消息, 101:公众号审核结果消息, 102:公众号卡券核销消息",name="type") private Integer type; + @io.swagger.annotations.ApiModelProperty(value="自定义参数",name="customParam") + private String customParam; @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") private Date createDate; @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumUserAdmin.java b/mallinkService/src/main/java/com/iformall/enums/EnumUserAdmin.java new file mode 100644 index 0000000..e55dfab --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumUserAdmin.java @@ -0,0 +1,38 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumUserAdmin { + + // 0-不是超管 1是超管 + + Normal(0, "不是超管"), + ADMIN(1, "超管") + ; + + public static EnumUserAdmin getEnum(Integer code) { + for (EnumUserAdmin value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumUserAdmin(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxAppinfoService.java b/mallinkService/src/main/java/com/iformall/service/WxAppinfoService.java index e65a3cb..80f6ec6 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxAppinfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxAppinfoService.java @@ -3,8 +3,7 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxAppinfo; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import java.util.List; public interface WxAppinfoService { @@ -17,6 +16,14 @@ public interface WxAppinfoService { * @return */ PageInfo listAsPage(WxAppinfo record, Integer pageIndex, Integer pageSize); + + /** + * 根据实体查询分页列表 + * + * @param record + * @return + */ + List getList(WxAppinfo record); /** * 根据Id获得实体 @@ -54,18 +61,4 @@ public interface WxAppinfoService { */ void deleteById(Long id); - - /** - * 更新accessToken - * @param appId - */ - void ctokenUpdate(String appId); - - /** - * 位置码/导购码生成 - */ - void exportQrcode(HttpServletRequest request, HttpServletResponse response, - String appId, int type, String pageUrl, String sceneParam, - int withText, String text1, String text2); - } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java index d312fce..a4921df 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java @@ -2,15 +2,11 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; -import com.iformall.common.ResultData; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.vo.MallUserInfoVo; -import com.iformall.exception.MallinkException; import com.iformall.mapper.MallUserInfoMapper; import com.iformall.service.MallUserInfoService; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -82,9 +78,6 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); final IdWorker idWorker = IdWorker.get(); record.setId(idWorker.nextId()); - if(StringUtils.isBlank(record.getFlowPermission())){ - record.setFlowPermission("[]"); - } mallUserInfoMapper.insertSelective(record); } else { mallUserInfoMapper.updateByPrimaryKeySelective(record); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAppinfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAppinfoServiceImpl.java index 4f542a1..c303575 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAppinfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAppinfoServiceImpl.java @@ -1,34 +1,16 @@ package com.iformall.service.impl; -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; -import cn.binarywang.wx.miniapp.bean.WxMaCodeLineColor; -import cn.binarywang.wx.miniapp.config.WxMaInMemoryConfig; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; -import com.iformall.common.ErrorCode; import com.iformall.domain.po.WxAppinfo; import com.iformall.enums.EnumAppType; -import com.iformall.exception.MallinkException; import com.iformall.mapper.WxAppinfoMapper; import com.iformall.service.WxAppinfoService; -import com.iformall.utils.Constant; -import com.iformall.utils.QRCodeUtils; -import me.chanjar.weixin.common.error.WxErrorException; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.iformall.common.IdWorker; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.Date; import java.util.List; @Service @@ -61,6 +43,11 @@ public class WxAppinfoServiceImpl implements WxAppinfoService { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxAppinfoMapper.findList(record)); } + @Override + public List getList(WxAppinfo record) { + return wxAppinfoMapper.findList(record); + } + @Override public WxAppinfo getById(Long id) { return wxAppinfoMapper.selectByPrimaryKey(id); @@ -82,162 +69,4 @@ public class WxAppinfoServiceImpl implements WxAppinfoService { public void deleteById(Long id) { wxAppinfoMapper.deleteByPrimaryKey(id); } - - - /** - * 租户c端小程序更新token - * @param tenantId - */ - @Override - public void ctokenUpdate(String tenantId) { - WxAppinfo appQ = new WxAppinfo(); - appQ.setTenantId(tenantId); - appQ.setType(EnumAppType.C.getCode()); - List appList = wxAppinfoMapper.findList(appQ); - if (appList.size() <= 0) { - return; - } - WxAppinfo appinfo = appList.get(0); - // get access_token - WxMaInMemoryConfig config = new WxMaInMemoryConfig(); - config.setAppid(appinfo.getAppId()); - config.setSecret(appinfo.getSecret()); - if (null != appinfo.getAccessToken()) { - config.setAccessToken(appinfo.getAccessToken()); - config.setExpiresTime(appinfo.getLastTokenTime().getTime()); - } - WxMaService wxMaService = new WxMaServiceImpl(); - wxMaService.setWxMaConfig(config); - - String access_token = ""; - try{ - access_token = wxMaService.getAccessToken(); - } catch (Exception e) { - logger.error(e.getMessage()); - } - Date date = new Date(); - // update db - appinfo.setAccessToken(access_token); - appinfo.setLastTokenTime(date); - wxAppinfoMapper.updateByPrimaryKeySelective(appinfo); - } - - private void downFile(String filePath, String filename, HttpServletResponse response, HttpServletRequest req) throws IOException { - try { - response.reset(); - response.setContentType("bin"); - String agent = req.getHeader("user-agent"); - if (agent.contains("Firefox")) { - response.setHeader("Content-disposition", - "attachment; filename=" - + new String(filename.getBytes("GB2312"),"ISO-8859-1")); - } else { - response.setHeader("Content-disposition", - "attachment; filename=" - + java.net.URLEncoder.encode(filename,"UTF-8")); - } - // 循环取出流中的数据 - byte[] b = new byte[1024]; - int len; - InputStream inStream = new FileInputStream(filePath); - while ((len = inStream.read(b)) > 0) - response.getOutputStream().write(b, 0, len); - inStream.close(); - } catch (Exception e) { - logger.error(e.getMessage()); - } - } - - @Override - public void exportQrcode(HttpServletRequest request, HttpServletResponse response, - String tenantId, int type, String pageUrl, String sceneParam, - int withText, String text1, String text2 ) { - // type 0 有限二维码, 1 无限制二维码 - // withText 0 不带字 1. 带下面的字,2 带下面的两行字 - WxAppinfo appQ = new WxAppinfo(); - appQ.setTenantId(tenantId); - appQ.setType(EnumAppType.C.getCode()); - List appList = wxAppinfoMapper.findList(appQ); - if (appList.size() <= 0) { - return; - } - WxAppinfo appinfo = appList.get(0); - boolean autoColor = false; - boolean isHyaline = true; - WxMaCodeLineColor color = new WxMaCodeLineColor("0", "0", "0"); - - WxMaInMemoryConfig config = new WxMaInMemoryConfig(); - config.setAppid(appinfo.getAppId()); - config.setSecret(appinfo.getSecret()); - WxMaService wxMaService = new WxMaServiceImpl(); - wxMaService.setWxMaConfig(config); - - String pathStr = ""; - if (StringUtils.isNotBlank(sceneParam)) { - pathStr = pageUrl + "?scene="+sceneParam; - } else { - pathStr = pageUrl; - } - - - String filepath = Constant.fileDirectory; - String fileName = sceneParam + ".png"; - String destPath1 = filepath + "1_" + fileName; - String destPath = filepath + fileName; - - File dest = new File(destPath); - File pDest = dest.getParentFile(); - if (!pDest.exists()) { - pDest.mkdirs(); - } - try { - Date imgDate = new Date(); - if(type == 0) { - final File codeFile = wxMaService.getQrcodeService().createQrcode(pathStr, QRCodeUtils.QR_WIDTH); - if (withText == 1) { - File dest1 = new File(destPath1); - org.apache.commons.io.FileUtils.copyFile(codeFile, dest1); - QRCodeUtils.graphicsGeneration(dest1, dest, text1); - org.apache.commons.io.FileUtils.forceDelete(dest1); - } else if (withText == 2) { - File dest1 = new File(destPath1); - org.apache.commons.io.FileUtils.copyFile(codeFile, dest1); - QRCodeUtils.graphicsGeneration2(dest1, dest, text1, text2); - org.apache.commons.io.FileUtils.forceDelete(dest1); - } else { - org.apache.commons.io.FileUtils.copyFile(codeFile, dest); - } - org.apache.commons.io.FileUtils.forceDelete(codeFile); - } else { - final File codeFile = wxMaService.getQrcodeService().createWxaCodeUnlimit(sceneParam, pageUrl, QRCodeUtils.QR_WIDTH, autoColor, color, isHyaline); - if (withText == 1) { - File dest1 = new File(destPath1); - org.apache.commons.io.FileUtils.copyFile(codeFile, dest1); - QRCodeUtils.graphicsGeneration(dest1, dest, text1); - org.apache.commons.io.FileUtils.forceDelete(dest1); - } else if (withText == 2) { - File dest1 = new File(destPath1); - org.apache.commons.io.FileUtils.copyFile(codeFile, dest1); - QRCodeUtils.graphicsGeneration2(dest1, dest, text1, text2); - org.apache.commons.io.FileUtils.forceDelete(dest1); - } else { - org.apache.commons.io.FileUtils.copyFile(codeFile, dest); - } - org.apache.commons.io.FileUtils.forceDelete(codeFile); - } - - } catch (WxErrorException e) { - logger.error(e.getMessage()); - } catch (Exception e) { - logger.error(e.getMessage()); - } - - try { - downFile(destPath, fileName, response, request); - org.apache.commons.io.FileUtils.forceDelete(dest); - } catch (Exception e) { - logger.error(e.getMessage()); - } - - } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxWeappExtSetServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxWeappExtSetServiceImpl.java index 35d8778..170608d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxWeappExtSetServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxWeappExtSetServiceImpl.java @@ -2,7 +2,9 @@ package com.iformall.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxWeappExtSet; +import com.iformall.mapper.WxAppinfoMapper; import com.iformall.mapper.WxWeappExtSetMapper; import com.iformall.service.WxWeappExtSetService; import org.springframework.beans.factory.annotation.Autowired; @@ -14,6 +16,9 @@ import java.util.List; @Service public class WxWeappExtSetServiceImpl implements WxWeappExtSetService { + + @Autowired + WxAppinfoMapper appinfoMapper; @Autowired WxWeappExtSetMapper wxWeappExtSetMapper; @@ -44,10 +49,16 @@ public class WxWeappExtSetServiceImpl implements WxWeappExtSetService { Date curDate = new Date(); if (record.getId() == null) { //record.setId(UUID.randomUUID().toString().replaceAll("-", "")); - final IdWorker idWorker = IdWorker.get(); - record.setId(idWorker.nextId()); - record.setCreateDate(curDate); - record.setUpdateDate(curDate); + WxAppinfo appinfo = appinfoMapper.findByAppId(record.getAppId()); + if(appinfo != null) { + record.setId(appinfo.getId()); + record.setType(appinfo.getType()); + } else { + final IdWorker idWorker = IdWorker.get(); + record.setId(idWorker.nextId()); + } + record.setCreateDate(curDate); + record.setUpdateDate(curDate); wxWeappExtSetMapper.insertSelective(record); } else { record.setUpdateDate(curDate); diff --git a/mallinkService/src/main/java/com/iformall/utils/Constant.java b/mallinkService/src/main/java/com/iformall/utils/Constant.java index 42f7d2e..e6b5ac8 100644 --- a/mallinkService/src/main/java/com/iformall/utils/Constant.java +++ b/mallinkService/src/main/java/com/iformall/utils/Constant.java @@ -2,6 +2,13 @@ package com.iformall.utils; public class Constant { + /** 系统管理员ID */ + public static final Long SUPER_ADMIN = 1L; // 富茂超管 + public static final String FM_SYS_ADMIN = "1"; // 富茂管理员 + + public static final int SYS_MENU_MAX = 2000; // 系统菜单最大值 + + // 1小时过期, public final static int H_EXPIRE = 3600000; @@ -12,7 +19,14 @@ public class Constant { public static final String LOGIN_USER_KEY = "LOGIN_USER_KEY"; public static final String TENANT_ID = "TENANT_ID"; - public static final String fileDirectory = "./uploads/"; - public static final String importMemPrev = "importmem/"; - public static final String adminPage = "http://admin.malls.iformall.com"; + // 成长值规则 key prev + public static final String SCORE_RULES_KEY_PREV = "setting:scorerules1:"; + // 积分规则 key prev + public static final String CREDIT_RULES_KEY_PREV = "setting:creditrules1:"; + + // 获取mall信息 + public static final String MALL_KEY_PREV = "mall:"; + + public static final String importMemPrev = "importmem:"; + public static final String adminPage = "https://admin.malls.iformall.com"; } diff --git a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml index bf30fd4..30d7389 100644 --- a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml @@ -15,16 +15,16 @@ - + - `id`,`tenant_id`,`username`,`name`,`password`,`create_time`,`last_login_time`,`status`,`is_admin`,`nick_name`,`phone`,`flow_permission`,`web_open_id` + `id`,`tenant_id`,`username`,`name`,`password`,`create_time`,`last_login_time`,`status`,`is_admin`,`nick_name`,`phone`,`web_open_id`,email - `id`,`tenant_id`,`username`,`name`,`password`,`create_time`,`last_login_time`,`status`,`is_admin`,`nick_name`,`phone`,`flow_permission`, - `bopen_id`,`web_open_id` + `id`,`tenant_id`,`username`,`name`,`password`,`create_time`,`last_login_time`,`status`,`is_admin`,`nick_name`,`phone`, + `bopen_id`,`web_open_id`,email @@ -68,7 +68,7 @@ and `is_admin` = #{isAdmin} - + and `phone` = #{phone} @@ -77,8 +77,16 @@ and `web_open_id` = #{webOpenId} - - and JSON_CONTAINS(flow_permission->'$[*]', #{flowPermission}, '$') + + and `email` = #{email} + + + + and `web_open_id` is not null + + + and `web_open_id` is null + @@ -168,6 +176,21 @@ + + update mall_user_info + set `web_open_id` = null, `bopen_id` = null + where 1=1 + + and `tenant_id`=#{tenantId} + + + and username=#{username} + + + and `id` = #{id} + + + - + select count(*) from mall_user_info where status = 1 and username=#{username} @@ -204,6 +227,30 @@ + + + + + + + + + @@ -219,7 +266,7 @@ - + @@ -228,14 +275,14 @@ - u.`id`,u.`tenant_id`,u.`username`,u.`name`,u.`password`,u.`create_time`,u.`last_login_time`,u.`status`,u.`is_admin`,u.`nick_name`,u.`phone`,u.`flow_permission`, - m.`name` as mall_name, m.`group` as mall_group, m.`img_url`, m.`img_url_h` + u.`id`,u.`tenant_id`,u.`username`,u.`name`,u.`password`,u.`create_time`,u.`last_login_time`,u.`status`,u.`is_admin`,u.`nick_name`,u.`phone`, + m.`name` as mall_name, m.`group` as mall_group, m.`img_url`, m.`img_url_h`,email - u.`id`,u.`tenant_id`,u.`username`,u.`name`,u.`password`,u.`create_time`,u.`last_login_time`,u.`status`,u.`is_admin`,u.`nick_name`,u.`phone`,u.`flow_permission`, + u.`id`,u.`tenant_id`,u.`username`,u.`name`,u.`password`,u.`create_time`,u.`last_login_time`,u.`status`,u.`is_admin`,u.`nick_name`,u.`phone`, u.`bopen_id`,u.`web_open_id`, - m.`name` as mall_name, m.`group` as mall_group, m.`img_url`, m.`img_url_h` + m.`name` as mall_name, m.`group` as mall_group, m.`img_url`, m.`img_url_h`,email diff --git a/mallinkService/src/main/resources/mapper/WxCUserMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserMapper.xml index 6f09ed2..d7d715d 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserMapper.xml @@ -43,6 +43,8 @@ + + @@ -53,7 +55,7 @@ `login_count`, `extra_info`, `is_subscribe`, `open_app_id`, `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, - `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene` + `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time` @@ -175,6 +177,10 @@ and `extra_info` = #{extraInfo} + + and `is_subscribe` = #{isSubscribe} + + and `open_app_id` = #{openAppId} @@ -195,6 +201,10 @@ and `subs_app_id` = #{subsAppId} + + and `credit` = #{credit} + + and id in @@ -260,7 +270,8 @@ #{scene} - order by create_date desc + order by ${sortColumns} + order by create_date desc + + diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/card/WxCardController.java b/mlWechatOpen/src/main/java/com/iformall/controller/card/WxCardController.java index 0a8e005..26cf1e3 100644 --- a/mlWechatOpen/src/main/java/com/iformall/controller/card/WxCardController.java +++ b/mlWechatOpen/src/main/java/com/iformall/controller/card/WxCardController.java @@ -184,6 +184,11 @@ public class WxCardController extends BaseController { //使用日期 DateInfo dateInfo = new DateInfo(); baseInfo.setDateInfo(dateInfo); + PayInfo payInfo = new PayInfo(); + SwipeCard swipeCard = new SwipeCard(); + swipeCard.setSwipeCard(true); + payInfo.setSwipeCard(swipeCard); + baseInfo.setPayInfo(payInfo); memberCard.setBaseInfo(baseInfo); memberCard.setBonusRules("请参考积分规则"); diff --git a/mlWechatOpen/src/main/java/com/iformall/schedule/UserUnionIdSchedule.java b/mlWechatOpen/src/main/java/com/iformall/schedule/UserUnionIdSchedule.java index 64fd509..4b8cab1 100644 --- a/mlWechatOpen/src/main/java/com/iformall/schedule/UserUnionIdSchedule.java +++ b/mlWechatOpen/src/main/java/com/iformall/schedule/UserUnionIdSchedule.java @@ -1,18 +1,11 @@ package com.iformall.schedule; -import cn.binarywang.wx.miniapp.api.WxMaService; -import cn.binarywang.wx.miniapp.bean.WxMaTemplateData; -import cn.binarywang.wx.miniapp.bean.WxMaUniformMessage; -import com.google.common.collect.Lists; -import com.iformall.common.ErrorCode; import com.iformall.domain.po.WxPayAccount; import com.iformall.domain.vo.WxPayOrderVo; -import com.iformall.exception.MallinkException; import com.iformall.mapper.WxPayAccountMapper; import com.iformall.mapper.WxPayOrderMapper; import com.iformall.service.WxAppinfoService; import com.iformall.service.wechat.FmOpenService; -import me.chanjar.weixin.common.error.WxErrorException; import me.chanjar.weixin.open.api.WxOpenMaService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -21,7 +14,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List;