Просмотр исходного кода

/、qrcode

release_toaliyun_real
xhxu 4 лет назад
Родитель
Сommit
d5ee974531
40 измененных файлов: 1207 добавлений и 219 удалений
  1. +39
    -17
      mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java
  2. +2
    -12
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java
  3. +2
    -11
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java
  4. +917
    -0
      mallinkAdmin/src/main/resources/db/migration/V2022010600001__add_ttqrcode.sql
  5. +2
    -11
      mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java
  6. +1
    -0
      mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java
  7. +5
    -33
      mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  8. +15
    -3
      mallinkService/src/main/java/com/iformall/domain/po/CUser.java
  9. +0
    -15
      mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java
  10. +3
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java
  11. +3
    -1
      mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java
  12. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java
  13. +0
    -2
      mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java
  14. +4
    -3
      mallinkService/src/main/java/com/iformall/service/QrCodeService.java
  15. +0
    -2
      mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java
  16. +5
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java
  17. +5
    -0
      mallinkService/src/main/java/com/iformall/service/WxMerchantService.java
  18. +4
    -4
      mallinkService/src/main/java/com/iformall/service/cuser/BasicCUserService.java
  19. +1
    -0
      mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java
  20. +5
    -0
      mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java
  21. +26
    -0
      mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java
  22. +5
    -0
      mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java
  23. +27
    -0
      mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java
  24. +17
    -8
      mallinkService/src/main/java/com/iformall/service/impl/QrCodeServiceImpl.java
  25. +0
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  26. +5
    -14
      mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java
  27. +28
    -15
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java
  28. +1
    -14
      mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java
  29. +30
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
  30. +1
    -14
      mallinkService/src/main/java/com/iformall/service/impl/WxTopicServiceImpl.java
  31. +19
    -0
      mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java
  32. +2
    -1
      mallinkService/src/main/resources/mapper/TtBuserMapper.xml
  33. +2
    -1
      mallinkService/src/main/resources/mapper/TtCUserMapper.xml
  34. +2
    -1
      mallinkService/src/main/resources/mapper/WxBuserMapper.xml
  35. +1
    -7
      mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml
  36. +2
    -1
      mallinkService/src/main/resources/mapper/WxCUserMapper.xml
  37. +11
    -7
      mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml
  38. +6
    -5
      mallinkService/src/main/resources/mapper/WxMerchantMapper.xml
  39. +4
    -0
      mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml
  40. +2
    -12
      mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java

+ 39
- 17
mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java Просмотреть файл

@@ -59,7 +59,6 @@ public class WxAppinfoController extends BaseController {
public void updateQrCode(String p)throws ServletException, IOException { public void updateQrCode(String p)throws ServletException, IOException {
if("xlldxx".equals(p)) { if("xlldxx".equals(p)) {
String pageUrl = Constant.mainPageUrl; String pageUrl = Constant.mainPageUrl;

List<WxMerchant> list = wxMerchantMapper.findQrcodeEmptyList(); List<WxMerchant> list = wxMerchantMapper.findQrcodeEmptyList();
logger.info("updateQrCode.count:"+list.size()); logger.info("updateQrCode.count:"+list.size());
for (WxMerchant merchant : list) { for (WxMerchant merchant : list) {
@@ -67,13 +66,23 @@ public class WxAppinfoController extends BaseController {
@Override @Override
public void run() { public void run() {
String param = merchant.getWeappScene(); String param = merchant.getWeappScene();
ResultData resultData = qrCodeService.uploadQrcode(merchant, 1, pageUrl, param, 0, "", "", merchant.getId().toString(),EnumPayWay.PAY_WAY_WECHAT);
Map<String, String> map = (Map) resultData.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
merchant.setQrCode(url);
wxMerchantMapper.updateById(merchant);
if(StringUtils.isBlank(merchant.getQrCode())){
ResultData resultData = qrCodeService.uploadQrcode(merchant, 1, pageUrl, param, 0, "", "", "WX店铺"+merchant.getId().toString(),EnumAppPlat.WX);
Map<String, String> map = (Map) resultData.data;
if(map != null && map.get("url") != null) {
String url = map.get("url");
merchant.setQrCode(url);
}
}
if(StringUtils.isBlank(merchant.getTtQrCode())){
ResultData resultData = qrCodeService.uploadQrcode(merchant, 1, pageUrl, param, 0, "", "", "TT店铺"+merchant.getId().toString(),EnumAppPlat.TOUTIAO);
Map<String, String> map = (Map) resultData.data;
if(map != null && map.get("url") != null) {
String url = map.get("url");
merchant.setTtQrCode(url);
}
} }
wxMerchantMapper.updateById(merchant);
} }
}); });
} }
@@ -82,9 +91,13 @@ public class WxAppinfoController extends BaseController {


@ApiOperation("券二维码--二维码数据刷数据库") @ApiOperation("券二维码--二维码数据刷数据库")
@GetMapping("/updateCouponQrCode") @GetMapping("/updateCouponQrCode")
public void updateCouponQrCode(String p)throws ServletException, IOException {
public void updateCouponQrCode(String p, Integer platCode)throws ServletException, IOException {
if(platCode == null){
platCode = EnumAppPlat.WX.getCode();
}
if("xlldxx".equals(p)){ if("xlldxx".equals(p)){
String pageUrl = Constant.mainPageUrl; String pageUrl = Constant.mainPageUrl;
EnumAppPlat plat = EnumAppPlat.getByCode(platCode);


List<WxCouponChannel> list = wxCouponChannelMapper.findQrcodeEmptyList(); List<WxCouponChannel> list = wxCouponChannelMapper.findQrcodeEmptyList();
logger.info("updateCouponQrCode.count:"+list.size()); logger.info("updateCouponQrCode.count:"+list.size());
@@ -93,15 +106,24 @@ public class WxAppinfoController extends BaseController {
@Override @Override
public void run() { public void run() {
String param = couponChannel.getWeappScene(); String param = couponChannel.getWeappScene();
//暂时只有微信二维码,有别的码,需要加字段
ResultData resultData = qrCodeService.uploadQrcode(couponChannel,1,pageUrl,param,0,"","","券",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultData.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
couponChannel.setQrCode(url);
wxCouponChannelMapper.updateById(couponChannel);

if(StringUtils.isBlank(couponChannel.getQrCode())){
ResultData resultData = qrCodeService.uploadQrcode(couponChannel, 1, pageUrl, param, 0, "", "", "WX券"+couponChannel.getId().toString(),EnumAppPlat.WX);
Map<String, String> map = (Map) resultData.data;
if(map != null && map.get("url") != null) {
String url = map.get("url");
couponChannel.setQrCode(url);
}
}
if(StringUtils.isBlank(couponChannel.getTtQrCode())){
ResultData resultData = qrCodeService.uploadQrcode(couponChannel, 1, pageUrl, param, 0, "", "", "TT券"+couponChannel.getId().toString(),EnumAppPlat.TOUTIAO);
Map<String, String> map = (Map) resultData.data;
if(map != null && map.get("url") != null) {
String url = map.get("url");
couponChannel.setTtQrCode(url);
}
} }
wxCouponChannelMapper.updateById(couponChannel);
} }
}); });
} }
@@ -138,7 +160,7 @@ public class WxAppinfoController extends BaseController {
qrCodeService.exportQrcode(request, response, qrCodeService.exportQrcode(request, response,
getTenantInfo(), type, pageUrl, sceneParam, getTenantInfo(), type, pageUrl, sceneParam,
withText, text1, text2, withText, text1, text2,
name,EnumPayWay.PAY_WAY_WECHAT);
name,EnumAppPlat.WX);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
throw new MallinkException(Result.ERROR, "下载异常"); throw new MallinkException(Result.ERROR, "下载异常");


+ 2
- 12
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java Просмотреть файл

@@ -13,6 +13,7 @@ import com.iformall.domain.po.WxProfitSharingReceiver;
import com.iformall.domain.vo.WxMerchantTradeDetailVo; import com.iformall.domain.vo.WxMerchantTradeDetailVo;
import com.iformall.domain.vo.WxMerchantTradeVo; import com.iformall.domain.vo.WxMerchantTradeVo;
import com.iformall.domain.vo.WxMerchantVo; import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumMerchantStatus;
import com.iformall.enums.EnumPayWay; import com.iformall.enums.EnumPayWay;
import com.iformall.service.QrCodeService; import com.iformall.service.QrCodeService;
@@ -164,18 +165,7 @@ public class WxMerchantController extends BaseController {
ResultData resultData = wxMerchantService.addMerchant(wxMerchant, getUserId()); ResultData resultData = wxMerchantService.addMerchant(wxMerchant, getUserId());


if(resultData.code == 200){ if(resultData.code == 200){
//加载二维码图片
String pageUrl = Constant.mainPageUrl;
String param = "t:md:"+resultData.data;
//这里暂时只有微信二维码,后续有别的二维码,再加字段
ResultData resultQrCode = qrCodeService.uploadQrcode(wxMerchant,1,pageUrl,param,0,"","","店铺详情",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultQrCode.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
wxMerchant.setQrCode(url);
wxMerchantService.updateMerchant(wxMerchant);
}
wxMerchantService.updateQrCode(wxMerchant,wxMerchant.getId());
} }


return resultData; return resultData;


+ 2
- 11
mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java Просмотреть файл

@@ -10,6 +10,7 @@ import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.WxCouponChannelDto; import com.iformall.domain.dto.WxCouponChannelDto;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.domain.vo.WxCouponChannelVo;
import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumCouponSourceType; import com.iformall.enums.EnumCouponSourceType;
import com.iformall.enums.EnumPayWay; import com.iformall.enums.EnumPayWay;
import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.BaseEntity;
@@ -92,17 +93,7 @@ public class WxCouponChannelController extends BaseController {
WxCouponChannel couponChannel = (WxCouponChannel)resultData.data; WxCouponChannel couponChannel = (WxCouponChannel)resultData.data;
//生成二维码 //生成二维码
if(couponChannel!=null){ if(couponChannel!=null){
String pageUrl = Constant.mainPageUrl;
String param = couponChannel.getWeappScene();
//此处只有微信二维码,别的二维码需要加字段
ResultData resultDataQ = qrCodeService.uploadQrcode(couponChannel,1,pageUrl,param,0,"","","券",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultDataQ.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
couponChannel.setQrCode(url);
wxCouponChannelMapper.updateById(couponChannel);
}
wxCouponChannelService.updateQrCode(couponChannel,couponChannel.getId(),couponChannel.getType());
} }
return resultData; return resultData;
} }


+ 917
- 0
mallinkAdmin/src/main/resources/db/migration/V2022010600001__add_ttqrcode.sql Просмотреть файл

@@ -0,0 +1,917 @@
ALTER TABLE `mallink`.`wx_merchant`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `top_time`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;


ALTER TABLE `mallink`.`wx_coupon_channel_0`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_1`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_2`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_3`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_4`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_5`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_6`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_7`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_8`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_9`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_10`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_11`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_12`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_13`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_14`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_15`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_16`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_17`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_18`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_19`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_20`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_21`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_22`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_23`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_24`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_25`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_26`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_27`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_28`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_29`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_30`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_31`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_32`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_33`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_34`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_35`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_36`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_37`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_38`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_39`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_40`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_41`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_42`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_43`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_44`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_45`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_46`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_47`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_48`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_49`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_50`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_51`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_52`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_53`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_54`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_55`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_56`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_57`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_58`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_59`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_60`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_61`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_62`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_63`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_64`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_65`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_66`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_67`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_68`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_69`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_70`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_71`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_72`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_73`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_74`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_75`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_76`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_77`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_78`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_79`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_80`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_81`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_82`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_83`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_84`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_85`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_86`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_87`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_88`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_89`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_90`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_91`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_92`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_93`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_94`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_95`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_96`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_97`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_98`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;
ALTER TABLE `mallink`.`wx_coupon_channel_99`
MODIFY COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信二维码' AFTER `sub_target_id`,
ADD COLUMN `tt_qr_code` varchar(500) COMMENT '抖音二维码' AFTER `qr_code`;


ALTER TABLE `mallink`.`tt_buser`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;

ALTER TABLE `mallink`.`wx_buser`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;

ALTER TABLE `mallink`.`tt_c_user_0`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_1`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_2`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_3`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_4`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_5`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_6`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_7`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_8`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_9`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_10`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_11`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_12`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_13`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_14`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_15`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_16`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_17`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_18`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_19`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_20`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_21`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_22`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_23`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_24`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_25`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_26`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_27`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_28`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_29`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_30`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_31`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_32`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_33`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_34`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_35`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_36`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_37`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_38`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_39`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_40`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_41`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_42`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_43`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_44`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_45`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_46`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_47`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_48`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_49`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_50`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_51`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_52`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_53`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_54`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_55`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_56`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_57`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_58`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_59`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_60`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_61`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_62`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_63`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_64`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_65`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_66`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_67`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_68`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_69`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_70`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_71`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_72`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_73`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_74`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_75`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_76`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_77`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_78`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_79`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_80`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_81`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_82`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_83`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_84`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_85`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_86`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_87`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_88`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_89`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_90`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_91`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_92`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_93`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_94`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_95`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_96`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_97`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_98`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`tt_c_user_99`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;

ALTER TABLE `mallink`.`wx_c_user_0`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_1`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_2`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_3`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_4`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_5`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_6`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_7`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_8`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_9`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_10`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_11`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_12`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_13`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_14`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_15`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_16`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_17`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_18`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_19`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_20`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_21`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_22`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_23`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_24`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_25`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_26`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_27`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_28`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_29`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_30`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_31`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_32`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_33`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_34`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_35`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_36`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_37`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_38`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_39`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_40`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_41`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_42`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_43`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_44`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_45`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_46`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_47`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_48`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_49`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_50`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_51`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_52`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_53`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_54`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_55`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_56`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_57`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_58`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_59`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_60`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_61`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_62`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_63`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_64`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_65`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_66`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_67`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_68`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_69`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_70`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_71`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_72`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_73`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_74`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_75`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_76`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_77`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_78`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_79`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_80`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_81`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_82`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_83`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_84`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_85`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_86`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_87`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_88`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_89`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_90`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_91`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_92`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_93`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_94`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_95`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_96`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_97`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_98`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;
ALTER TABLE `mallink`.`wx_c_user_99`
ADD COLUMN `qr_code` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '二维码' AFTER `active_time`;


ALTER TABLE `mallink`.`wx_c_user_basic_info_0`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_1`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_2`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_3`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_4`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_5`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_6`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_7`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_8`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_9`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_10`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_11`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_12`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_13`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_14`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_15`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_16`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_17`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_18`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_19`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_20`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_21`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_22`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_23`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_24`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_25`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_26`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_27`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_28`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_29`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_30`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_31`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_32`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_33`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_34`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_35`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_36`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_37`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_38`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_39`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_40`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_41`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_42`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_43`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_44`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_45`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_46`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_47`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_48`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_49`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_50`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_51`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_52`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_53`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_54`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_55`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_56`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_57`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_58`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_59`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_60`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_61`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_62`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_63`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_64`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_65`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_66`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_67`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_68`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_69`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_70`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_71`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_72`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_73`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_74`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_75`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_76`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_77`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_78`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_79`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_80`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_81`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_82`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_83`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_84`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_85`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_86`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_87`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_88`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_89`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_90`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_91`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_92`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_93`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_94`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_95`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_96`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_97`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_98`
DROP COLUMN `qr_code`;
ALTER TABLE `mallink`.`wx_c_user_basic_info_99`
DROP COLUMN `qr_code`;


+ 2
- 11
mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java Просмотреть файл

@@ -8,6 +8,7 @@ import com.iformall.domain.dto.WxCouponChannelDto;
import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.base.BaseEntity;
import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.domain.vo.WxCouponChannelVo;
import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumPayWay; import com.iformall.enums.EnumPayWay;
import com.iformall.mapper.WxCouponChannelMapper; import com.iformall.mapper.WxCouponChannelMapper;
import com.iformall.service.QrCodeService; import com.iformall.service.QrCodeService;
@@ -80,17 +81,7 @@ public class WxCouponChannelController extends BaseController {
WxCouponChannel couponChannel = (WxCouponChannel)resultData.data; WxCouponChannel couponChannel = (WxCouponChannel)resultData.data;
//生成二维码 //生成二维码
if(couponChannel!=null){ if(couponChannel!=null){
String pageUrl = Constant.mainPageUrl;
String param = couponChannel.getWeappScene();
//此处只有微信二维码,别的二维码需要加字段
ResultData resultDataQ = qrCodeService.uploadQrcode(couponChannel,1,pageUrl,param,0,"","","券",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultDataQ.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
couponChannel.setQrCode(url);
wxCouponChannelMapper.updateById(couponChannel);
}
wxCouponChannelService.updateQrCode(couponChannel,couponChannel.getId(),couponChannel.getType());
} }
return resultData; return resultData;
} }


+ 1
- 0
mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java Просмотреть файл

@@ -43,6 +43,7 @@ public class WxMsgController extends BaseController {
types.add(EnumTemplateType.CREDIT_UPD_REMIND.getCode()); types.add(EnumTemplateType.CREDIT_UPD_REMIND.getCode());
types.add(EnumTemplateType.SEND_COUPON_REMIND.getCode()); types.add(EnumTemplateType.SEND_COUPON_REMIND.getCode());
wxTemplateMsg.setTypes(types); wxTemplateMsg.setTypes(types);
wxTemplateMsg.setIsc(true);
final PageInfo<WxTemplateMsg> page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize); final PageInfo<WxTemplateMsg> page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize);
return new ResultData(page); return new ResultData(page);
} }


+ 5
- 33
mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Просмотреть файл

@@ -764,39 +764,11 @@ public class WxUserGrantController extends BaseController {
public ResultData getUserinfoQrCode() { public ResultData getUserinfoQrCode() {
CUser user = getCUser(); CUser user = getCUser();
if(user.basicInfoIs()){ if(user.basicInfoIs()){
String key = Constant.cuserQr+ getTenantInfo().getTenantId() + ":" +user.getUserId();
String qrCode = RedisCacheUtils.getCacheString(objectCommonRedisTemplate, key);
if(StringUtils.isBlank(qrCode)){
WxCUserBasicInfo wxCUserBasicInfo;
try {
wxCUserBasicInfo = getShortCacheMember(user.getUserId(),getFinalTenantId());
if(StringUtils.isBlank(getTenantInfo().getParentTenantId())
&& StringUtils.isNotBlank(wxCUserBasicInfo.getQrCode())){
qrCode = wxCUserBasicInfo.getQrCode();
}else{
String param = wxCUserBasicInfo.getWeappScene();
ResultData resultData = qrCodeService.uploadQrcode(getTenantInfo(), 1, Constant.mainPageUrl, param, 0, "", "", "用户分享",EnumPayWay.PAY_WAY_WECHAT);
// String weappPath = wxCUserBasicInfo.getWeappPath();
// ResultData resultData = qrCodeService.uploadQrcode(getTenantInfo(), 0, weappPath, "", 0, "", "", "用户分享",EnumPayWay.PAY_WAY_WECHAT);
Map<String, String> map = (Map) resultData.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
qrCode = url;
}else{
logger.error("getUserinfoQrCode error."+resultData.toString());
return new ResultData(ErrorCode.DEVICE_QRCODE_GET_FAILED);
}
if(StringUtils.isBlank(getTenantInfo().getParentTenantId())){
wxCUserBasicInfo.setQrCode(qrCode);
wxCUserBasicInfoService.updateQrCode(wxCUserBasicInfo);
}
}
RedisCacheUtils.cache(objectCommonRedisTemplate, key, qrCode, 0);

} catch (Exception e) {
logger.error("getUserinfoQrCode error.",e);
return new ResultData(ErrorCode.SYS_SERVER_ERROR);
}
String qrCode = "";
if(StringUtils.isBlank(user.getQrCode())){
qrCode = cuserFactory.getCUserService(user.getAppPlat()).updateQrCode(user);
}else{
qrCode = user.getQrCode();
} }
return new ResultData(qrCode); return new ResultData(qrCode);




+ 15
- 3
mallinkService/src/main/java/com/iformall/domain/po/CUser.java Просмотреть файл

@@ -1,19 +1,16 @@
package com.iformall.domain.po; package com.iformall.domain.po;


import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.iformall.domain.po.base.BaseCUserEntity; import com.iformall.domain.po.base.BaseCUserEntity;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.ToString; import lombok.ToString;
import org.apache.commons.lang3.StringUtils;


import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID;


@JsonIgnoreProperties(ignoreUnknown = true) @JsonIgnoreProperties(ignoreUnknown = true)
@Data @Data
@@ -107,6 +104,21 @@ public class CUser extends BaseCUserEntity {
@io.swagger.annotations.ApiModelProperty(value="积分",name="credit") @io.swagger.annotations.ApiModelProperty(value="积分",name="credit")
private Integer credit; private Integer credit;


@io.swagger.annotations.ApiModelProperty(value="微信二维码",name="qrCode")
private String qrCode;

public String getWeappPath() {
if(userId == null)
return Constant.mainPageUrl;
return Constant.mainPageUrl + "?type=in&UId=" + userId;
}

public String getWeappScene() {
if(userId == null)
return "";
return "t:in_u:" + userId;
}

@TableField(exist = false) @TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value="渠道名称",name="channelName") @io.swagger.annotations.ApiModelProperty(value="渠道名称",name="channelName")
private String channelName; private String channelName;


+ 0
- 15
mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java Просмотреть файл

@@ -146,21 +146,6 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId {
@io.swagger.annotations.ApiModelProperty(value = "状态0正常1锁定", name = "status") @io.swagger.annotations.ApiModelProperty(value = "状态0正常1锁定", name = "status")
private Integer status; private Integer status;


@io.swagger.annotations.ApiModelProperty(value="二维码",name="qrCode")
private String qrCode;

public String getWeappPath() {
if(id == null)
return Constant.mainPageUrl;
return Constant.mainPageUrl + "?type=in&UId=" + id;
}

public String getWeappScene() {
if(id == null)
return "";
return "t:in_u:" + id;
}

@TableField(exist = false) @TableField(exist = false)
@Excel(name="标签",width = 50,orderNum = "15") @Excel(name="标签",width = 50,orderNum = "15")
private String tagNames; private String tagNames;


+ 3
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java Просмотреть файл

@@ -63,8 +63,10 @@ public class WxCouponChannel extends TenantEntity {
private Date updateDate; private Date updateDate;
@io.swagger.annotations.ApiModelProperty(value="子频道ID",name="subTargetId") @io.swagger.annotations.ApiModelProperty(value="子频道ID",name="subTargetId")
private Long subTargetId; private Long subTargetId;
@io.swagger.annotations.ApiModelProperty(value="二维码",name="qrCode")
@io.swagger.annotations.ApiModelProperty(value="微信二维码",name="qrCode")
private String qrCode; private String qrCode;
@io.swagger.annotations.ApiModelProperty(value="抖音二维码地址",name="ttQrCode")
private String ttQrCode;


@TableField(exist = false) @TableField(exist = false)
@io.swagger.annotations.ApiModelProperty(value="券状态 0:可投放 1:作废",name="couponStatus") @io.swagger.annotations.ApiModelProperty(value="券状态 0:可投放 1:作废",name="couponStatus")


+ 3
- 1
mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java Просмотреть файл

@@ -242,8 +242,10 @@ public class WxMerchant extends TenantEntity {
private Integer isAdmin; private Integer isAdmin;
@io.swagger.annotations.ApiModelProperty(value = "置顶时间", name = "topTime") @io.swagger.annotations.ApiModelProperty(value = "置顶时间", name = "topTime")
private Date topTime; private Date topTime;
@io.swagger.annotations.ApiModelProperty(value="二维码地址",name="qrCode")
@io.swagger.annotations.ApiModelProperty(value="微信二维码地址",name="qrCode")
private String qrCode; private String qrCode;
@io.swagger.annotations.ApiModelProperty(value="抖音二维码地址",name="ttQrCode")
private String ttQrCode;
@io.swagger.annotations.ApiModelProperty(value="简介",name="introduction") @io.swagger.annotations.ApiModelProperty(value="简介",name="introduction")
private String introduction; private String introduction;
@io.swagger.annotations.ApiModelProperty(value="优惠活动",name="actionDesc") @io.swagger.annotations.ApiModelProperty(value="优惠活动",name="actionDesc")


+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java Просмотреть файл

@@ -36,6 +36,9 @@ public class WxTemplateMsg extends TenantEntity {
@TableField(exist = false) @TableField(exist = false)
private List<Integer> types; private List<Integer> types;


@TableField(exist = false)
private boolean isc;



public String getTypeName(){ public String getTypeName(){
if(this.getType() != null) { if(this.getType() != null) {


+ 0
- 2
mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java Просмотреть файл

@@ -26,8 +26,6 @@ public interface WxCUserBasicInfoMapper extends CommonMapper<WxCUserBasicInfo, S


void updateScore(WxCUserBasicInfo record); void updateScore(WxCUserBasicInfo record);


void updateQrCode(WxCUserBasicInfo record);

void updateUpScore(WxCUserBasicInfo record); void updateUpScore(WxCUserBasicInfo record);
void updateDownScore(WxCUserBasicInfo record); void updateDownScore(WxCUserBasicInfo record);




+ 4
- 3
mallinkService/src/main/java/com/iformall/service/QrCodeService.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.iformall.service;


import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumPayWay; import com.iformall.enums.EnumPayWay;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -13,14 +14,14 @@ import java.util.Map;
@Service @Service
public interface QrCodeService { public interface QrCodeService {


void downQrCode(TenantEntity tenantEntity, HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> params,EnumPayWay payWay) throws MallinkException;
void downQrCode(TenantEntity tenantEntity, HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> params,EnumAppPlat plat) throws MallinkException;


ResultData exportQrcode(HttpServletRequest request, HttpServletResponse response, ResultData exportQrcode(HttpServletRequest request, HttpServletResponse response,
TenantEntity tenantEntity, int type, String pageUrl, String sceneParam, TenantEntity tenantEntity, int type, String pageUrl, String sceneParam,
int withText, String text1, String text2, int withText, String text1, String text2,
String name,EnumPayWay payWay);
String name, EnumAppPlat plat);
ResultData uploadQrcode(TenantEntity tenantEntity, int type, String pageUrl, String sceneParam, ResultData uploadQrcode(TenantEntity tenantEntity, int type, String pageUrl, String sceneParam,
int withText, String text1, String text2, int withText, String text1, String text2,
String name,EnumPayWay payWay);
String name,EnumAppPlat plat);


} }

+ 0
- 2
mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java Просмотреть файл

@@ -173,8 +173,6 @@ public interface WxCUserBasicInfoService {


void cuserOldToNew(Long oldCuserId, Long newCuserId,TenantEntity tenantinfo); void cuserOldToNew(Long oldCuserId, Long newCuserId,TenantEntity tenantinfo);


void updateQrCode(WxCUserBasicInfo wxCUserBasicInfo);

WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName, Integer sex, String avatarUrl); WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName, Integer sex, String avatarUrl);


int addCredit(Long userId, TenantEntity tenantInfo, EnumScoreType wechatPhone); int addCredit(Long userId, TenantEntity tenantInfo, EnumScoreType wechatPhone);


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java Просмотреть файл

@@ -71,6 +71,11 @@ public interface WxCouponChannelService {
*/ */
ResultData saveOrUpdate(WxCouponChannel record); ResultData saveOrUpdate(WxCouponChannel record);


/**
* 创建二维码
*/
void updateQrCode(TenantEntity tenantEntity, Long couponChannelId, Integer couponType);

ResultData addBatch(String type,String[] ids, String[] channelId, TenantEntity tenantEntity, Date showBeginTime, Date beginTime, Date endTime); ResultData addBatch(String type,String[] ids, String[] channelId, TenantEntity tenantEntity, Date showBeginTime, Date beginTime, Date endTime);


void updateStatusByCouponId(Long couponId,TenantEntity tenantEntity,int status); void updateStatusByCouponId(Long couponId,TenantEntity tenantEntity,int status);


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/WxMerchantService.java Просмотреть файл

@@ -119,6 +119,11 @@ public interface WxMerchantService {


ResultData addMerchant(WxMerchant wxMerchant, Long userId); ResultData addMerchant(WxMerchant wxMerchant, Long userId);


/**
* 创建二维码
*/
void updateQrCode(TenantEntity tenantEntity,Long merchantId);

ResultData updateMerchant(WxMerchant wxMerchant); ResultData updateMerchant(WxMerchant wxMerchant);


ResultData updateMerchantAccount(WxMerchant wxMerchant,EnumPayWay payWay); ResultData updateMerchantAccount(WxMerchant wxMerchant,EnumPayWay payWay);


+ 4
- 4
mallinkService/src/main/java/com/iformall/service/cuser/BasicCUserService.java Просмотреть файл

@@ -9,10 +9,7 @@ import com.iformall.domain.po.msg.FmInsideCLoginMsg;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mq.MqBaseProducer; import com.iformall.mq.MqBaseProducer;
import com.iformall.service.MemCouponFromDspService;
import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCUserTagsService;
import com.iformall.service.WxScoreRulesService;
import com.iformall.service.*;
import com.iformall.service.cuser.tt.TtCUserServiceAdapter; import com.iformall.service.cuser.tt.TtCUserServiceAdapter;
import com.iformall.service.cuser.wx.WxCUserServiceAdapter; import com.iformall.service.cuser.wx.WxCUserServiceAdapter;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
@@ -49,6 +46,9 @@ public class BasicCUserService {
@Autowired @Autowired
private WxScoreRulesService wxScoreRulesService; private WxScoreRulesService wxScoreRulesService;


@Autowired
protected QrCodeService qrCodeService;

@Autowired @Autowired
@Qualifier("baseCUserTokenRedisTemplate") @Qualifier("baseCUserTokenRedisTemplate")
RedisTemplate<String, BaseCUserEntity> baseCUserTokenRedisTemplate; RedisTemplate<String, BaseCUserEntity> baseCUserTokenRedisTemplate;


+ 1
- 0
mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java Просмотреть файл

@@ -48,4 +48,5 @@ public interface CUserServiceApapter {


void actionAfterLogin(CUser user); void actionAfterLogin(CUser user);


String updateQrCode(CUser user);
} }

+ 5
- 0
mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java Просмотреть файл

@@ -259,6 +259,11 @@ public class TtBUserServiceAdapter extends BasicCUserService implements CUserSer


} }


@Override
public String updateQrCode(CUser user) {
return null;
}

private TtMaService getTtMaService(WxAppinfo wxAppinfo, Boolean isFmOpen) { private TtMaService getTtMaService(WxAppinfo wxAppinfo, Boolean isFmOpen) {
TtMaService ttMaService = maUtil.getTtappService(wxAppinfo); TtMaService ttMaService = maUtil.getTtappService(wxAppinfo);
if (StringUtils.isBlank(wxAppinfo.getAccessToken())) { if (StringUtils.isBlank(wxAppinfo.getAccessToken())) {


+ 26
- 0
mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java Просмотреть файл

@@ -5,6 +5,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.dto.WxCUserBasicInfoDto;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
@@ -34,6 +35,7 @@ import org.springframework.stereotype.Service;


import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;


@Service @Service
public class TtCUserServiceAdapter extends BasicCUserService implements CUserServiceApapter{ public class TtCUserServiceAdapter extends BasicCUserService implements CUserServiceApapter{
@@ -318,6 +320,30 @@ public class TtCUserServiceAdapter extends BasicCUserService implements CUserSer
super.actionAfterLogin(user); super.actionAfterLogin(user);
} }


@Override
public String updateQrCode(CUser user) {
if(user.getUserId() == null){
return null;
}
TtCUser userL = new TtCUser();
userL.setId(user.getId());
userL.updateTenantInfo(user);
userL.setUserId(user.getUserId());

String pageUrl = Constant.mainPageUrl;
String param = userL.getWeappScene();

ResultData resultData = qrCodeService.uploadQrcode(user, 1, pageUrl, param, 0, "", "", "TT用户"+userL.getUserId().toString(),EnumAppPlat.TOUTIAO);
Map<String, String> map = (Map) resultData.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
userL.setQrCode(url);
}
ttCUserMapper.updateById(userL);
cleanCuserToken(user.getToken());
return userL.getQrCode();
}

private TtMaService getTtMaService(WxAppinfo wxAppinfo, Boolean isFmOpen) { private TtMaService getTtMaService(WxAppinfo wxAppinfo, Boolean isFmOpen) {
TtMaService ttMaService = maUtil.getTtappService(wxAppinfo); TtMaService ttMaService = maUtil.getTtappService(wxAppinfo);
if (StringUtils.isBlank(wxAppinfo.getAccessToken())) { if (StringUtils.isBlank(wxAppinfo.getAccessToken())) {


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java Просмотреть файл

@@ -259,6 +259,11 @@ public class WxBUserServiceAdapter extends BasicCUserService implements CUserSer


} }


@Override
public String updateQrCode(CUser user) {
return null;
}

private WxMaService getWxMaService(WxAppinfo wxAppinfo, Boolean isFmOpen) { private WxMaService getWxMaService(WxAppinfo wxAppinfo, Boolean isFmOpen) {
WxMaService wxMaService = null; WxMaService wxMaService = null;
if (isFmOpen) { if (isFmOpen) {


+ 27
- 0
mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java Просмотреть файл

@@ -5,9 +5,11 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo; import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo; import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.common.ResultData;
import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.dto.WxCUserBasicInfoDto;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.tt.TtCUser;
import com.iformall.domain.vo.UserCountVo; import com.iformall.domain.vo.UserCountVo;
import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumAssignTagsTrigger;
@@ -35,6 +37,7 @@ import com.iformall.service.cuser.CUserServiceApapter;


import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map;


@Service @Service
public class WxCUserServiceAdapter extends BasicCUserService implements CUserServiceApapter{ public class WxCUserServiceAdapter extends BasicCUserService implements CUserServiceApapter{
@@ -325,6 +328,30 @@ public class WxCUserServiceAdapter extends BasicCUserService implements CUserSer
super.actionAfterLogin(user); super.actionAfterLogin(user);
} }


@Override
public String updateQrCode(CUser user) {
if(user.getUserId() == null){
return null;
}
WxCUser userL = new WxCUser();
userL.setId(user.getId());
userL.updateTenantInfo(user);
userL.setUserId(user.getUserId());

String pageUrl = Constant.mainPageUrl;
String param = userL.getWeappScene();

ResultData resultData = qrCodeService.uploadQrcode(user, 1, pageUrl, param, 0, "", "", "WX用户"+userL.getUserId().toString(),EnumAppPlat.WX);
Map<String, String> map = (Map) resultData.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
userL.setQrCode(url);
}
wxCUserMapper.updateById(userL);
cleanCuserToken(user.getToken());
return userL.getQrCode();
}

private WxMaService getWxMaService(WxAppinfo wxAppinfo, Boolean isFmOpen) { private WxMaService getWxMaService(WxAppinfo wxAppinfo, Boolean isFmOpen) {
WxMaService wxMaService = null; WxMaService wxMaService = null;
if (isFmOpen) { if (isFmOpen) {


+ 17
- 8
mallinkService/src/main/java/com/iformall/service/impl/QrCodeServiceImpl.java Просмотреть файл

@@ -4,6 +4,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumPayWay; import com.iformall.enums.EnumPayWay;
import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxAppinfo;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
@@ -42,7 +43,7 @@ public class QrCodeServiceImpl implements QrCodeService {




@Override @Override
public void downQrCode(TenantEntity tenantEntity, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params,EnumPayWay payWay) throws MallinkException {
public void downQrCode(TenantEntity tenantEntity, HttpServletRequest request, HttpServletResponse response, Map<String, Object> params,EnumAppPlat plat) throws MallinkException {
String name = (String) params.get("name"); String name = (String) params.get("name");
String pageUrl = (String) params.get("pageUrl"); String pageUrl = (String) params.get("pageUrl");
String sceneParam = (String) params.get("sceneParam"); String sceneParam = (String) params.get("sceneParam");
@@ -68,7 +69,7 @@ public class QrCodeServiceImpl implements QrCodeService {
exportQrcode(request, response, exportQrcode(request, response,
tenantEntity, type, pageUrl, sceneParam, tenantEntity, type, pageUrl, sceneParam,
withText, text1, text2, withText, text1, text2,
name,payWay);
name,plat);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
throw new MallinkException(Result.ERROR, "下载异常"); throw new MallinkException(Result.ERROR, "下载异常");
@@ -79,10 +80,14 @@ public class QrCodeServiceImpl implements QrCodeService {
public ResultData exportQrcode(HttpServletRequest request, HttpServletResponse response, public ResultData exportQrcode(HttpServletRequest request, HttpServletResponse response,
TenantEntity tenantEntity, int type, String pageUrl, String sceneParam, TenantEntity tenantEntity, int type, String pageUrl, String sceneParam,
int withText, String text1, String text2, int withText, String text1, String text2,
String name,EnumPayWay payWay) {
String name, EnumAppPlat plat) {
// type 0 有限二维码, 1 无限制二维码 // type 0 有限二维码, 1 无限制二维码
// withText 0 不带字 1. 带下面的字,2 带下面的两行字 // withText 0 不带字 1. 带下面的字,2 带下面的两行字
WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantEntity,payWay.getPlat());
WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantEntity,plat);
if(appinfo == null){
logger.error("生成二维码{}未找到对应的小程序");
return new ResultData();
}


String filepath = fmUploadDir; String filepath = fmUploadDir;
String fileName = name + ".png"; String fileName = name + ".png";
@@ -95,7 +100,7 @@ public class QrCodeServiceImpl implements QrCodeService {
pDest.mkdirs(); pDest.mkdirs();
} }
try { try {
File codeFile = payServiceFactory.getPayAdapterService(payWay.getCode()).getQrcode(appinfo, pageUrl, type, sceneParam);
File codeFile = payServiceFactory.getQrcodeService(appinfo.getPlat()).getQrcode(appinfo, pageUrl, type, sceneParam);
copyFileToDest(withText, text1, text2, destPath1, dest, codeFile); copyFileToDest(withText, text1, text2, destPath1, dest, codeFile);
org.apache.commons.io.FileUtils.forceDelete(codeFile); org.apache.commons.io.FileUtils.forceDelete(codeFile);
} catch (WxErrorException e) { } catch (WxErrorException e) {
@@ -116,10 +121,14 @@ public class QrCodeServiceImpl implements QrCodeService {
@Override @Override
public ResultData uploadQrcode(TenantEntity tenantEntity, int type, String pageUrl, String sceneParam, public ResultData uploadQrcode(TenantEntity tenantEntity, int type, String pageUrl, String sceneParam,
int withText, String text1, String text2, int withText, String text1, String text2,
String name,EnumPayWay payWay) {
String name,EnumAppPlat plat) {
// type 0 有限二维码, 1 无限制二维码 // type 0 有限二维码, 1 无限制二维码
// withText 0 不带字 1. 带下面的字,2 带下面的两行字 // withText 0 不带字 1. 带下面的字,2 带下面的两行字
WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantEntity,payWay.getPlat());
WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantEntity,plat);
if(appinfo == null){
logger.error("生成二维码{}未找到对应的小程序");
return new ResultData();
}


String filepath = fmUploadDir; String filepath = fmUploadDir;
String fileName = name + ".png"; String fileName = name + ".png";
@@ -132,7 +141,7 @@ public class QrCodeServiceImpl implements QrCodeService {
pDest.mkdirs(); pDest.mkdirs();
} }
try { try {
File codeFile = payServiceFactory.getPayAdapterService(payWay.getCode()).getQrcode(appinfo, pageUrl, type, sceneParam);
File codeFile = payServiceFactory.getQrcodeService(appinfo.getPlat()).getQrcode(appinfo, pageUrl, type, sceneParam);
copyFileToDest(withText, text1, text2, destPath1, dest, codeFile); copyFileToDest(withText, text1, text2, destPath1, dest, codeFile);
org.apache.commons.io.FileUtils.forceDelete(codeFile); org.apache.commons.io.FileUtils.forceDelete(codeFile);
} catch (WxErrorException e) { } catch (WxErrorException e) {


+ 0
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java Просмотреть файл

@@ -632,10 +632,6 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc
wxCUserBasicInfoMapper.updateScore(record); wxCUserBasicInfoMapper.updateScore(record);
} }


@Override
public void updateQrCode(WxCUserBasicInfo record) {
wxCUserBasicInfoMapper.updateQrCode(record);
}


@Override @Override
public WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName, Integer sex, String avatarUrl) { public WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName, Integer sex, String avatarUrl) {


+ 5
- 14
mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java Просмотреть файл

@@ -17,6 +17,7 @@ import com.iformall.mapper.WxCouponChannelMapper;
import com.iformall.mapper.WxQuestionOneselfMapper; import com.iformall.mapper.WxQuestionOneselfMapper;
import com.iformall.service.QrCodeService; import com.iformall.service.QrCodeService;
import com.iformall.service.WxCampaignService; import com.iformall.service.WxCampaignService;
import com.iformall.service.WxCouponChannelService;
import com.iformall.service.WxCouponService; import com.iformall.service.WxCouponService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -44,6 +45,9 @@ public class WxCampaignServiceImpl implements WxCampaignService {
@Autowired @Autowired
WxCampaignMapper wxCampaignMapper; WxCampaignMapper wxCampaignMapper;


@Autowired
WxCouponChannelService wxCouponChannelService;

@Autowired @Autowired
WxCouponChannelMapper wxCouponChannelMapper; WxCouponChannelMapper wxCouponChannelMapper;


@@ -332,20 +336,7 @@ public class WxCampaignServiceImpl implements WxCampaignService {
wxCouponChannel.setId(idWorker.nextId()); wxCouponChannel.setId(idWorker.nextId());
wxCouponChannelMapper.insert(wxCouponChannel); wxCouponChannelMapper.insert(wxCouponChannel);


String pageUrl = Constant.mainPageUrl;
WxCouponChannel couponChannel = new WxCouponChannel();
couponChannel.setId(wxCouponChannel.getId());
couponChannel.setType(wxCouponChannel.getType());
String param = couponChannel.getWeappScene();
//此处只有微信二维码,如果需要彼得二维码,需要加字段
ResultData resultDataQ = qrCodeService.uploadQrcode(wxCoupon,1,pageUrl,param,0,"","","券",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultDataQ.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
couponChannel.setQrCode(url);
wxCouponChannelMapper.updateById(couponChannel);
}
wxCouponChannelService.updateQrCode(wxCouponChannel,wxCouponChannel.getId(),wxCouponChannel.getType());
} }
} }




+ 28
- 15
mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java Просмотреть файл

@@ -6,6 +6,7 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.IdWorker; import com.iformall.common.IdWorker;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.WxCouponChannel;
@@ -132,6 +133,31 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
return new ResultData(); return new ResultData();
} }


@Override
public void updateQrCode(TenantEntity tenantEntity, Long couponChannelId, Integer couponType) {
WxCouponChannel couponChannel = new WxCouponChannel();
couponChannel.setId(couponChannelId);
couponChannel.updateTenantInfo(tenantEntity);
couponChannel.setType(couponType);

String pageUrl = Constant.mainPageUrl;
String param = couponChannel.getWeappScene();

ResultData wxQrCode = qrCodeService.uploadQrcode(tenantEntity, 1, pageUrl, param, 0, "", "", "WX券"+couponChannelId.toString(),EnumAppPlat.WX);
Map<String, String> wxMap = (Map) wxQrCode.data;
if(wxMap != null && wxMap.get("url") != null) {
String url = wxMap.get("url");
couponChannel.setQrCode(url);
}
ResultData ttQrCode = qrCodeService.uploadQrcode(tenantEntity, 1, pageUrl, param, 0, "", "", "TT券"+couponChannelId.toString(),EnumAppPlat.TOUTIAO);
Map<String, String> ttmap = (Map) ttQrCode.data;
if(ttmap != null && ttmap.get("url") != null) {
String url = ttmap.get("url");
couponChannel.setTtQrCode(url);
}
wxCouponChannelMapper.updateById(couponChannel);
}

/** /**
* 清除c端首页券列表缓存 * 清除c端首页券列表缓存
* @param tenantEntity * @param tenantEntity
@@ -348,21 +374,8 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
vo.setType(channel.getType()); vo.setType(channel.getType());
vo.setSuc(true); vo.setSuc(true);


String pageUrl = Constant.mainPageUrl;
WxCouponChannel couponChannel = new WxCouponChannel();
couponChannel.setId(vo.getId());
couponChannel.setType(vo.getType());
couponChannel.updateTenantInfo(tenantEntity);
String param = couponChannel.getWeappScene();
//此处只有微信二维码
ResultData resultDataQ = qrCodeService.uploadQrcode(wxCoupon,1,pageUrl,param,0,"","","券",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultDataQ.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
couponChannel.setQrCode(url);
wxCouponChannelMapper.updateById(couponChannel);
}
this.updateQrCode(channel,channel.getId(),channel.getType());

return vo; return vo;
} }




+ 1
- 14
mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java Просмотреть файл

@@ -394,20 +394,7 @@ public class WxGameServiceImpl implements WxGameService {
wxCouponChannel.setId(idWorker.nextId()); wxCouponChannel.setId(idWorker.nextId());
wxCouponChannelMapper.insert(wxCouponChannel); wxCouponChannelMapper.insert(wxCouponChannel);


String pageUrl = Constant.mainPageUrl;
WxCouponChannel couponChannel = new WxCouponChannel();
couponChannel.setId(wxCouponChannel.getId());
couponChannel.setType(wxCouponChannel.getType());
String param = couponChannel.getWeappScene();
//暂时只有微信二维码,如果有别的二维码,则需要别的字段
ResultData resultDataQ = qrCodeService.uploadQrcode(wxCoupon,1,pageUrl,param,0,"","","券",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultDataQ.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
couponChannel.setQrCode(url);
wxCouponChannelMapper.updateById(couponChannel);
}
wxCouponChannelService.updateQrCode(wxCouponChannel,wxCouponChannel.getId(),wxCouponChannel.getType());
} }
} }




+ 30
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java Просмотреть файл

@@ -19,6 +19,7 @@ import com.iformall.enums.*;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.*; import com.iformall.mapper.*;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -112,6 +113,9 @@ public class WxMerchantServiceImpl implements WxMerchantService {
@Autowired @Autowired
TtUserFollowMapper ttUserFollowMapper; TtUserFollowMapper ttUserFollowMapper;


@Autowired
private QrCodeService qrCodeService;

@Override @Override
public PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { public PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findList(record)); return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findList(record));
@@ -446,6 +450,32 @@ public class WxMerchantServiceImpl implements WxMerchantService {


} }


@Override
public void updateQrCode(TenantEntity tenantEntity,Long merchantId) {
WxMerchant merchant = new WxMerchant();
merchant.setId(merchantId);
merchant.updateTenantInfo(tenantEntity);

String pageUrl = Constant.mainPageUrl;
String param = merchant.getWeappScene();

//微信二维码,后续有别的二维码,再加字段
ResultData wxQrCode = qrCodeService.uploadQrcode(tenantEntity,1,pageUrl,param,0,"","","WX店铺"+merchantId.toString(), EnumAppPlat.WX);
Map<String,String> wxMap = (Map)wxQrCode.data;
if(wxMap != null && wxMap.get("url") != null) {
String url = wxMap.get("url");
merchant.setQrCode(url);
}
//抖音二维码,后续有别的二维码,再加字段
ResultData ttQrCode = qrCodeService.uploadQrcode(tenantEntity,1,pageUrl,param,0,"","","TT店铺"+merchantId.toString(), EnumAppPlat.TOUTIAO);
Map<String,String> ttmap = (Map)ttQrCode.data;
if(ttmap != null && ttmap.get("url") != null) {
String url = ttmap.get("url");
merchant.setTtQrCode(url);
}
wxMerchantMapper.updateById(merchant);
}

@Transactional(rollbackFor = {Exception.class}) @Transactional(rollbackFor = {Exception.class})
@Override @Override
public ResultData updateMerchant(WxMerchant wxMerchant) { public ResultData updateMerchant(WxMerchant wxMerchant) {


+ 1
- 14
mallinkService/src/main/java/com/iformall/service/impl/WxTopicServiceImpl.java Просмотреть файл

@@ -167,20 +167,7 @@ public class WxTopicServiceImpl implements WxTopicService {
wxCouponChannel.setSubBusiness(wxCoupon.getSubBusiness()); wxCouponChannel.setSubBusiness(wxCoupon.getSubBusiness());
wxCouponChannelMapper.insert(wxCouponChannel); wxCouponChannelMapper.insert(wxCouponChannel);


String pageUrl = Constant.mainPageUrl;
WxCouponChannel couponChannel = new WxCouponChannel();
couponChannel.setId(wxCouponChannel.getId());
couponChannel.setType(wxCouponChannel.getType());
String param = couponChannel.getWeappScene();
//这里暂时只有微信二维码,有其他的码需要加字段
ResultData resultDataQ = qrCodeService.uploadQrcode(wxCoupon,1,pageUrl,param,0,"","","券",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultDataQ.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
couponChannel.setQrCode(url);
wxCouponChannelMapper.updateById(couponChannel);
}
wxCouponChannelService.updateQrCode(wxCouponChannel,wxCouponChannel.getId(),wxCouponChannel.getType());
} }
} }




+ 19
- 0
mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.iformall.service.pay;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;


import com.iformall.enums.EnumAppPlat;
import com.iformall.service.pay.service.pay.douyin.miniApp.TtMiniAppPayAdapterService; import com.iformall.service.pay.service.pay.douyin.miniApp.TtMiniAppPayAdapterService;
import com.iformall.service.pay.service.refund.douyin.TtRefundAdapterService; import com.iformall.service.pay.service.refund.douyin.TtRefundAdapterService;
import com.iformall.service.pay.service.share.douyin.TtPayShareService; import com.iformall.service.pay.service.share.douyin.TtPayShareService;
@@ -32,6 +33,7 @@ import com.iformall.service.pay.service.share.wx.WxPayShareService;
public class PayServiceFactory { public class PayServiceFactory {


private Map<Integer,PayAdapterService> serviceMap = null; private Map<Integer,PayAdapterService> serviceMap = null;
private Map<Integer,PayAdapterService> qrcodeMap = null;
private Map<Integer,PayShareAdapterService> shareMap = null; private Map<Integer,PayShareAdapterService> shareMap = null;
private Map<Integer,RefundPayAdapterService> refundMap = null; private Map<Integer,RefundPayAdapterService> refundMap = null;
private Map<Integer,CashOutAdapterService> cashoutMap = null; private Map<Integer,CashOutAdapterService> cashoutMap = null;
@@ -74,6 +76,15 @@ public class PayServiceFactory {
} }
return serviceMap; return serviceMap;
} }

private Map<Integer,PayAdapterService> getQrcodeMap() {
if (null == qrcodeMap) {
qrcodeMap = new ConcurrentHashMap<Integer,PayAdapterService>();
qrcodeMap.put(EnumAppPlat.WX.getCode(), wxMiniAppPayService);
qrcodeMap.put(EnumAppPlat.TOUTIAO.getCode(),ttMiniAppPayService);
}
return qrcodeMap;
}
private Map<Integer,PayShareAdapterService> getShareMap(){ private Map<Integer,PayShareAdapterService> getShareMap(){
if (null == shareMap ) { if (null == shareMap ) {
@@ -122,6 +133,14 @@ public class PayServiceFactory {
} }
return service; return service;
} }

public PayAdapterService getQrcodeService(Integer type) throws MallinkException{
PayAdapterService service = getQrcodeMap().get(type);
if (null == service) {
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"payWay["+type+"] 支付service未找到");
}
return service;
}
public CDrivingPayService getCDrivingPayService(Integer type) throws MallinkException{ public CDrivingPayService getCDrivingPayService(Integer type) throws MallinkException{
PayAdapterService service = getServiceMap().get(type); PayAdapterService service = getServiceMap().get(type);


+ 2
- 1
mallinkService/src/main/resources/mapper/TtBuserMapper.xml Просмотреть файл

@@ -46,6 +46,7 @@
<result column="subs_subscribe_scene" jdbcType="VARCHAR" property="subsSubscribeScene"/> <result column="subs_subscribe_scene" jdbcType="VARCHAR" property="subsSubscribeScene"/>
<result column="credit" jdbcType="INTEGER" property="credit"/> <result column="credit" jdbcType="INTEGER" property="credit"/>
<result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="user_id" jdbcType="BIGINT" property="userId"/> <result column="user_id" jdbcType="BIGINT" property="userId"/>
</resultMap> </resultMap>
@@ -57,7 +58,7 @@
`update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`, `update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`,
`login_count`, `extra_info`, `is_subscribe`,`open_app_id`,`user_id`, `login_count`, `extra_info`, `is_subscribe`,`open_app_id`,`user_id`,
`mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, `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`,`credit`,`active_time`
`subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code`
</sql> </sql>
<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">


+ 2
- 1
mallinkService/src/main/resources/mapper/TtCUserMapper.xml Просмотреть файл

@@ -47,6 +47,7 @@
<result column="subs_subscribe_scene" jdbcType="VARCHAR" property="subsSubscribeScene"/> <result column="subs_subscribe_scene" jdbcType="VARCHAR" property="subsSubscribeScene"/>
<result column="credit" jdbcType="INTEGER" property="credit"/> <result column="credit" jdbcType="INTEGER" property="credit"/>
<result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
</resultMap> </resultMap>


<sql id="allColumns"> <sql id="allColumns">
@@ -57,7 +58,7 @@
`login_count`, `extra_info`, `is_subscribe`, `login_count`, `extra_info`, `is_subscribe`,
`open_app_id`, `open_app_id`,
`mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, `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`,`credit`,`active_time`
`subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code`
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">


+ 2
- 1
mallinkService/src/main/resources/mapper/WxBuserMapper.xml Просмотреть файл

@@ -46,6 +46,7 @@
<result column="subs_subscribe_scene" jdbcType="VARCHAR" property="subsSubscribeScene"/> <result column="subs_subscribe_scene" jdbcType="VARCHAR" property="subsSubscribeScene"/>
<result column="credit" jdbcType="INTEGER" property="credit"/> <result column="credit" jdbcType="INTEGER" property="credit"/>
<result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="user_id" jdbcType="BIGINT" property="userId"/> <result column="user_id" jdbcType="BIGINT" property="userId"/>
</resultMap> </resultMap>
@@ -57,7 +58,7 @@
`update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`, `update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`,
`login_count`, `extra_info`, `is_subscribe`,`open_app_id`,`user_id`, `login_count`, `extra_info`, `is_subscribe`,`open_app_id`,`user_id`,
`mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, `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`,`credit`,`active_time`
`subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code`
</sql> </sql>
<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">


+ 1
- 7
mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml Просмотреть файл

@@ -29,14 +29,13 @@
<result column="act_record" jdbcType="INTEGER" property="actRecord"/> <result column="act_record" jdbcType="INTEGER" property="actRecord"/>
<result column="score_date" jdbcType="TIMESTAMP" property="scoreDate"/> <result column="score_date" jdbcType="TIMESTAMP" property="scoreDate"/>
<result column="status" jdbcType="INTEGER" property="status"/> <result column="status" jdbcType="INTEGER" property="status"/>
<result column="qr_code" jdbcType="INTEGER" property="qrCode"/>
</resultMap> </resultMap>


<sql id="allColumns"> <sql id="allColumns">
wcubi.`id`,wcubi.`phone`,wcubi.`birthdate`,wcubi.`education`,wcubi.`sex`,wcubi.`height`,wcubi.`weight`,wcubi.`id_card`,wcubi.`email`, wcubi.`id`,wcubi.`phone`,wcubi.`birthdate`,wcubi.`education`,wcubi.`sex`,wcubi.`height`,wcubi.`weight`,wcubi.`id_card`,wcubi.`email`,
wcubi.`address`,wcubi.`poins`,wcubi.`tag_id`,wcubi.`create_date`,wcubi.`update_date`, wcubi.`address`,wcubi.`poins`,wcubi.`tag_id`,wcubi.`create_date`,wcubi.`update_date`,
wcubi.`final_tenant_id`,wcubi.`tenant_id`,wcubi.`parent_tenant_id`,wcubi.`name`,wcubi.`nick_name`, wcubi.`final_tenant_id`,wcubi.`tenant_id`,wcubi.`parent_tenant_id`,wcubi.`name`,wcubi.`nick_name`,
wcubi.`avatar_url`,wcubi.`credit`,wcubi.`active_time`,wcubi.`login_count`,wcubi.`act_record`,wcubi.`qr_code`
wcubi.`avatar_url`,wcubi.`credit`,wcubi.`active_time`,wcubi.`login_count`,wcubi.`act_record`
,(select level from wx_level_config ,(select level from wx_level_config
where poins >= points and tenant_id=wcubi.final_tenant_id where poins >= points and tenant_id=wcubi.final_tenant_id
order by points desc limit 1 ) level,wcubi.score_date,wcubi.status order by points desc limit 1 ) level,wcubi.score_date,wcubi.status
@@ -270,11 +269,6 @@
where id=#{id} where id=#{id}
</update> </update>


<update id="updateQrCode" parameterType="com.iformall.domain.po.WxCUserBasicInfo">
update wx_c_user_basic_info set qr_code=#{qrCode}
where id=#{id}
</update>

<update id="updateUpScore" parameterType="com.iformall.domain.po.WxCUserBasicInfo"> <update id="updateUpScore" parameterType="com.iformall.domain.po.WxCUserBasicInfo">
update wx_c_user_basic_info set poins=poins+#{poins} update wx_c_user_basic_info set poins=poins+#{poins}
where id=#{id} where id=#{id}


+ 2
- 1
mallinkService/src/main/resources/mapper/WxCUserMapper.xml Просмотреть файл

@@ -47,6 +47,7 @@
<result column="subs_subscribe_scene" jdbcType="VARCHAR" property="subsSubscribeScene"/> <result column="subs_subscribe_scene" jdbcType="VARCHAR" property="subsSubscribeScene"/>
<result column="credit" jdbcType="INTEGER" property="credit"/> <result column="credit" jdbcType="INTEGER" property="credit"/>
<result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/> <result column="active_time" jdbcType="TIMESTAMP" property="activeTime"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
</resultMap> </resultMap>


<sql id="allColumns"> <sql id="allColumns">
@@ -57,7 +58,7 @@
`login_count`, `extra_info`, `is_subscribe`, `login_count`, `extra_info`, `is_subscribe`,
`open_app_id`, `open_app_id`,
`mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, `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`,`credit`,`active_time`
`subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code`
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">


+ 11
- 7
mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml Просмотреть файл

@@ -18,11 +18,12 @@
<result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate" /> <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
<result column="sub_target_id" jdbcType="BIGINT" property="subTargetId" /> <result column="sub_target_id" jdbcType="BIGINT" property="subTargetId" />
<result column="qr_code" property="qrCode"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="tt_qr_code" jdbcType="VARCHAR" property="ttQrCode"/>
</resultMap> </resultMap>


<sql id="allColumns"> <sql id="allColumns">
distinct cc.`id`,cc.`tenant_id`,cc.`parent_tenant_id`,cc.`coupon_id`,cc.`coupon_status`,cc.`type`,cc.`title`,cc.`target_ad`,cc.`business`,cc.`sub_business`,cc.`show_begin_time`,cc.`begin_time`,cc.`end_time`,cc.`status`,cc.`create_date`,cc.`update_date`,cc.`sub_target_id`,cc.qr_code
distinct cc.`id`,cc.`tenant_id`,cc.`parent_tenant_id`,cc.`coupon_id`,cc.`coupon_status`,cc.`type`,cc.`title`,cc.`target_ad`,cc.`business`,cc.`sub_business`,cc.`show_begin_time`,cc.`begin_time`,cc.`end_time`,cc.`status`,cc.`create_date`,cc.`update_date`,cc.`sub_target_id`,cc.qr_code,cc.tt_qr_code
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
@@ -206,7 +207,8 @@
<result column="pick_start_date" jdbcType="TIMESTAMP" property="pickStartDate"/> <result column="pick_start_date" jdbcType="TIMESTAMP" property="pickStartDate"/>
<result column="pick_end_date" jdbcType="TIMESTAMP" property="pickEndDate"/> <result column="pick_end_date" jdbcType="TIMESTAMP" property="pickEndDate"/>
<result column="valid_days" jdbcType="INTEGER" property="validDays"/> <result column="valid_days" jdbcType="INTEGER" property="validDays"/>
<result column="qr_code" property="qrCode"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="tt_qr_code" jdbcType="VARCHAR" property="ttQrCode"/>
<result column="conditions" jdbcType="VARCHAR" property="conditions" /> <result column="conditions" jdbcType="VARCHAR" property="conditions" />
<result column="content_type" jdbcType="INTEGER" property="contentType"/> <result column="content_type" jdbcType="INTEGER" property="contentType"/>
<result column="source_type" jdbcType="INTEGER" property="sourceType"/> <result column="source_type" jdbcType="INTEGER" property="sourceType"/>
@@ -267,7 +269,7 @@
c.use_limit_rule,c.use_limit_quantity,c.send_type,c.valid_type,c.valid_start_date,c.valid_end_date,c.pick_start_date,c.pick_end_date, c.use_limit_rule,c.use_limit_quantity,c.send_type,c.valid_type,c.valid_start_date,c.valid_end_date,c.pick_start_date,c.pick_end_date,
c.valid_days,c.detail,c.price,c.tail_price,c.orig_price,c.unit,c.remain_inventory,c.inventory,c.remark,c.status, c.valid_days,c.detail,c.price,c.tail_price,c.orig_price,c.unit,c.remain_inventory,c.inventory,c.remark,c.status,
c.create_date,c.update_date,c.business,c.sub_business,c.support_transfer,c.press_limit_num, c.auto_refund,c.credit_price,c.conditions,c.content_type, c.create_date,c.update_date,c.business,c.sub_business,c.support_transfer,c.press_limit_num, c.auto_refund,c.credit_price,c.conditions,c.content_type,
cc.qr_code
cc.qr_code,cc.tt_qr_code
</sql> </sql>


<sql id="CVoStatusColumn"> <sql id="CVoStatusColumn">
@@ -317,7 +319,8 @@
<result column="support_transfer" jdbcType="INTEGER" property="supportTransfer"/> <result column="support_transfer" jdbcType="INTEGER" property="supportTransfer"/>
<result column="press_limit_num" jdbcType="INTEGER" property="pressLimitNum"/> <result column="press_limit_num" jdbcType="INTEGER" property="pressLimitNum"/>
<result column="auto_refund" jdbcType="INTEGER" property="autoRefund"/> <result column="auto_refund" jdbcType="INTEGER" property="autoRefund"/>
<result column="qr_code" property="qrCode"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="tt_qr_code" jdbcType="VARCHAR" property="ttQrCode"/>
<result column="conditions" jdbcType="VARCHAR" property="conditions" /> <result column="conditions" jdbcType="VARCHAR" property="conditions" />
<result column="content_type" jdbcType="INTEGER" property="contentType"/> <result column="content_type" jdbcType="INTEGER" property="contentType"/>


@@ -366,7 +369,8 @@
<result column="support_transfer" jdbcType="INTEGER" property="supportTransfer"/> <result column="support_transfer" jdbcType="INTEGER" property="supportTransfer"/>
<result column="press_limit_num" jdbcType="INTEGER" property="pressLimitNum"/> <result column="press_limit_num" jdbcType="INTEGER" property="pressLimitNum"/>
<result column="auto_refund" jdbcType="INTEGER" property="autoRefund"/> <result column="auto_refund" jdbcType="INTEGER" property="autoRefund"/>
<result column="qr_code" property="qrCode"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="tt_qr_code" jdbcType="VARCHAR" property="ttQrCode"/>
<result column="conditions" jdbcType="VARCHAR" property="conditions" /> <result column="conditions" jdbcType="VARCHAR" property="conditions" />
<result column="content_type" jdbcType="INTEGER" property="contentType"/> <result column="content_type" jdbcType="INTEGER" property="contentType"/>
</resultMap> </resultMap>
@@ -422,7 +426,7 @@
</delete> </delete>


<select id="findQrcodeEmptyList" resultType="com.iformall.domain.po.WxCouponChannel"> <select id="findQrcodeEmptyList" resultType="com.iformall.domain.po.WxCouponChannel">
select * from wx_coupon_channel where qr_code is null
select * from wx_coupon_channel where qr_code is null or tt_qr_code is null
</select> </select>
<update id="cardDefer"> <update id="cardDefer">


+ 6
- 5
mallinkService/src/main/resources/mapper/WxMerchantMapper.xml Просмотреть файл

@@ -29,6 +29,7 @@
<result column="is_admin" jdbcType="INTEGER" property="isAdmin"/> <result column="is_admin" jdbcType="INTEGER" property="isAdmin"/>
<result column="bill_setting" jdbcType="INTEGER" property="billSetting"/> <result column="bill_setting" jdbcType="INTEGER" property="billSetting"/>
<result column="qr_code" jdbcType="VARCHAR" property="qrCode"/> <result column="qr_code" jdbcType="VARCHAR" property="qrCode"/>
<result column="tt_qr_code" jdbcType="VARCHAR" property="ttQrCode"/>
<result column="introduction" jdbcType="VARCHAR" property="introduction"/> <result column="introduction" jdbcType="VARCHAR" property="introduction"/>
<result column="action_desc" jdbcType="VARCHAR" property="actionDesc"/> <result column="action_desc" jdbcType="VARCHAR" property="actionDesc"/>
<result column="mark" jdbcType="INTEGER" property="mark"/> <result column="mark" jdbcType="INTEGER" property="mark"/>
@@ -49,13 +50,13 @@
<sql id="allColumns"> <sql id="allColumns">
m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`, m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,m.`tt_qr_code`,
m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,m.credit_locked,m.credit_locked,m.entry_amount,m.cash_out_count,m.cash_out_last_time m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,m.credit_locked,m.credit_locked,m.entry_amount,m.cash_out_count,m.cash_out_last_time
</sql> </sql>
<sql id="allColumnsVo"> <sql id="allColumnsVo">
m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`, m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,m.`tt_qr_code`,
m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,r.rental_start_date,r.rental_end_date,m.entry_amount,m.cash_out_number,m.cash_out_count,m.cash_out_last_time m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,r.rental_start_date,r.rental_end_date,m.entry_amount,m.cash_out_number,m.cash_out_count,m.cash_out_last_time
</sql> </sql>
@@ -538,7 +539,7 @@
</select> </select>


<select id="findQrcodeEmptyList" resultMap="BaseResultMap"> <select id="findQrcodeEmptyList" resultMap="BaseResultMap">
select * from wx_merchant where qr_code is null;
select * from wx_merchant where qr_code is null or tt_qr_code is null;
</select> </select>


<select id="findBusByFloorId" resultType="hashmap" parameterType="hashmap"> <select id="findBusByFloorId" resultType="hashmap" parameterType="hashmap">
@@ -711,7 +712,7 @@
<select id="findMerchantByShop" parameterType="Long" resultType="hashmap"> <select id="findMerchantByShop" parameterType="Long" resultType="hashmap">
select select
m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`, m.`id`,m.`tenant_id`,m.`parent_tenant_id`,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,m.`tt_qr_code`,
m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,m.credit_locked,m.credit_locked, m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,m.credit_locked,m.credit_locked,
b.name brandName,bu.title businessTitle,mc.corp_papers_register_number corpPapersRegisterNumber,mc.corp_papers_address corpPapersAddress b.name brandName,bu.title businessTitle,mc.corp_papers_register_number corpPapersRegisterNumber,mc.corp_papers_address corpPapersAddress
from wx_shop s from wx_shop s
@@ -727,7 +728,7 @@
select select
m.`id`,m.`tenant_id` tenantId,m.`parent_tenant_id` parentTenantId,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`, m.`id`,m.`tenant_id` tenantId,m.`parent_tenant_id` parentTenantId,m.`img_url`,m.`name`,m.`encode`,m.`link_phone`,m.`create_date`,m.`update_date`,
m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`, m.`car_vendor_type`,m.`car_params`,m.`status`,m.`link_person`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,
m.`business_id`,m.`business_types`,m.`sub_business_id`,m.`shop_type`,m.`brand`,m.`type`,m.`is_public`,m.email,m.`title`,m.`cover_picture`,m.`is_admin`,m.`bill_setting`,m.`qr_code`,m.`tt_qr_code`,
m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,m.credit_locked,m.credit_locked, m.`introduction`,m.`action_desc`,m.`mark`,m.mark_time,m.`is_del`,m.`talk_user_main`,m.`talk_user_aux`,m.link_line_phone,m.credit_locked,m.credit_locked,
b.name brandName,bu.title businessTitle,mc.corp_papers_register_number corpPapersRegisterNumber,mc.corp_papers_address corpPapersAddress b.name brandName,bu.title businessTitle,mc.corp_papers_register_number corpPapersRegisterNumber,mc.corp_papers_address corpPapersAddress
from wx_merchant m from wx_merchant m


+ 4
- 0
mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml Просмотреть файл

@@ -50,6 +50,10 @@
<if test=" null != onOff "> <if test=" null != onOff ">
and `on_off` = #{onOff} and `on_off` = #{onOff}
</if> </if>

<if test=" isc ">
and `template_id` is not null and `template_id` &lt;&gt; ''
</if>
<if test=" null != types "> <if test=" null != types ">
and `type` in and `type` in
<foreach collection="types" index="index" item="item" open="(" separator="," close=")"> <foreach collection="types" index="index" item="item" open="(" separator="," close=")">


+ 2
- 12
mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java Просмотреть файл

@@ -14,6 +14,7 @@ import com.iformall.domain.po.WxProfitSharingReceiver;
import com.iformall.domain.vo.WxMerchantTradeDetailVo; import com.iformall.domain.vo.WxMerchantTradeDetailVo;
import com.iformall.domain.vo.WxMerchantTradeVo; import com.iformall.domain.vo.WxMerchantTradeVo;
import com.iformall.domain.vo.WxMerchantVo; import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.enums.EnumAppPlat;
import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumMerchantStatus;
import com.iformall.enums.EnumPayWay; import com.iformall.enums.EnumPayWay;
import com.iformall.service.QrCodeService; import com.iformall.service.QrCodeService;
@@ -166,18 +167,7 @@ public class WxMerchantController extends BaseController {
ResultData resultData = wxMerchantService.addMerchant(wxMerchant, getUserId()); ResultData resultData = wxMerchantService.addMerchant(wxMerchant, getUserId());


if(resultData.code == 200){ if(resultData.code == 200){
//加载二维码图片
String pageUrl = Constant.mainPageUrl;
String param = "t:md:"+resultData.data;
//这里暂时只有微信二维码,后续有别的二维码,再加字段
ResultData resultQrCode = qrCodeService.uploadQrcode(wxMerchant,1,pageUrl,param,0,"","","店铺详情",EnumPayWay.PAY_WAY_WECHAT);
Map<String,String> map = (Map)resultQrCode.data;
if(map!=null && map.get("url") !=null) {
String url = map.get("url");
wxMerchant.setQrCode(url);
wxMerchantService.updateMerchant(wxMerchant);
}
wxMerchantService.updateQrCode(wxMerchant,wxMerchant.getId());
} }


return resultData; return resultData;


Загрузка…
Отмена
Сохранить