diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java index ee92d4f17..5721e523e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java +++ b/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 { if("xlldxx".equals(p)) { String pageUrl = Constant.mainPageUrl; - List list = wxMerchantMapper.findQrcodeEmptyList(); logger.info("updateQrCode.count:"+list.size()); for (WxMerchant merchant : list) { @@ -67,13 +66,21 @@ public class WxAppinfoController extends BaseController { @Override public void run() { String param = merchant.getWeappScene(); - ResultData resultData = qrCodeService.uploadQrcode(merchant, 1, pageUrl, param, 0, "", "", merchant.getId().toString(),EnumPayWay.PAY_WAY_WECHAT); - Map 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 wxQrCode = qrCodeService.uploadQrcode(merchant, 1, pageUrl, param, 0, "", "", "WX店铺"+merchant.getId().toString(),EnumAppPlat.WX); + Map wxMap = (Map) wxQrCode.data; + if(wxMap != null && wxMap.get("url") != null) { + merchant.setQrCode(wxMap.get("url")); + } + } + if(StringUtils.isBlank(merchant.getTtQrCode())){ + ResultData ttQrCode = qrCodeService.uploadQrcode(merchant, 1, pageUrl, param, 0, "", "", "TT店铺"+merchant.getId().toString(),EnumAppPlat.TOUTIAO); + Map ttMap = (Map) ttQrCode.data; + if(ttMap != null && ttMap.get("url") != null) { + merchant.setTtQrCode(ttMap.get("url")); + } } + wxMerchantMapper.updateById(merchant); } }); } @@ -82,9 +89,13 @@ public class WxAppinfoController extends BaseController { @ApiOperation("券二维码--二维码数据刷数据库") @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)){ String pageUrl = Constant.mainPageUrl; + EnumAppPlat plat = EnumAppPlat.getByCode(platCode); List list = wxCouponChannelMapper.findQrcodeEmptyList(); logger.info("updateCouponQrCode.count:"+list.size()); @@ -93,15 +104,22 @@ public class WxAppinfoController extends BaseController { @Override public void run() { String param = couponChannel.getWeappScene(); - - //暂时只有微信二维码,有别的码,需要加字段 - ResultData resultData = qrCodeService.uploadQrcode(couponChannel,1,pageUrl,param,0,"","","券",EnumPayWay.PAY_WAY_WECHAT); - Map 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 wxQrCode = qrCodeService.uploadQrcode(couponChannel, 1, pageUrl, param, 0, "", "", "WX券"+couponChannel.getId().toString(),EnumAppPlat.WX); + Map wxMap = (Map) wxQrCode.data; + if(wxMap != null && wxMap.get("url") != null) { + couponChannel.setQrCode(wxMap.get("url")); + } } + if(StringUtils.isBlank(couponChannel.getTtQrCode())){ + ResultData ttQrCode = qrCodeService.uploadQrcode(couponChannel, 1, pageUrl, param, 0, "", "", "TT券"+couponChannel.getId().toString(),EnumAppPlat.TOUTIAO); + Map ttMap = (Map) ttQrCode.data; + if(ttMap != null && ttMap.get("url") != null) { + couponChannel.setTtQrCode(ttMap.get("url")); + } + } + wxCouponChannelMapper.updateById(couponChannel); } }); } @@ -138,7 +156,7 @@ public class WxAppinfoController extends BaseController { qrCodeService.exportQrcode(request, response, getTenantInfo(), type, pageUrl, sceneParam, withText, text1, text2, - name,EnumPayWay.PAY_WAY_WECHAT); + name,EnumAppPlat.WX); } catch (Exception e) { logger.error(e.getMessage()); throw new MallinkException(Result.ERROR, "下载异常"); @@ -149,14 +167,14 @@ public class WxAppinfoController extends BaseController { @GetMapping("/getAppMouldType") public ResultData getAppMouldType(Integer plat) { logger.debug("[" + getIpAddr() + "] WxAppinfoController::getAppMouldType"); - if(plat == null){ - plat = EnumAppPlat.WX.getCode(); - } - EnumAppPlat byCode = EnumAppPlat.getByCode(plat); - if(byCode == null){ - return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); - } - WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(ifParentUpdateAloneTenantInfo().getTenantId(), byCode); +// if(plat == null){ +// plat = EnumAppPlat.WX.getCode(); +// } +// EnumAppPlat byCode = EnumAppPlat.getByCode(plat); +// if(byCode == null){ +// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); +// } + WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(ifParentUpdateAloneTenantInfo().getTenantId(), null); return new ResultData(cAppInfo); } @@ -167,11 +185,12 @@ public class WxAppinfoController extends BaseController { if(appinfo == null || appinfo.getId() == null || appinfo.getMouldType() == null){ return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); } - WxAppinfo updateAppinfo = new WxAppinfo(); - updateAppinfo.setId(appinfo.getId()); - updateAppinfo.setMouldType(appinfo.getMouldType()); - updateAppinfo.updateTenantInfo(ifParentUpdateAloneTenantInfo()); - wxAppinfoService.saveOrUpdate(updateAppinfo); +// WxAppinfo updateAppinfo = new WxAppinfo(); +// updateAppinfo.setId(appinfo.getId()); +// updateAppinfo.setMouldType(appinfo.getMouldType()); +// updateAppinfo.updateTenantInfo(ifParentUpdateAloneTenantInfo()); +// wxAppinfoService.saveOrUpdate(updateAppinfo); + wxAppinfoService.updateCMouldType(ifParentUpdateAloneTenantInfo(),appinfo.getMouldType()); return new ResultData(); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java b/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java index 42d0b919b..233a48159 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java +++ b/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.WxMerchantTradeVo; import com.iformall.domain.vo.WxMerchantVo; +import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumPayWay; import com.iformall.service.QrCodeService; @@ -164,18 +165,7 @@ public class WxMerchantController extends BaseController { ResultData resultData = wxMerchantService.addMerchant(wxMerchant, getUserId()); 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 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; diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java index b4f73e4d5..8dbc0324f 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java @@ -92,9 +92,10 @@ public class MarkingDataReportController extends BaseController { public ResultData touchUsersDataList(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto, Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] MarkingDataReportController::touchUsersDataList"); TenantEntity tenantInfo = getTenantInfo(); - List tenantEntitys = wxMallService.getTenantEntitys(tenantInfo); - markingCouponDataReportDto.setTenantEntitys(tenantEntitys); + //List tenantEntitys = wxMallService.getTenantEntitys(tenantInfo); + //markingCouponDataReportDto.setTenantEntitys(tenantEntitys); markingCouponDataReportDto.updateTenantInfo(tenantInfo); + markingCouponDataReportDto.setTenantEntity(tenantInfo); return new ResultData(markingDataReportService.getTouchUsersReportList(markingCouponDataReportDto, pageNum, pageSize)); } @@ -103,9 +104,10 @@ public class MarkingDataReportController extends BaseController { @SystemControllerLog(description = "券数据-触达用户数数据导出") public void exportTouchUsersData(@ModelAttribute MarkingCouponDataReportDto markingCouponDataReportDto, HttpServletRequest request, HttpServletResponse response) { TenantEntity tenantInfo = getTenantInfo(); - List tenantEntitys = wxMallService.getTenantEntitys(tenantInfo); - markingCouponDataReportDto.setTenantEntitys(tenantEntitys); + //List tenantEntitys = wxMallService.getTenantEntitys(tenantInfo); + //markingCouponDataReportDto.setTenantEntitys(tenantEntitys); markingCouponDataReportDto.updateTenantInfo(tenantInfo); + markingCouponDataReportDto.setTenantEntity(tenantInfo); markingDataReportService.exportTouchUsersData(request, response, markingCouponDataReportDto); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignController.java index 36a91e652..47aa916d2 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignController.java @@ -169,8 +169,8 @@ public class WxCampaignController extends BaseController { wxCouponChannel.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_CAMPAIN.getCode()); wxCouponChannel.setSubTargetId(wxCampaign.getId()); wxCouponChannel.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode()); - List couponList = wxCouponChannelService.listVo(wxCouponChannel); - wxCampaign.setCoupons(couponList); + List voList = wxCouponChannelService.newfindListVo(wxCouponChannel); + wxCampaign.setCoupons(voList); } return new ResultData(Result.SUCCESS, "查询成功", wxCampaign); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java index 2b5edaa6f..83c680ed7 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java @@ -5,21 +5,13 @@ import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; import com.iformall.common.Result; import com.iformall.common.ResultData; -import com.iformall.controller.app.WxAppinfoController; import com.iformall.controller.base.BaseController; import com.iformall.domain.dto.WxCouponChannelDto; import com.iformall.domain.po.*; import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.enums.EnumCouponSourceType; -import com.iformall.enums.EnumPayWay; import com.iformall.domain.po.base.BaseEntity; -import com.iformall.domain.vo.WxCouponChannelVo; -import com.iformall.mapper.WxCouponChannelMapper; -import com.iformall.service.QrCodeService; import com.iformall.service.WxCouponChannelService; -import com.iformall.service.WxCouponService; -import com.iformall.service.WxFlowService; -import com.iformall.utils.Constant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -32,27 +24,17 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; -import java.util.Map; @RestController @RequestMapping("wxCouponChannel") @Api(description = "优惠券投放接口") public class WxCouponChannelController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private WxCouponChannelService wxCouponChannelService; - @Autowired - private WxAppinfoController wxAppinfoController; - @Autowired - private WxCouponChannelMapper wxCouponChannelMapper; - @Autowired - private QrCodeService qrCodeService; - @Autowired - private WxFlowService wxFlowService; - @Autowired - private WxCouponService wxCouponService; @ApiOperation("分页列表接口") @GetMapping("list") @@ -77,7 +59,7 @@ public class WxCouponChannelController extends BaseController { }else{ wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC); } - final PageInfo page = wxCouponChannelService.listPageCVo(wxCouponChannel, pageNum, pageSize); + final PageInfo page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); return new ResultData(page); } @@ -92,17 +74,7 @@ public class WxCouponChannelController extends BaseController { WxCouponChannel couponChannel = (WxCouponChannel)resultData.data; //生成二维码 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 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; } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxUserCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxUserCouponController.java index 3d70f850a..a216c5e3c 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxUserCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxUserCouponController.java @@ -39,7 +39,7 @@ public class WxUserCouponController extends BaseController { if(wxUserCoupon==null||wxUserCoupon.getCUserId()==null||wxUserCoupon.getCouponStatus()==null){ return new ResultData(Result.ERROR,"查询失败"); } - return new ResultData(Result.SUCCESS,"查询成功",wxUserCouponService.findList(wxUserCoupon.getCUserId(),wxUserCoupon.getCouponStatus())); + return new ResultData(Result.SUCCESS,"查询成功",wxUserCouponService.findList(getTenantInfo(),wxUserCoupon.getCUserId(),wxUserCoupon.getCouponStatus())); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java index 61e84e8a5..ae2c77885 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/MemCouponController.java @@ -63,7 +63,7 @@ public class MemCouponController extends BaseController { }else{ wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC); } - final PageInfo page = couponChannelService.listPageCVo(wxCouponChannel, pageNum, pageSize); + final PageInfo page = couponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java index d11b247d2..155dc3543 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java @@ -264,104 +264,103 @@ public class WxCUserDataController extends BaseController { return new ResultData(mapVo); } - //TODO 待优化数据 -// @ApiOperation("查询用户消费金额") -// @GetMapping("findUserAmountData") -// @SystemControllerLog(description = "会员首页-报表数据-查询用户消费金额") -// public ResultData findUserAmountData(Integer plat) { -// logger.debug("[" + getIpAddr() + "] WxCUserDataController::findUserAmountData"); -// if(plat == null){ -// plat = EnumAppPlat.WX.getCode(); -// } -// TenantEntity tenantEntity = getTenantInfo(); -// Calendar c = Calendar.getInstance(); -// Date today = c.getTime(); -// c.add(Calendar.DAY_OF_YEAR, 1); -// c.set(Calendar.HOUR_OF_DAY, 0); -// c.set(Calendar.MINUTE, 0); -// c.set(Calendar.SECOND, 0); -// Date endTime = c.getTime();//明天0点 -// c.add(Calendar.DAY_OF_YEAR, -30);//三十天前 -// Date startTime = c.getTime(); -// List tenantEntitys = wxMallService.getTenantEntitys(tenantEntity); -// WxCouponOrder wxCouponOrder = new WxCouponOrder(); -// wxCouponOrder.updateTenantInfo(tenantEntity); -// wxCouponOrder.setStartTime(startTime); -// wxCouponOrder.setEndTime(endTime); -// int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 -// c.clear(); -// c.setTime(endTime); -// Date eTime = c.getTime(); -// c.add(Calendar.DAY_OF_YEAR, -30); -// Date sTime = c.getTime(); -// List datas = wxCouponOrderService.queryPriceTotalGroup(tenantEntity, sTime, eTime); -// Map dataMap = new HashMap<>(); -// for (CUserDateAmountVo v : datas) { -// dataMap.put(v.getXTime(), v.getPrice()); -// } -// Integer todayCount = 0;//今日金额数 -// Integer yesterdayCount = 0;//昨日金额数 -// Integer dayOfWeekCount = 0;//上周x -// List weekVos = new ArrayList<>();//周消费金额 -// List monthVos = new ArrayList<>();//周消费金额 -// for (int i = 29, sortNum = 0; i >= 0; i--) { -// c.clear(); -// c.setTime(today); -// c.add(Calendar.DAY_OF_YEAR, -i); -// String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); -// UserStructureVo vo = new UserStructureVo(); -// vo.setName(new SimpleDateFormat("MM/dd").format(c.getTime())); -// vo.setSortNum(sortNum++); -// if (dataMap.get(dateStr) != null) { -// int price = dataMap.get(dateStr); -// vo.setPrice(price); -// } else { -// vo.setPrice(0); -// } -// if (i <= 7) { -// UserStructureVo vow = new UserStructureVo(); -// vow.setName(vo.getName()); -// vow.setSortNum(vo.getSortNum()); -// vow.setPrice(vo.getPrice()); -// -// if (i == 0) { -// todayCount = vow.getPrice(); -// } -// if (i == 1) { -// yesterdayCount = vow.getPrice(); -// } -// if (i == 7) { -// dayOfWeekCount = vow.getPrice(); -// } else { -// weekVos.add(vow); -// } -// } -// monthVos.add(vo); -// } -// -// NumberFormat nf = NumberFormat.getPercentInstance(); -// nf.setMinimumFractionDigits(2); -// String dayPercentage = "--"; -// if (yesterdayCount > 0) { -// Integer count = todayCount - yesterdayCount; -// dayPercentage = nf.format(count.doubleValue() / new Double(yesterdayCount).doubleValue()); -// } -// String weekPercentage = "--"; -// if (dayOfWeekCount > 0) { -// Integer count = todayCount - dayOfWeekCount; -// weekPercentage = nf.format(count.doubleValue() / new Double(dayOfWeekCount).doubleValue()); -// } -// Map map = new HashMap<>(); -// DecimalFormat df = new DecimalFormat("0.00"); -// map.put("todayCount", df.format((float) todayCount / 100));//今日消费金额 -// String thisMonthCountStr = df.format((float) thisMonthCount / 100); -// map.put("thisMonthCount", thisMonthCountStr);//近一个月消费金额数 -// map.put("dayPercentage", dayPercentage);//日环比 -// map.put("weekPercentage", weekPercentage); //周同比 -// map.put("weekVos", weekVos);//一周金额列表 -// map.put("monthVos", monthVos);//一月金额列表 -// return new ResultData(map); -// } + @ApiOperation("查询用户消费金额") + @GetMapping("findUserAmountData") + @SystemControllerLog(description = "会员首页-报表数据-查询用户消费金额") + public ResultData findUserAmountData(Integer plat) { + logger.debug("[" + getIpAddr() + "] WxCUserDataController::findUserAmountData"); + if(plat == null){ + plat = EnumAppPlat.WX.getCode(); + } + TenantEntity tenantEntity = getTenantInfo(); + Calendar c = Calendar.getInstance(); + Date today = c.getTime(); + c.add(Calendar.DAY_OF_YEAR, 1); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + Date endTime = c.getTime();//明天0点 + c.add(Calendar.DAY_OF_YEAR, -30);//三十天前 + Date startTime = c.getTime(); + List tenantEntitys = wxMallService.getTenantEntitys(tenantEntity); + WxCouponOrder wxCouponOrder = new WxCouponOrder(); + wxCouponOrder.updateTenantInfo(tenantEntity); + wxCouponOrder.setStartTime(startTime); + wxCouponOrder.setEndTime(endTime); + int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 + c.clear(); + c.setTime(endTime); + Date eTime = c.getTime(); + c.add(Calendar.DAY_OF_YEAR, -30); + Date sTime = c.getTime(); + List datas = wxCouponOrderService.queryPriceTotalGroup(tenantEntity, sTime, eTime); + Map dataMap = new HashMap<>(); + for (CUserDateAmountVo v : datas) { + dataMap.put(v.getXTime(), v.getPrice()); + } + Integer todayCount = 0;//今日金额数 + Integer yesterdayCount = 0;//昨日金额数 + Integer dayOfWeekCount = 0;//上周x + List weekVos = new ArrayList<>();//周消费金额 + List monthVos = new ArrayList<>();//周消费金额 + for (int i = 29, sortNum = 0; i >= 0; i--) { + c.clear(); + c.setTime(today); + c.add(Calendar.DAY_OF_YEAR, -i); + String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); + UserStructureVo vo = new UserStructureVo(); + vo.setName(new SimpleDateFormat("MM/dd").format(c.getTime())); + vo.setSortNum(sortNum++); + if (dataMap.get(dateStr) != null) { + int price = dataMap.get(dateStr); + vo.setPrice(price); + } else { + vo.setPrice(0); + } + if (i <= 7) { + UserStructureVo vow = new UserStructureVo(); + vow.setName(vo.getName()); + vow.setSortNum(vo.getSortNum()); + vow.setPrice(vo.getPrice()); + + if (i == 0) { + todayCount = vow.getPrice(); + } + if (i == 1) { + yesterdayCount = vow.getPrice(); + } + if (i == 7) { + dayOfWeekCount = vow.getPrice(); + } else { + weekVos.add(vow); + } + } + monthVos.add(vo); + } + + NumberFormat nf = NumberFormat.getPercentInstance(); + nf.setMinimumFractionDigits(2); + String dayPercentage = "--"; + if (yesterdayCount > 0) { + Integer count = todayCount - yesterdayCount; + dayPercentage = nf.format(count.doubleValue() / new Double(yesterdayCount).doubleValue()); + } + String weekPercentage = "--"; + if (dayOfWeekCount > 0) { + Integer count = todayCount - dayOfWeekCount; + weekPercentage = nf.format(count.doubleValue() / new Double(dayOfWeekCount).doubleValue()); + } + Map map = new HashMap<>(); + DecimalFormat df = new DecimalFormat("0.00"); + map.put("todayCount", df.format((float) todayCount / 100));//今日消费金额 + String thisMonthCountStr = df.format((float) thisMonthCount / 100); + map.put("thisMonthCount", thisMonthCountStr);//近一个月消费金额数 + map.put("dayPercentage", dayPercentage);//日环比 + map.put("weekPercentage", weekPercentage); //周同比 + map.put("weekVos", weekVos);//一周金额列表 + map.put("monthVos", monthVos);//一月金额列表 + return new ResultData(map); + } } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java index 68d24c571..79af617b6 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java @@ -43,7 +43,7 @@ public class WxBusinessController extends BaseController { @SystemControllerLog(description = "业态-全列表") public ResultData listAll() { logger.debug("[" + getIpAddr() + "] WxBusinessController::getList"); - final List busList = wxBusinessService.findListAll(getTenantInfo(),null); + final List busList = wxBusinessService.findListAll(getTenantInfo(),null,null); return new ResultData(busList); } diff --git a/mallinkAdmin/src/main/resources/db/migration/V2021122800001__add_type.sql b/mallinkAdmin/src/main/resources/db/migration/V2021122800001__add_type.sql index a6d393a8c..fb8c4cc88 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V2021122800001__add_type.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V2021122800001__add_type.sql @@ -1,5 +1,5 @@ -UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 211, 212, 221, 222, 251, 409, 411, 416, 500, 502, 504, 505, 506, 507, 508, 511, 512, 521, 522, 523, 531, 532, 533, 591, 592, 595, 602, 605, 606, 610, 641, 671, 674, 680, 711, 901, 902, 904, 907]' WHERE `id` = 11; +UPDATE `mallink`.`mall_sale_type` SET `menus` = '[1, 2, 4, 5, 6, 50, 105, 110, 201, 205, 202, 211, 212, 221, 222, 251, 409, 411, 416, 500, 502, 504, 505, 506, 507, 508, 511, 512, 521, 522, 523, 531, 532, 591, 592, 595, 602, 605, 606, 607, 610, 641, 671, 674, 680, 711, 901, 902, 904, 907, 60702]' WHERE `id` = 11; diff --git a/mallinkAdmin/src/main/resources/db/migration/V2022010600001__add_ttqrcode.sql b/mallinkAdmin/src/main/resources/db/migration/V2022010600001__add_ttqrcode.sql new file mode 100644 index 000000000..0410b777f --- /dev/null +++ b/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`; + diff --git a/mallinkBApi/bin/pom.xml b/mallinkBApi/bin/pom.xml deleted file mode 100644 index 9678c5914..000000000 --- a/mallinkBApi/bin/pom.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - 4.0.0 - - mallink - com.iformall - 1.0 - - - mallinkBApi - - - - com.iformall - mallinkService - 1.0 - - - - - - org.springframework.boot - spring-boot-maven-plugin - - true - ZIP - - antlr, - cn.afterturn, - ch.qos.logback, - com.alibaba, - com.amazonaws, - com.baomidou, - com.mchange, - com.fasterxml.jackson.core, - com.fasterxml.jackson.dataformat, - com.fasterxml.jackson.datatype, - com.fasterxml.jackson.module, - com.fasterxml.uuid, - com.fasterxml, - com.github.axet, - com.github.jsqlparser, - com.github.pagehelper, - com.github.ulisesbocchio, - com.github.virtuald, - com.google.code.findbugs, - com.google.code.gson, - com.google.errorprone, - com.google.guava, - com.google.protobuf, - com.google.zxing, - com.jayway.jsonpath, - com.jhlabs, - com.puppycrawl.tools, - com.rabbitmq, - com.squareup.okhttp3, - com.squareup.okio, - com.sun, - com.sun.mail, - com.thoughtworks.xstream, - com.zaxxer, - commons-beanutils, - commons-cli, - commons-codec, - commons-collections, - commons-fileupload, - commons-io, - commons-logging, - io.lettuce, - io.netty, - io.projectreactor, - io.springfox, - io.swagger, - io.undertow, - javax.activation, - javax.annotation, - javax.mail, - javax.persistence, - javax.servlet, - javax.validation, - javax.xml.bind, - javax.xml.soap, - javax.xml.ws, - joda-time, - junit, - mysql, - net.bytebuddy, - net.minidev, - net.sf.dozer, - net.sf.saxon, - ognl, - org.antlr, - org.apache.commons, - org.apache.httpcomponents, - org.apache.logging.log4j, - org.apache.poi, - org.apache.poi.wso2, - org.apache.rocketmq, - org.apache.shiro, - org.apache.tomcat.embed, - org.apache.xmlbeans, - org.aspectj, - org.assertj, - org.bouncycastle, - org.checkerframework, - org.codehaus.mojo, - org.crazycake, - org.dom4j, - org.flowable, - org.flywaydb, - org.glassfish, - org.hibernate.validator, - org.jasypt, - org.javassist, - org.jboss.logging, - org.jboss.spec.javax.annotation, - org.jboss.spec.javax.websocket, - org.jboss.xnio, - org.jdom, - org.jodd, - org.jvnet.mimepull, - org.jvnet.staxex, - org.mapstruct, - org.mockito, - org.mybatis, - org.mybatis.generator, - org.mybatis.spring.boot, - org.ow2.asm, - org.projectlombok, - org.quartz-scheduler, - org.reactivestreams, - org.reflections, - org.rocketmq.spring.boot, - org.slf4j, - org.springframework, - org.springframework.amqp, - org.springframework.boot, - org.springframework.data, - org.springframework.retry, - org.springframework.ws, - org.yaml, - redis.clients, - software.amazon.ion, - tk.mybatis, - xmlpull, - xpp3 - - - - - - \ No newline at end of file diff --git a/mallinkBApi/bin/src/main/java/com/iformall/BApplication.class b/mallinkBApi/bin/src/main/java/com/iformall/BApplication.class deleted file mode 100644 index 07bcdb74f..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/BApplication.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/annotation/AuthIgnore.class b/mallinkBApi/bin/src/main/java/com/iformall/annotation/AuthIgnore.class deleted file mode 100644 index efec47cd0..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/annotation/AuthIgnore.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/annotation/LoginUser.class b/mallinkBApi/bin/src/main/java/com/iformall/annotation/LoginUser.class deleted file mode 100644 index e3221079e..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/annotation/LoginUser.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/annotation/RedisCache.class b/mallinkBApi/bin/src/main/java/com/iformall/annotation/RedisCache.class deleted file mode 100644 index 57fabe50c..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/annotation/RedisCache.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/annotation/TenantIgnore.class b/mallinkBApi/bin/src/main/java/com/iformall/annotation/TenantIgnore.class deleted file mode 100644 index a6b79e58c..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/annotation/TenantIgnore.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/aop/RedisCacheAspect.class b/mallinkBApi/bin/src/main/java/com/iformall/aop/RedisCacheAspect.class deleted file mode 100644 index 5d3515672..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/aop/RedisCacheAspect.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/config/AwsProperty.class b/mallinkBApi/bin/src/main/java/com/iformall/config/AwsProperty.class deleted file mode 100644 index 37cd19f74..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/config/AwsProperty.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/config/MyBatisConfiguration.class b/mallinkBApi/bin/src/main/java/com/iformall/config/MyBatisConfiguration.class deleted file mode 100644 index 493465178..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/config/MyBatisConfiguration.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/config/RedisConfig.class b/mallinkBApi/bin/src/main/java/com/iformall/config/RedisConfig.class deleted file mode 100644 index 5a4d39c94..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/config/RedisConfig.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/config/Swagger2Config.class b/mallinkBApi/bin/src/main/java/com/iformall/config/Swagger2Config.class deleted file mode 100644 index 003f8deb7..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/config/Swagger2Config.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/config/WebMvcConfig.class b/mallinkBApi/bin/src/main/java/com/iformall/config/WebMvcConfig.class deleted file mode 100644 index 5562535b3..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/config/WebMvcConfig.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/BaseController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/BaseController.class deleted file mode 100644 index 9bd4c02de..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/BaseController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/PosController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/PosController.class deleted file mode 100644 index b0fb20729..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/PosController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/PosOrderController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/PosOrderController.class deleted file mode 100644 index 3cd75770c..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/PosOrderController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/PosPayOrderController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/PosPayOrderController.class deleted file mode 100644 index e9b7a951b..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/PosPayOrderController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/UploadController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/UploadController.class deleted file mode 100644 index c1dd9817a..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/UploadController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxBillController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxBillController.class deleted file mode 100644 index 4d2fbc8c9..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxBillController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCUserController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCUserController.class deleted file mode 100644 index e280f2404..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCUserController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCardPayController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCardPayController.class deleted file mode 100644 index 711bc76bc..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCardPayController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCashOutController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCashOutController.class deleted file mode 100644 index 6b439591a..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCashOutController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponChannelController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponChannelController.class deleted file mode 100644 index d47e78f68..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponChannelController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponController.class deleted file mode 100644 index 990e766e0..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponOrderController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponOrderController.class deleted file mode 100644 index 3cabfc82c..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponOrderController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponSendController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponSendController.class deleted file mode 100644 index addd05d9a..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCouponSendController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCreditHistoryController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCreditHistoryController.class deleted file mode 100644 index cdeec2c43..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxCreditHistoryController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxDateAmountRecordController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxDateAmountRecordController.class deleted file mode 100644 index ea24b1cd5..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxDateAmountRecordController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxInfoController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxInfoController.class deleted file mode 100644 index 8578f0770..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxInfoController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMallController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMallController.class deleted file mode 100644 index c8ff03be5..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMallController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMemController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMemController.class deleted file mode 100644 index 3d40c31e4..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMemController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantBUserController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantBUserController.class deleted file mode 100644 index 2a3e30f17..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantBUserController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantController.class deleted file mode 100644 index bafa587fc..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantSubsidyController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantSubsidyController.class deleted file mode 100644 index 065c72c97..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantSubsidyController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.class deleted file mode 100644 index 33e851ff3..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMicroPayController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMicroPayController.class deleted file mode 100644 index f8ad8c606..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMicroPayController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMsgValidationcodeController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMsgValidationcodeController.class deleted file mode 100644 index 7c8a23ce3..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxMsgValidationcodeController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxPayBillController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxPayBillController.class deleted file mode 100644 index c5bc81dd5..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxPayBillController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxRefundOrderController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxRefundOrderController.class deleted file mode 100644 index 46ffdc716..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxRefundOrderController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxTagController.class b/mallinkBApi/bin/src/main/java/com/iformall/controller/WxTagController.class deleted file mode 100644 index 03f65faab..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/controller/WxTagController.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.class b/mallinkBApi/bin/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.class deleted file mode 100644 index e88d20aea..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/BodyReaderHttpServletRequestWrapper.class b/mallinkBApi/bin/src/main/java/com/iformall/interceptor/BodyReaderHttpServletRequestWrapper.class deleted file mode 100644 index 9afe9d931..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/BodyReaderHttpServletRequestWrapper.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.class b/mallinkBApi/bin/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.class deleted file mode 100644 index d93d3327d..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/HttpServletRequestWrapperFilter.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/RequestInterceptor.class b/mallinkBApi/bin/src/main/java/com/iformall/interceptor/RequestInterceptor.class deleted file mode 100644 index 19cf65a06..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/RequestInterceptor.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/XssHttpServletRequestWrapper.class b/mallinkBApi/bin/src/main/java/com/iformall/interceptor/XssHttpServletRequestWrapper.class deleted file mode 100644 index 2c7dd6c18..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/interceptor/XssHttpServletRequestWrapper.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/service/PosBrunService.class b/mallinkBApi/bin/src/main/java/com/iformall/service/PosBrunService.class deleted file mode 100644 index e5ef04f0c..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/service/PosBrunService.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/tenant/TenantInfoImpl.class b/mallinkBApi/bin/src/main/java/com/iformall/tenant/TenantInfoImpl.class deleted file mode 100644 index 893ba0e58..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/tenant/TenantInfoImpl.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/utils/PosUtil.class b/mallinkBApi/bin/src/main/java/com/iformall/utils/PosUtil.class deleted file mode 100644 index 27de61d46..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/utils/PosUtil.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/java/com/iformall/utils/UrlCheck.class b/mallinkBApi/bin/src/main/java/com/iformall/utils/UrlCheck.class deleted file mode 100644 index ee53e53e2..000000000 Binary files a/mallinkBApi/bin/src/main/java/com/iformall/utils/UrlCheck.class and /dev/null differ diff --git a/mallinkBApi/bin/src/main/resources/application-dev.yml b/mallinkBApi/bin/src/main/resources/application-dev.yml deleted file mode 100644 index 3928e6030..000000000 --- a/mallinkBApi/bin/src/main/resources/application-dev.yml +++ /dev/null @@ -1,190 +0,0 @@ -spring: - profiles: - #include: aliyunRocketMQ - include: rabbitMQ - # JDBC - datasource: - url: jdbc:mysql://101.200.130.134:3306/mallink?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useUnicode=true&useSSL=false&useAffectedRows=true - username: root - password: fm2020test - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - filters: stat - maxActive: 20 - initialSize: 1 - maxWait: 60000 - minIdle: 1 - timeBetweenEvictionRunsMillis: 28000 - minEvictableIdleTimeMillis: 28000 - validationQuery: select 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - poolPreparedStatements: true - maxOpenPreparedStatements: 20 - #jackson: - #date-format: yyyy-MM-dd HH:mm:ss - # REDIS - redis: - host: 101.200.130.134 - port: 6379 - password: iF0rm@2l2ol9 - timeout: 3600 - expire: 1800 #30分钟 - database: 5 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 50 - max-idle: 30 - max-wait: -1 - min-idle: 0 - - # SMS - aliyun: - sms: - accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V - accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry - product: Dysmsapi - domain: dysmsapi.aliyuncs.com - regionId: cn-hangzhou - dateFormat: yyyyMMdd - endpointName: cn-hangzhou - - oss: - endpoint: oss-cn-beijing.aliyuncs.com - keyid: LTAI4G7ixY4AhvM35F8o3W3V - keysecret: VfWqGb83qIQrS9us45utskl8itd7ry - bucketname: formall - filehost: malinkbapi - filedomain: https://formall.oss-accelerate.aliyuncs.com - - # EMAIL - mail: - host: smtp.exmail.qq.com - username: service@iformall.com - password: jGvApygXN7wc5SzN # 授权密码 - properties: - mail: - smtp: - auth: true - starttls: - enable: true - socketFactory: - port: 465 - class: javax.net.ssl.SSLSocketFactory - # ROCKETMQ - rocketmq: - nameServer: 127.0.0.1:9876 - producer: - retry-times-when-send-async-failed: 0 - send-msg-timeout: 300000 - compress-msg-body-over-howmuch: 4096 - max-message-size: 4194304 - retry-another-broker-when-not-store-ok: false - retry-times-when-send-failed: 2 - # RABBITMQ - rabbitmq: - host: 101.200.130.134 - port: 5672 - username: fumao - password: f9l98 - publisher-confirms: true - publisher-returns: false - virtual-host: / - aliyunRocketmq: - accessKeyId: "LTAI4G7ixY4AhvM35F8o3W3V" - accessKeySecret: "VfWqGb83qIQrS9us45utskl8itd7ry" - groupId: "GID_P_1" - namesrvAddr: "http://MQ_INST_1796289517488555_Bcqaq2is.cn-beijing.mq-internal.aliyuncs.com:8080" - -aws: - clientRegion: cn-northwest-1 - bucketName: iformall-net - access: ENC(3gx5ghDFBqGrEhO3Wf8aYmXsnwHO7Cj3HNKJGOeUj0o=) - secret: ENC(HVKIJwCJKVXLlUpGlQPwNqJOlnpxn4xYuy91SH0seTSm2uAttIQHvA49fXWWax90v5wloIk0QuU=) - -jasypt: - encryptor: - password: oRqdnDbK5pj3eMmB - -#wechat: -# open: -# componentAppId: "wxdfc8fb4e62d6b52b" -# componentSecret: "98daa62b316dd6feabaad708327ce233" -# componentToken: "formall2018" -# componentAesKey: "htKq8EjBMPNndfZQK9JiFojFaqFwFpw42VfeWFtx7HN" -# redis: -# host: 101.201.103.81 -# port: 6379 -# password: ENC(xPFDlgd6v8zUhJMbcKc0KmmQiqs9qHtk) -# timeout: 3600 -# expire: 1800 #30分钟 -# database: 2 -# defaultExpiration: 2592000 # 默认生命周期30天 -# jedis: -# pool: -# max-active: 100 -# max-idle: 500 -# max-wait: -1 -# min-idle: 10 - -wechat: - web: - appId: "wx091907dd0bfd3f6b" - secret: "2a2ca10738998b9ef92c1fe8a4d366a6" - url: "https://admintest.malls.iformall.com" - open: - componentAppId: wxdfc8fb4e62d6b52b - componentSecret: 98daa62b316dd6feabaad708327ce233 - componentToken: formall2018 - componentAesKey: htKq8EjBMPNndfZQK9JiFojFaqFwFpw42VfeWFtx7HN - redis: - host: 101.200.130.134 - port: 6379 - password: iF0rm@2l2ol9 - timeout: 3600 - expire: 1800 #30分钟 - database: 2 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 100 - max-idle: 100 - max-wait: -1 - min-idle: 10 - -alipay: - open: - appId: 2021002137663024 - appPrivateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI= - appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt - alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt - alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt - callback: https://callbacktest.malls.iformall.com/api/alipay/notify/callback - -video: - aliyun: - accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V - accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry - regionId: cn-beijing - -fm: - exception: true - exception_emails: xuxiaohu@iformall.com - deploy: 1 - open: true - upload_dir: /home/test/server/uploads - videoType: aliyun - -pos: - dev_id: fmpos - url: https://pos.youlane.cn/api - req_key: ZiGFLC4@3c5sTLZT - res_key: ugPAM7wd&%p6I0W8 - - -logging: - level: - com.iformall.mapper: debug - path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/src/main/resources/application-prod.yml b/mallinkBApi/bin/src/main/resources/application-prod.yml deleted file mode 100644 index 0cd3d8c89..000000000 --- a/mallinkBApi/bin/src/main/resources/application-prod.yml +++ /dev/null @@ -1,150 +0,0 @@ -spring: - profiles: - include: aliyunRocketMQ - # JDBC - datasource: - url: jdbc:mysql://zc349w82qvn56ftl5e64-rw4rm.rwlb.rds.aliyuncs.com:3306/mallink?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true - username: ENC(nUefcxWYlMS/1cDxikIKwA==) - password: ENC(neToS+hzeFjgSFB/7UEl5qYnW2rUjrPq) - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - filters: stat - maxActive: 20 - initialSize: 1 - maxWait: 60000 - minIdle: 1 - timeBetweenEvictionRunsMillis: 28000 - minEvictableIdleTimeMillis: 28000 - validationQuery: select 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - poolPreparedStatements: true - maxOpenPreparedStatements: 20 - # REDIS - redis: - host: r-2zeaglwf13qqmnllj5.redis.rds.aliyuncs.com - port: 6379 - password: mallone:iF0rm@2l2ol9 - timeout: 3600 - expire: 1800 #30分钟 - database: 1 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 100 - max-idle: 20 - max-wait: -1 - min-idle: 0 - - # SMS - aliyun: - sms: - accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V - accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry - product: Dysmsapi - domain: dysmsapi.aliyuncs.com - regionId: cn-hangzhou - dateFormat: yyyyMMdd - endpointName: cn-hangzhou - oss: - endpoint: oss-cn-beijing.aliyuncs.com - keyid: LTAI4G7ixY4AhvM35F8o3W3V - keysecret: VfWqGb83qIQrS9us45utskl8itd7ry - bucketname: formall - filehost: malinkadmin - filedomain: https://formall.oss-accelerate.aliyuncs.com - # EMAIL - mail: - host: smtp.exmail.qq.com - username: sysadministor@iformall.com # 登陆密码sysAd1231 - password: SWqPekCEmhUYuYCd # 授权密码 - properties: - mail: - smtp: - auth: true - starttls: - enable: true - socketFactory: - port: 465 - class: javax.net.ssl.SSLSocketFactory - # RABBITMQ - rabbitmq: - host: localhost - port: 5672 - username: ENC(lRmLd6EzgeY1RT5ktcHv9g==) - password: ENC(gBI8mCjr3OC0v57jcnSb660Ux7mW03K2oePgvohhg7w=) - publisher-confirms: true - publisher-returns: false - virtual-host: / - aliyunRocketmq: - accessKeyId: "LTAI4G7ixY4AhvM35F8o3W3V" - accessKeySecret: "VfWqGb83qIQrS9us45utskl8itd7ry" - groupId: "GID_P_1" - namesrvAddr: "http://MQ_INST_1796289517488555_Bcqaq2is.cn-beijing.mq-internal.aliyuncs.com:8080" - -aws: - clientRegion: cn-northwest-1 - bucketName: iformall-net - access: ENC(a6SN1sZ1enNL49ypiOXkg/pPPAnZD8H4buQFTTKN08s=) - secret: ENC(5P5ff4bTMJUbXVR4ZsM03UHzOKZ4+Zg5Iutcdkyp/Quny/oXg+A4KpfwEyGarlLu3vQMJahGP5M=) - -wechat: - open: - componentAppId: ENC(b3JG0MUZgQfz5Zj+DC2ZM1zDeLOiGTmmeokfe2O8kaM=) - componentSecret: ENC(QVyc4BPGdnSjXGs2ivgpDBE1v8wPWHLLRMYI7Vv8uYwC0SiZHQz0QpyyQV/b48Pb) - componentToken: ENC(rkxj0733WxFFDLgA9x01m2s5Fi2L+0PC) - componentAesKey: ENC(EIbJUBpbYOrLb4YQ/HXLQmxlxgAqIp2ZmpnGICC8pu5xiTz3Cqfkbwd2S8raCcK/IvYcX2GmedI=) - redis: - host: r-2zeaglwf13qqmnllj5.redis.rds.aliyuncs.com - port: 6379 - password: mallone:iF0rm@2l2ol9 - timeout: 3600 - expire: 1800 #30分钟 - database: 2 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 100 - max-idle: 100 - max-wait: -1 - min-idle: 10 - -alipay: - open: - appId: 2021002140616334 - appPrivateKey: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCEJmHIlS0luIH7zJRRVlypCcgiSkqpSlnmgyCEM7nu8IerV8Yf7dMBitBklTpJB+4URV1bW+q6Ijzo8RsCyjm1Kx+EFiKf1PiJXlT0h1+bF3fYdDr6r5GK0/TtB8O80p774NcRD3HgbzUS8AEe/GcBvhiXbDRgJh7yAngW9vxl9u1o5UcaxOXVLWDrjlQGF6qyXUlycCNIdPXj3LduP3PBK5daVZwJm33Pr7kmSI0agZvV267HaTpSKaiXI7Zwo+nFMqx9g9kpzmYRfOgHx3DWpQUFI646IB8nEpLpQp3/0eDocuqiHXYgEpLpPoFKoVE228v74YSFh3Y4fFGX+qtjAgMBAAECggEAIJK9Y42xtSyHjaNdo7bf3CK3HAyn3pafFjyYFT4SxJyxNEDMay5Z5nVq7IAD/+BehMycOFqtvveVf+1+NO/XzZo1iH9URYVfRazkz+lWXYopVkdACm6gN1ILeymAy9g2q+s918ywyxteP668+ABK+5j5wsk/F7wNwKVvKGn0yMT7DP0FAL1e0KWndZCZlF79VnFpBLscDJq28GqRzqYop4CWqHHTA6DBvIqkfQV4U3IzqnzOsxNLEMBwhnbK08XfYZ3DxCPH0jQdA2Jj/aABrntq2EpWjzW5H9iZqrVo33rmsNHUSQvla/333RkbpwGyNhI6kcPBRq4cVSAa3y7dMQKBgQDVfyDUPWKXVwIJUgO1my8WIUu2p6nhuT7Mfnpk4X7ewdFaRVjb/r0KvhLgoz2/KOwkqtWTlEvNaCDDycpLXk+V5ZH833kYsDEmxY7ikOUjCcrfYJgT7P77//cZ4Kx8a5X45SiKAZT2GQv7BTtIfNhrfTUj6AQx/3MP3sa2QAWeNQKBgQCedWoF7t+qyck2hctqtTFC7fRkEk7RNJVph1ZOeTqOIAKhmhkwaOE3joxQ/VqHDy212YdW4hI0BWUzbEdMy0Idz2G3y9ERVD84hZehf5GGRdiSrY9EEQgHlcI6Qb8/AnDdpy1DlKUMwTYjVNzkDL3AzeWn61JS1XQaOzZBsJy2NwKBgFa+pJQXrOtYytcGn8M2Hlebh6vbS8cPAVkNOqWqiWXw0iMfcg9Q3XZz7C+hpAD7m5b6YnToGDSJTma+opck5qk88agRFJ7XV+Es+/VKcg9edzNzh9bwwFmbksbM5shW3kSWt3X7Vo73dkqzwXaeY0CpSuIf7zRxWkrkdVCvipjRAoGAMcJlPN+6VQNwsDJromKryXy31gT5wzBkCvN44sOm46KhsOWXK2CD+NJGtdgZaXgWvphEq7/qP3PCR9ekvDTH2lyZLwJN8Mcn4zPwXcKVjDi6vbTK3HEMuHUKvQiQadT2ZGRvDl3LRqoVuhqYEvT9UWJWz9hRzblB8ErPyukPDRkCgYB7bMv2iflpaGE1J3gkTlVJB+2QSfnAXaUDMLWsZN4gYjwEBVCEJ+mhWL1/GeEIBjSs5/qZIeRsYzlxGEcnsJzRfog6ITBF14AeZ+xNkHq83ja87OGVKMypiccGwRehijDhJi6tgMJ0u0w6PiqcJvh0SX4jBhDDPjuWzK2XD+lx8A== - appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002140616334.crt - alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt - alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt - callback: https://callback.malls.iformall.com/api/alipay/notify/callback - -video: - aliyun: - accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V - accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry - regionId: cn-beijing - endPoint: https://oss-cn-beijing.aliyuncs.com - corePoolSize: 6 - maxPoolSize: 20 - queueCapacity: 1000 - namePrefix: aliyun-video-upload - -fm: - exception: true - exception_emails: houtaikaifa@iformall.com - deploy: 3 - open: true - upload_dir: /root/uploads/ - videoType: aliyun - -pos: - dev_id: fmpos - url: https://pos.malls.iformall.com/api - req_key: ZiGFLC4@3c5sTLZT - res_key: ugPAM7wd&%p6I0W8 - -logging: - level: - com.iformall.mapper: debug - path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/src/main/resources/application-test.yml-bak b/mallinkBApi/bin/src/main/resources/application-test.yml-bak deleted file mode 100644 index 92e878bdf..000000000 --- a/mallinkBApi/bin/src/main/resources/application-test.yml-bak +++ /dev/null @@ -1,106 +0,0 @@ -spring: - profiles: - include: rabbitMQ - # JDBC - datasource: - url: jdbc:mysql://formalldb.cfqyqflkdlit.rds.cn-northwest-1.amazonaws.com.cn:3306/mallinkTest?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true - username: ENC(Uc0AjgkytxHHCwZrmDASWg==) - password: ENC(nV4Mi3bEbBx0Fj7uUyYH55eTaqsFMjKvmNzagicH4pc=) - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - filters: stat - maxActive: 20 - initialSize: 1 - maxWait: 60000 - minIdle: 1 - timeBetweenEvictionRunsMillis: 28000 - minEvictableIdleTimeMillis: 28000 - validationQuery: select 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - poolPreparedStatements: true - maxOpenPreparedStatements: 20 - # REDIS - redis: - host: 127.0.0.1 - port: 6379 - password: ENC(QFwqv3NshvvGhFPiP8rwhvbnxk+rFSqhJi8Pw6TogSg=) - timeout: 3600 - expire: 1800 #30分钟 - database: 1 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 50 - max-idle: 30 - max-wait: -1 - min-idle: 0 - # EMAIL - mail: - host: smtp.exmail.qq.com - username: ENC(TtJQE2C4cWo8CpVGMMl5hiy5eykepd96J5XjsW3Kj5fgP+6+5ctDNQ==) - password: ENC(Zh6A6kRtA2ABtH6nzdvsqQSO1/8p3mparJr8neI2BLU=) # 授权密码 - properties: - mail: - smtp: - auth: true - starttls: - enable: true - socketFactory: - port: 465 - class: javax.net.ssl.SSLSocketFactory - # RABBITMQ - rabbitmq: - host: 127.0.0.1 - port: 5672 - username: ENC(aSRr6mnSryEqzHHz1hJf1g==) - password: ENC(GnjF/mdqKdvmDYC0tIIso7+20/jBALPw39tiWCYJ4iw=) - publisher-confirms: true - publisher-returns: false - virtual-host: / - -aws: - clientRegion: cn-northwest-1 - bucketName: iformall-net - access: ENC(NCLcmjwKpAWdn/abD17OKIY7yKepVLWzEpqRYUlURCw=) - secret: ENC(TRcZqql0Rq5PExlMeH/4WiZ/i02b8FXKmLTBChJmbluTa1uoLS9LrHyNEMrqe1DK+QgOAdvqGBo=) - -wechat: - open: - componentAppId: ENC(hnH31XdNzArfMfikKgBFpqQuJUl6rVOPFFcAVyb595o=) - componentSecret: ENC(t/GUVX5L+U7LCwSvZ5WmxAnmTMrc/Uy1nljsrokuzzsBL2j6BEVnrS/n7DCdGc/G) - componentToken: ENC(gUF1m0YgCCI2IY54fX6sGLZVlCswA8tG) - componentAesKey: ENC(TYHcrIkICtfrCfGq4HW6s1b/pHf7OD2uyPN11SzJNB0acqJ/4JVX1nuljo/cAtgMG4O05TImLQc=) - redis: - host: 127.0.0.1 - port: 6379 - password: ENC(QFwqv3NshvvGhFPiP8rwhvbnxk+rFSqhJi8Pw6TogSg=) - timeout: 3600 - expire: 1800 #30分钟 - database: 2 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 100 - max-idle: 100 - max-wait: -1 - min-idle: 10 - -fm: - exception: true - exception_emails: houtaikaifa@iformall.com - deploy: 2 - open: true - upload_dir: /home/ec2-user/server/uploads/ - -pos: - dev_id: fmpos - url: https://postest.malls.iformall.com/api - req_key: ZiGFLC4@3c5sTLZT - res_key: ugPAM7wd&%p6I0W8 - -logging: - level: - com.iformall: debug - path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/src/main/resources/application.yml b/mallinkBApi/bin/src/main/resources/application.yml deleted file mode 100644 index 8f0d421b9..000000000 --- a/mallinkBApi/bin/src/main/resources/application.yml +++ /dev/null @@ -1,54 +0,0 @@ -server: - port: 8000 - servlet: - context-path: /B - -spring: - application: - name: mallink - profiles: - active: dev - jackson: - date-format: yyyy-MM-dd HH:mm:ss - time-zone: GMT+8 - default-property-inclusion: non_null -# rocketmq: -# nameServer: 127.0.0.1:9876 -# producer: -# retry-times-when-send-async-failed: 0 -# send-msg-timeout: 300000 -# compress-msg-body-over-howmuch: 4096 -# max-message-size: 4194304 -# retry-another-broker-when-not-store-ok: false -# retry-times-when-send-failed: 2 - -# MybatisPlus -mybatis-plus: - mapper-locations: classpath:mapper/*Mapper.xml - global-config: - db-config: - id-type: id_worker - field-strategy: not_null - db-type: mysql - configuration: - jdbc-type-for-null: 'null' - cache-enabled: false - call-setters-on-nulls: true - type-aliases-package: com.iformall.domain.po - type-enums-package: com.iformall.enums - -# PageHelper -pagehelper: - helperDialect: mysql - reasonable: false - supportMethodsArguments: true - params: count=countSql - offset-as-page-num: true - page-size-zero: true - row-bounds-with-count: true - -mapper: - mappers: - - com.iformall.common.CommonMapper - -version: @project.version@ \ No newline at end of file diff --git a/mallinkBApi/bin/src/main/resources/logback-spring.xml b/mallinkBApi/bin/src/main/resources/logback-spring.xml deleted file mode 100644 index 3a54d117d..000000000 --- a/mallinkBApi/bin/src/main/resources/logback-spring.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] --%mdc{client}%msg%n - - - - - ${logPath}/trace.log - - ${logPath}/daily/trace.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - - - ${logPath}/info.log - - ${logPath}/daily/info.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - INFO - ACCEPT - DENY - - - - - ${logPath}/debug.log - - ${logPath}/daily/debug.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - DEBUG - ACCEPT - DENY - - - - - - ${logPath}/warn.log - - ${logPath}/daily/warn.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - WARN - ACCEPT - DENY - - - - - - - ${logPath}/error.log - - ${logPath}/daily/error.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - ERROR - ACCEPT - DENY - - - - - - - - - - - - - - \ No newline at end of file diff --git a/mallinkBApi/bin/src/test/java/com/iformall/b/CouponsendTest.class b/mallinkBApi/bin/src/test/java/com/iformall/b/CouponsendTest.class deleted file mode 100644 index f4034c1d8..000000000 Binary files a/mallinkBApi/bin/src/test/java/com/iformall/b/CouponsendTest.class and /dev/null differ diff --git a/mallinkBApi/bin/target/classes/application-dev.yml b/mallinkBApi/bin/target/classes/application-dev.yml deleted file mode 100644 index 3928e6030..000000000 --- a/mallinkBApi/bin/target/classes/application-dev.yml +++ /dev/null @@ -1,190 +0,0 @@ -spring: - profiles: - #include: aliyunRocketMQ - include: rabbitMQ - # JDBC - datasource: - url: jdbc:mysql://101.200.130.134:3306/mallink?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useUnicode=true&useSSL=false&useAffectedRows=true - username: root - password: fm2020test - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - filters: stat - maxActive: 20 - initialSize: 1 - maxWait: 60000 - minIdle: 1 - timeBetweenEvictionRunsMillis: 28000 - minEvictableIdleTimeMillis: 28000 - validationQuery: select 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - poolPreparedStatements: true - maxOpenPreparedStatements: 20 - #jackson: - #date-format: yyyy-MM-dd HH:mm:ss - # REDIS - redis: - host: 101.200.130.134 - port: 6379 - password: iF0rm@2l2ol9 - timeout: 3600 - expire: 1800 #30分钟 - database: 5 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 50 - max-idle: 30 - max-wait: -1 - min-idle: 0 - - # SMS - aliyun: - sms: - accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V - accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry - product: Dysmsapi - domain: dysmsapi.aliyuncs.com - regionId: cn-hangzhou - dateFormat: yyyyMMdd - endpointName: cn-hangzhou - - oss: - endpoint: oss-cn-beijing.aliyuncs.com - keyid: LTAI4G7ixY4AhvM35F8o3W3V - keysecret: VfWqGb83qIQrS9us45utskl8itd7ry - bucketname: formall - filehost: malinkbapi - filedomain: https://formall.oss-accelerate.aliyuncs.com - - # EMAIL - mail: - host: smtp.exmail.qq.com - username: service@iformall.com - password: jGvApygXN7wc5SzN # 授权密码 - properties: - mail: - smtp: - auth: true - starttls: - enable: true - socketFactory: - port: 465 - class: javax.net.ssl.SSLSocketFactory - # ROCKETMQ - rocketmq: - nameServer: 127.0.0.1:9876 - producer: - retry-times-when-send-async-failed: 0 - send-msg-timeout: 300000 - compress-msg-body-over-howmuch: 4096 - max-message-size: 4194304 - retry-another-broker-when-not-store-ok: false - retry-times-when-send-failed: 2 - # RABBITMQ - rabbitmq: - host: 101.200.130.134 - port: 5672 - username: fumao - password: f9l98 - publisher-confirms: true - publisher-returns: false - virtual-host: / - aliyunRocketmq: - accessKeyId: "LTAI4G7ixY4AhvM35F8o3W3V" - accessKeySecret: "VfWqGb83qIQrS9us45utskl8itd7ry" - groupId: "GID_P_1" - namesrvAddr: "http://MQ_INST_1796289517488555_Bcqaq2is.cn-beijing.mq-internal.aliyuncs.com:8080" - -aws: - clientRegion: cn-northwest-1 - bucketName: iformall-net - access: ENC(3gx5ghDFBqGrEhO3Wf8aYmXsnwHO7Cj3HNKJGOeUj0o=) - secret: ENC(HVKIJwCJKVXLlUpGlQPwNqJOlnpxn4xYuy91SH0seTSm2uAttIQHvA49fXWWax90v5wloIk0QuU=) - -jasypt: - encryptor: - password: oRqdnDbK5pj3eMmB - -#wechat: -# open: -# componentAppId: "wxdfc8fb4e62d6b52b" -# componentSecret: "98daa62b316dd6feabaad708327ce233" -# componentToken: "formall2018" -# componentAesKey: "htKq8EjBMPNndfZQK9JiFojFaqFwFpw42VfeWFtx7HN" -# redis: -# host: 101.201.103.81 -# port: 6379 -# password: ENC(xPFDlgd6v8zUhJMbcKc0KmmQiqs9qHtk) -# timeout: 3600 -# expire: 1800 #30分钟 -# database: 2 -# defaultExpiration: 2592000 # 默认生命周期30天 -# jedis: -# pool: -# max-active: 100 -# max-idle: 500 -# max-wait: -1 -# min-idle: 10 - -wechat: - web: - appId: "wx091907dd0bfd3f6b" - secret: "2a2ca10738998b9ef92c1fe8a4d366a6" - url: "https://admintest.malls.iformall.com" - open: - componentAppId: wxdfc8fb4e62d6b52b - componentSecret: 98daa62b316dd6feabaad708327ce233 - componentToken: formall2018 - componentAesKey: htKq8EjBMPNndfZQK9JiFojFaqFwFpw42VfeWFtx7HN - redis: - host: 101.200.130.134 - port: 6379 - password: iF0rm@2l2ol9 - timeout: 3600 - expire: 1800 #30分钟 - database: 2 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 100 - max-idle: 100 - max-wait: -1 - min-idle: 10 - -alipay: - open: - appId: 2021002137663024 - appPrivateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCUfymV5J73QQMG52PVIGUbowkloYCO4B7TQoKbrTZf2YeYsg/To/o4PiXPMNwEUfEUU8NYQ6WwNhCd2fa1ei8WFXJUf3bfgswtBk1aOmHLeY9yoXFxIKMTQ9RcobnmBzKQZlaAPMTSr7t1QtKZKPuc2gEHGRFYKO/ZuL8gIpnsVidVtmi52yd7hzao/pI3ThLA0lreg4L3rYP5ESQZRytxIPgUQ4KI11pZxFgbe+uy28AGDYIQscSIb+SWOHPYKLvOEqqepIZ8M18w/U0lZzpzepzi/V/llekvXJ6UEf1lzl7x/4UIA3WPN1B40+NzbD/OxEGTuM0UctOG6ZTd4Te9AgMBAAECggEAPYksnHbvARspu/SrRCh2fatkIPn6Ijrxyy3mnch7neCw9i/jqxpqmF/4nxFqO0gRlRDZBHyT7p+Y5zDpsW5+kLI2fJmNkzXKkmXoLBnBaOZo8WHBdtXFfjg/iltig9Y7t+cQtXd5QK2eCwuz5dA75FXa0ywqKdRdAGY0nYZ5LpwrHVU8RXheUDCJyhKNj2+W6lIaSKDxLZU3laO1oBrv1agcy7Crd5E2ndb8O3Enga+z7wSz2h7A1BasC/Yl/Ro0Y21wLCH3s/R6qA0Paq12+WEF+xdodM7SrP43CCTVFGbC1TfEOdanJfixop8QuYsIp7pHrL925+vP4eY9RfckgQKBgQDQqLdpDzzU7Ot/L9Vc/r8d4iwXXbX8+HwVFV4oBuausgFyv8eJJpfrI+IlEoB1ubJcPpJBFqfmeYTW6/v6ioFljJAlWfFvesUVt/HszBMIOsU0Bzt7ex6WlwKOagb0q0ZPA4T0OY0K0lg0loaaaR8ZTr4ivDymaGBtTBYhslpc7QKBgQC2MBznGEc5r2dhyENvdPOR20PnXQcevGnPdqSus8m0VmDcHE72RVcckcZtwczsb3NaLSqmjAcWTn51/VFmlvhB3F34FcFTPZGq6sj7fWK8HuFq7l7mu5OzYuVr73zy9ggsUuaw10IqvvwIVxszNAF0hiRnSGH3z27CoRmz3s+8EQKBgQCK3o7atBJ3X4rIJiypbL4DhIB1uJ+jUjk6yvLUTut+fufp1+tTw0S+cS5UIAEw2Lr1G4u5F/v8rwmTBJG6SC4gSLGyui6uVBYRA1BWmedcxchzfRDAeMt9y9kesUAZ3Fe5xIzbAeZ1ulKMBVZmM+pHrJlsgr0Wv0bV1xqvqITtbQKBgBIsIGXopQoa9dvqBtfyOW1eCprkS5aEQqWf9vM6Ga90QjsSU8n6xqKh48IE57TZtQ7UnIF6TCasc66/MsRh4KdpHLJnMR5lcMc0nhF/wz5ychehaTPol+X3wlyOyc7OPah2KG6ROhdbb3ZBggQMduyxiKYIsUTvmuOtAAxR+DSRAoGADtuDzGQDOJYWiO2uuP6FpA5IJaiwlSfu3xncJVfhO8SVr6VBJFg88igbIB3w6nk/sv7j9VTXqXre9HMvp1flxaaLsdxM4HcTSALS9q6t/ajaveqte6S5kAtWx0WW8C6PtgWXHbxcD7LXARSsKLoEl2JXXyUVS/m2l/RzHBQ8GJI= - appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002137663024.crt - alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt - alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt - callback: https://callbacktest.malls.iformall.com/api/alipay/notify/callback - -video: - aliyun: - accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V - accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry - regionId: cn-beijing - -fm: - exception: true - exception_emails: xuxiaohu@iformall.com - deploy: 1 - open: true - upload_dir: /home/test/server/uploads - videoType: aliyun - -pos: - dev_id: fmpos - url: https://pos.youlane.cn/api - req_key: ZiGFLC4@3c5sTLZT - res_key: ugPAM7wd&%p6I0W8 - - -logging: - level: - com.iformall.mapper: debug - path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/target/classes/application-prod.yml b/mallinkBApi/bin/target/classes/application-prod.yml deleted file mode 100644 index 0cd3d8c89..000000000 --- a/mallinkBApi/bin/target/classes/application-prod.yml +++ /dev/null @@ -1,150 +0,0 @@ -spring: - profiles: - include: aliyunRocketMQ - # JDBC - datasource: - url: jdbc:mysql://zc349w82qvn56ftl5e64-rw4rm.rwlb.rds.aliyuncs.com:3306/mallink?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true - username: ENC(nUefcxWYlMS/1cDxikIKwA==) - password: ENC(neToS+hzeFjgSFB/7UEl5qYnW2rUjrPq) - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - filters: stat - maxActive: 20 - initialSize: 1 - maxWait: 60000 - minIdle: 1 - timeBetweenEvictionRunsMillis: 28000 - minEvictableIdleTimeMillis: 28000 - validationQuery: select 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - poolPreparedStatements: true - maxOpenPreparedStatements: 20 - # REDIS - redis: - host: r-2zeaglwf13qqmnllj5.redis.rds.aliyuncs.com - port: 6379 - password: mallone:iF0rm@2l2ol9 - timeout: 3600 - expire: 1800 #30分钟 - database: 1 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 100 - max-idle: 20 - max-wait: -1 - min-idle: 0 - - # SMS - aliyun: - sms: - accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V - accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry - product: Dysmsapi - domain: dysmsapi.aliyuncs.com - regionId: cn-hangzhou - dateFormat: yyyyMMdd - endpointName: cn-hangzhou - oss: - endpoint: oss-cn-beijing.aliyuncs.com - keyid: LTAI4G7ixY4AhvM35F8o3W3V - keysecret: VfWqGb83qIQrS9us45utskl8itd7ry - bucketname: formall - filehost: malinkadmin - filedomain: https://formall.oss-accelerate.aliyuncs.com - # EMAIL - mail: - host: smtp.exmail.qq.com - username: sysadministor@iformall.com # 登陆密码sysAd1231 - password: SWqPekCEmhUYuYCd # 授权密码 - properties: - mail: - smtp: - auth: true - starttls: - enable: true - socketFactory: - port: 465 - class: javax.net.ssl.SSLSocketFactory - # RABBITMQ - rabbitmq: - host: localhost - port: 5672 - username: ENC(lRmLd6EzgeY1RT5ktcHv9g==) - password: ENC(gBI8mCjr3OC0v57jcnSb660Ux7mW03K2oePgvohhg7w=) - publisher-confirms: true - publisher-returns: false - virtual-host: / - aliyunRocketmq: - accessKeyId: "LTAI4G7ixY4AhvM35F8o3W3V" - accessKeySecret: "VfWqGb83qIQrS9us45utskl8itd7ry" - groupId: "GID_P_1" - namesrvAddr: "http://MQ_INST_1796289517488555_Bcqaq2is.cn-beijing.mq-internal.aliyuncs.com:8080" - -aws: - clientRegion: cn-northwest-1 - bucketName: iformall-net - access: ENC(a6SN1sZ1enNL49ypiOXkg/pPPAnZD8H4buQFTTKN08s=) - secret: ENC(5P5ff4bTMJUbXVR4ZsM03UHzOKZ4+Zg5Iutcdkyp/Quny/oXg+A4KpfwEyGarlLu3vQMJahGP5M=) - -wechat: - open: - componentAppId: ENC(b3JG0MUZgQfz5Zj+DC2ZM1zDeLOiGTmmeokfe2O8kaM=) - componentSecret: ENC(QVyc4BPGdnSjXGs2ivgpDBE1v8wPWHLLRMYI7Vv8uYwC0SiZHQz0QpyyQV/b48Pb) - componentToken: ENC(rkxj0733WxFFDLgA9x01m2s5Fi2L+0PC) - componentAesKey: ENC(EIbJUBpbYOrLb4YQ/HXLQmxlxgAqIp2ZmpnGICC8pu5xiTz3Cqfkbwd2S8raCcK/IvYcX2GmedI=) - redis: - host: r-2zeaglwf13qqmnllj5.redis.rds.aliyuncs.com - port: 6379 - password: mallone:iF0rm@2l2ol9 - timeout: 3600 - expire: 1800 #30分钟 - database: 2 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 100 - max-idle: 100 - max-wait: -1 - min-idle: 10 - -alipay: - open: - appId: 2021002140616334 - appPrivateKey: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCEJmHIlS0luIH7zJRRVlypCcgiSkqpSlnmgyCEM7nu8IerV8Yf7dMBitBklTpJB+4URV1bW+q6Ijzo8RsCyjm1Kx+EFiKf1PiJXlT0h1+bF3fYdDr6r5GK0/TtB8O80p774NcRD3HgbzUS8AEe/GcBvhiXbDRgJh7yAngW9vxl9u1o5UcaxOXVLWDrjlQGF6qyXUlycCNIdPXj3LduP3PBK5daVZwJm33Pr7kmSI0agZvV267HaTpSKaiXI7Zwo+nFMqx9g9kpzmYRfOgHx3DWpQUFI646IB8nEpLpQp3/0eDocuqiHXYgEpLpPoFKoVE228v74YSFh3Y4fFGX+qtjAgMBAAECggEAIJK9Y42xtSyHjaNdo7bf3CK3HAyn3pafFjyYFT4SxJyxNEDMay5Z5nVq7IAD/+BehMycOFqtvveVf+1+NO/XzZo1iH9URYVfRazkz+lWXYopVkdACm6gN1ILeymAy9g2q+s918ywyxteP668+ABK+5j5wsk/F7wNwKVvKGn0yMT7DP0FAL1e0KWndZCZlF79VnFpBLscDJq28GqRzqYop4CWqHHTA6DBvIqkfQV4U3IzqnzOsxNLEMBwhnbK08XfYZ3DxCPH0jQdA2Jj/aABrntq2EpWjzW5H9iZqrVo33rmsNHUSQvla/333RkbpwGyNhI6kcPBRq4cVSAa3y7dMQKBgQDVfyDUPWKXVwIJUgO1my8WIUu2p6nhuT7Mfnpk4X7ewdFaRVjb/r0KvhLgoz2/KOwkqtWTlEvNaCDDycpLXk+V5ZH833kYsDEmxY7ikOUjCcrfYJgT7P77//cZ4Kx8a5X45SiKAZT2GQv7BTtIfNhrfTUj6AQx/3MP3sa2QAWeNQKBgQCedWoF7t+qyck2hctqtTFC7fRkEk7RNJVph1ZOeTqOIAKhmhkwaOE3joxQ/VqHDy212YdW4hI0BWUzbEdMy0Idz2G3y9ERVD84hZehf5GGRdiSrY9EEQgHlcI6Qb8/AnDdpy1DlKUMwTYjVNzkDL3AzeWn61JS1XQaOzZBsJy2NwKBgFa+pJQXrOtYytcGn8M2Hlebh6vbS8cPAVkNOqWqiWXw0iMfcg9Q3XZz7C+hpAD7m5b6YnToGDSJTma+opck5qk88agRFJ7XV+Es+/VKcg9edzNzh9bwwFmbksbM5shW3kSWt3X7Vo73dkqzwXaeY0CpSuIf7zRxWkrkdVCvipjRAoGAMcJlPN+6VQNwsDJromKryXy31gT5wzBkCvN44sOm46KhsOWXK2CD+NJGtdgZaXgWvphEq7/qP3PCR9ekvDTH2lyZLwJN8Mcn4zPwXcKVjDi6vbTK3HEMuHUKvQiQadT2ZGRvDl3LRqoVuhqYEvT9UWJWz9hRzblB8ErPyukPDRkCgYB7bMv2iflpaGE1J3gkTlVJB+2QSfnAXaUDMLWsZN4gYjwEBVCEJ+mhWL1/GeEIBjSs5/qZIeRsYzlxGEcnsJzRfog6ITBF14AeZ+xNkHq83ja87OGVKMypiccGwRehijDhJi6tgMJ0u0w6PiqcJvh0SX4jBhDDPjuWzK2XD+lx8A== - appPublicKeyCertPath: /opt/iformall/service/alipay/appCertPublicKey_2021002140616334.crt - alipayCertPath: /opt/iformall/service/alipay/alipayCertPublicKey_RSA2.crt - alipayRootCertPath: /opt/iformall/service/alipay/alipayRootCert.crt - callback: https://callback.malls.iformall.com/api/alipay/notify/callback - -video: - aliyun: - accessKeyId: LTAI4G7ixY4AhvM35F8o3W3V - accessKeySecret: VfWqGb83qIQrS9us45utskl8itd7ry - regionId: cn-beijing - endPoint: https://oss-cn-beijing.aliyuncs.com - corePoolSize: 6 - maxPoolSize: 20 - queueCapacity: 1000 - namePrefix: aliyun-video-upload - -fm: - exception: true - exception_emails: houtaikaifa@iformall.com - deploy: 3 - open: true - upload_dir: /root/uploads/ - videoType: aliyun - -pos: - dev_id: fmpos - url: https://pos.malls.iformall.com/api - req_key: ZiGFLC4@3c5sTLZT - res_key: ugPAM7wd&%p6I0W8 - -logging: - level: - com.iformall.mapper: debug - path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/target/classes/application-test.yml-bak b/mallinkBApi/bin/target/classes/application-test.yml-bak deleted file mode 100644 index 92e878bdf..000000000 --- a/mallinkBApi/bin/target/classes/application-test.yml-bak +++ /dev/null @@ -1,106 +0,0 @@ -spring: - profiles: - include: rabbitMQ - # JDBC - datasource: - url: jdbc:mysql://formalldb.cfqyqflkdlit.rds.cn-northwest-1.amazonaws.com.cn:3306/mallinkTest?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&useSSL=false&useAffectedRows=true - username: ENC(Uc0AjgkytxHHCwZrmDASWg==) - password: ENC(nV4Mi3bEbBx0Fj7uUyYH55eTaqsFMjKvmNzagicH4pc=) - type: com.alibaba.druid.pool.DruidDataSource - driver-class-name: com.mysql.cj.jdbc.Driver - filters: stat - maxActive: 20 - initialSize: 1 - maxWait: 60000 - minIdle: 1 - timeBetweenEvictionRunsMillis: 28000 - minEvictableIdleTimeMillis: 28000 - validationQuery: select 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - poolPreparedStatements: true - maxOpenPreparedStatements: 20 - # REDIS - redis: - host: 127.0.0.1 - port: 6379 - password: ENC(QFwqv3NshvvGhFPiP8rwhvbnxk+rFSqhJi8Pw6TogSg=) - timeout: 3600 - expire: 1800 #30分钟 - database: 1 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 50 - max-idle: 30 - max-wait: -1 - min-idle: 0 - # EMAIL - mail: - host: smtp.exmail.qq.com - username: ENC(TtJQE2C4cWo8CpVGMMl5hiy5eykepd96J5XjsW3Kj5fgP+6+5ctDNQ==) - password: ENC(Zh6A6kRtA2ABtH6nzdvsqQSO1/8p3mparJr8neI2BLU=) # 授权密码 - properties: - mail: - smtp: - auth: true - starttls: - enable: true - socketFactory: - port: 465 - class: javax.net.ssl.SSLSocketFactory - # RABBITMQ - rabbitmq: - host: 127.0.0.1 - port: 5672 - username: ENC(aSRr6mnSryEqzHHz1hJf1g==) - password: ENC(GnjF/mdqKdvmDYC0tIIso7+20/jBALPw39tiWCYJ4iw=) - publisher-confirms: true - publisher-returns: false - virtual-host: / - -aws: - clientRegion: cn-northwest-1 - bucketName: iformall-net - access: ENC(NCLcmjwKpAWdn/abD17OKIY7yKepVLWzEpqRYUlURCw=) - secret: ENC(TRcZqql0Rq5PExlMeH/4WiZ/i02b8FXKmLTBChJmbluTa1uoLS9LrHyNEMrqe1DK+QgOAdvqGBo=) - -wechat: - open: - componentAppId: ENC(hnH31XdNzArfMfikKgBFpqQuJUl6rVOPFFcAVyb595o=) - componentSecret: ENC(t/GUVX5L+U7LCwSvZ5WmxAnmTMrc/Uy1nljsrokuzzsBL2j6BEVnrS/n7DCdGc/G) - componentToken: ENC(gUF1m0YgCCI2IY54fX6sGLZVlCswA8tG) - componentAesKey: ENC(TYHcrIkICtfrCfGq4HW6s1b/pHf7OD2uyPN11SzJNB0acqJ/4JVX1nuljo/cAtgMG4O05TImLQc=) - redis: - host: 127.0.0.1 - port: 6379 - password: ENC(QFwqv3NshvvGhFPiP8rwhvbnxk+rFSqhJi8Pw6TogSg=) - timeout: 3600 - expire: 1800 #30分钟 - database: 2 - defaultExpiration: 2592000 # 默认生命周期30天 - jedis: - pool: - max-active: 100 - max-idle: 100 - max-wait: -1 - min-idle: 10 - -fm: - exception: true - exception_emails: houtaikaifa@iformall.com - deploy: 2 - open: true - upload_dir: /home/ec2-user/server/uploads/ - -pos: - dev_id: fmpos - url: https://postest.malls.iformall.com/api - req_key: ZiGFLC4@3c5sTLZT - res_key: ugPAM7wd&%p6I0W8 - -logging: - level: - com.iformall: debug - path: ./logs/b \ No newline at end of file diff --git a/mallinkBApi/bin/target/classes/application.yml b/mallinkBApi/bin/target/classes/application.yml deleted file mode 100644 index fefb838d5..000000000 --- a/mallinkBApi/bin/target/classes/application.yml +++ /dev/null @@ -1,54 +0,0 @@ -server: - port: 8000 - servlet: - context-path: /B - -spring: - application: - name: mallink - profiles: - active: dev - jackson: - date-format: yyyy-MM-dd HH:mm:ss - time-zone: GMT+8 - default-property-inclusion: non_null -# rocketmq: -# nameServer: 127.0.0.1:9876 -# producer: -# retry-times-when-send-async-failed: 0 -# send-msg-timeout: 300000 -# compress-msg-body-over-howmuch: 4096 -# max-message-size: 4194304 -# retry-another-broker-when-not-store-ok: false -# retry-times-when-send-failed: 2 - -# MybatisPlus -mybatis-plus: - mapper-locations: classpath:mapper/*Mapper.xml - global-config: - db-config: - id-type: id_worker - field-strategy: not_null - db-type: mysql - configuration: - jdbc-type-for-null: 'null' - cache-enabled: false - call-setters-on-nulls: true - type-aliases-package: com.iformall.domain.po - type-enums-package: com.iformall.enums - -# PageHelper -pagehelper: - helperDialect: mysql - reasonable: false - supportMethodsArguments: true - params: count=countSql - offset-as-page-num: true - page-size-zero: true - row-bounds-with-count: true - -mapper: - mappers: - - com.iformall.common.CommonMapper - -version: 1.0 \ No newline at end of file diff --git a/mallinkBApi/bin/target/classes/logback-spring.xml b/mallinkBApi/bin/target/classes/logback-spring.xml deleted file mode 100644 index 3a54d117d..000000000 --- a/mallinkBApi/bin/target/classes/logback-spring.xml +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] --%mdc{client}%msg%n - - - - - ${logPath}/trace.log - - ${logPath}/daily/trace.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - - - ${logPath}/info.log - - ${logPath}/daily/info.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - INFO - ACCEPT - DENY - - - - - ${logPath}/debug.log - - ${logPath}/daily/debug.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - DEBUG - ACCEPT - DENY - - - - - - ${logPath}/warn.log - - ${logPath}/daily/warn.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - WARN - ACCEPT - DENY - - - - - - - ${logPath}/error.log - - ${logPath}/daily/error.%d{yyyy-MM-dd}.log - 30 - - - [%date{yyyy-MM-dd HH:mm:ss.SSS}] [%-5level] [%logger:%line]--%mdc{client} %msg%n - - - ERROR - ACCEPT - DENY - - - - - - - - - - - - - - \ No newline at end of file diff --git a/mallinkBApi/src/main/java/com/iformall/controller/BaseController.java b/mallinkBApi/src/main/java/com/iformall/controller/BaseController.java index f0e14159f..17d2fe6ae 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/BaseController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/BaseController.java @@ -33,19 +33,12 @@ import java.util.Date; @Slf4j @RestController public class BaseController { - @Autowired - private boolean isFmOpen; + @Autowired private WxMerchantBUserService wxMerchantBUserService; @Autowired private WxAppinfoService wxAppinfoService; - - @Autowired - private FmOpenService openService; - - @Autowired - private CUserTokenService cUserTokenService; @Autowired MaUtil maUtil; diff --git a/mallinkBApi/src/main/java/com/iformall/controller/PosController.java b/mallinkBApi/src/main/java/com/iformall/controller/PosController.java index 58f8c5df2..edb0fbf83 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/PosController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/PosController.java @@ -3,7 +3,6 @@ package com.iformall.controller; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.po.WxMerchantBUser; -import com.iformall.domain.po.base.TenantEntity; import com.iformall.exception.MallinkException; import com.iformall.pay.WxPayConstant; import com.iformall.service.PosBrunService; @@ -21,6 +20,7 @@ import java.util.Map; @RequestMapping("/api/pos") @Api(description = "POS服务相关接口") public class PosController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired diff --git a/mallinkBApi/src/main/java/com/iformall/controller/PosOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/PosOrderController.java index 0886598c5..cd1f409cc 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/PosOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/PosOrderController.java @@ -24,8 +24,8 @@ import io.swagger.annotations.ApiOperation; @AllArgsConstructor @Api(description = "POS订单接口") public class PosOrderController extends BaseController { - private final Logger logger = LoggerFactory.getLogger(this.getClass()); + private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final PosOrderService posOrderService; diff --git a/mallinkBApi/src/main/java/com/iformall/controller/PosPayOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/PosPayOrderController.java index 3235f5748..58093e6aa 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/PosPayOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/PosPayOrderController.java @@ -21,11 +21,11 @@ import io.swagger.annotations.ApiOperation; @AllArgsConstructor @Api(description = "POS支付订单接口") public class PosPayOrderController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final PosPayOrderService posPayOrderService; - @ApiOperation("分页列表接口") @GetMapping("list") @ApiImplicitParams({ diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java index ac7f2b92a..c568ac29a 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxBillController.java @@ -1,7 +1,5 @@ package com.iformall.controller; - -import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.WxMerchant; @@ -29,6 +27,7 @@ import java.util.Map; @Api(description = "账单") @RequestMapping("/api/bill") public class WxBillController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java index 8c5bda4fd..b6d526ce1 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -1,6 +1,5 @@ package com.iformall.controller; - import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.*; @@ -29,6 +28,7 @@ import java.util.Map; @Api(description = "C端扫B端商户码储值卡支付") @RequestMapping("/api/cardPay") public class WxCardPayController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java index 9aa899e37..9cdd9c3e6 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCashOutController.java @@ -9,7 +9,6 @@ import com.iformall.enums.EnumCashOutStatus; import com.iformall.enums.EnumPayShare; import com.iformall.enums.EnumPayWay; import com.iformall.service.*; -import com.iformall.utils.DateUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -17,7 +16,6 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import java.util.ArrayList; -import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -37,6 +35,7 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/api/cashout") @Api(description = "提现相关接口") public class WxCashOutController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index 06a35a1eb..1f85108ee 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -8,13 +8,7 @@ import com.iformall.domain.dto.WxCouponChannelDto; import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.vo.WxCouponChannelVo; -import com.iformall.enums.EnumPayWay; -import com.iformall.mapper.WxCouponChannelMapper; -import com.iformall.service.QrCodeService; import com.iformall.service.WxCouponChannelService; -import com.iformall.service.WxCouponService; -import com.iformall.service.WxFlowService; -import com.iformall.utils.Constant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -27,25 +21,17 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; -import java.util.Map; @RestController @RequestMapping("/api/wxCouponChannel") @Api(description = "优惠券投放接口") public class WxCouponChannelController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private WxCouponChannelService wxCouponChannelService; - @Autowired - private WxCouponChannelMapper wxCouponChannelMapper; - @Autowired - private QrCodeService qrCodeService; - @Autowired - private WxFlowService wxFlowService; - @Autowired - private WxCouponService wxCouponService; @ApiOperation("分页列表接口") @GetMapping("list") @@ -66,7 +52,7 @@ public class WxCouponChannelController extends BaseController { }else{ wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC); } - final PageInfo page = wxCouponChannelService.listPageCVo(wxCouponChannel, pageNum, pageSize); + final PageInfo page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); return new ResultData(page); } @@ -80,17 +66,7 @@ public class WxCouponChannelController extends BaseController { WxCouponChannel couponChannel = (WxCouponChannel)resultData.data; //生成二维码 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 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; } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java index d1d3c7b89..b28e7fbbf 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponController.java @@ -56,58 +56,57 @@ public class WxCouponController extends BaseController { @Autowired RedisLock redisLock; - //TODO 待优化数据 -// @ApiOperation("分页列表接口") -// @GetMapping("list") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), -// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) -// public ResultData list(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize, Integer dataType) { -// logger.debug("[" + getIpAddr() + "] WxCouponController::list"); -// if (wxCoupon == null) wxCoupon = new WxCoupon(); -// wxCoupon.updateTenantInfo(getTenantInfo()); -// if(null == wxCoupon.getSourceType()){ -// wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Bapi.getCode()); -// } -// wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); -// -// if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ -// String coryColumn = "c."+wxCoupon.getSortColumns(); -// wxCoupon.setSortColumns(coryColumn); -// wxCoupon.setSortColumn(null); -// } -// -// return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 -// } -// -// @ApiOperation("分页列表接口") -// @GetMapping("listWithTypePress") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), -// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) -// public ResultData listWithTypePress(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) { -// logger.debug("[" + getIpAddr() + "] WxCouponController::list"); -// if (wxCoupon == null) wxCoupon = new WxCoupon(); -// wxCoupon.updateTenantInfo(getTenantInfo()); -// Integer[] typeArray = { -// EnumCouponType.COUPON_MANJIAN.getCode(), -// EnumCouponType.COUPON_DAIJIN.getCode(), -// EnumCouponType.COUPON_TUANGOU.getCode(), -// EnumCouponType.COUPON_LIPIN.getCode(), -// EnumCouponType.COUPON_TINGCHE.getCode(), -// EnumCouponType.COUPON_MULTIMCH.getCode(), -// EnumCouponType.COUPON_PRESS.getCode(), -// EnumCouponType.COUPON_PREORDER.getCode()}; -// -// wxCoupon.setTypes(Arrays.asList(typeArray)); -// wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); -// if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ -// String coryColumn = "c."+wxCoupon.getSortColumns(); -// wxCoupon.setSortColumns(coryColumn); -// wxCoupon.setSortColumn(null); -// } -// return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 -// } + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData list(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize, Integer dataType) { + logger.debug("[" + getIpAddr() + "] WxCouponController::list"); + if (wxCoupon == null) wxCoupon = new WxCoupon(); + wxCoupon.updateTenantInfo(getTenantInfo()); + if(null == wxCoupon.getSourceType()){ + wxCoupon.setSourceType(EnumCouponSourceType.COUPONSource_Bapi.getCode()); + } + wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); + + if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ + String coryColumn = "c."+wxCoupon.getSortColumns(); + wxCoupon.setSortColumns(coryColumn); + wxCoupon.setSortColumn(null); + } + + return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 + } + + @ApiOperation("分页列表接口") + @GetMapping("listWithTypePress") + @ApiImplicitParams({ + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData listWithTypePress(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) { + logger.debug("[" + getIpAddr() + "] WxCouponController::list"); + if (wxCoupon == null) wxCoupon = new WxCoupon(); + wxCoupon.updateTenantInfo(getTenantInfo()); + Integer[] typeArray = { + EnumCouponType.COUPON_MANJIAN.getCode(), + EnumCouponType.COUPON_DAIJIN.getCode(), + EnumCouponType.COUPON_TUANGOU.getCode(), + EnumCouponType.COUPON_LIPIN.getCode(), + EnumCouponType.COUPON_TINGCHE.getCode(), + EnumCouponType.COUPON_MULTIMCH.getCode(), + EnumCouponType.COUPON_PRESS.getCode(), + EnumCouponType.COUPON_PREORDER.getCode()}; + + wxCoupon.setTypes(Arrays.asList(typeArray)); + wxCoupon.setMerchantId(getLoginBUser().getMerchantId()); + if(StringUtils.isNotBlank(wxCoupon.getSortColumn())){ + String coryColumn = "c."+wxCoupon.getSortColumns(); + wxCoupon.setSortColumns(coryColumn); + wxCoupon.setSortColumn(null); + } + return wxCouponService.list(wxCoupon,wxCoupon, pageNum, pageSize); //全列表 + } private Map generateFlowParams(EnumFlowKey flowType,EnumCouponAppType approvalType, WxCoupon wxCoupon,String remark,String phone) { Map map = new HashMap(); diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 51c99868a..f4a4088cc 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -71,6 +71,7 @@ public class WxCouponOrderController extends BaseController { @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData list(@ModelAttribute WxCouponOrder wxCouponOrder, Integer pageNum, Integer pageSize) { if (null == wxCouponOrder) wxCouponOrder = new WxCouponOrder(); + wxCouponOrder.updateTenantInfo(getTenantInfo()); final PageInfo page = wxCouponOrderService.listAsPage(wxCouponOrder, pageNum, pageSize); return new ResultData(page); } @@ -109,45 +110,44 @@ public class WxCouponOrderController extends BaseController { return new ResultData(); } - //TODO 待优化数据 -// @ApiOperation("交易流水分页列表接口") -// @GetMapping("listUnverified") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), -// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), -// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) -// public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) { -// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, false); -// } -// -// @ApiOperation("核销流水分页列表接口") -// @GetMapping("listVerified") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), -// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), -// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) -// public ResultData listVerified(String date, Integer pageNum, Integer pageSize) { -// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, true); -// } -// -// -// @RedisCache -// @ApiOperation("某日期交易总流水") -// @GetMapping("getUnverifiedAmountOnDate") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) -// public ResultData getUnverifiedAmountOnDate(String date) { -// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, false); -// } - -// @RedisCache -// @ApiOperation("某日期核销总流水") -// @GetMapping("getVerifiedAmountOnDate") -// @ApiImplicitParams({ -// @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) -// public ResultData getVerifiedAmountOnDate(String date) { -// return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, true); -// } + @ApiOperation("交易流水分页列表接口") + @GetMapping("listUnverified") + @ApiImplicitParams({ + @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData listUnverified(String date, Integer pageNum, Integer pageSize) { + return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, false); + } + + @ApiOperation("核销流水分页列表接口") + @GetMapping("listVerified") + @ApiImplicitParams({ + @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query"), + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData listVerified(String date, Integer pageNum, Integer pageSize) { + return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, pageNum, pageSize, true); + } + + + @RedisCache + @ApiOperation("某日期交易总流水") + @GetMapping("getUnverifiedAmountOnDate") + @ApiImplicitParams({ + @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) + public ResultData getUnverifiedAmountOnDate(String date) { + return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, false); + } + + @RedisCache + @ApiOperation("某日期核销总流水") + @GetMapping("getVerifiedAmountOnDate") + @ApiImplicitParams({ + @ApiImplicitParam(name = "date", value = "日期yyyy-MM-dd", dataType = "string", paramType = "query")}) + public ResultData getVerifiedAmountOnDate(String date) { + return wxCouponOrderService.listOnDateAsPage(getLoginBUser().getId(), date, null, null, true); + } @ApiOperation(value = "卡券详情接口") diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java index 5e9eab18c..69e49887f 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCouponSendController.java @@ -44,7 +44,6 @@ public class WxCouponSendController extends BaseController { @Resource private WxCUserMapper wxCUserMapper; - //TODO 待优化数据 @ApiOperation("查询商户注券列表") @GetMapping("/list") @ApiImplicitParams({ diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java index 27c724207..f11d8adff 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxCreditHistoryController.java @@ -144,26 +144,25 @@ public class WxCreditHistoryController extends BaseController { } } - //TODO 待优化数据 -// @ApiOperation("分页列表接口") -// @GetMapping("list") -// @ApiImplicitParams({ -// @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), -// @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) -// public ResultData list(@ModelAttribute WxCreditHistory wxCreditHistory, Integer pageNum, Integer pageSize) { -// log.debug("[" + getIpAddr() + "] WxCreditHistoryController::list"); -// if (null == wxCreditHistory) wxCreditHistory = new WxCreditHistory(); -// wxCreditHistory.setTenantId(getTenantInfo().getFinalTenantId()); -// wxCreditHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); -// WxMerchantBUser bUser = getLoginBUser(); -// WxMerchant merchant = wxMerchantService.getById(wxCreditHistory.getMerchantId()); -// if (merchant != null && merchant.getIsAdmin() != null && merchant.getIsAdmin() == 1) { -// wxCreditHistory.setOperatorId(bUser.getId()); -// wxCreditHistory.setOperatorType(EnumUserType.BUSER.getCode()); -// wxCreditHistory.setMerchantId(null); -// } -// final PageInfo page = wxCreditHistoryService.listAsPageMore(wxCreditHistory, pageNum, pageSize); -// return new ResultData(page); -// } + @ApiOperation("分页列表接口") + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), + @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) + public ResultData list(@ModelAttribute WxCreditHistory wxCreditHistory, Integer pageNum, Integer pageSize) { + log.debug("[" + getIpAddr() + "] WxCreditHistoryController::list"); + if (null == wxCreditHistory) wxCreditHistory = new WxCreditHistory(); + wxCreditHistory.setTenantId(getTenantInfo().getFinalTenantId()); + wxCreditHistory.setFinalTenantId(getTenantInfo().getFinalTenantId()); + WxMerchantBUser bUser = getLoginBUser(); + WxMerchant merchant = wxMerchantService.getById(wxCreditHistory.getMerchantId()); + if (merchant != null && merchant.getIsAdmin() != null && merchant.getIsAdmin() == 1) { + wxCreditHistory.setOperatorId(bUser.getId()); + wxCreditHistory.setOperatorType(EnumUserType.BUSER.getCode()); + wxCreditHistory.setMerchantId(null); + } + final PageInfo page = wxCreditHistoryService.listAsPageMore(wxCreditHistory, pageNum, pageSize); + return new ResultData(page); + } } diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java index 7f460703d..27d6e6463 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxInfoController.java @@ -24,10 +24,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -521,4 +518,19 @@ public class WxInfoController extends BaseController { } return new ResultData(); } + + @ApiOperation("查询c小程序首页风格") + @GetMapping("/getAppMouldType") + public ResultData getAppMouldType(Integer plat) { + logger.debug("[" + getIpAddr() + "] WxAppinfoController::getAppMouldType"); +// if(plat == null){ +// plat = EnumAppPlat.WX.getCode(); +// } +// EnumAppPlat byCode = EnumAppPlat.getByCode(plat); +// if(byCode == null){ +// return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); +// } + WxAppinfo cAppInfo = wxAppinfoService.getCAppInfoFromRedis(getTenantInfo().getTenantId(), null); + return new ResultData(cAppInfo); + } } diff --git a/mallinkBApi/src/main/resources/application.yml b/mallinkBApi/src/main/resources/application.yml index 8f0d421b9..49fff761e 100644 --- a/mallinkBApi/src/main/resources/application.yml +++ b/mallinkBApi/src/main/resources/application.yml @@ -12,6 +12,10 @@ spring: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 default-property-inclusion: non_null + servlet: + multipart: + max-file-size: 300MB + max-request-size: 1024MB # rocketmq: # nameServer: 127.0.0.1:9876 # producer: diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java index aae158683..fb0534eef 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxBusinessController.java @@ -1,27 +1,22 @@ package com.iformall.controller; -import com.github.pagehelper.PageInfo; import com.iformall.annotation.RedisCache; import com.iformall.common.ResultData; -import com.iformall.domain.po.WxBusiness; -import com.iformall.domain.po.WxCUser; +import com.iformall.enums.EnumAppPlat; import com.iformall.service.WxBusinessService; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import java.util.List; -import java.util.stream.Collectors; @RestController @RequestMapping("/api/wxBusiness") @Api(description = "业态查询接口") public class WxBusinessController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired @@ -31,7 +26,11 @@ public class WxBusinessController extends BaseController { @ApiOperation("业态全列表接口") @GetMapping("listAll") public ResultData listAll(Integer filter) { - return new ResultData(wxBusinessService.findListAll(getTenantInfo(),filter)); + EnumAppPlat appPlat = getCUser().getAppPlat(); + if(appPlat == null){ + appPlat = EnumAppPlat.WX; + } + return new ResultData(wxBusinessService.findListAll(getTenantInfo(),filter,appPlat.getCode())); } } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java index fa17b0d0f..ba1d6f3ee 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCampaignController.java @@ -7,7 +7,6 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.po.WxCampaign; import com.iformall.domain.po.WxCouponChannel; -import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.enums.*; import com.iformall.service.WxCampaignService; @@ -37,6 +36,7 @@ import java.util.List; @RequestMapping("/api/wxCampaign") @Api(description = "促销和banner接口") public class WxCampaignController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired @@ -59,8 +59,13 @@ public class WxCampaignController extends BaseController { wxCampaign.updateTenantInfo(getTenantInfo()); wxCampaign.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode()); wxCampaign.setSortColumns(BaseEntity.SortField.SortNum_ASC, BaseEntity.SortField.CreateTime_ASC); - // TODO 缓存优化 - final PageInfo page = wxCampaignService.clistAsPage(wxCampaign, pageNum, pageSize); + + String key = EnumCacheKey.CAMPAIGN_PAGE_LIST.getMessage() + wxCampaign.getTenantId() + "_" + pageNum + ":"; + PageInfo page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class); + if (null == page ) { + page = wxCampaignService.clistAsPage(wxCampaign, pageNum, pageSize); + RedisCacheUtils.cache(redisTemplate, key, page, 100); + } return new ResultData(page); } @@ -77,15 +82,8 @@ public class WxCampaignController extends BaseController { wxCouponChannel.setSubTargetId(wxCampaign.getId()); wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); wxCouponChannel.setShowBeginTime(new Date()); - //TODO待优化数据 - List couponList = RedisCacheUtils.getCacheListObject(redisTemplate, "wxCampaignCoupons:"+wxCouponChannel.getTenantId(), WxCouponChannelVo.class); - if (null == couponList) { - couponList = wxCouponChannelService.listVo(wxCouponChannel); - if (null != couponList) { - RedisCacheUtils.cache(redisTemplate, "wxCampaignCoupons:"+wxCouponChannel.getTenantId(), couponList, 3600); - } - } - wxCampaign.setCoupons(couponList); + List voList = wxCouponChannelService.newfindListVo(wxCouponChannel); + wxCampaign.setCoupons(voList); } return new ResultData(Result.SUCCESS, "查询成功", wxCampaign); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index a9fda007f..a8bbb0fef 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -1,10 +1,15 @@ package com.iformall.controller; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.TimeUnit; +import com.github.pagehelper.PageHelper; import com.iformall.common.ErrorCode; +import com.iformall.domain.po.WxCampaign; +import com.iformall.enums.*; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -12,6 +17,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ValueOperations; import org.springframework.web.bind.annotation.*; import com.github.pagehelper.PageInfo; @@ -21,10 +27,6 @@ import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.BaseEntity; import com.iformall.domain.vo.WxCouponChannelVo; -import com.iformall.enums.EnumCouponChannelActivityStatus; -import com.iformall.enums.EnumCouponChannelStatus; -import com.iformall.enums.EnumCouponChannelType; -import com.iformall.enums.EnumCouponStatus; import com.iformall.service.WxCouponChannelService; import com.iformall.service.WxMerchantService; import com.iformall.utils.RedisCacheUtils; @@ -68,8 +70,19 @@ public class WxCouponChannelController extends BaseController { wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC); } wxCouponChannel.setShowBeginTime(new Date()); - PageInfo page = wxCouponChannelService.listPageCVo(wxCouponChannel, pageNum, pageSize); - filterTimed(wxCouponChannel, page); + + String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() + + wxCouponChannel.getTenantId() + "_" + + wxCouponChannel.getTargetAd() + "_" + + wxCouponChannel.getBusiness() + "_" + + pageNum + ":"+ pageNum + ":"; + PageInfo page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class); + logger.info("WxCouponChannelController.chache.get:{} page:{}",key,page); + if (null == page ) { + page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); + filterTimed(wxCouponChannel, page); + RedisCacheUtils.cache(redisTemplate, key, page, 100); + } return new ResultData(page); } @@ -98,7 +111,7 @@ public class WxCouponChannelController extends BaseController { // return new ResultData(map); // } - @RedisCache(expireTime = 100) + @RedisCache() @ApiOperation("商户活动列表信息") @PostMapping("listByMerchant") @ApiImplicitParams({ @@ -113,7 +126,7 @@ public class WxCouponChannelController extends BaseController { } String merchantIdStr = (String) params.get("merchantId"); - List merchantIds = (List) params.get("merchantIds"); + List merchantIds = (List) params.get("merchantIds"); Long merchantId = null; if(StringUtils.isNotBlank(merchantIdStr)){ merchantId = Long.parseLong(merchantIdStr); @@ -122,28 +135,34 @@ public class WxCouponChannelController extends BaseController { WxCouponChannel wxCouponChannel = new WxCouponChannel(); wxCouponChannel.setMerchantId(merchantId); wxCouponChannel.setMerchantIds(merchantIds); - wxCouponChannel.setStatus(0); wxCouponChannel.updateTenantInfo(getTenantInfo()); wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); wxCouponChannel.setSortColumns(BaseEntity.SortField.UpdateDate_DESC, BaseEntity.SortField.Id_DESC); + List targetAds = new ArrayList<>(); + targetAds.add(EnumCouponChannelType.COUPON_CHANNEL_ID_LIST.getCode()); + targetAds.add(EnumCouponChannelType.COUPON_CHANNEL_ID_TIMED.getCode()); + targetAds.add(EnumCouponChannelType.COUPON_CHANNEL_ID_CARD.getCode()); + targetAds.add(EnumCouponChannelType.COUPON_CHANNEL_ID_PRESS.getCode()); + targetAds.add(EnumCouponChannelType.COUPON_CHANNEL_ID_ORDER_GROUP.getCode()); + wxCouponChannel.setTargetAds(targetAds); + wxCouponChannel.setShowBeginTime(new Date()); Map map = new HashedMap(); - wxCouponChannel.setShowBeginTime(new Date()); - - - //TODO待优化数据,先用缓存处理 - String key = wxCouponChannel.getTenantId(); + + String key = wxCouponChannel.getTenantId()+"_"; if (null != merchantId) { - key = String.valueOf(merchantId); + key += String.valueOf(merchantId); }else if (null != merchantIds){ - key = merchantIds.toString(); + key += merchantIds.toString(); } - PageInfo page = RedisCacheUtils.getCacheObject(redisTemplate, "merchantCouponList:"+key, PageInfo.class); + key = EnumCacheKey.MERCHANT_COUPON_PAGE_LIST.getMessage() + key + "_" + pageNum + ":"; + PageInfo page = RedisCacheUtils.getCacheObject(redisTemplate, key, PageInfo.class); + logger.info("WxCouponChannelController.chache.get:{} page:{}",key,page); if (null == page ) { - page = wxCouponChannelService.listByMerchant(wxCouponChannel,pageNum,pageSize); - filterTimed(wxCouponChannel, page); - RedisCacheUtils.cache(redisTemplate, "merchantCouponList:"+key, page, 3600); + page = wxCouponChannelService.newListPageVo(wxCouponChannel, pageNum, pageSize); + filterTimed(wxCouponChannel, page); + RedisCacheUtils.cache(redisTemplate, key, page, 100); } if(wxCouponChannel.getMerchantId() != null){ diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java index 480a6262b..865cc2544 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponOrderController.java @@ -80,13 +80,14 @@ public class WxCouponOrderController extends BaseController { } if (wxCouponOrder == null) wxCouponOrder = new WxCouponOrderCVo(); wxCouponOrder.setCUserId(memberId); - if (wxCouponOrder.getCouponOrderStatus() == null) + wxCouponOrder.updateTenantInfo(getTenantInfo()); + if (wxCouponOrder.getCouponOrderStatus() == null) { wxCouponOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC, BaseEntity.SortField.Id_DESC); - else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()) + }else if (wxCouponOrder.getCouponOrderStatus() == EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode()) { wxCouponOrder.setSortColumns(BaseEntity.SortField.CreateDate_DESC, BaseEntity.SortField.Id_DESC); - else + }else { wxCouponOrder.setSortColumns(BaseEntity.SortField.UpdateDate_DESC, BaseEntity.SortField.Id_DESC); - + } PageInfo page = wxCouponOrderService.listCUserVoAsPageOptimize(wxCouponOrder, pageNum, pageSize); Date now = new Date(); @@ -432,6 +433,7 @@ public class WxCouponOrderController extends BaseController { return new ResultData(); } + @ApiOperation(value = "核销接口", notes = "{\"couponOrderId\":\"string\"}") @PostMapping("verify") public ResultData verify(@RequestBody Map paramMap) { diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java index 4a1924216..ab618ab65 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxMsgController.java +++ b/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.SEND_COUPON_REMIND.getCode()); wxTemplateMsg.setTypes(types); + wxTemplateMsg.setIsc(true); final PageInfo page = wxTemplateMsgService.listAsPageForMiniApp(wxTemplateMsg, pageNum, pageSize); return new ResultData(page); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java index 825ac41f4..00c06ac76 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxTopicController.java @@ -3,6 +3,7 @@ package com.iformall.controller; import com.iformall.annotation.RedisCache; import com.iformall.common.ResultData; import com.iformall.domain.po.WxTopic; +import com.iformall.enums.EnumCacheKey; import com.iformall.enums.EnumWxTopicType; import com.iformall.service.WxTopicService; import com.iformall.utils.RedisCacheUtils; @@ -15,6 +16,8 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/api/topic") @@ -40,7 +43,16 @@ public class WxTopicController extends BaseController { WxTopic wxTopic = new WxTopic(); wxTopic.updateTenantInfo(getTenantInfo()); wxTopic.setTopicType(topicType); - return new ResultData(wxTopicService.show(wxTopic)); + + String key = EnumCacheKey.TOPIC_ONE.getMessage() + wxTopic.getTenantId() + "_" + + topicType + ":"; + WxTopic show = RedisCacheUtils.getCacheObject(redisTemplate, key, WxTopic.class); + logger.info("WxCouponChannelController.chache.get:{} show:{}",key,show); + if (null == show ) { + show = wxTopicService.show(wxTopic); + RedisCacheUtils.cache(redisTemplate, key, show, 100); + } + return new ResultData(show); } @RedisCache @@ -50,7 +62,15 @@ public class WxTopicController extends BaseController { WxTopic wxTopic = new WxTopic(); wxTopic.updateTenantInfo(getTenantInfo()); wxTopic.setTopicType(EnumWxTopicType.SPECIAL_TOPIC.getCode()); - return new ResultData(wxTopicService.showList(wxTopic)); + + String key = EnumCacheKey.TOPIC_LIST.getMessage() + wxTopic.getTenantId() + ":"; + List topicList = RedisCacheUtils.getCacheObject(redisTemplate, key, List.class); + logger.info("WxTopicController.chache.get:{} topicList:{}",key,topicList); + if (null == topicList ) { + topicList = wxTopicService.showList(wxTopic); + RedisCacheUtils.cache(redisTemplate, key, topicList, 100); + } + return new ResultData(topicList); } @RedisCache @@ -58,14 +78,7 @@ public class WxTopicController extends BaseController { public ResultData findById(WxTopic wxTopic) { logger.debug("[" + getIpAddr() + "] WxTopicController::findById"); wxTopic.updateTenantInfo(getTenantInfo()); - //TODO 待优化数据 - WxTopic queryTopic =RedisCacheUtils.getCacheObject(redisTemplate, "topic:"+wxTopic.getId(), WxTopic.class); - if (null == queryTopic) { - queryTopic = wxTopicService.findCById(wxTopic); - if (null != queryTopic) { - RedisCacheUtils.cache(redisTemplate, "topic:"+wxTopic.getId(), queryTopic, 3600); - } - } + WxTopic queryTopic = wxTopicService.findCById(wxTopic); return new ResultData(queryTopic); } } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java index be6b2c10a..18d7a8673 100755 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxUserGrantController.java @@ -764,39 +764,11 @@ public class WxUserGrantController extends BaseController { public ResultData getUserinfoQrCode() { CUser user = getCUser(); 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 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); diff --git a/mallinkCallback/src/main/java/com/iformall/config/ShiroConfig.java b/mallinkCallback/src/main/java/com/iformall/config/ShiroConfig.java index 6972f71ee..32334bcee 100644 --- a/mallinkCallback/src/main/java/com/iformall/config/ShiroConfig.java +++ b/mallinkCallback/src/main/java/com/iformall/config/ShiroConfig.java @@ -111,6 +111,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/business/circle/**", "anon"); // 商圈回调 filterChainDefinitionMap.put("/alipay/notify/**", "anon"); + filterChainDefinitionMap.put("/ttPay/notify/**", "anon"); filterChainDefinitionMap.put("/jinmao/notify/**", "anon"); diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java index 159ed7594..878632ae6 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/JinMaoController.java @@ -1,6 +1,7 @@ package com.iformall.controller.callback; -import com.aliyun.openservices.shade.com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; @@ -248,7 +249,6 @@ public class JinMaoController extends BaseController { try { Map retMap = new HashMap(); retMap.put("Key",key); - retMap.put("Note","timecost:"+(System.currentTimeMillis()-startSeconds)+"; msg:"+msg); response.setContentType("application/json"); response.setCharacterEncoding("GB2312"); out = response.getWriter(); @@ -332,10 +332,24 @@ public class JinMaoController extends BaseController { generateResult(response,true,false, null, "参数不能为空Card", null, "参数非法",currentTime); return ; } - String mac = (String)param.get("MAC"); - String serial = (String)param.get("Serial"); + + //{"END":"C","TYPE":"couponorder","ID":"NjM5MDExMTQ4NzI0MTAxMTIwJjIwMjItMDEtMTMgMTU6MjI6NTE="} String _base64CouponOrderId = decodeBase64Url(couponOrderIdStr); - String _decodeCouponOrderId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(_base64CouponOrderId); + if (StringUtils.isBlank(_base64CouponOrderId)) { + generateResult(response,true,false, null, "参数Card解密失败", null, "参数非法",currentTime); + return ; + } + JSONObject idobject = JSON.parseObject(_base64CouponOrderId); + if (null == idobject) { + generateResult(response,true,false, null, "参数Card解密失败,json转换错误", null, "参数非法",currentTime); + return ; + } + String idstr = idobject.getString("ID"); + if (StringUtils.isBlank(idstr)) { + generateResult(response,true,false, null, "参数Card解密后格式错误,无ID", null, "参数非法",currentTime); + return ; + } + String _decodeCouponOrderId = WxCouponOrderCVo.getDecodeExpiredCouponOrderId(idstr); if (_decodeCouponOrderId.contains(WxCouponOrderCVo.arg)) { String[] decodeids = _decodeCouponOrderId.split(WxCouponOrderCVo.arg); couponOrderIdStr = decodeids[0]; @@ -358,7 +372,8 @@ public class JinMaoController extends BaseController { } try { - + String serial = (String)param.get("Serial"); + String mac = (String)param.get("MAC"); WxCouponOrder couponOrder = wxCouponOrderService.verifyByEquiment(couponOrderId, "789", "null", "闸机扫码核销[Serial:"+serial+",MAC:"+mac+"]"); generateResult(response,false,true, couponOrder.getCouponName(), "核销成功", String.valueOf(couponOrder.getId()), "核销成功",currentTime); return ; diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/TtPayController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/TtPayController.java index c93899a0b..45de41fe3 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/TtPayController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/TtPayController.java @@ -23,10 +23,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; @@ -73,15 +70,15 @@ public class TtPayController extends BaseController { */ @PostMapping(value = "/orderPay") @ResponseBody - public Map createOrder( HttpServletRequest request){ + public Map createOrder( @RequestBody Map parameterMap){ logger.debug("[" + getIpAddr() + "] TtOrderCallbackController::createOrder"); Map resultMap = new HashMap<>(); - String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); - logger.info("抖音支付通知-----body{}"+body); +// String body = ((BodyReaderHttpServletRequestWrapper) request).getBody(); + logger.info("抖音支付通知-----body{}"+parameterMap); try { - Map parameterMap = JSONObject.parseObject(body, Map.class); +// Map parameterMap = JSONObject.parseObject(body, Map.class); String timestamp = (String) parameterMap.get("timestamp"); String nonce = (String) parameterMap.get("nonce"); diff --git a/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/debug.log b/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/debug.log deleted file mode 100644 index e69de29bb..000000000 diff --git a/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/error.log b/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/error.log deleted file mode 100644 index e69de29bb..000000000 diff --git a/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/info.log b/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/info.log deleted file mode 100644 index e69de29bb..000000000 diff --git a/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/trace.log b/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/trace.log deleted file mode 100644 index e69de29bb..000000000 diff --git a/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/warn.log b/mallinkNeuPosAdmin/logPath_IS_UNDEFINED/warn.log deleted file mode 100644 index e69de29bb..000000000 diff --git a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java index 9a69ab192..6be694119 100644 --- a/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java +++ b/mallinkPosApi/src/main/java/com/iformall/service/impl/PosServiceImpl.java @@ -342,7 +342,7 @@ public class PosServiceImpl implements PosService { } coQ.put("cUserId", user.getId()); coQ.put("merchantId", merchantId); - List avaCoList = couponOrderMapper.findAvailCouponOrder(coQ); + List avaCoList = couponOrderService.findAvailCouponOrder(tenantEntity,user.getId(),merchantId,null); JSONArray selCoArr = JSONObject.parseArray(coListStr); if (config.getCoupon().equals(EnumPosCouponEnableType.SingleEnable.getCode())) { @@ -947,7 +947,7 @@ public class PosServiceImpl implements PosService { } coQ.put("cUserId", user.getId()); coQ.put("merchantId", merchantId); - List avaCoList = couponOrderMapper.findAvailCouponOrder(coQ); + List avaCoList = couponOrderService.findAvailCouponOrder(tenantEntity,user.getId(),merchantId,null); JSONArray selCoArr = JSONObject.parseArray(coListStr); if (config.getCoupon().equals(EnumPosCouponEnableType.SingleEnable.getCode())) { if (selCoArr.size() > 1) { diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java index 613dcf960..9a2abb8c7 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/CouponSendSchedule.java @@ -16,6 +16,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -50,8 +51,9 @@ public class CouponSendSchedule { @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; + @Lazy @Autowired - private WxCouponSendMapper wxCouponSendMapper; + private WxCouponSendService wxCouponSendService; @Autowired private WxCouponActionLogMapper wxCouponActionLogMapper; @@ -65,8 +67,6 @@ public class CouponSendSchedule { @Autowired private WxCouponSendConfigMapper couponSendConfigMapper; - @Autowired - private WxCouponSendService wxCouponSendService; @Autowired private WxScoreRulesService wxScoreRulesService; @@ -147,7 +147,7 @@ public class CouponSendSchedule { wxCouponSend.updateTenantInfo(tenantEntity); wxCouponSend.setSendType(EnumCouponSendSendType.TIMED.getCode()); wxCouponSend.setStatus(EnumCouponSendStatus.VALID.getCode()); - List couponSendList = wxCouponSendMapper.findListVo(wxCouponSend); + List couponSendList = wxCouponSendService.findListVo(wxCouponSend); int remain = couponSendList.stream().map(cs -> { int count = cs.getRemainInventory(); logger.info("定时发券:给[" + cu.getNickName() + @@ -256,7 +256,7 @@ public class CouponSendSchedule { wxCouponSend.updateTenantInfo(tenantEntity); wxCouponSend.setSendType(EnumCouponSendSendType.BIRTHDAY.getCode()); wxCouponSend.setStatus(EnumCouponSendStatus.VALID.getCode()); - List couponSendList = wxCouponSendMapper.findListVo(wxCouponSend); + List couponSendList = wxCouponSendService.findListVo(wxCouponSend); if (CollectionUtils.isEmpty(couponSendList)) { logger.info("生日发券: 会员生日券投放列表为空 couponSendList = {}, 任务跳过不执行", couponSendList); return; diff --git a/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java b/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java index 8a3b99467..46ffae331 100644 --- a/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java +++ b/mallinkSchedule/src/main/java/com/iformall/schedule/DaliyAmountSchedule.java @@ -38,6 +38,9 @@ public class DaliyAmountSchedule { @Autowired private WxOrderMapper wxOrderMapper; + + @Autowired + WxMerchantBUserMapper wxMerchantBUserMapper; @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) @@ -47,6 +50,11 @@ public class DaliyAmountSchedule { dateMap.put("endDate", endDate); dateMap.put("merchantId", merchant.getId()); dateMap.put("tenantId", merchant.getTenantId()); + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.updateTenantInfo(merchant); + merchantBUserQ.setMerchantId(merchant.getId()); + List bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); + dateMap.put("bUserIds", bUserIds); List list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap); logger.info("find " + list.size() + " coupon order from " + startDate + " to " + endDate); diff --git a/mallinkService/src/main/java/com/iformall/domain/dto/MarkingCouponDataReportDto.java b/mallinkService/src/main/java/com/iformall/domain/dto/MarkingCouponDataReportDto.java index 947668291..4d3173d61 100644 --- a/mallinkService/src/main/java/com/iformall/domain/dto/MarkingCouponDataReportDto.java +++ b/mallinkService/src/main/java/com/iformall/domain/dto/MarkingCouponDataReportDto.java @@ -27,6 +27,8 @@ public class MarkingCouponDataReportDto extends TenantEntity { @TableField(exist = false) private List tenantEntitys; + @TableField(exist = false) + private TenantEntity tenantEntity; @TableField(exist = false) @SortColumn(column = "xTime") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/CUser.java b/mallinkService/src/main/java/com/iformall/domain/po/CUser.java index abfecf405..b7b4a5f09 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/CUser.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/CUser.java @@ -1,19 +1,16 @@ package com.iformall.domain.po; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.iformall.domain.po.base.BaseCUserEntity; import com.iformall.utils.Constant; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; -import org.apache.commons.lang3.StringUtils; import java.math.BigDecimal; import java.util.Date; import java.util.List; -import java.util.UUID; @JsonIgnoreProperties(ignoreUnknown = true) @Data @@ -107,6 +104,21 @@ public class CUser extends BaseCUserEntity { @io.swagger.annotations.ApiModelProperty(value="积分",name="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) @io.swagger.annotations.ApiModelProperty(value="渠道名称",name="channelName") private String channelName; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java index 835143eb9..315697fe4 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCUserBasicInfo.java @@ -153,21 +153,6 @@ public class WxCUserBasicInfo extends TenantEntityWithoutFinalTenantId { @io.swagger.annotations.ApiModelProperty(value = "状态0正常1锁定", name = "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) @Excel(name="标签",width = 50,orderNum = "15") private String tagNames; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java index e5bffcbf3..a9a2debf6 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCardTransferInfo.java @@ -12,7 +12,9 @@ import java.util.Date; @EqualsAndHashCode(callSuper = true) public class WxCardTransferInfo extends TenantEntity { - protected Long id; + private static final long serialVersionUID = -9050402557376410064L; + + protected Long id; //保存到转赠表中 id,coupon_order_id,tenant_id,title,amount,remain_amount,from_user,to_user,status,create_date,update_date diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java index 01d4a90e2..1cc8afe3f 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java @@ -197,6 +197,10 @@ public class WxCoupon extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value="投放频道参数,用来过滤",name="couponId") private Long couponId; + @TableField(exist = false) + @io.swagger.annotations.ApiModelProperty(value = "用户积分,用来过滤", name = "userCredit") + private Integer userCredit; + @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value="修改库存有效期参数, 用来做乐观锁",name="orgRemainInventory") private Integer orgRemainInventory; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponCar.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponCar.java index 28222f54c..4a30b7d84 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponCar.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponCar.java @@ -28,4 +28,5 @@ public class WxCouponCar extends TenantEntity { @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "审批流参数", name = "flowParams") private Map flowParams; + } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java index 9b534fb8c..88d725f72 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java @@ -35,6 +35,8 @@ public class WxCouponChannel extends TenantEntity { @TableField(exist = false) protected List couponIds; + @TableField(exist = false) + protected List targetAds; @io.swagger.annotations.ApiModelProperty(value="卡券id",name="couponId") private Long couponId; @@ -63,8 +65,10 @@ public class WxCouponChannel extends TenantEntity { private Date updateDate; @io.swagger.annotations.ApiModelProperty(value="子频道ID",name="subTargetId") private Long subTargetId; - @io.swagger.annotations.ApiModelProperty(value="二维码",name="qrCode") + @io.swagger.annotations.ApiModelProperty(value="微信二维码",name="qrCode") private String qrCode; + @io.swagger.annotations.ApiModelProperty(value="抖音二维码地址",name="ttQrCode") + private String ttQrCode; @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value="券状态 0:可投放 1:作废",name="couponStatus") @@ -90,7 +94,7 @@ public class WxCouponChannel extends TenantEntity { private Long merchantId; @TableField(exist = false) - private List merchantIds; + private List merchantIds; @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "用户积分", name = "userCredit") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java index 7d651646e..d932a3eef 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java @@ -24,6 +24,8 @@ public class WxCouponOrder extends TenantEntity { @io.swagger.annotations.ApiModelProperty(value = "卡券ID", name = "couponId") private Long couponId; + @TableField(exist = false) + private List couponIds; @io.swagger.annotations.ApiModelProperty(value = "券类型(1.满减券,2.代金券,3.团购券,4.礼品券,5.停车券,6.多商户券,8.砍价券,9.团购券,10.预购商品,11.可配送商品,12.券礼包,50.积分券,51.积分停车券,100.消费卡)", name = "couponType") private Integer couponType; @io.swagger.annotations.ApiModelProperty(value = "c端用户id", name = "cUserId") @@ -32,6 +34,8 @@ public class WxCouponOrder extends TenantEntity { private Long ownerId; @io.swagger.annotations.ApiModelProperty(value = "操作券B端小程序用户ID", name = "bUserId") private Long bUserId; + @TableField(exist = false) + private List bUserIdList; @io.swagger.annotations.ApiModelProperty(value = "操作券A端用户ID", name = "aUserId") private Long aUserId; @io.swagger.annotations.ApiModelProperty(value = "用户订单ID", name = "orderId") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java index 69a2f2446..aabd24fdb 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java @@ -1,5 +1,7 @@ package com.iformall.domain.po; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -12,126 +14,125 @@ import lombok.ToString; import java.util.Date; import java.util.List; +import org.apache.commons.lang3.StringUtils; + @TableName(value = "wx_coupon_send") @Data @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) public class WxCouponSend extends TenantEntity { - /** - * 卡券ids - */ + private static final long serialVersionUID = 1169744095647819041L; + + + protected Long id; + @io.swagger.annotations.ApiModelProperty(value="卡券id",name="couponId") + private Long couponId; @TableField(exist = false) - public static final String KEY_COUPONIDS = "couponIds" ; - /** - * beforeDays - */ + private List couponIds; + @io.swagger.annotations.ApiModelProperty(value="券名称",name="title") + private String title; + @io.swagger.annotations.ApiModelProperty(value="2:停车发券 3:核销发券 4: B端刷卡发券 5:商户发券 6:定时发券 7:商户发券",name="sendType") + private Integer sendType; + @io.swagger.annotations.ApiModelProperty(value="发券条件",name="condition") + private String conditions; + @io.swagger.annotations.ApiModelProperty(value="0:有效 1:无效,全部时不传",name="status") + private Integer status; + @io.swagger.annotations.ApiModelProperty(value = "1是0否", name = "是否发送短信1是0否") + private Integer sendSms; + + @JsonIgnore + @io.swagger.annotations.ApiModelProperty(value="操作人ID",name="operatorId") + private Long operatorId; + @io.swagger.annotations.ApiModelProperty(value="操作人",name="operator") @TableField(exist = false) - public static final String KEY_BEFOREDAYS = "beforeDays" ; + private String operator; + + @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") + private Date createDate; + @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") + private Date updateDate; + + /** - * limit 商户购券数 + * 商户购券数 */ + //@TableField(exist = false) + //protected Integer merchantLnventory; @JsonIgnore @TableField(exist = false) public static final String KEY_MERCHANT_LNVENTORY = "merchantLnventory" ; - + public Integer getMerchantLnventory() { + return (Integer)getConditonsValue(KEY_MERCHANT_LNVENTORY); + } + /** - * limit 商户注券数 + * 商户注券数 */ + //@TableField(exist = false) + //protected Integer merchantSend; @JsonIgnore @TableField(exist = false) public static final String KEY_MERCHANT_SEND = "merchantSend" ; - + public Integer getMerchantSend() { + return (Integer)getConditonsValue(KEY_MERCHANT_SEND); + } + + /** - * limit 商户注券数 + * 商户剩余数 */ + @JsonIgnore @TableField(exist = false) public static final String KEY_MERCHANT_REMAIN = "merchantRemain" ; - + public Integer getMerchantRemain() { + return (Integer)getConditonsValue(KEY_MERCHANT_REMAIN); + } + + @TableField(exist = false) + public static final String KEY_COUPONIDS = "couponIds" ; + @TableField(exist = false) + public static final String KEY_BEFOREDAYS = "beforeDays" ; /** * 排序-商户购券数 */ @JsonIgnore public static final String SORT_MERCHANT_LNVENTORY = "merchantLnventory" ; - /** * 排序-商户已发数 */ @JsonIgnore public static final String SORT_MERCHANT_SEND = "merchantSend" ; - /** * 排序-商户剩余数 */ @JsonIgnore public static final String SORT_REMAIN = "merchantRemain" ; - - - protected Long id; - + private Object getConditonsValue(String key) { + if (!StringUtils.isBlank(conditions)) { + JSONObject object = JSON.parseObject(conditions); + if (null != object) { + return object.get(key); + } + } + return null; + } + + @TableField(exist = false) protected List ids; - - /** - * 商户购券数 - */ - @TableField(exist = false) - protected Integer merchantLnventory; - - /** - * 商户已发数 - */ - @TableField(exist = false) - protected Integer merchantSend; - - /** - * 商户剩余数 - */ - @TableField(exist = false) - protected Integer merchantRemain; - - /**发券所属商户名**/ @TableField(exist = false) private String merchantName; - /** - * 商户ID - */ @TableField(exist = false) private Long merchantId; - - @io.swagger.annotations.ApiModelProperty(value="卡券id",name="couponId") - private Long couponId; - - @io.swagger.annotations.ApiModelProperty(value="券名称",name="title") - private String title; - @io.swagger.annotations.ApiModelProperty(value="2:停车发券 3:核销发券 4: B端刷卡发券 5:商户发券 6:定时发券 7:商户发券",name="sendType") - private Integer sendType; - @io.swagger.annotations.ApiModelProperty(value="发券条件",name="condition") - private String conditions; - @io.swagger.annotations.ApiModelProperty(value="0:有效 1:无效,全部时不传",name="status") - private Integer status; - - @JsonIgnore - @io.swagger.annotations.ApiModelProperty(value="操作人ID",name="operatorId") - private Long operatorId; - - @io.swagger.annotations.ApiModelProperty(value="操作人",name="operator") @TableField(exist = false) - private String operator; - - @io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate") - private Date createDate; - @io.swagger.annotations.ApiModelProperty(value="更新时间",name="updateDate") - private Date updateDate; - + protected Integer merchantRemain; + @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value="场景发券计数",name="sendCount") protected int sendCount; - @io.swagger.annotations.ApiModelProperty(value = "1是0否", name = "是否发送短信1是0否") - private Integer sendSms; - @io.swagger.annotations.ApiModelProperty(value = "0未过期1已过期,全部时不传", name = "expired" ) @TableField(exist = false) private Integer expired; diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java index 4102c51e0..acc17b6fa 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCreditHistory.java @@ -43,6 +43,9 @@ public class WxCreditHistory extends BaseTenantEntity { @io.swagger.annotations.ApiModelProperty(value="用户ID",name="cUserId") private Long cUserId; + @TableField(exist = false) + private List cUserIds; + @io.swagger.annotations.ApiModelProperty(value="总积分",name="creditAmount") private Integer creditAmount; @io.swagger.annotations.ApiModelProperty(value="每笔积分明细",name="creditNum") @@ -57,8 +60,12 @@ public class WxCreditHistory extends BaseTenantEntity { private Integer operatorType; @io.swagger.annotations.ApiModelProperty(value="操作人ID",name="operatorId") private Long operatorId; + @io.swagger.annotations.ApiModelProperty(value="商户ID",name="merchantId") private Long merchantId; + @TableField(exist = false) + private List merchantIds; + @io.swagger.annotations.ApiModelProperty(value="券ID(积分兑换券时生成)",name="couponId") private Long couponId; @io.swagger.annotations.ApiModelProperty(value="业态ID(计算新增积分时使用)",name="businessId") @@ -81,6 +88,11 @@ public class WxCreditHistory extends BaseTenantEntity { @TableField(exist = false) @io.swagger.annotations.ApiModelProperty(value = "标签", name = "tags") private List tags; + + @TableField(exist = false) + private Integer begin; + @TableField(exist = false) + private Integer limit; public String getSpendStr() { if(getSpend()!=null) { diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java index c9edd28ac..0cc59c3ae 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxMerchant.java @@ -242,8 +242,10 @@ public class WxMerchant extends TenantEntity { private Integer isAdmin; @io.swagger.annotations.ApiModelProperty(value = "置顶时间", name = "topTime") private Date topTime; - @io.swagger.annotations.ApiModelProperty(value="二维码地址",name="qrCode") + @io.swagger.annotations.ApiModelProperty(value="微信二维码地址",name="qrCode") private String qrCode; + @io.swagger.annotations.ApiModelProperty(value="抖音二维码地址",name="ttQrCode") + private String ttQrCode; @io.swagger.annotations.ApiModelProperty(value="简介",name="introduction") private String introduction; @io.swagger.annotations.ApiModelProperty(value="优惠活动",name="actionDesc") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java b/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java index 97d53e234..0c73492b9 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxTemplateMsg.java @@ -36,6 +36,9 @@ public class WxTemplateMsg extends TenantEntity { @TableField(exist = false) private List types; + @TableField(exist = false) + private boolean isc; + public String getTypeName(){ if(this.getType() != null) { diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponChannelVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponChannelVo.java index f57b0c384..8f71a3406 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponChannelVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponChannelVo.java @@ -3,6 +3,7 @@ package com.iformall.domain.vo; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.iformall.common.SortColumn; +import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCouponChannel; import lombok.Data; import lombok.EqualsAndHashCode; @@ -166,4 +167,40 @@ public class WxCouponChannelVo extends WxCouponChannel implements Serializable { public void setTitle(String title) { this.title = title; } + + /** + * 可能字段不全, 使用时先确认 + * @param c + */ + public void setWxCoupon(WxCoupon c){ + if(c != null){ + this.setRemainInventory(c.getRemainInventory()); + this.setInventory(c.getInventory()); + this.setCoverImg(c.getCoverImg()); + this.setSubTitle(c.getSubTitle()); + this.setSalePrice(c.getSalePrice()); + this.setUsePrice(c.getUsePrice()); + this.setPrice(c.getPrice()); + this.setTailPrice(c.getTailPrice()); + this.setOrigPrice(c.getOrigPrice()); + this.setUnit(c.getUnit()); + this.setUseLimitRule(c.getUseLimitRule()); + this.setUseLimitQuantity(c.getUseLimitQuantity()); + this.setSendType(c.getSendType()); + this.setSupportTransfer(c.getSupportTransfer()); + this.setPressLimitNum(c.getPressLimitNum()); + this.setAutoRefund(c.getAutoRefund()); + this.setConditions(c.getConditions()); + this.setValidType(c.getValidType()); + this.setValidStartDate(c.getValidStartDate()); + this.setValidEndDate(c.getValidEndDate()); + this.setPickStartDate(c.getPickStartDate()); + this.setPickEndDate(c.getPickEndDate()); + this.setValidDays(c.getValidDays()); + this.setCreditPrice(c.getCreditPrice()); + this.setContentType(c.getContentType()); + this.setSourceType(c.getSourceType()); + } + + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java index fbefe0de8..fc009eaff 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderBVo.java @@ -162,8 +162,8 @@ public class WxCouponOrderBVo extends WxCouponOrder { private String shopNumber; /**发券商户信息*/ - @io.swagger.annotations.ApiModelProperty(value="商户列表",name="merchantVoList") - private List merchantVoList; +// @io.swagger.annotations.ApiModelProperty(value="商户列表",name="merchantVoList") +// private List merchantVoList; /**发券渠道信息*/ @io.swagger.annotations.ApiModelProperty(value="商户列表",name="channelType") @@ -195,11 +195,6 @@ public class WxCouponOrderBVo extends WxCouponOrder { @TableField(exist = false) private Date verifyEndDate; - @TableField(exist = false) - private Long couponId; - @TableField(exist = false) - private List couponIds; - @Excel(name = "类型", width = 50, orderNum = "16", replace = {"满减券_1", "代金券_2", "团购券_3", "礼品券_4", "停车券_5", "通用券_6", "砍价券_8", "团购券_9", "预购商品_10", "可配送商品_11", "券礼包_12", "积分券_50", "积分停车券_51", "消费卡_100"}) @TableField(exist = false) private Integer couponType; @@ -217,16 +212,6 @@ public class WxCouponOrderBVo extends WxCouponOrder { @TableField(exist = false) private String buildingStr; - @Override - public Long getCouponId() { - return couponId; - } - - @Override - public void setCouponId(Long couponId) { - this.couponId = couponId; - } - @Override public Integer getCouponType() { return couponType; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java index c7fe80b5e..1e0e13ebc 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCVo.java @@ -38,6 +38,8 @@ public class WxCouponOrderCVo extends WxCouponOrder { /** 基础购买到的券信息 */ @io.swagger.annotations.ApiModelProperty(value = "单张券ID", name = "couponId") private Long couponId; + @TableField(exist = false) + private List couponIds; @io.swagger.annotations.ApiModelProperty(value = "用户订单ID", name = "orderId") private Long orderId; @io.swagger.annotations.ApiModelProperty(value = "该订单对应券的实际过期时间 ", name = "expiredTime") diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCarCVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCarCVo.java index c8bd8b505..24f822cbf 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCarCVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderCarCVo.java @@ -13,9 +13,6 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public class WxCouponOrderCarCVo extends WxCouponOrderCVo { - @io.swagger.annotations.ApiModelProperty(value="couponFreeId",name="couponFreeId") - private Integer couponFreeId; - @io.swagger.annotations.ApiModelProperty(value="车场厂商相关信息",name="vendorParams") private String vendorParams; diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java index 1b0fff986..04d283223 100644 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCreditHistoryVo.java @@ -1,6 +1,8 @@ package com.iformall.domain.vo; import cn.afterturn.easypoi.excel.annotation.Excel; + +import com.iformall.domain.po.WxCreditHistory; import com.iformall.domain.po.base.BaseTenantEntity; import com.iformall.domain.po.base.TenantEntity; import lombok.Data; @@ -76,5 +78,21 @@ public class WxCreditHistoryVo extends BaseTenantEntity { @Excel(name = "说明", width = 20, orderNum = "11") @io.swagger.annotations.ApiModelProperty(value = "兑换用途", name = "changePurpose") private String changePurpose; + + public void initByCreditHistory(WxCreditHistory c) { + this.creditId = String.valueOf(c.getId()); + this.tenantId = c.getTenantId(); + this.cUserId = c.getCUserId(); + this.creditAmount = c.getCreditAmount(); + this.creditNum = c.getCreditNum(); + this.createDate = c.getCreateDate(); + this.creditType = c.getCreditType(); + this.receiptUrl = c.getReceiptUrl(); + this.operatorType = c.getOperatorType(); + this.operatorId = c.getOperatorId(); + this.merchantId = c.getMerchantId(); + this.ticketNumber = c.getTicketNumber(); + this.changePurpose = c.getChangePurpose(); + } } diff --git a/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/TtMaQrcode.java b/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/TtMaQrcode.java index d041f204d..4bfced43c 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/TtMaQrcode.java +++ b/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/TtMaQrcode.java @@ -13,7 +13,11 @@ import java.io.Serializable; @Data @EqualsAndHashCode(callSuper = false) public class TtMaQrcode extends AbstractWxMaQrcodeWrapper implements Serializable { + private static final long serialVersionUID = 5777119669111011584L; + + private String access_token; + private String appname; private String path; private int width = 430; diff --git a/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/TtQrcodeRequestExecutor.java b/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/TtQrcodeRequestExecutor.java new file mode 100644 index 000000000..de4586f94 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/TtQrcodeRequestExecutor.java @@ -0,0 +1,69 @@ +package com.iformall.douyin.miniapp.api; + +import cn.binarywang.wx.miniapp.bean.AbstractWxMaQrcodeWrapper; +import me.chanjar.weixin.common.WxType; +import me.chanjar.weixin.common.error.WxError; +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.common.util.fs.FileUtils; +import me.chanjar.weixin.common.util.http.RequestExecutor; +import me.chanjar.weixin.common.util.http.RequestHttp; +import me.chanjar.weixin.common.util.http.ResponseHandler; +import me.chanjar.weixin.common.util.http.apache.InputStreamResponseHandler; +import me.chanjar.weixin.common.util.http.apache.Utf8ResponseHandler; +import org.apache.http.Header; +import org.apache.http.HttpHost; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.util.UUID; + +/** + * @author Binary Wang + */ +public class TtQrcodeRequestExecutor implements RequestExecutor { + protected RequestHttp requestHttp; + + public TtQrcodeRequestExecutor(RequestHttp requestHttp) { + this.requestHttp = requestHttp; + } + + @Override + public void execute(String uri, AbstractWxMaQrcodeWrapper data, ResponseHandler handler, WxType wxType) throws WxErrorException, IOException { + handler.handle(this.execute(uri, data, wxType)); + } + + @Override + public File execute(String uri, AbstractWxMaQrcodeWrapper qrcodeWrapper, WxType wxType) throws WxErrorException, IOException { + HttpPost httpPost = new HttpPost(uri); + if (requestHttp.getRequestHttpProxy() != null) { + httpPost.setConfig( + RequestConfig.custom().setProxy(requestHttp.getRequestHttpProxy()).build() + ); + } + httpPost.addHeader("Content-Type","application/json"); + + httpPost.setEntity(new StringEntity(qrcodeWrapper.toJson())); + + try (final CloseableHttpResponse response = requestHttp.getRequestHttpClient().execute(httpPost); + final InputStream inputStream = InputStreamResponseHandler.INSTANCE.handleResponse(response)) { + Header[] contentTypeHeader = response.getHeaders("Content-Type"); + if (contentTypeHeader != null && contentTypeHeader.length > 0 + && ContentType.APPLICATION_JSON.getMimeType() + .equals(ContentType.parse(contentTypeHeader[0].getValue()).getMimeType())) { + String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); + throw new WxErrorException(WxError.fromJson(responseContent, wxType)); + } + + return FileUtils.createTmpFile(inputStream, UUID.randomUUID().toString(), "jpg"); + } finally { + httpPost.releaseConnection(); + } + } +} diff --git a/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/impl/TtMaQrcodeServiceImpl.java b/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/impl/TtMaQrcodeServiceImpl.java index d12fb77aa..729ae49aa 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/impl/TtMaQrcodeServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/impl/TtMaQrcodeServiceImpl.java @@ -1,9 +1,9 @@ package com.iformall.douyin.miniapp.api.impl; -import cn.binarywang.wx.miniapp.util.QrcodeRequestExecutor; import com.iformall.douyin.miniapp.api.TtMaQrcode; import com.iformall.douyin.miniapp.api.TtMaQrcodeService; import com.iformall.douyin.miniapp.api.TtMaService; +import com.iformall.douyin.miniapp.api.TtQrcodeRequestExecutor; import lombok.AllArgsConstructor; import me.chanjar.weixin.common.error.WxErrorException; @@ -19,7 +19,7 @@ public class TtMaQrcodeServiceImpl implements TtMaQrcodeService { @Override public File createTtaCode(String appname, String path, int width) throws WxErrorException { - final QrcodeRequestExecutor executor = new QrcodeRequestExecutor(this.ttMaService.getRequestHttp()); + final TtQrcodeRequestExecutor executor = new TtQrcodeRequestExecutor(this.ttMaService.getRequestHttp()); return this.ttMaService.execute(executor, GET_TTACODE_URL, new TtMaQrcode(appname,path, width)); } diff --git a/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/impl/TtMaServiceImpl.java b/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/impl/TtMaServiceImpl.java index c100f0746..e2f4753b0 100644 --- a/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/impl/TtMaServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/douyin/miniapp/api/impl/TtMaServiceImpl.java @@ -4,6 +4,8 @@ import cn.binarywang.wx.miniapp.api.WxMaUserService; import cn.binarywang.wx.miniapp.api.impl.WxMaUserServiceImpl; import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult; import cn.binarywang.wx.miniapp.config.WxMaConfig; +import com.aliyun.openservices.shade.com.alibaba.fastjson.JSON; +import com.aliyun.openservices.shade.com.alibaba.fastjson.JSONObject; import com.google.common.base.Joiner; import com.google.gson.Gson; import com.google.gson.JsonParser; @@ -30,6 +32,7 @@ import org.apache.http.impl.client.BasicResponseHandler; import org.apache.http.impl.client.CloseableHttpClient; import java.io.IOException; +import java.lang.reflect.Field; import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.Lock; @@ -215,12 +218,22 @@ public class TtMaServiceImpl implements TtMaService, RequestHttp map = new HashMap(); static { diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBusinessMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBusinessMapper.java index 3ea60cc2e..9405187d3 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBusinessMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBusinessMapper.java @@ -12,7 +12,7 @@ public interface WxBusinessMapper extends CommonMapper { List findListAll(); List findListForMerchant(@Param("tenantId") String tenantId, @Param("parentTenantId") String parentTenantId); - List findListForCoupon(@Param("tenantId") String tenantId, @Param("parentTenantId") String parentTenantId); + List findListForCoupon(@Param("tenantId") String tenantId, @Param("parentTenantId") String parentTenantId, @Param("platCode") Integer platCode); List> businessDataList(WxBusiness wxBusiness); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java index e49299dcf..1df34b105 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java @@ -18,18 +18,17 @@ public interface WxCUserBasicInfoMapper extends CommonMapper findListByFilter(WxCUserBasicInfoDto dto); List findListByFilter1(@Param("tenantInfo")TenantEntity tenantInfo, @Param("basicInfo")WxCUserBasicInfoDto wxCUserBasicInfo); - + List findList(WxCUserBasicInfo wxCUserBasicInfo); List findList1(@Param("tenantInfo")TenantEntity tenantInfo, @Param("basicInfo")WxCUserBasicInfo wxCUserBasicInfo); List findListPhoneAndNameByIds(WxCUserBasicInfo wxCUserBasicInfo); + List findIdList(WxCUserBasicInfo wxCUserBasicInfo); WxCUserBasicInfo selectById(@Param("id")Long id,@Param("finalTenantId")String finalTenantId); void updateScore(WxCUserBasicInfo record); - void updateQrCode(WxCUserBasicInfo record); - void updateUpScore(WxCUserBasicInfo record); void updateDownScore(WxCUserBasicInfo record); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java index eae5fa969..141d8346e 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCardSpendMapper.java @@ -13,8 +13,7 @@ public interface WxCardSpendMapper extends CommonMapper { int findCount(WxCardSpend wxCardSpend); - List> getCountByBusinessId(WxCardSpend wxCardSpend); - List> getCountBySubBusinessId(WxCardSpend wxCardSpend); + List> getMerchantCount(WxCardSpend wxCardSpend); List findCardSpendVoList(WxCardSpendVo wxCardSpend); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCardTransferInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCardTransferInfoMapper.java index c50ba5266..5a8044a68 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCardTransferInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCardTransferInfoMapper.java @@ -7,9 +7,16 @@ import org.apache.ibatis.annotations.Param; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxCardTransferInfo; +import com.iformall.domain.vo.WxCardCVo; public interface WxCardTransferInfoMapper extends CommonMapper { void cardDefer(@Param("expiredTime")Date expiredTime,@Param("couponOrderIds")List couponOrderIds); + + List findList(WxCardTransferInfo record); + + WxCardTransferInfo selectById(@Param("id")Long id,@Param("tenantId")String tenantId); + + List findCardListOfCUser(WxCardCVo record); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponChannelMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponChannelMapper.java index 3583af424..fd906f48c 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponChannelMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponChannelMapper.java @@ -19,9 +19,9 @@ public interface WxCouponChannelMapper extends CommonMapper findVoList(WxCouponChannel wxCouponChannel); +// List findVoList(WxCouponChannel wxCouponChannel); - List findVoListByMerchant(WxCouponChannel wxCouponChannel); +// List findVoListByMerchant(WxCouponChannel wxCouponChannel); WxCouponCVo findVoDetail(@Param("id")Long id,@Param("tenantId")String tenantId); @@ -44,4 +44,11 @@ public interface WxCouponChannelMapper extends CommonMapper findQrcodeEmptyList(); void cardDefer(@Param("couponId")Long couponId,@Param("tenantId")String tenantId,@Param("endTime")Date endTime); + + /** + * C端列表查询,尽量减少字段 + * @param wxCouponChannel + * @return + */ + List newfindCList(WxCouponChannel wxCouponChannel); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java index 98c6aa08e..5416a9900 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMapper.java @@ -18,8 +18,14 @@ public interface WxCouponMapper extends CommonMapper { List findTenantSimpleList(WxCoupon wxCoupon); + WxCoupon findSimpleDetail(WxCoupon wxCoupon); + List findSimpleDetailList(WxCoupon wxCoupon); + List findIdList(WxCoupon wxCoupon); List findCouponList(WxCoupon wxCoupon); + + List findSendCouponList(WxCoupon wxCoupon); + List findSendCouponIds(@Param("expired")Integer expired,@Param("tenantId")String tenantId); WxCoupon selectById(@Param("id")Long id,@Param("tenantId")String tenantId); @@ -98,4 +104,11 @@ public interface WxCouponMapper extends CommonMapper { Integer findCouponListCount(WxCoupon wxCoupon); void updateValidEndDate(WxCoupon wxCoupon); + + /** + * c端列表查询,尽量减少字段 + * @param couponQ + * @return + */ + List newfindCList(WxCoupon couponQ); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java index 6986639f5..8da415eaa 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponMerchantMapper.java @@ -18,6 +18,8 @@ public interface WxCouponMerchantMapper extends CommonMapper findMerchantNameList(@Param("productId")Long productId,@Param("tenantId")String tenantId); List findMerchantBaseList(@Param("productId")Long productId,@Param("tenantId")String tenantId); List findMerchantProduct(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); - List findMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList); + List findMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantIdList")List merchantIdList,@Param("status")Integer status); + List findOneMerchantProductIds(@Param("tenantId")String tenantId,@Param("merchantId")Long merchantId); List findMerchantByProductIds(@Param("tenantId")String tenantId,@Param("productIds")List productIds); + List findMerchantByProductId(@Param("tenantId")String tenantId,@Param("productId")Long productId); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java index 76f654515..e388cb86d 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java @@ -37,27 +37,25 @@ public interface WxCouponOrderMapper extends CommonMapper { //统一的计数接口 int findCount(WxCouponOrder wxCouponOrder); int findProductCount(WxCouponOrder wxCouponOrder); - List> getCountByBusinessId(WxCouponOrder wxCouponOrder); - List> getCountBySubBusinessId(WxCouponOrder wxCouponOrder); + List> getCouponCount(WxCouponOrder wxCouponOrder); //统一额度统计接口 int queryPriceTotal(WxCouponOrder wxCouponOrder); - List findCarListOfCUser(WxCouponOrder wxCouponOrder); + List findCarListOfCUser(WxCouponOrder wxCouponOrder); - List findListOfOrderedByDateForBUser(Map dateMap); - List findListOfVerifiedByDateForBUser(Map dateMap); + List findListOfOrderedByDateForBUser(Map dateMap); + List findListOfVerifiedByDateForBUser(Map dateMap); - //@Deprecated - //List findListOfCUser(WxCouponOrder wxCouponOrder); - List findListOfCUserOptimize(WxCouponOrder wxCouponOrder); + List findListOfCUserOptimize(WxCouponOrder wxCouponOrder); - WxCouponOrderCVo findDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId); - WxCouponOrderCVo findSimpleDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId); - List findListOfAdmin(WxCouponOrderBVo wxCouponOrder); - WxCouponOrderBVo findDetailOfAdmin(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("finalTenantId")String finalTenantId); + WxCouponOrder findDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId); + List findListOfAdmin(WxCouponOrderBVo wxCouponOrder); + WxCouponOrder findDetailOfAdmin(@Param("id")Long id,@Param("tenantId")String tenantId,@Param("finalTenantId")String finalTenantId); //营销报表 券数据图表 - List couponDataMap(HashMap params); + //List couponDataMap(HashMap params); + List> findCreateDateCouponOrderCount(HashMap params); + List> findCreateDateCouponOrderUserCount(HashMap params); //营销报表 券数据报表 List couponDataList(HashMap params); //返回日期格式yy-MM-dd @@ -80,17 +78,17 @@ public interface WxCouponOrderMapper extends CommonMapper { List queryForSceneRepotyHistoryVerified(HashMap params); List queryForSceneRepotyHistoryOrdered(HashMap params); - List queryForSceneRepotyMechantHistoryOrdered(HashMap params); + //List queryForSceneRepotyMechantHistoryOrdered(HashMap params); //// 卡相关接口 - List findCardListOfCUser(WxCardCVo wxCardCVo); - WxCardCVo findCardDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId); + List findCardListOfCUser(WxCardCVo wxCardCVo); + WxCouponOrder findCardDetailOfCUser(@Param("id")Long id,@Param("tenantId")String tenantId); /// POS接口 - List findAvailCouponOrder(Map params); + List findCouponOrderForPos(Map params); //卡延期,将过期的状态变为使用中 void cardDefer(@Param("couponId")Long couponId,@Param("tenantId")String tenantId,@Param("expireTime")Date expireTime); @@ -99,6 +97,6 @@ public interface WxCouponOrderMapper extends CommonMapper { Integer findWriteOffCount(WxCouponOrder wxCouponOrder); - List findGoodsList(WxCouponOrderBVo record); + List findGoodsList(WxCouponOrderBVo record); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCouponSendMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCouponSendMapper.java index bc12d86c2..ab5b5b5de 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCouponSendMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCouponSendMapper.java @@ -3,7 +3,6 @@ package com.iformall.mapper; import java.util.*; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxCouponSend; -import com.iformall.domain.vo.WxCouponSendVo; import org.apache.ibatis.annotations.Param; public interface WxCouponSendMapper extends CommonMapper { @@ -12,8 +11,7 @@ public interface WxCouponSendMapper extends CommonMapper { int deleteById(@Param("id")Long id,@Param("tenantId")String tenantId); - List findListVo(WxCouponSend wxCouponSend); - List findListVoByValidType(WxCouponSend wxCouponSend); + List findList(WxCouponSend wxCouponSend); void updateStatusByCouponId(WxCouponSend wxCouponSend); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java index f340aaf67..9f2d29fe8 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCreditHistoryMapper.java @@ -16,7 +16,7 @@ public interface WxCreditHistoryMapper extends CommonMapper findList(WxCreditHistory wxCreditHistory); - List findListMore(WxCreditHistory wxCreditHistory); + List findListMore(WxCreditHistory wxCreditHistory); int loginCount(WxCreditHistory wxCreditHistory); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMallBuildingMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMallBuildingMapper.java index 1c443fb9a..559bf8934 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMallBuildingMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMallBuildingMapper.java @@ -10,4 +10,6 @@ public interface WxMallBuildingMapper extends CommonMapper findIdAndName(String tenantId); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMallFloorMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMallFloorMapper.java index 4ee4d1b02..c7c1e87dd 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMallFloorMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMallFloorMapper.java @@ -11,4 +11,6 @@ public interface WxMallFloorMapper extends CommonMapper { int deleteByBuildingId(Long buildingId); void deleteByTenantId(String tenantId); + + List findIdAndName(String tenantId); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java index 7675d5b29..b967ba478 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantBUserMapper.java @@ -10,6 +10,8 @@ public interface WxMerchantBUserMapper extends CommonMapper findList(WxMerchantBUser wxMerchantBUser); List findIdList(WxMerchantBUser wxMerchantBUser); + List findSimpleList(WxMerchantBUser wxMerchantBUser); + List findMerchantIdListByIds(WxMerchantBUser wxMerchantBUser); List findSelMerchantList(WxMerchantBUser wxMerchantBUser); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index bbbb334af..6e3030259 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -63,4 +63,6 @@ public interface WxMerchantMapper extends CommonMapper { List> findMerchantByShop(@Param("shopId")Long shopId); List> detailByShopId(@Param("tenantInfo")TenantEntity tenantInfo,@Param("shopId") Long shopId); + + List newFindListCVo(@Param("tenantId")String tenantId, @Param("merchantIds")List merchantIds); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java index 09f6135f7..f277fc19e 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxShopMapper.java @@ -49,4 +49,6 @@ public interface WxShopMapper extends CommonMapper { List> detailBySid(WxShop wxShop); + List newFindShopVoList(@Param("tenantId")String tenantId, @Param("shopIds")List shopIds); + } diff --git a/mallinkService/src/main/java/com/iformall/service/QrCodeService.java b/mallinkService/src/main/java/com/iformall/service/QrCodeService.java index 4551d4c5a..2c18598a9 100644 --- a/mallinkService/src/main/java/com/iformall/service/QrCodeService.java +++ b/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.domain.po.base.TenantEntity; +import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumPayWay; import com.iformall.exception.MallinkException; import org.springframework.stereotype.Service; @@ -13,14 +14,14 @@ import java.util.Map; @Service public interface QrCodeService { - void downQrCode(TenantEntity tenantEntity, HttpServletRequest request, HttpServletResponse response, @RequestBody Map params,EnumPayWay payWay) throws MallinkException; + void downQrCode(TenantEntity tenantEntity, HttpServletRequest request, HttpServletResponse response, @RequestBody Map params,EnumAppPlat plat) throws MallinkException; ResultData exportQrcode(HttpServletRequest request, HttpServletResponse response, TenantEntity tenantEntity, int type, String pageUrl, String sceneParam, int withText, String text1, String text2, - String name,EnumPayWay payWay); + String name, EnumAppPlat plat); ResultData uploadQrcode(TenantEntity tenantEntity, int type, String pageUrl, String sceneParam, int withText, String text1, String text2, - String name,EnumPayWay payWay); + String name,EnumAppPlat plat); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxAppinfoService.java b/mallinkService/src/main/java/com/iformall/service/WxAppinfoService.java index 703d11567..002dc0514 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxAppinfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxAppinfoService.java @@ -82,4 +82,11 @@ public interface WxAppinfoService { WxAppinfo getByIdFromRedis(Long id); WxAppinfo getCAppInfoFromRedis(String tenantId, EnumAppPlat appPlat); + + /** + * 修改所有C端风格 + * + * @param + */ + void updateCMouldType(TenantEntity tenantEntity, Integer mouldType); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java index 315d4c027..25dac7942 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBusinessService.java @@ -35,7 +35,7 @@ public interface WxBusinessService { * * @return */ - List findListAll(TenantEntity tenantEntity, Integer filter); + List findListAll(TenantEntity tenantEntity, Integer filter,Integer platCode); /** * 根据Id获得实体 diff --git a/mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java b/mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java index d3055ed16..fac4a46f3 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java @@ -174,8 +174,6 @@ public interface WxCUserBasicInfoService { void cuserOldToNew(Long oldCuserId, Long newCuserId,TenantEntity tenantinfo); - void updateQrCode(WxCUserBasicInfo wxCUserBasicInfo); - WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName, Integer sex, String avatarUrl); int addCredit(Long userId, TenantEntity tenantInfo, EnumScoreType wechatPhone); diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java index d1842ade2..52e1c3a0d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java @@ -2,12 +2,10 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; -import com.iformall.domain.po.WxCouponOrder; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.vo.WxCouponCVo; import com.iformall.domain.vo.WxCouponChannelVo; -import com.iformall.enums.EnumPayWay; import java.util.Date; import java.util.List; @@ -32,7 +30,7 @@ public interface WxCouponChannelService { * @param pageSize * @return */ - PageInfo listPageCVo(WxCouponChannel record, Integer pageIndex, Integer pageSize); +// PageInfo listPageCVo(WxCouponChannel record, Integer pageIndex, Integer pageSize); /** @@ -42,7 +40,7 @@ public interface WxCouponChannelService { * @param pageSize * @return */ - PageInfo listByMerchant(WxCouponChannel record, Integer pageIndex, Integer pageSize); +// PageInfo listByMerchant(WxCouponChannel record, Integer pageIndex, Integer pageSize); WxCouponCVo findDetailVo(Long id,String tenantId); @@ -54,7 +52,7 @@ public interface WxCouponChannelService { * @param record * @return */ - List listVo(WxCouponChannel record); +// List listVo(WxCouponChannel record); /** * 根据Id获得实体 @@ -71,6 +69,11 @@ public interface WxCouponChannelService { */ 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); void updateStatusByCouponId(Long couponId,TenantEntity tenantEntity,int status); @@ -79,4 +82,7 @@ public interface WxCouponChannelService { int countCoupon(WxCouponChannel wxCouponChannel, List tenantEntitys); + List newfindListVo(WxCouponChannel wxCouponChannel); + + PageInfo newListPageVo(WxCouponChannel record, Integer pageIndex, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java index 6b2292519..b5cdbbcc2 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java @@ -13,6 +13,7 @@ import com.iformall.service.order.entity.WxComposeOrder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -147,14 +148,6 @@ public interface WxCouponOrderService { List carListCUserVo(WxCouponOrder record); - - /** - * B用户查券详情 - * - * @param bUserId B端用户 - */ - ResultData detailBUserVo(Long bUserId, String couponOrderId); - /** * A端查询分页列表 * @@ -223,7 +216,11 @@ public interface WxCouponOrderService { void statisticsWriteOff(WxCouponOrder wxCouponOrder, Map resultMap); - Integer findCount(WxCouponOrder wxCouponOrder); - PageInfo goodsListAsPage(WxCouponOrderBVo couponOrderBvo, Integer pageNum, Integer pageSize); + + List couponDataMap(TenantEntity tenantEntity,Date startTime,Date endTime); + + List findAvailCouponOrder(TenantEntity tenantEntity,Long cUserId,Long merchantId,Long posOrderId); + + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java index aef2a0de9..91f17ac80 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponSendService.java @@ -1,5 +1,7 @@ package com.iformall.service; +import java.util.List; + import com.github.pagehelper.PageInfo; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxCouponSend; @@ -97,6 +99,9 @@ public interface WxCouponSendService { * @param wxCouponSend */ void handSel(WxCouponSend wxCouponSend,Long cUserId,EnumPayWay payWay,Long merchantId,Long bUserId) ; + + + List findListVo(WxCouponSend record); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java index f8f4ba069..a25ae114d 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCouponService.java @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletResponse; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.WxCoupon; +import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.WxCouponCVo; import com.iformall.domain.vo.WxCouponStatisVo; @@ -258,5 +259,7 @@ public interface WxCouponService { * 获取券商户map * */ - Map getCouponMerchant(List couponIds,TenantEntity tenantEntity); + Map getCouponMerchantMap(List couponIds,TenantEntity tenantEntity); + + Map getCouponMap(List couponIds, TenantEntity tenantEntity); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java b/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java index 10b0bac25..8dd31fd48 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCreditHistoryService.java @@ -87,4 +87,6 @@ public interface WxCreditHistoryService { PageInfo listAsPageMcrv(WxCreditHistory record, Integer pageIndex, Integer pageSize); long getIncrementCreditAmount(WxCreditHistory wxCreditHistory); + + PageInfo findListMorePage(WxCreditHistory wxCreditHistory,Integer pageIndex, Integer pageSize); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxMallBuildingService.java b/mallinkService/src/main/java/com/iformall/service/WxMallBuildingService.java index 5471dd4ff..33c1ae0fc 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMallBuildingService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMallBuildingService.java @@ -7,6 +7,8 @@ import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxMallBuilding; import com.iformall.domain.po.WxMallFloor; +import java.util.Map; + public interface WxMallBuildingService { /** @@ -71,4 +73,6 @@ public interface WxMallBuildingService { void deleteByTenantId(String tenantId); void saveFloorImg(WxMallFloor floor); + + Map getBuildingMap(TenantEntity tenantInfo); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxMallFloorService.java b/mallinkService/src/main/java/com/iformall/service/WxMallFloorService.java index 87ea918ff..bd1a806b8 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMallFloorService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMallFloorService.java @@ -5,6 +5,8 @@ import com.iformall.common.ResultData; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxMallFloor; +import java.util.Map; + public interface WxMallFloorService { /** @@ -45,4 +47,6 @@ public interface WxMallFloorService { void deleteByBuildingId(Long buildingId); void deleteByTenantId(String tenantId); + + Map getFloorMap(TenantEntity tenantInfo); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java index b9caa1843..8ef51024c 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java @@ -119,6 +119,11 @@ public interface WxMerchantService { ResultData addMerchant(WxMerchant wxMerchant, Long userId); + /** + * 创建二维码 + */ + void updateQrCode(TenantEntity tenantEntity,Long merchantId); + ResultData updateMerchant(WxMerchant wxMerchant); ResultData updateMerchantAccount(WxMerchant wxMerchant,EnumPayWay payWay); @@ -182,4 +187,6 @@ public interface WxMerchantService { Map findMerchantByShop(Long shopId); Map detailByShopId(TenantEntity tenantInfo, Long shopId); + + List newFindByCouponId(TenantEntity tenantInfo, Long couponId); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxShopService.java b/mallinkService/src/main/java/com/iformall/service/WxShopService.java index a8492528b..8e41a24a1 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxShopService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxShopService.java @@ -9,6 +9,7 @@ import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.WxShop; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.vo.WxShopVo; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -86,4 +87,11 @@ public interface WxShopService { Map detailBySid(TenantEntity tenantInfo, String sid); + /** + * 无楼层信息.楼层信息单独处理 + * @param tenantId + * @param merchantId + * @return + */ + List newFindByMerchantId(String tenantId, Long merchantId); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxUserCouponService.java b/mallinkService/src/main/java/com/iformall/service/WxUserCouponService.java index a64b794d2..ee4357bf4 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxUserCouponService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxUserCouponService.java @@ -3,6 +3,7 @@ package com.iformall.service; import com.iformall.domain.dto.WxUserCouponDto; +import com.iformall.domain.po.base.TenantEntity; import java.util.List; @@ -10,6 +11,6 @@ import java.util.List; * Created by syf on 2018/8/10. */ public interface WxUserCouponService { - List findList(Long userId, int status); + List findList(TenantEntity tenantEntity,Long userId, int status); } diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/BasicCUserService.java b/mallinkService/src/main/java/com/iformall/service/cuser/BasicCUserService.java index 8e47a18c4..da7fb6e70 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/BasicCUserService.java +++ b/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.exception.MallinkException; 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.wx.WxCUserServiceAdapter; import com.iformall.utils.Constant; @@ -49,6 +46,9 @@ public class BasicCUserService { @Autowired private WxScoreRulesService wxScoreRulesService; + @Autowired + protected QrCodeService qrCodeService; + @Autowired @Qualifier("baseCUserTokenRedisTemplate") RedisTemplate baseCUserTokenRedisTemplate; diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java index 27dacedad..735be37c5 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java +++ b/mallinkService/src/main/java/com/iformall/service/cuser/CUserServiceApapter.java @@ -48,4 +48,5 @@ public interface CUserServiceApapter { void actionAfterLogin(CUser user); + String updateQrCode(CUser user); } diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java index 2c176e759..24d726d04 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtBUserServiceAdapter.java +++ b/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) { TtMaService ttMaService = maUtil.getTtappService(wxAppinfo); if (StringUtils.isBlank(wxAppinfo.getAccessToken())) { diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java index d5fec283d..b1b12520c 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/tt/TtCUserServiceAdapter.java +++ b/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 com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; +import com.iformall.common.ResultData; import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; @@ -34,6 +35,7 @@ import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; +import java.util.Map; @Service public class TtCUserServiceAdapter extends BasicCUserService implements CUserServiceApapter{ @@ -318,6 +320,30 @@ public class TtCUserServiceAdapter extends BasicCUserService implements CUserSer 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 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) { TtMaService ttMaService = maUtil.getTtappService(wxAppinfo); if (StringUtils.isBlank(wxAppinfo.getAccessToken())) { diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java index 7e2a390b5..5713e5ca6 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxBUserServiceAdapter.java +++ b/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) { WxMaService wxMaService = null; if (isFmOpen) { diff --git a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java b/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java index 851978565..bfed86c4f 100644 --- a/mallinkService/src/main/java/com/iformall/service/cuser/wx/WxCUserServiceAdapter.java +++ b/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.WxMaUserInfo; import com.iformall.common.IdWorker; +import com.iformall.common.ResultData; import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.domain.po.tt.TtCUser; import com.iformall.domain.vo.UserCountVo; import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumAssignTagsTrigger; @@ -35,6 +37,7 @@ import com.iformall.service.cuser.CUserServiceApapter; import java.util.Date; import java.util.List; +import java.util.Map; @Service public class WxCUserServiceAdapter extends BasicCUserService implements CUserServiceApapter{ @@ -325,6 +328,30 @@ public class WxCUserServiceAdapter extends BasicCUserService implements CUserSer 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 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) { WxMaService wxMaService = null; if (isFmOpen) { diff --git a/mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java b/mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java index 106d8c268..7b2333986 100644 --- a/mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/helper/WxCUserTagsServiceHelper.java @@ -47,6 +47,10 @@ public class WxCUserTagsServiceHelper{ WxSubBusinessMapper wxSubBusinessMapper; @Autowired WxCUserBasicChildMapper wxCUserBasicChildMapper; + @Autowired + WxCouponMapper wxCouponMapper; + @Autowired + WxMerchantMapper wxMerchantMapper; //打标 public List assign(WxCUserBasicInfo user, EnumTag tag, WxCUserTagsService wxCUserTagsService){ @@ -361,24 +365,60 @@ public class WxCUserTagsServiceHelper{ WxBusiness business = new WxBusiness(); List list = wxBusinessMapper.findList(business); - List> cardSpendCountList = wxCardSpendMapper.getCountByBusinessId(wxCardSpend); - List> cardOrderCountList = wxCouponOrderMapper.getCountByBusinessId(wxCouponOrder); - + List> cardSpendMerchantCountList = wxCardSpendMapper.getMerchantCount(wxCardSpend); + //查询商户 + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantEntity); + List merchantList = wxMerchantMapper.findList(merchantQ); + Map merchantBussinessMap = new HashMap(); + if (null != merchantList) { + for (int i = 0 ; i < merchantList.size() ;i ++) { + WxMerchant m = merchantList.get(i); + merchantBussinessMap.put(m.getId(), m.getBusinessId()); + } + } + + List> couponCountList = wxCouponOrderMapper.getCouponCount(wxCouponOrder); + //查询业态 + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + Map couponBussinessMap = new HashMap(); + List couponList = wxCouponMapper.newfindCList(couponQ); + if (null != couponList) { + for (int i = 0 ; i < couponList.size() ;i ++) { + WxCoupon c = couponList.get(i); + couponBussinessMap.put(c.getId(), c.getBusiness()); + } + } + list.stream().forEach(b->{ int count = 0; - if(cardSpendCountList.size() > 0) { - for (Map cardSpendCount : cardSpendCountList) { + if(null != cardSpendMerchantCountList && cardSpendMerchantCountList.size() > 0) { + for (Map cardSpendCount : cardSpendMerchantCountList) { + + Long merchantId = (Long)cardSpendCount.get("merchantId") ; + Long merchantCount = (Long)cardSpendCount.get("count"); + if (null != merchantId && null != merchantCount) { + Integer bussiness = merchantBussinessMap.get(merchantId); + if (null != bussiness && bussiness.intValue() == b.getId().intValue()) { + count += merchantCount.intValue(); + } + } if (cardSpendCount.get("business_id") != null && cardSpendCount.get("business_id").equals(b.getId().toString())) { count += (Integer) cardSpendCount.get("bu_count"); } } } - if(cardOrderCountList.size() > 0) { - for (Map cardOrderCount : cardOrderCountList) { - if (cardOrderCount.get("business") != null - && cardOrderCount.get("business").equals(b.getId().toString())) { - count += (Integer) cardOrderCount.get("bu_count"); + if(null!= couponCountList && couponCountList.size() > 0) { + for (Map cardOrderCount : couponCountList) { + Long couponId = (Long)cardOrderCount.get("couponId") ; + Long couponCount = (Long)cardOrderCount.get("count"); + if (null != couponId && null != couponCount) { + Integer bussiness = couponBussinessMap.get(couponId); + if (null != bussiness && bussiness.intValue() == b.getId().intValue()) { + count += couponCount.intValue(); + } } } } @@ -432,24 +472,64 @@ public class WxCUserTagsServiceHelper{ subBusiness.setBusinessId(EnumBusiness.BUSINESS_ID1.getCode()); List list = wxSubBusinessMapper.findList(subBusiness); - List> cardSpendCountList = wxCardSpendMapper.getCountBySubBusinessId(wxCardSpend); - List> cardOrderCountList = wxCouponOrderMapper.getCountBySubBusinessId(wxCouponOrder); + List> cardSpendMerchantCountList = wxCardSpendMapper.getMerchantCount(wxCardSpend); + //查询商户子业态 + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantEntity); + merchantQ.setSubBusinessId(wxCouponOrder.getSubBusinessId()); + List merchantList = wxMerchantMapper.findList(merchantQ); + Map merchantBussinessMap = new HashMap(); + if (null != merchantList) { + for (int i = 0 ; i < merchantList.size() ;i ++) { + WxMerchant m = merchantList.get(i); + merchantBussinessMap.put(m.getId(), m.getSubBusinessId()); + } + } + + + List> couponCountList = wxCouponOrderMapper.getCouponCount(wxCouponOrder); + //查询券子业态 + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + couponQ.setBusiness(wxCouponOrder.getBusinessId()); + List couponList = wxCouponMapper.newfindCList(couponQ); + Map couponBussinessMap = new HashMap(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size() ;i ++) { + WxCoupon c = couponList.get(i); + couponBussinessMap.put(c.getId(), c.getSubBusiness()); + } + } list.stream().forEach(sb->{ int count = 0; - if(cardSpendCountList.size() > 0) { - for (Map cardSpendCount : cardSpendCountList) { + if(null != cardSpendMerchantCountList && cardSpendMerchantCountList.size() > 0) { + for (Map cardSpendCount : cardSpendMerchantCountList) { + Long merchantId = (Long)cardSpendCount.get("merchantId") ; + Long merchantCount = (Long)cardSpendCount.get("count"); + if (null != merchantId && null != merchantCount) { + Integer subBussiness = merchantBussinessMap.get(merchantId); + if (null != subBussiness && subBussiness.intValue() == sb.getId().intValue()) { + count += merchantCount.intValue(); + } + } + Long subBusinessId = (Long)cardSpendCount.get("subBusinessId"); if (subBusinessId != null && subBusinessId.equals(sb.getId())) { count += (Integer) cardSpendCount.get("buCount"); } } } - if(cardOrderCountList.size() > 0) { - for (Map cardOrderCount : cardOrderCountList) { - Long subBusinessId = (Long)cardOrderCount.get("subBusiness"); - if (subBusinessId != null && subBusinessId.equals(sb.getId())) { - count += (Integer) cardOrderCount.get("buCount"); + + if(null!= couponCountList && couponCountList.size() > 0) { + for (Map cardOrderCount : couponCountList) { + Long couponId = (Long)cardOrderCount.get("couponId") ; + Long couponCount = (Long)cardOrderCount.get("count"); + if (null != couponId && null != couponCount) { + Integer subBussiness = couponBussinessMap.get(couponId); + if (null != subBussiness && subBussiness.intValue() == sb.getId().intValue()) { + count += couponCount.intValue(); + } } } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java index 12a8be7df..a8dde836d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @@ -55,6 +56,8 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { private WxMallMapper wxMallMapper; @Autowired private ExcelService excelService; + + @Lazy @Autowired private WxCouponOrderService wxCouponOrderService; @@ -112,15 +115,15 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { } //couponData - HashMap params = new HashMap<>(); - params.put("tenantEntitys",tenantEntitys); - params.put("tenantId", tenantEntity.getTenantId()); - if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { - params.put("parentTenantId", tenantEntity.getParentTenantId()); - } - params.put("startTime", addDay(-30)); - params.put("endTime", addDay(1)); - List couponDatalist = wxCouponOrderMapper.couponDataMap(params); +// HashMap params = new HashMap<>(); +// params.put("tenantEntitys",tenantEntitys); +// params.put("tenantId", tenantEntity.getTenantId()); +// if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { +// params.put("parentTenantId", tenantEntity.getParentTenantId()); +// } +// params.put("startTime", addDay(-30)); +// params.put("endTime", addDay(1)); + List couponDatalist = wxCouponOrderService.couponDataMap(tenantEntity,addDay(-30),addDay(1)); //查询券领取人数 String startdate = DateUtils.getTimeBefore(30, new Date()); @@ -306,6 +309,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { params.put("parentTenantId", tenantEntity.getParentTenantId()); } + params.put("tenantEntity", tenantEntity); if (markingCouponDataReportDto.getStartTime() != null) params.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(), 0)); if (markingCouponDataReportDto.getEndTime() != null) @@ -488,13 +492,13 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getXtime, p -> p.getTriggerCount())); }else if (markingCouponDataReportDto.getType().equals(EnumCouponSendSendType.MERCHANT.getCode())) { //购买发券数 - if (markingCouponDataReportDto.getStartTime() != null) - params.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0)); - if (markingCouponDataReportDto.getEndTime() != null) - params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); - params.put("channelType", markingCouponDataReportDto.getType()); - List markingSceneDataVos = wxCouponOrderMapper.queryForSceneRepotyMechantHistoryOrdered(params); - triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getXtime, p -> p.getTriggerCount())); +// if (markingCouponDataReportDto.getStartTime() != null) +// params.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0)); +// if (markingCouponDataReportDto.getEndTime() != null) +// params.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); +// params.put("channelType", markingCouponDataReportDto.getType()); +// List markingSceneDataVos = wxCouponOrderMapper.queryForSceneRepotyMechantHistoryOrdered(params); +// triggerCountMap = markingSceneDataVos.stream().collect(Collectors.toMap(MarkingSceneDataVo::getXtime, p -> p.getTriggerCount())); } NumberFormat nf = NumberFormat.getPercentInstance(); nf.setMinimumFractionDigits(2); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/QrCodeServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/QrCodeServiceImpl.java index e6c0deb6e..45a69891d 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/QrCodeServiceImpl.java +++ b/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.ResultData; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumPayWay; import com.iformall.domain.po.WxAppinfo; import com.iformall.exception.MallinkException; @@ -42,7 +43,7 @@ public class QrCodeServiceImpl implements QrCodeService { @Override - public void downQrCode(TenantEntity tenantEntity, HttpServletRequest request, HttpServletResponse response, Map params,EnumPayWay payWay) throws MallinkException { + public void downQrCode(TenantEntity tenantEntity, HttpServletRequest request, HttpServletResponse response, Map params,EnumAppPlat plat) throws MallinkException { String name = (String) params.get("name"); String pageUrl = (String) params.get("pageUrl"); String sceneParam = (String) params.get("sceneParam"); @@ -68,7 +69,7 @@ public class QrCodeServiceImpl implements QrCodeService { exportQrcode(request, response, tenantEntity, type, pageUrl, sceneParam, withText, text1, text2, - name,payWay); + name,plat); } catch (Exception e) { logger.error(e.getMessage()); throw new MallinkException(Result.ERROR, "下载异常"); @@ -79,10 +80,14 @@ public class QrCodeServiceImpl implements QrCodeService { public ResultData exportQrcode(HttpServletRequest request, HttpServletResponse response, TenantEntity tenantEntity, int type, String pageUrl, String sceneParam, int withText, String text1, String text2, - String name,EnumPayWay payWay) { + String name, EnumAppPlat plat) { // type 0 有限二维码, 1 无限制二维码 // 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 fileName = name + ".png"; @@ -95,7 +100,7 @@ public class QrCodeServiceImpl implements QrCodeService { pDest.mkdirs(); } 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); org.apache.commons.io.FileUtils.forceDelete(codeFile); } catch (WxErrorException e) { @@ -116,10 +121,14 @@ public class QrCodeServiceImpl implements QrCodeService { @Override public ResultData uploadQrcode(TenantEntity tenantEntity, int type, String pageUrl, String sceneParam, int withText, String text1, String text2, - String name,EnumPayWay payWay) { + String name,EnumAppPlat plat) { // type 0 有限二维码, 1 无限制二维码 // 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 fileName = name + ".png"; @@ -132,7 +141,7 @@ public class QrCodeServiceImpl implements QrCodeService { pDest.mkdirs(); } 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); org.apache.commons.io.FileUtils.forceDelete(codeFile); } catch (WxErrorException e) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAppinfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAppinfoServiceImpl.java index e4fef2cac..b8e909e22 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAppinfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAppinfoServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.concurrent.TimeUnit; @@ -41,12 +42,10 @@ public class WxAppinfoServiceImpl implements WxAppinfoService { public WxAppinfo getCAppInfo(TenantEntity tenantEntity,EnumAppPlat appPlat) { WxAppinfo appInfo = null; WxAppinfo appinfoQ = new WxAppinfo(); - if (null == appPlat) { - appinfoQ.setPlat(EnumAppPlat.WX.getCode()); - }else { - appinfoQ.setPlat(appPlat.getCode()); + if (appPlat != null) { + appinfoQ.setPlat(appPlat.getCode()); } - + appinfoQ.updateTenantInfo(tenantEntity); appinfoQ.setType(EnumAppType.C.getCode()); List appList = wxAppinfoMapper.selectList(new QueryWrapper(appinfoQ)); @@ -164,6 +163,19 @@ public class WxAppinfoServiceImpl implements WxAppinfoService { return record; } + @Override + @Transactional(rollbackFor = {Exception.class}) + public void updateCMouldType(TenantEntity tenantEntity, Integer mouldType) { + WxAppinfo appinfoQ = new WxAppinfo(); + appinfoQ.updateTenantInfo(tenantEntity); + appinfoQ.setType(EnumAppType.C.getCode()); + List appList = wxAppinfoMapper.selectList(new QueryWrapper(appinfoQ)); + for (WxAppinfo appinfo:appList) { + appinfo.setMouldType(mouldType); + this.saveOrUpdate(appinfo); + } + } + private void deleteRedis(Long id){ WxAppinfo record = this.getById(id); if(record != null){ @@ -174,6 +186,9 @@ public class WxAppinfoServiceImpl implements WxAppinfoService { String key3 = Constant.appinfoPrev + record.getTenantId() + "-" + EnumAppPlat.getByCode(record.getPlat()) + "-" + record.getType(); RedisCacheUtils.removeCache(wxAppinfoRedisTemplate, key3); + String key4 = Constant.appinfoPrev + record.getTenantId() + + "-" + null + "-" + record.getType(); + RedisCacheUtils.removeCache(wxAppinfoRedisTemplate, key4); } } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java index c89030fe1..b552c71f4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBusinessServiceImpl.java @@ -50,15 +50,18 @@ public class WxBusinessServiceImpl implements WxBusinessService { } @Override - public List findListAll(TenantEntity tenantEntity, Integer filter) { - if (filter == null) + public List findListAll(TenantEntity tenantEntity, Integer filter,Integer paltCode) { + if (filter == null){ return wxBusinessMapper.findListAll(); - else if (filter.equals(EnumBusinessFilter.FILTER_BY_COUPON.getCode())) - return wxBusinessMapper.findListForCoupon(tenantEntity.getTenantId(), tenantEntity.getParentTenantId()); - else if (filter.equals(EnumBusinessFilter.FILTER_BY_MERCHANT.getCode())) + }else if (filter.equals(EnumBusinessFilter.FILTER_BY_COUPON.getCode())) { + if (paltCode == null) + paltCode = EnumAppPlat.WX.getCode(); + return wxBusinessMapper.findListForCoupon(tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), paltCode); + }else if (filter.equals(EnumBusinessFilter.FILTER_BY_MERCHANT.getCode())) { return wxBusinessMapper.findListForMerchant(tenantEntity.getTenantId(), tenantEntity.getParentTenantId()); - else + }else { return wxBusinessMapper.findListAll(); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index 29b3731d6..234fc07bc 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -638,10 +638,6 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc wxCUserBasicInfoMapper.updateScore(record); } - @Override - public void updateQrCode(WxCUserBasicInfo record) { - wxCUserBasicInfoMapper.updateQrCode(record); - } @Override public WxCUserBasicInfo registerByPhone(TenantEntity tenantEntity, String phone, String nickName, Integer sex, String avatarUrl) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java index 6d45d313c..a5347c99f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCampaignServiceImpl.java +++ b/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.service.QrCodeService; import com.iformall.service.WxCampaignService; +import com.iformall.service.WxCouponChannelService; import com.iformall.service.WxCouponService; import com.iformall.utils.Constant; import org.apache.commons.lang3.StringUtils; @@ -44,6 +45,9 @@ public class WxCampaignServiceImpl implements WxCampaignService { @Autowired WxCampaignMapper wxCampaignMapper; + @Autowired + WxCouponChannelService wxCouponChannelService; + @Autowired WxCouponChannelMapper wxCouponChannelMapper; @@ -311,7 +315,7 @@ public class WxCampaignServiceImpl implements WxCampaignService { wxCouponChannelQ.setCouponId(couponId); wxCouponChannelQ.setStatus(EnumCampaignStatus.STATUS_THROW_IN.getCode()); wxCouponChannelQ.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_LIST.getCode()); - List voList = wxCouponChannelMapper.findVoList(wxCouponChannelQ); + List voList = wxCouponChannelMapper.newfindCList(wxCouponChannelQ); // 不存在的, 新增 wxCouponChannel = new WxCouponChannel(); if(voList != null && voList.size() > 0){ @@ -332,20 +336,7 @@ public class WxCampaignServiceImpl implements WxCampaignService { wxCouponChannel.setId(idWorker.nextId()); 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 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()); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java index a08c04a83..201e77985 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java @@ -27,6 +27,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -70,8 +71,11 @@ public class WxChartServiceImpl implements WxChartDataService { WxLevelConfigMapper wxLevelConfigMapper; @Autowired WxCUserTagsMapper wxCUserTagsMapper; + + @Lazy @Autowired WxCouponService wxCouponService; + @Autowired WxOrderGroupMapper wxOrderGroupMapper; @Autowired @@ -82,23 +86,40 @@ public class WxChartServiceImpl implements WxChartDataService { WxBillOtherMapper wxBillOtherMapper; @Autowired WxBillAllMapper wxBillAllMapper; + + @Lazy @Autowired MarkingDataReportService markingDataReportService; + + @Lazy @Autowired WxBusinessService wxBusinessService; + @Lazy @Autowired WxCouponOrderService wxCouponOrderService; + + @Lazy @Autowired KwMeterDataService kwMeterDataService; + + @Lazy @Autowired KwMerchantMeterService kwMerchantMeterService; + + @Lazy @Autowired KwMeterService kwMeterService; + + @Lazy @Autowired private WxCUserBasicInfoService wxCUserBasicInfoService; + + @Lazy @Autowired private WxCUserService wxCUserService; + + @Lazy @Autowired private WxCUserCarService wxCUserCarService; @@ -599,7 +620,7 @@ public class WxChartServiceImpl implements WxChartDataService { kwMerchantMeterDataDto.setLimitCount(null); List businessPower = kwMerchantMeterService.findDataVoList(kwMerchantMeterDataDto); - List businessList = wxBusinessService.findListAll(tenantEntity,null); + List businessList = wxBusinessService.findListAll(tenantEntity,null,null); businessList.stream().forEach(b->{ Optional businessData = businessPower.stream().filter(bd->bd.getBusinessId().equals(b.getId())).findAny(); if (businessData.isPresent()) { @@ -1435,9 +1456,7 @@ public class WxChartServiceImpl implements WxChartDataService { wxCouponOrder.setStartTime(startTime); wxCouponOrder.setEndTime(endTime); // wxCouponOrder.updateTenantInfo(tenantEntity); - //TODO 待优化数据 - //int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 - int thisMonthCount = 0; + int thisMonthCount = wxCouponOrderService.queryPriceTotal(wxCouponOrder,tenantEntitys);//月消费金额 c.clear(); c.add(Calendar.DAY_OF_YEAR, -1); c.set(Calendar.HOUR_OF_DAY, 0); @@ -1560,12 +1579,7 @@ public class WxChartServiceImpl implements WxChartDataService { c.add(Calendar.DAY_OF_YEAR, -7); Date sTime = c.getTime(); List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); - //TOOD 待优化 - //List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys, tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); - List datas = null; - if (true) { - return new ResultData(); - } + List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys, tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); Map dataMap = new HashMap<>(); for (CUserDateAmountVo v : datas) { dataMap.put(v.getXTime(), v.getPrice()); @@ -1607,12 +1621,7 @@ public class WxChartServiceImpl implements WxChartDataService { Date eTime = c.getTime();//明天0点 c.add(Calendar.DAY_OF_YEAR, -30);//三十天前 List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); - //TODO 待优化数据 - //List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys,tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); - List datas = null; - if (true ) { - return new ResultData(); - } + List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys,tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); List monthVos = new ArrayList<>();//周消费金额 Map dataMap = new HashMap<>(); for (CUserDateAmountVo v : datas) { @@ -1751,12 +1760,7 @@ public class WxChartServiceImpl implements WxChartDataService { c.add(Calendar.DAY_OF_YEAR, -30);//三十天前 Date sTime = c.getTime(); List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); - //TODO 待优化数据 - //List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys, tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); - List datas = null; - if(true) { - return new ResultData(); - } + List datas = wxCouponOrderMapper.queryPriceTotalGroup(tenantEntitys, tenantEntity.getTenantId(), tenantEntity.getParentTenantId(), sTime, eTime); Map dataMap = new HashMap<>(); for (CUserDateAmountVo v : datas) { dataMap.put(v.getXTime(), v.getPrice()); @@ -1893,17 +1897,19 @@ public class WxChartServiceImpl implements WxChartDataService { String startdate; String enddate; HashMap datamap = new HashMap<>(); - List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); - //couponData - HashMap params = new HashMap<>(); - params.put("tenantEntitys",tenantEntitys); - params.put("tenantId", tenantEntity.getTenantId()); - if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { - params.put("tenantId", tenantEntity.getParentTenantId()); - } - params.put("startTime", addDay(-30)); - params.put("endTime", addDay(1)); - List couponDatalist = wxCouponOrderMapper.couponDataMap(params); +// List tenantEntitys = wxMallMapper.getTenantEntitys(tenantEntity); +// //couponData +// HashMap params = new HashMap<>(); +// params.put("tenantEntitys",tenantEntitys); +// params.put("tenantId", tenantEntity.getTenantId()); +// if (StringUtils.isNotBlank(tenantEntity.getParentTenantId())) { +// params.put("tenantId", tenantEntity.getParentTenantId()); +// } +// params.put("startTime", addDay(-30)); +// params.put("endTime", addDay(1)); + + + List couponDatalist = wxCouponOrderService.couponDataMap(tenantEntity,addDay(-30),addDay(1)); //查询券领取人数 startdate = DateUtils.getTimeBefore(30, new Date()); enddate = DateUtils.getTimeBefore(1, new Date()); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java index 70c9d692e..c41218955 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java +++ b/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.Result; import com.iformall.common.ResultData; +import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCouponChannel; @@ -42,6 +43,8 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { @Autowired WxCouponChannelMapper wxCouponChannelMapper; @Autowired + WxCouponMapper wxCouponMapper; + @Autowired WxCouponService wxCouponService; @Autowired WxMerchantMapper wxMerchantMapper; @@ -139,6 +142,31 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { 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 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 ttmap = (Map) ttQrCode.data; + if(ttmap != null && ttmap.get("url") != null) { + String url = ttmap.get("url"); + couponChannel.setTtQrCode(url); + } + wxCouponChannelMapper.updateById(couponChannel); + } + /** * 清除c端首页券列表缓存 * @param tenantEntity @@ -226,13 +254,10 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { couponId = record.getCouponId(); record.setCouponId(null); } - //TODO 待优化数据,暂时放缓存 - List voList = RedisCacheUtils.getCacheListObject(redisTemplate, "changeCoupon:"+record.getTenantId(), WxCouponChannelVo.class); - if (null == voList) { - voList = wxCouponChannelMapper.findVoList(record); - RedisCacheUtils.cache(redisTemplate,"changeCoupon:"+record.getTenantId(), voList, 600); - } - if (voList.isEmpty()) { + + List voList = this.newfindListVo(record); + + if (voList == null || voList.isEmpty()) { return new ResultData(Result.SUCCESS, "查询成功", null); } Map data = new HashMap<>(); @@ -264,6 +289,97 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { return count; } + /** + * 处理券相关查询参数,得到卷id list + * @param wxCouponChannel + * @return + */ + private List handleCouponParam(WxCouponChannel wxCouponChannel){ + WxCoupon couponQ = new WxCoupon(); + couponQ.setStatus(EnumCouponStatus.COUPON_STATUS_THROW_IN.getCode()); + if(wxCouponChannel.getSupportTransfer() != null){ + couponQ.setSupportTransfer(wxCouponChannel.getSupportTransfer()); + } + if(wxCouponChannel.getUserCredit() != null){ + couponQ.setUserCredit(wxCouponChannel.getUserCredit()); + } + if(wxCouponChannel.getSourceType() != null){ + couponQ.setSourceType(wxCouponChannel.getSourceType()); + } + List cids = wxCouponMapper.findIdList(couponQ); + return cids; + } + + private void handleCouponIds(WxCouponChannel wxCouponChannel){ + List cids =handleCouponParam(wxCouponChannel); + if(cids == null || cids.isEmpty()){ + wxCouponChannel.setId(-999L); + return; + } + if(wxCouponChannel.getMerchantId() != null){ + List mcids = wxCouponMerchantMapper.findOneMerchantProductIds(wxCouponChannel.getTenantId(), wxCouponChannel.getMerchantId()); + if(mcids == null || mcids.isEmpty()){ + wxCouponChannel.setId(-999L); + return; + } + cids.retainAll(mcids); + }else if(wxCouponChannel.getMerchantIds() != null && !wxCouponChannel.getMerchantIds().isEmpty()){ + List mcids = wxCouponMerchantMapper.findMerchantProductIds(wxCouponChannel.getTenantId(), wxCouponChannel.getMerchantIds(),0); + if(mcids == null || mcids.isEmpty()){ + wxCouponChannel.setId(-999L); + return; + } + cids.retainAll(mcids); + } + if(cids.isEmpty()){ + wxCouponChannel.setId(-999L); + return; + } + wxCouponChannel.setCouponIds(cids); + } + + private void handleWxCouponChannelVo(List list, TenantEntity tenantEntity){ + if(list == null || list.isEmpty()){ + return; + } + List couponIds = list.stream().map(cc -> cc.getCouponId()).collect(Collectors.toList()); + Map couponMap = wxCouponService.getCouponMap(couponIds,tenantEntity); + for (WxCouponChannelVo cc:list) { + cc.setWxCoupon(couponMap.get(cc.getCouponId())); + } + } + + + @Override + public List newfindListVo(WxCouponChannel wxCouponChannel) { + handleCouponIds(wxCouponChannel); + if(wxCouponChannel.getId() != null && wxCouponChannel.getId().equals(-999L)){ + return new ArrayList<>(); + } + List list = wxCouponChannelMapper.newfindCList(wxCouponChannel); + handleWxCouponChannelVo(list,wxCouponChannel); + return list; + } + + /** + * C端api使用,关联查找的券时已生效 + * @param record + * @param pageIndex + * @param pageSize + * @return + */ + @Override + public PageInfo newListPageVo(WxCouponChannel record, Integer pageIndex, Integer pageSize) { + + handleCouponIds(record); + if(record.getId() != null && record.getId().equals(-999L)){ + return new PageInfo(); + } + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.newfindCList(record)); + handleWxCouponChannelVo(pageInfo.getList(),record); + return pageInfo; + } + private boolean isCouponMerchantValid(Long couponId,String tenantId) { List merchantVoList = wxCouponMerchantMapper.findMerchantNameList(couponId,tenantId); if (merchantVoList.stream().anyMatch((cm->cm.getMerchantStatus().equals(EnumMerchantStatus.VALID.getCode())))){ @@ -359,21 +475,8 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { vo.setType(channel.getType()); 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 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; } @@ -384,33 +487,33 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { * @param pageSize * @return */ - @Override - public PageInfo listPageCVo(WxCouponChannel record, Integer pageIndex, Integer pageSize) { - PageInfo pageInfo; - //仅c端首页走缓存 - if((EnumCouponChannelType.COUPON_CHANNEL_ID_LIST.getCode().equals(record.getTargetAd()) - || EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN_LIST.getCode().equals(record.getTargetAd())) - && new Integer(6).equals(pageSize) - && pageIndex.intValue() <=5 - && record.getBusiness() == null) { - - logger.info("listPageCVo.chache"); - String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() +record.getTenantId()+"_" + pageIndex + ":"; - ValueOperations> operations = cdRedisTemplate.opsForValue(); - boolean hasKey = cdRedisTemplate.hasKey(key); - if (hasKey) { - pageInfo = operations.get(key); - logger.info("listPageCVo.chache.get:{}", pageInfo.getList()==null?0:pageInfo.getList().size()); - }else{ - pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record)); - //插入缓存 - operations.set(key, pageInfo, 600, TimeUnit.SECONDS); - } - return pageInfo; - } - - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record)); - } +// @Override +// public PageInfo listPageCVo(WxCouponChannel record, Integer pageIndex, Integer pageSize) { +// PageInfo pageInfo; +// //仅c端首页走缓存 +// if((EnumCouponChannelType.COUPON_CHANNEL_ID_LIST.getCode().equals(record.getTargetAd()) +// || EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN_LIST.getCode().equals(record.getTargetAd())) +// && new Integer(6).equals(pageSize) +// && pageIndex.intValue() <=5 +// && record.getBusiness() == null) { +// +// logger.info("listPageCVo.chache"); +// String key = EnumCacheKey.C_INDEX_PAGE_LIST.getMessage() +record.getTenantId()+"_" + pageIndex + ":"; +// ValueOperations> operations = cdRedisTemplate.opsForValue(); +// boolean hasKey = cdRedisTemplate.hasKey(key); +// if (hasKey) { +// pageInfo = operations.get(key); +// logger.info("listPageCVo.chache.get:{}", pageInfo.getList()==null?0:pageInfo.getList().size()); +// }else{ +// pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record)); +// //插入缓存 +// operations.set(key, pageInfo, 600, TimeUnit.SECONDS); +// } +// return pageInfo; +// } +// +// return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoList(record)); +// } @Override public WxCouponCVo findDetailVo(Long id,String tenantId) { @@ -422,15 +525,15 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService { return wxCouponChannelMapper.findVoStatusDetail(id,tenantId); } - @Override - public List listVo(WxCouponChannel record) { - return wxCouponChannelMapper.findVoList(record); - } +// @Override +// public List listVo(WxCouponChannel record) { +// return wxCouponChannelMapper.findVoList(record); +// } - @Override - public PageInfo listByMerchant(WxCouponChannel record, Integer pageNum, Integer pageSize) { - return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoListByMerchant(record)); - } +// @Override +// public PageInfo listByMerchant(WxCouponChannel record, Integer pageNum, Integer pageSize) { +// return PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxCouponChannelMapper.findVoListByMerchant(record)); +// } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java index a1e5a5f5e..e071736d8 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java @@ -3,7 +3,6 @@ package com.iformall.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.aliyun.openservices.shade.com.alibaba.fastjson.JSON; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -29,8 +28,6 @@ import com.iformall.pay.WxPayConstant; import com.iformall.service.*; import com.iformall.service.order.OrderAdapterService; import com.iformall.service.order.OrderFactory; -import com.iformall.service.order.entity.WxComposeChildOrderPrice; -import com.iformall.service.order.entity.WxComposeChildOrderShare; import com.iformall.service.order.entity.WxComposeOrder; import com.iformall.service.order.util.OrderHelper; import com.iformall.service.pay.PayServiceFactory; @@ -39,11 +36,13 @@ import com.iformall.utils.DateUtils; import com.iformall.utils.PayUtils; import com.iformall.utils.RedisLock; +import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.annotation.Lazy; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -51,6 +50,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import java.lang.reflect.InvocationTargetException; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -82,12 +83,15 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Autowired WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + @Lazy @Autowired WxOrderService wxOrderService; + @Lazy @Autowired WxCouponSendService wxCouponSendService; + @Lazy @Autowired WxProfitSharingOrderService wxProfitSharingOrderService; @@ -106,6 +110,10 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Autowired WxCouponMapper wxCouponMapper; + @Autowired + WxMerchantService wxMerchantService; + + @Lazy @Autowired WxAppinfoService wxAppinfoService; @@ -133,13 +141,15 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Autowired ExcelService excelService; - + @Lazy @Autowired WxCreditHistoryService wxCreditHistoryService; + @Lazy @Autowired WxScoreRulesService wxScoreRulesService; + @Lazy @Autowired WxMsgLimitService wxMsgLimitService; @@ -152,6 +162,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Autowired PayServiceFactory payServiceFactory; + @Lazy @Autowired WxCashOutService cashOutService; @@ -165,10 +176,15 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Autowired OrderFactory orderFactory; + @Lazy @Autowired WxCUserBasicInfoService wxCUserBasicInfoService; + + @Lazy @Autowired SysConfigService sysConfigService; + + @Lazy @Autowired WxMerchantBUserService wxMerchantBUserService; @@ -177,6 +193,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { WxShopMapper wxShopMapper; @Autowired WxMerchantShopMapper wxMerchantShopMapper; + + @Autowired + WxCouponCarMapper wxCouponCarMapper; private final SimpleDateFormat mydateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -259,22 +278,251 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if (pageIndex == null || pageSize == null) { List list; - if (isVerified) + if (isVerified) { + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.updateTenantInfo(wxMerchant); + merchantBUserQ.setMerchantId(wxMerchant.getId()); + List bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); + dateMap.put("bUserIds", bUserIds); list = wxCouponOrderMapper.findListOfVerifiedByDate(dateMap); - else + }else { + dateMap.put("startDateTimes", startDate.getTime()); + dateMap.put("endDateTimes", endDate.getTime()); + List merchantIdList = new ArrayList(); + merchantIdList.add(wxMerchant.getId()); + List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(wxMerchant.getTenantId(), merchantIdList); + if (null != merchantProductVos) { + List couponIds = new ArrayList(); + for (int i = 0 ; i < merchantProductVos.size(); i ++) { + WxMerchantProductVo mp = merchantProductVos.get(i); + if (mp.getMc() == 1) { + if (!couponIds.contains(mp.getProductId())) { + couponIds.add(mp.getProductId()); + } + } + } + if (couponIds.size() > 0 ) { + dateMap.put("couponIds", couponIds); + } + } list = wxCouponOrderMapper.findListOfOrderedByDate(dateMap); + } //logger.info("find " + list.size() + " coupon order from " + /startDate + " to " + new Date()); resultMap.put("amount", list.stream().mapToInt(p -> p.getCouponPrice()).sum()); resultMap.put("orderCount", list.size()); } else { - if (isVerified) - resultMap.put("list", PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfVerifiedByDateForBUser(dateMap))); - else - resultMap.put("list", PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfOrderedByDateForBUser(dateMap))); + if (isVerified) { + resultMap.put("list", findListOfVerifiedByDateForBUser(wxMerchant,wxMerchant.getId(),startDate,endDate,pageIndex,pageSize)); + }else { + resultMap.put("list", findListOfOrderedByDateForBUser(wxMerchant,wxMerchant.getId(),startDate,endDate,pageIndex,pageSize)); + } } return new ResultData(resultMap); } + private PageInfo findListOfVerifiedByDateForBUser(TenantEntity tenantEntity,Long merchantId,Date startDate,Date endDate,Integer pageIndex,Integer pageSize) { + Map dateMap = new HashMap(); + dateMap.put("tenantId",tenantEntity.getTenantId()); + dateMap.put("startDate", startDate); + dateMap.put("endDate", endDate); + + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.updateTenantInfo(tenantEntity); + merchantBUserQ.setMerchantId(merchantId); + List bUserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); + dateMap.put("bUserIds", bUserIds); + + PageInfo couponOrderPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() ->wxCouponOrderMapper.findListOfVerifiedByDateForBUser(dateMap)); + PageInfo pageInfo = new PageInfo(); + pageInfo.setList(handleToCouponOrderBVoList(tenantEntity,couponOrderPage.getList())); + pageInfo.setPageNum(couponOrderPage.getPageNum()); + pageInfo.setPageSize(couponOrderPage.getPageSize()); + pageInfo.setPages(couponOrderPage.getPages()); + return pageInfo; + } + + private PageInfo findListOfOrderedByDateForBUser(TenantEntity tenantEntity,Long merchantId,Date startDate,Date endDate,Integer pageIndex,Integer pageSize) { + Map dateMap = new HashMap(); + dateMap.put("tenantId",tenantEntity.getTenantId()); + dateMap.put("startDateTimes", startDate.getTime()); + dateMap.put("endDateTimes", endDate.getTime()); + List merchantIdList = new ArrayList(); + merchantIdList.add(merchantId); + List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), merchantIdList); + if (null != merchantProductVos) { + List couponIds = new ArrayList(); + for (int i = 0 ; i < merchantProductVos.size(); i ++) { + WxMerchantProductVo mp = merchantProductVos.get(i); + if (mp.getMc() == 1) { + if (!couponIds.contains(mp.getProductId())) { + couponIds.add(mp.getProductId()); + } + } + } + if (couponIds.size() > 0 ) { + dateMap.put("couponIds", couponIds); + } + } + + PageInfo couponOrderPage = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() ->wxCouponOrderMapper.findListOfOrderedByDateForBUser(dateMap)); + PageInfo pageInfo = new PageInfo(); + pageInfo.setList(handleToCouponOrderBVoList(tenantEntity,couponOrderPage.getList())); + pageInfo.setPageNum(couponOrderPage.getPageNum()); + pageInfo.setPageSize(couponOrderPage.getPageSize()); + pageInfo.setPages(couponOrderPage.getPages()); + return pageInfo; + } + + private List handleToCouponOrderBVoList(TenantEntity tenantEntity,List couponOrderList) { + List retList = null; + if (null != couponOrderList && couponOrderList.size() > 0 ) { + retList = new ArrayList(); + + List bUserIdList = new ArrayList(); + List cUserIdList = new ArrayList(); + List couponIdList = new ArrayList(); + for (int j = 0 ; j < couponOrderList.size(); j ++) { + WxCouponOrder co = couponOrderList.get(j); + Long bUserId = co.getBUserId(); + if (null != bUserId && (!bUserIdList.contains(bUserId))) { + bUserIdList.add(bUserId); + } + + Long cUserId = co.getcUserId(); + if (null != cUserId && (!cUserIdList.contains(cUserId))) { + cUserIdList.add(cUserId); + } + + Long couponId = co.getCouponId(); + if (null != couponId && (!couponIdList.contains(couponId))) { + couponIdList.add(couponId); + } + } + + //获取到buserId + Map bUserMap = new HashMap(); + List merchantIdList = null; + if (bUserIdList.size() > 0 ) { + merchantIdList = new ArrayList(); + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.updateTenantInfo(tenantEntity); + merchantBUserQ.setIds(bUserIdList); + List bUserList = wxMerchantBUserMapper.findSimpleList(merchantBUserQ); + if (null != bUserList) { + for (int k = 0 ; k < bUserList.size() ; k++) { + WxMerchantBUser b = bUserList.get(k); + bUserMap.put(b.getId(), b); + if (!merchantIdList.contains(b.getMerchantId())) { + merchantIdList.add(b.getMerchantId()); + } + } + } + } + + //merchant + Map merchantSimpleMap = new HashMap(); + if (null != merchantIdList && merchantIdList.size() > 0) { + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantEntity); + merchantQ.setIds(merchantIdList); + List merchantList = wxMerchantMapper.findIdNameList(merchantQ); + if (null != merchantList) { + for (int k = 0 ; k < merchantList.size() ; k++) { + WxMerchant m = merchantList.get(k); + merchantSimpleMap.put(m.getId(), m); + } + } + } + + //获取到cUserId + Map cUserSimpleMap = new HashMap(); + if (cUserIdList.size() > 0 ) { + WxCUserBasicInfo cBasicInfoQ = new WxCUserBasicInfo(); + cBasicInfoQ.setFinalTenantId(tenantEntity.getFinalTenantId()); + cBasicInfoQ.setIds(cUserIdList); + List cUserBasicInfoList = wxCUserBasicInfoMapper.findListPhoneAndNameByIds(cBasicInfoQ); + if (null != cUserBasicInfoList) { + for (int k = 0 ; k < cUserBasicInfoList.size() ; k++) { + WxCUserBasicInfo cbi = cUserBasicInfoList.get(k); + cUserSimpleMap.put(cbi.getId(), cbi); + } + } + } + + //获取coupon + Map couponMap = new HashMap(); + if (couponIdList.size() > 0 ) { + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + couponQ.setIds(couponIdList); + List couponList = wxCouponMapper.findTenantSimpleList(couponQ); + if (null != couponList) { + for (int k = 0 ; k < couponList.size() ; k++) { + WxCoupon c = couponList.get(k); + couponMap.put(c.getId(), c); + } + } + } + + for (int i = 0 ; i < couponOrderList.size() ; i ++) { + WxCouponOrder couponOrder = couponOrderList.get(i); + WxCouponOrderBVo bvo = couponOrdertoBVo(couponOrder,bUserMap,merchantSimpleMap,cUserSimpleMap,couponMap); + if (null != bvo ) { + retList.add(bvo); + } + } + } + return retList; + } + + private WxCouponOrderBVo couponOrdertoBVo(WxCouponOrder couponOrder,Map bUserMap,Map merchantSimpleMap,Map cUserSimpleMap,Map couponMap) { + WxCouponOrderBVo bvo = new WxCouponOrderBVo(); + try { + BeanUtils.copyProperties(bvo, couponOrder); + if (null != bvo.getBUserId()) { + WxMerchantBUser b = bUserMap.get(bvo.getBUserId()); + if (null != b) { + bvo.setbUserName(b.getName()); + bvo.setBUserPhone(b.getPhone()); + WxMerchant merchant = merchantSimpleMap.get(b.getMerchantId()); + if (null != merchant) { + bvo.setMerchantName(merchant.getName()); + bvo.setMerchantId(merchant.getId()); + } + } + } + if (null != bvo.getCUserId()) { + WxCUserBasicInfo cbi = cUserSimpleMap.get(bvo.getCUserId()); + if (null != cbi) { + bvo.setcUserPhone(cbi.getPhone()); + } + } + if (null != bvo.getCouponId()) { + WxCoupon coupon = couponMap.get(bvo.getCouponId()); + if (null != coupon) { + bvo.setType(coupon.getType()); + bvo.setTitle(coupon.getTitle()); + bvo.setSalePrice(coupon.getSalePrice()); + bvo.setUsePrice(coupon.getUsePrice()); + bvo.setPrice(coupon.getPrice()); + bvo.setAutoRefund(coupon.getAutoRefund()); + bvo.setBusiness(coupon.getBusiness()); + bvo.setSubsidyType(coupon.getSubsidyType()); + + //c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,c.auto_refund,c.business,c.subsidy_type,, + } + } + + bvo.setSubsidyNum(bvo.getSubsidy()); + return bvo; + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + return null; + } + //@Override //public PageInfo listCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) { // @@ -283,14 +531,135 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public PageInfo listCUserVoAsPageOptimize(WxCouponOrder record, Integer pageIndex, Integer pageSize) { - - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfCUserOptimize(record)); + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfCUserOptimize(record)); + PageInfo cvoPageInfo = new PageInfo(); + cvoPageInfo.setList(couponOrderListToCVoList(record,pageInfo.getList())); + cvoPageInfo.setPageNum(pageInfo.getPageNum()); + cvoPageInfo.setPageSize(pageInfo.getPageSize()); + cvoPageInfo.setPages(pageInfo.getPages()); + return cvoPageInfo; } - + + private List couponOrderListToCVoList(TenantEntity tenantEntity,List couponOrderList) { + if (null != couponOrderList) { + //查询coupon + List couponIds = new ArrayList(); + for (int i = 0 ; i < couponOrderList.size(); i++){ + WxCouponOrder co = couponOrderList.get(i); + Long couponId = co.getCouponId(); + if (null != couponId && (!couponIds.contains(couponId))) { + couponIds.add(couponId); + } + } + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + if (couponIds.size() > 0 ) { + couponQ.setIds(couponIds); + } + List couponList = wxCouponMapper.findTenantSimpleList(couponQ); + Map couponMap = new HashMap(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size(); i++ ) { + WxCoupon c = couponList.get(i); + if (null != c) { + couponMap.put(c.getId(), c); + } + } + } + + List volist = new ArrayList(); + for (int i = 0 ; i < couponOrderList.size(); i++){ + WxCouponOrder co = couponOrderList.get(i); + WxCouponOrderCVo cvo = getCouponOrderCVo(co,couponMap); + if (null != cvo) { + volist.add(cvo); + } + + } + return volist; + } + return null; + } + + private WxCouponOrderCVo getCouponOrderCVo(WxCouponOrder co,Map couponMap) { + if (null == co) { + return null; + } + try { + WxCouponOrderCVo cvo = new WxCouponOrderCVo(); + BeanUtils.copyProperties(cvo, co); + WxCoupon coupon = couponMap.get(cvo.getCouponId()); + if (null != coupon) { + cvo.setType(coupon.getType()); + cvo.setCoverImg(coupon.getCoverImg()); + cvo.setTitle(coupon.getTitle()); + cvo.setSubTitle(coupon.getSubTitle()); + cvo.setSalePrice(coupon.getSalePrice()); + cvo.setUsePrice(coupon.getUsePrice()); + cvo.setPrice(coupon.getPrice()); + cvo.setUnit(coupon.getUnit()); + cvo.setValidType(coupon.getValidType()); + cvo.setValidStartDate(coupon.getValidStartDate()); + cvo.setValidEndDate(coupon.getValidEndDate()); + cvo.setAutoRefund(coupon.getAutoRefund()); + } + return cvo; + } catch (IllegalAccessException | InvocationTargetException e) { + logger.error("getCouponOrderCVo error.",e); + } + return null; + } + + private WxCouponOrderCVo getCouponOrderCDetailVo(WxCouponOrder co) { + if (null == co || null == co.getCouponId()) { + return null; + } + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(co); + couponQ.setId(co.getCouponId()); + WxCoupon coupon = wxCouponMapper.findSimpleDetail(couponQ); + return getCouponOrderCDetailVo(co,coupon); + } + + private WxCouponOrderCVo getCouponOrderCDetailVo(WxCouponOrder co,WxCoupon coupon) { + try { + WxCouponOrderCVo cvo = new WxCouponOrderCVo(); + BeanUtils.copyProperties(cvo, co); + if (null != coupon) { + cvo.setType(coupon.getType()); + cvo.setCoverImg(coupon.getCoverImg()); + cvo.setTitle(coupon.getTitle()); + cvo.setSubTitle(coupon.getSubTitle()); + cvo.setSalePrice(coupon.getSalePrice()); + cvo.setUsePrice(coupon.getUsePrice()); + cvo.setPrice(coupon.getPrice()); + cvo.setTailPrice(coupon.getTailPrice()); + cvo.setOrigPrice(coupon.getOrigPrice()); + cvo.setUnit(coupon.getUnit()); + cvo.setDetail(coupon.getDetail()); + cvo.setRemark(coupon.getRemark()); + cvo.setValidType(coupon.getValidType()); + cvo.setValidStartDate(coupon.getValidStartDate()); + cvo.setValidEndDate(coupon.getValidEndDate()); + cvo.setPickStartDate(coupon.getPickStartDate()); + cvo.setPickEndDate(coupon.getPickEndDate()); + cvo.setAutoRefund(coupon.getAutoRefund()); + } + cvo.setMerchantVoList(wxMerchantService.newFindByCouponId(cvo,cvo.getCouponId())); + return cvo; + } catch (IllegalAccessException | InvocationTargetException e) { + logger.error("getCouponOrderCVo error.",e); + } + return null; + } + @Override public WxCouponOrderCVo detailCUserVo(String couponOrderId,TenantEntity tenantinfo) { - - WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.findDetailOfCUser(Long.valueOf(couponOrderId),tenantinfo.getTenantId()); + WxCouponOrder couponOrder = wxCouponOrderMapper.findDetailOfCUser(Long.valueOf(couponOrderId),tenantinfo.getTenantId()); + if (null == couponOrder) { + throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); + } + WxCouponOrderCVo wxCouponOrderCVo = getCouponOrderCDetailVo(couponOrder); if (wxCouponOrderCVo == null) throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); return wxCouponOrderCVo; @@ -298,59 +667,152 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public WxCouponOrderCVo simpleDetailCUserVo(String couponOrderId,TenantEntity tenantinfo) { - WxCouponOrderCVo wxCouponOrderCVo = wxCouponOrderMapper.findSimpleDetailOfCUser(Long.valueOf(couponOrderId),tenantinfo.getTenantId()); - if (wxCouponOrderCVo == null) - throw new MallinkException(ErrorCode.COUPON_ORDER_IS_NULL); - return wxCouponOrderCVo; + return detailCUserVo(couponOrderId,tenantinfo); } @Override public ResultData carListCUserVoAsPage(WxCouponOrder record, Integer pageIndex, Integer pageSize) { - return new ResultData(PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findCarListOfCUser(record))); + return new ResultData(findCarListOfCUser(record,pageIndex,pageSize)); } @Override public List carListCUserVo(WxCouponOrder record) { - return wxCouponOrderMapper.findCarListOfCUser(record); + return findCarListOfCUser(record,1,10).getList(); } - - @Override - public ResultData detailBUserVo(Long bUserId, String couponOrderId) { - WxMerchantBUser wxMerchantBUser = wxMerchantBUserMapper.selectById(bUserId); - if (wxMerchantBUser == null) { - logger.error("用户不存在:" + bUserId); - throw new MallinkException(ErrorCode.USER_IS_EMPTY); - } - - WxMerchant wxMerchant = wxMerchantMapper.selectById(wxMerchantBUser.getMerchantId()); - if (wxMerchant == null) { - logger.error("商户不存在:" + bUserId); - throw new MallinkException(ErrorCode.MERCHANT_INFO_NOT_FOUND); - } - WxCouponOrderCVo wxCouponOrderCVo = null; - try { - wxCouponOrderCVo = wxCouponOrderMapper.findDetailOfCUser(Long.valueOf(couponOrderId),wxMerchantBUser.getTenantId()); - } catch (Exception e) { - return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); - } - if (wxCouponOrderCVo == null) - return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); - return new ResultData(wxCouponOrderCVo); + + private PageInfo findCarListOfCUser(WxCouponOrder wxCouponOrder,Integer pageIndex, Integer pageSize){ + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(wxCouponOrder); + List types = new ArrayList(); + types.add(5); + types.add(51); + couponQ.setTypes(types); + List couponIdList = wxCouponMapper.findIdList(couponQ); + if (null == couponIdList || couponIdList.size() <= 0 ) { + return null; + } + wxCouponOrder.setCouponIds(couponIdList); + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findCarListOfCUser(wxCouponOrder)); + PageInfo retPageInfo = new PageInfo(); + retPageInfo.setPageNum(pageInfo.getPageNum()); + retPageInfo.setPageSize(pageInfo.getPageSize()); + retPageInfo.setList(couponOrderListToCarVoList(wxCouponOrder,pageInfo.getList())); + retPageInfo.setPages(pageInfo.getPages()); + return retPageInfo; + } + + + private List couponOrderListToCarVoList(TenantEntity tenantEntity,List couponOrderList) { + if (null != couponOrderList) { + //查询coupon + List couponIds = new ArrayList(); + for (int i = 0 ; i < couponOrderList.size(); i++){ + WxCouponOrder co = couponOrderList.get(i); + Long couponId = co.getCouponId(); + if (null != couponId && (!couponIds.contains(couponId))) { + couponIds.add(couponId); + } + } + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + if (couponIds.size() > 0 ) { + couponQ.setIds(couponIds); + } + List couponList = wxCouponMapper.findTenantSimpleList(couponQ); + Map couponMap = new HashMap(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size(); i++ ) { + WxCoupon c = couponList.get(i); + if (null != c) { + couponMap.put(c.getId(), c); + } + } + } + + WxCouponCar couponCarQ = new WxCouponCar(); + couponCarQ.updateTenantInfo(tenantEntity); + if (couponIds.size() > 0 ) { + couponCarQ.setIds(couponIds); + } + List couponCarList = wxCouponCarMapper.findList(couponCarQ); + Map couponCarMap = new HashMap(); + if (null != couponCarList) { + for (int i = 0 ; i < couponCarList.size(); i++ ) { + WxCouponCar cc = couponCarList.get(i); + if (null != cc) { + couponCarMap.put(cc.getId(), cc); + } + } + } + + List volist = new ArrayList(); + for (int i = 0 ; i < couponOrderList.size(); i++){ + WxCouponOrder co = couponOrderList.get(i); + WxCouponOrderCarCVo cvo = getCouponOrderCarVo(co,couponMap,couponCarMap); + if (null != cvo) { + volist.add(cvo); + } + + } + return volist; + } + return null; } + + private WxCouponOrderCarCVo getCouponOrderCarVo(WxCouponOrder co,Map couponMap,Map couponCarMap) { + if (null == co) { + return null; + } + try { + WxCouponOrderCarCVo cvo = new WxCouponOrderCarCVo(); + BeanUtils.copyProperties(cvo, co); + WxCoupon coupon = couponMap.get(cvo.getCouponId()); + if (null != coupon) { + cvo.setType(coupon.getType()); + cvo.setCoverImg(coupon.getCoverImg()); + cvo.setTitle(coupon.getTitle()); + cvo.setSubTitle(coupon.getSubTitle()); + cvo.setSalePrice(coupon.getSalePrice()); + cvo.setUsePrice(coupon.getUsePrice()); + cvo.setPrice(coupon.getPrice()); + cvo.setUnit(coupon.getUnit()); + cvo.setValidType(coupon.getValidType()); + cvo.setValidStartDate(coupon.getValidStartDate()); + cvo.setValidEndDate(coupon.getValidEndDate()); + cvo.setAutoRefund(coupon.getAutoRefund()); + } + WxCouponCar couponCar= couponCarMap.get(cvo.getCouponId()); + if (null != couponCar) { + cvo.setVendorParams(couponCar.getVendorParams()); + } + return cvo; + } catch (IllegalAccessException | InvocationTargetException e) { + logger.error("getCouponOrderCarVo error.",e); + } + return null; + } + + @Override public ResultData listAdminAsPage(WxCouponOrderBVo wxCouponOrderBVo, Integer pageIndex, Integer pageSize) { handleWxCouponOrderBVoQueryParam(wxCouponOrderBVo); - PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo)); - if (null != pageInfo && null != pageInfo.getList()){ - handleQueryResult(pageInfo.getList(), wxCouponOrderBVo); - } - return new ResultData(pageInfo); + + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findListOfAdmin(wxCouponOrderBVo)); + + PageInfo retPageInfo = new PageInfo(); + retPageInfo.setPageNum(pageIndex); + retPageInfo.setPageSize(pageSize); + retPageInfo.setPages(pageInfo.getPages()); + retPageInfo.setTotal(pageInfo.getTotal()); + retPageInfo.setList(handleQueryResult(pageInfo.getList(), wxCouponOrderBVo)); + + return new ResultData(retPageInfo); } - private void handleQueryResult(List list,TenantEntity tenantEntity) { - if (null != list ) { + private List handleQueryResult(List list,TenantEntity tenantEntity) { + if (null != list && list.size() > 0) { WxMerchant merchantQ = new WxMerchant(); merchantQ.updateTenantInfo(tenantEntity); @@ -392,7 +854,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { List cUserIdList = new ArrayList(); List bUserIdList = new ArrayList(); for (int i = 0 ; i < list.size() ; i ++ ) { - WxCouponOrderBVo bo = list.get(i); + WxCouponOrder bo = list.get(i); Long cusrid = bo.getcUserId(); if (null != cusrid && (!cUserIdList.contains(cusrid))) { cUserIdList.add(cusrid); @@ -430,65 +892,69 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } } + List retList = new ArrayList(); for (int i = 0 ; i < list.size() ; i ++) { - WxCouponOrderBVo co = list.get(i); - if (co.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) { - co.setUpdateDate(null); - } - if (null != co.getSendMerchantId()) { - co.setSendMerchantName(merchantNameMap.get(co.getSendMerchantId())); - } - WxCoupon coupon = couponMap.get(co.getCouponId()); - if (null != coupon) { - co.setTitle(coupon.getTitle()); - co.setSalePrice(coupon.getSalePrice()); - co.setUsePrice(coupon.getUsePrice()); - co.setPrice(coupon.getPrice()); - co.setAutoRefund(coupon.getAutoRefund()); - co.setBusiness(coupon.getBusiness()); - co.setSubsidyType(coupon.getSubsidyType()); - co.setSourceType(coupon.getSourceType()); - } - -// WxMerchantSubsidy merchantSubsidyQ = new WxMerchantSubsidy(); -// merchantSubsidyQ.setCouponOrderId(co.getId()); -// merchantSubsidyQ.setCouponType(co.getCouponType()); -// merchantSubsidyQ.setType(EnumMerchantSubsidyType.MANUAL.getCode()); -// merchantSubsidyQ.updateTenantInfo(co); -// List msList = wxMerchantSubsidyMapper.selectList(new QueryWrapper(merchantSubsidyQ)); -// if (msList.size() > 0) { -// co.setSubsidyNum(msList.get(0).getSubsidy()); -// } - co.setSubsidyNum(co.getSubsidy()); - - Long merchanId = merchantProductIdMap.get(co.getCouponId()); - if (null != merchanId) { - if (merchanId == -999L) { - co.setMerchantName("多商户通用"); - co.setMerchantId(0L); - }else { - co.setMerchantName(merchantNameMap.get(merchanId)); - co.setMerchantId(merchanId); - } - } - - //WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(co.getCUserId(), co.getFinalTenantId()); - WxCUserBasicInfo basicInfo = cUserMap.get(co.getCUserId()); - if (null != basicInfo) { - co.setcuserPhone(basicInfo.getPhone()); - co.setUserNickName(basicInfo.getNickName()); - } - - //WxMerchantBUser buser = wxMerchantBUserService.getById(co.getBUserId()); - Long buserMechantId = buserMerchantIdMap.get(co.getBUserId()); - if (null != buserMechantId) { - co.setVerifyMerchantName(merchantNameMap.get(buserMechantId)); - } - //co.setChannelType();) - + + WxCouponOrder coo = list.get(i); + WxCouponOrderBVo co = new WxCouponOrderBVo(); + + try { + BeanUtils.copyProperties(co, coo); + + if (co.getCouponOrderStatus().equals(EnumCouponOrderStatus.COUPON_ORDER_USE_WAIT.getCode())) { + co.setUpdateDate(null); + } + if (null != co.getSendMerchantId()) { + co.setSendMerchantName(merchantNameMap.get(co.getSendMerchantId())); + } + WxCoupon coupon = couponMap.get(co.getCouponId()); + if (null != coupon) { + co.setTitle(coupon.getTitle()); + co.setSalePrice(coupon.getSalePrice()); + co.setUsePrice(coupon.getUsePrice()); + co.setPrice(coupon.getPrice()); + co.setAutoRefund(coupon.getAutoRefund()); + co.setBusiness(coupon.getBusiness()); + co.setSubsidyType(coupon.getSubsidyType()); + co.setSourceType(coupon.getSourceType()); + } + + co.setSubsidyNum(co.getSubsidy()); + + Long merchanId = merchantProductIdMap.get(co.getCouponId()); + if (null != merchanId) { + if (merchanId == -999L) { + co.setMerchantName("多商户通用"); + co.setMerchantId(0L); + }else { + co.setMerchantName(merchantNameMap.get(merchanId)); + co.setMerchantId(merchanId); + } + } + + WxCUserBasicInfo basicInfo = cUserMap.get(co.getCUserId()); + if (null != basicInfo) { + co.setcuserPhone(basicInfo.getPhone()); + co.setUserNickName(basicInfo.getNickName()); + } + + Long buserMechantId = buserMerchantIdMap.get(co.getBUserId()); + if (null != buserMechantId) { + co.setVerifyMerchantName(merchantNameMap.get(buserMechantId)); + } + //co.setChannelType();) + + retList.add(co); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } } + return retList; } + return new ArrayList(); } @@ -579,7 +1045,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { wxCouponOrder.setCUserId(basicInfo.getId()); }else { //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"手机号查询不到会员信息。"); - wxCouponOrder.setCUserId(-999L); + wxCouponOrder.setId(-999L); return; } } @@ -588,12 +1054,10 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { List merchantProductIds = null; if (null != merchantIdListQueryParam) { //查询商户券 - merchantProductIds = wxCouponMerchantMapper.findMerchantProductIds(wxCouponOrder.getTenantId(), merchantIdListQueryParam); + merchantProductIds = wxCouponMerchantMapper.findMerchantProductIds(wxCouponOrder.getTenantId(), merchantIdListQueryParam,0); if (null == merchantProductIds || merchantProductIds.size() <= 0) { //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"商户下查询不到券信息。"); - List tempCouponIds = new ArrayList(); - tempCouponIds.add(-999L); - wxCouponOrder.setCouponIds(tempCouponIds); + wxCouponOrder.setId(-999L); return; } } @@ -611,9 +1075,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { couponIds = wxCouponMapper.findIdList(wxCouponQuery); if (null == couponIds || couponIds.size() <= 0) { //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"根据券条件搜索不到券信息。"); - List tempCouponIds = new ArrayList(); - tempCouponIds.add(-999L); - wxCouponOrder.setCouponIds(tempCouponIds); + wxCouponOrder.setId(-999L); return; } } @@ -640,9 +1102,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { List merchantIds = wxMerchantMapper.findIdList(merchantQ2); if (null == merchantIds || merchantIds.size() <= 0 ){ //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"核销商户名称查询不到商户记录."); - List tempBUserIds = new ArrayList(); - tempBUserIds.add(-999L); - wxCouponOrder.setBUserIdList(tempBUserIds); + wxCouponOrder.setId(-999L); return; } @@ -651,9 +1111,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { List bUserIdList = wxMerchantBUserMapper.findIdList(merchantBUserQ); if (null == bUserIdList || bUserIdList.size() <= 0 ){ //throw new MallinkException(ErrorCode.USER_IS_EMPTY.getCode(),"核销商户下查询不到员工信息."); - List tempBUserIds = new ArrayList(); - tempBUserIds.add(-999L); - wxCouponOrder.setBUserIdList(tempBUserIds); + wxCouponOrder.setId(-999L); return; } wxCouponOrder.setBUserIdList(bUserIdList); @@ -665,10 +1123,16 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public ResultData detailAdminVo(Long couponOrderId,TenantEntity tenantinfo) { - WxCouponOrderBVo wxCouponOrderBVo = wxCouponOrderMapper.findDetailOfAdmin(couponOrderId,tenantinfo.getTenantId(),tenantinfo.getFinalTenantId()); - if (wxCouponOrderBVo == null) + WxCouponOrder couponOrder = wxCouponOrderMapper.findDetailOfAdmin(couponOrderId,tenantinfo.getTenantId(),tenantinfo.getFinalTenantId()); + if (null == couponOrder) { + return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); + } + List couponOrderList = new ArrayList(); + couponOrderList.add(couponOrder); + List wxCouponOrderBVoList = handleToCouponOrderBVoList(tenantinfo,couponOrderList); + if (wxCouponOrderBVoList == null || wxCouponOrderBVoList.size() <= 0 ) return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); - return new ResultData(wxCouponOrderBVo); + return new ResultData(wxCouponOrderBVoList.get(0)); } @Override @@ -678,9 +1142,9 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { filename = "商品订单"; } handleWxCouponOrderBVoQueryParam(wxCouponOrder); - List list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder); - handleQueryResult(list,wxCouponOrder); - excelService.exportCsv(list, null, filename, WxCouponOrderBVo.class, filename + ".csv", response, false); + List list = wxCouponOrderMapper.findListOfAdmin(wxCouponOrder); + List bolist = handleQueryResult(list,wxCouponOrder); + excelService.exportCsv(bolist, null, filename, WxCouponOrderBVo.class, filename + ".csv", response, false); } private WxAppinfo getAppinfo(TenantEntity tenantEntity,Integer payWay) { @@ -1059,6 +1523,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { if (couponOrder.getCouponPrice() > 0) { recordAfterVerified(couponOrder, merchant.getId()); + //TODO (系统设置不分账抖音也需要分账)抖音先记账, 定时去处理分账业务 WxPayOrder wxPayOrder = new WxPayOrder(); Long orderId = couponOrder.getOrderId(); if (!EnumComposeOrder.isSingle(couponOrder.getComposeOrderType())) { @@ -1068,6 +1533,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { wxPayOrder.setOrderId(orderId); wxPayOrder.setPayOrderStatus(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()); wxPayOrder = wxPayOrderMapper.selectOne(new QueryWrapper(wxPayOrder)); + wxProfitSharingOrderService.finishDouyinSharingOrder(wxPayOrder); } @@ -1652,11 +2118,124 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { return count; } - + private WxCardCVo findCardDetailOfCUser(Long id,String tenantId) { + WxCouponOrder couponOrder = wxCouponOrderMapper.findCardDetailOfCUser(id,tenantId); + if (null == couponOrder) { + return null; + } + WxCoupon couponQ = new WxCoupon(); + couponQ.setTenantId(tenantId); + couponQ.setId(couponOrder.getCouponId()); + WxCoupon coupon = wxCouponMapper.findSimpleDetail(couponQ); + + WxCardInfo cardInfo = wxCardInfoMapper.selectById(couponOrder.getId()); + return getCouponOrderCardCVo(couponOrder,coupon,cardInfo); + } + @Override public ResultData listCardVoAsPage(WxCardCVo record, Integer pageIndex, Integer pageSize) { - return new ResultData(PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findCardListOfCUser(record))); + //List cardTransList = wxCardTransferInfoMapper.findCardListOfCUser(record); + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findCardListOfCUser(record)); + PageInfo retPageInfo = new PageInfo(); + retPageInfo.setPageNum(pageInfo.getPageNum()); + retPageInfo.setPageSize(pageInfo.getPages()); + retPageInfo.setPages(pageInfo.getPages()); + retPageInfo.setList(couponOrderToCardCVoList(record,pageInfo.getList()));; + return new ResultData(retPageInfo); + } + + private List couponOrderToCardCVoList(TenantEntity tenantEntity,List couponOrderList) { + if (null != couponOrderList) { + //查询coupon + List couponIds = new ArrayList(); + List couponOrderIds = new ArrayList(); + for (int i = 0 ; i < couponOrderList.size(); i++){ + WxCouponOrder co = couponOrderList.get(i); + Long couponId = co.getCouponId(); + if (null != couponId && (!couponIds.contains(couponId))) { + couponIds.add(couponId); + } + couponOrderIds.add(co.getId()); + } + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + if (couponIds.size() > 0 ) { + couponQ.setIds(couponIds); + } + List couponList = wxCouponMapper.findSimpleDetailList(couponQ); + Map couponMap = new HashMap(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size(); i++ ) { + WxCoupon c = couponList.get(i); + if (null != c) { + couponMap.put(c.getId(), c); + } + } + } + + WxCardInfo couponCarQ = new WxCardInfo(); + couponCarQ.updateTenantInfo(tenantEntity); + if (couponOrderIds.size() > 0 ) { + couponCarQ.setIds(couponOrderIds); + } + List cardInfoList = wxCardInfoMapper.findList(couponCarQ); + Map cardInfoMap = new HashMap(); + if (null != cardInfoList) { + for (int i = 0 ; i < cardInfoList.size(); i++ ) { + WxCardInfo cc = cardInfoList.get(i); + if (null != cc) { + cardInfoMap.put(cc.getId(), cc); + } + } + } + + List volist = new ArrayList(); + for (int i = 0 ; i < couponOrderList.size(); i++){ + WxCouponOrder co = couponOrderList.get(i); + WxCardCVo cvo = getCouponOrderCardCVo(co,couponMap,cardInfoMap); + if (null != cvo) { + volist.add(cvo); + } + + } + return volist; + } + return null; + } + + private WxCardCVo getCouponOrderCardCVo(WxCouponOrder co,Map couponMap,Map cardInfoMap) { + WxCoupon coupon = couponMap.get(co.getCouponId()); + WxCardInfo cardInfo= cardInfoMap.get(co.getId()); + return getCouponOrderCardCVo(co,coupon,cardInfo); + } + + private WxCardCVo getCouponOrderCardCVo(WxCouponOrder co,WxCoupon coupon,WxCardInfo cardInfo) { + if (null == co) { + return null; + } + try { + WxCardCVo cvo = new WxCardCVo(); + BeanUtils.copyProperties(cvo, co); + if (null != coupon) { + cvo.setCoverImg(coupon.getCoverImg()); + cvo.setTitle(coupon.getTitle()); + cvo.setSubTitle(coupon.getSubTitle()); + cvo.setUnit(coupon.getUnit()); + cvo.setDetail(coupon.getDetail()); + cvo.setRemark(coupon.getRemark()); + } + if (null != cardInfo) { + cvo.setAmount(cardInfo.getAmount()); + cvo.setRemainingAmount(cardInfo.getRemainingAmount()); + cvo.setSupportTransfer(cardInfo.getSupportTransfer()); + } + return cvo; + } catch (IllegalAccessException | InvocationTargetException e) { + logger.error("getCouponOrderCardCVo error.",e); + } + return null; } + @Override public ResultData cardDetailCUserVo(Long ownerId, TenantEntity tenantinfo, String couponOrderId) { @@ -1666,7 +2245,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { throw new MallinkException(ErrorCode.USER_IS_EMPTY); } - WxCardCVo cardCVo = wxCouponOrderMapper.findCardDetailOfCUser(Long.valueOf(couponOrderId),tenantinfo.getTenantId()); + WxCardCVo cardCVo = findCardDetailOfCUser(Long.valueOf(couponOrderId),tenantinfo.getTenantId()); Long couponId = cardCVo.getCouponId(); WxCouponChannel wxCouponChannel = new WxCouponChannel(); wxCouponChannel.setCouponId(couponId); @@ -1683,7 +2262,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public ResultData cardAccept(WxCouponOrder record) { //卡券是否存在 - WxCardCVo cardCVo = wxCouponOrderMapper.findCardDetailOfCUser(record.getId(),record.getTenantId()); + WxCardCVo cardCVo = findCardDetailOfCUser(record.getId(),record.getTenantId()); if (cardCVo == null) { logger.info("卡券不存在" + record.getId()); return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); @@ -1737,7 +2316,7 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { @Override public ResultData queryCardStatus(WxCouponOrder record) { //卡券是否存在 - WxCardCVo cardCVo = wxCouponOrderMapper.findCardDetailOfCUser(record.getId(),record.getTenantId()); + WxCardCVo cardCVo = findCardDetailOfCUser(record.getId(),record.getTenantId()); if (cardCVo == null) { logger.info("卡券不存在" + record.getId()); return new ResultData(ErrorCode.COUPON_ORDER_IS_NULL); @@ -1801,19 +2380,21 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService { } coQ.put("cUserId", cUser.getId()); coQ.put("merchantId", user.getMerchantId()); - List avaCoList = wxCouponOrderMapper.findAvailCouponOrder(coQ); + List avaCoList = this.findAvailCouponOrder(user,cUser.getId(),user.getMerchantId(),null); JSONArray couponList = new JSONArray(); - for(int i=0;i 0){ + for(int i=0;i resultMap) { wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode()); - resultMap.put("couponWriteOff",wxCouponOrderMapper.findWriteOffCount(wxCouponOrder)); + resultMap.put("couponWriteOff",findWriteOffCount(wxCouponOrder)); wxCouponOrder.setCouponType(EnumCouponType.COUPON_GROUP.getCode()); - resultMap.put("groupWriteOff",wxCouponOrderMapper.findWriteOffCount(wxCouponOrder)); + resultMap.put("groupWriteOff",findWriteOffCount(wxCouponOrder)); wxCouponOrder.setCouponType(EnumCouponType.COUPON_PRESS.getCode()); - resultMap.put("pressWriteOff",wxCouponOrderMapper.findWriteOffCount(wxCouponOrder)); + resultMap.put("pressWriteOff",findWriteOffCount(wxCouponOrder)); wxCouponOrder.setCouponType(EnumCouponType.COUPON_TINGCHE.getCode()); wxCouponOrder.setSendMerchantId(wxCouponOrder.getMerchantId()); wxCouponOrder.setMerchantId(null); wxCouponOrder.setCouponOrderStatus(null); - resultMap.put("countTingche",wxCouponOrderMapper.findWriteOffCount(wxCouponOrder)); + resultMap.put("countTingche",findWriteOffCount(wxCouponOrder)); } - - @Override - public Integer findCount(WxCouponOrder wxCouponOrder) { - return wxCouponOrderMapper.findCount(wxCouponOrder); + + private Integer findWriteOffCount(WxCouponOrder wxCouponOrder) { + if (null != wxCouponOrder.getMerchantId()) { + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.updateTenantInfo(wxCouponOrder); + merchantBUserQ.setMerchantId(wxCouponOrder.getMerchantId()); + List buserIds = wxMerchantBUserMapper.findIdList(merchantBUserQ); + if (null != buserIds && buserIds.size() > 0) { + wxCouponOrder.setBUserIdList(buserIds); + } + } + return wxCouponOrderMapper.findWriteOffCount(wxCouponOrder); } @Override public PageInfo goodsListAsPage(WxCouponOrderBVo record, Integer pageIndex, Integer pageSize) { - return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findGoodsList(record)); + PageInfo retPageInfo = new PageInfo(); + List merchantIds = new ArrayList(); + merchantIds.add(record.getMerchantId()); + List couponIds = wxCouponMerchantMapper.findMerchantProductIds(record.getTenantId(),merchantIds,null); + if (null == couponIds || couponIds.isEmpty()) { + retPageInfo.setPageNum(pageIndex); + retPageInfo.setPageSize(pageSize); + retPageInfo.setPages(0); + retPageInfo.setTotal(0); + retPageInfo.setList(new ArrayList()); + return retPageInfo; + } + //查询商户下的券 + record.setCouponIds(couponIds); + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponOrderMapper.findGoodsList(record)); + retPageInfo.setPageNum(pageIndex); + retPageInfo.setPageSize(pageSize); + retPageInfo.setPages(pageInfo.getPages()); + retPageInfo.setTotal(pageInfo.getTotal()); + retPageInfo.setList(handleQueryResult(pageInfo.getList(), record)); + return retPageInfo; + + } + + @Override + public List couponDataMap(TenantEntity tenantEntity,Date startTime,Date endTime) { + + List dateList = new ArrayList(); + + //券数量 + HashMap paramMap = new HashMap(); + paramMap.put("tenantId", tenantEntity.getTenantId()); + paramMap.put("parentTenantId", tenantEntity.getParentTenantId()); + paramMap.put("startCreateDateTimes", startTime.getTime()); + paramMap.put("endCreateDateTimes", endTime.getTime()); + List> couponCountList = wxCouponOrderMapper.findCreateDateCouponOrderCount(paramMap); + Map couponCount = new HashMap(); + if (null != couponCountList) { + for (int i = 0; i < couponCountList.size();i++) { + Map map = couponCountList.get(i); + String date = (String)map.get("createTime"); + Long count = (Long)map.get("count"); + if ((!StringUtils.isBlank(date)) && null != count) { + if(!dateList.contains(date)) { + dateList.add(date); + } + couponCount.put(date, count); + } + } + } + + //券领取人数 + List> couponUserCountList = wxCouponOrderMapper.findCreateDateCouponOrderUserCount(paramMap); + Map couponUserCount = new HashMap(); + if (null != couponUserCountList) { + for (int i = 0; i < couponUserCountList.size();i++) { + Map map = couponUserCountList.get(i); + String date = (String)map.get("createTime"); + Long count = (Long)map.get("count"); + if ((!StringUtils.isBlank(date)) && null != count) { + if(!dateList.contains(date)) { + dateList.add(date); + } + couponUserCount.put(date, count); + } + } + } + + //核销数量 + HashMap verfiyParamMap = new HashMap(); + verfiyParamMap.put("tenantId", tenantEntity.getTenantId()); + verfiyParamMap.put("parentTenantId", tenantEntity.getParentTenantId()); + verfiyParamMap.put("couponOrderStatus", 1); + verfiyParamMap.put("updateStartTime", startTime); + verfiyParamMap.put("updateEndTime", endTime); + List> verfiyCountList = wxCouponOrderMapper.findCreateDateCouponOrderCount(verfiyParamMap); + Map verfiyCount = new HashMap(); + if (null != verfiyCountList) { + for (int i = 0; i < verfiyCountList.size();i++) { + Map map = verfiyCountList.get(i); + String date = (String)map.get("createTime"); + Long count = (Long)map.get("count"); + if ((!StringUtils.isBlank(date)) && null != count) { + if(!dateList.contains(date)) { + dateList.add(date); + } + verfiyCount.put(date, count); + } + } + } + + //券核销人数 + List> verfiyUserCountList = wxCouponOrderMapper.findCreateDateCouponOrderUserCount(verfiyParamMap); + Map verfiyUserCount = new HashMap(); + if (null != verfiyUserCountList) { + for (int i = 0; i < verfiyUserCountList.size();i++) { + Map map = verfiyUserCountList.get(i); + String date = (String)map.get("createTime"); + Long count = (Long)map.get("count"); + if ((!StringUtils.isBlank(date)) && null != count) { + if(!dateList.contains(date)) { + dateList.add(date); + } + verfiyUserCount.put(date, count); + } + } + } + + if (dateList.size() > 0) { + List volist = new ArrayList(); + for (int i = 0 ; i < dateList.size(); i ++) { + String date = dateList.get(i); + MarkingCouponDataReportVo vo = new MarkingCouponDataReportVo(); + if (null != couponCount && couponCount.containsKey(date)) { + vo.setCouponCount(couponCount.get(date).intValue()); + }else { + vo.setCouponCount(0); + } + + if (null != couponUserCount && couponUserCount.containsKey(date)) { + vo.setCouponUserCount(couponUserCount.get(date).intValue());; + }else { + vo.setCouponUserCount(0); + } + + if (null != verfiyCount && verfiyCount.containsKey(date)) { + vo.setVerifyCount(verfiyCount.get(date).intValue()); + }else { + vo.setVerifyCount(0); + } + + if (null != verfiyUserCount && verfiyUserCount.containsKey(date)) { + vo.setVerifyUserCount(verfiyUserCount.get(date).intValue()); + }else { + vo.setVerifyUserCount(0); + } + vo.setCreateTime(date); + volist.add(vo); + } + return volist; + } + + return null; } + @Override + public List findAvailCouponOrder(TenantEntity tenantEntity,Long cUserId,Long merchantId,Long posOrderId) { + + Map param = posCouponOrderQueryParam(tenantEntity,cUserId,merchantId); + List realCouponIds = (List) param.get("couponIds"); + if (realCouponIds.size() <= 0 ) { + return null; + } + param.put("status", 0); + List couponOrderList = wxCouponOrderMapper.findCouponOrderForPos(param); + + List couponOrderList1 = null; + if (null != posOrderId) { + param.put("status", 100); + PosCouponOrderVerify posCouponOrderVerifyQ = new PosCouponOrderVerify(); + posCouponOrderVerifyQ.setPosOrderId(posOrderId); + List posList = posCouponOrderVerifyMapper.findList(posCouponOrderVerifyQ); + if (null != posList && posList.size() > 0 ) { + List ids = new ArrayList(); + for (int i = 0 ; i < posList.size() ; i ++) { + PosCouponOrderVerify pos = posList.get(i); + if (null != pos && null != pos.getCouponOrderId()) { + if (!ids.contains(pos.getCouponOrderId())) { + ids.add(pos.getCouponOrderId()); + } + } + } + if (ids.size() > 0) { + param.put("ids",ids); + couponOrderList1 = wxCouponOrderMapper.findCouponOrderForPos(param); + } + } + } + + + WxCoupon couponQ1 = new WxCoupon(); + couponQ1.updateTenantInfo(tenantEntity); + couponQ1.setIds(realCouponIds); + List couponList = wxCouponMapper.findSimpleDetailList(couponQ1); + Map couponMap = new HashMap(); + List retList = new ArrayList(); + if (null != couponList) { + for (int i = 0 ; i < couponList.size() ; i ++) { + WxCoupon c = couponList.get(i); + if (null != c) { + couponMap.put(c.getId(), c); + } + } + } + + + if (null != couponOrderList) { + for (int i = 0 ; i < couponOrderList.size() ; i ++) { + WxCouponOrderCVo cvo = getPosVo(couponOrderList.get(i),couponMap); + if (null != cvo) { + retList.add(cvo); + } + } + + } + if (null != couponOrderList1) { + for (int i = 0 ; i < couponOrderList1.size() ; i ++) { + WxCouponOrderCVo cvo = getPosVo(couponOrderList1.get(i),couponMap); + if (null != cvo) { + retList.add(cvo); + } + } + + } + if (retList.size() <= 0 ) { + return null; + } + return retList; + } + private Map posCouponOrderQueryParam(TenantEntity tenantEntity,Long cUserId,Long merchantId) { + Map param = new HashMap(); + param.put("cUserId", cUserId); + param.put("tenantId", tenantEntity.getTenantId()); + param.put("parentTenantId", tenantEntity.getParentTenantId()); + List merchantIds = new ArrayList(); + merchantIds.add(merchantId); + List merchantCouponIds = wxCouponMerchantMapper.findMerchantProductIds(tenantEntity.getTenantId(), merchantIds, null); + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + List typeList = new ArrayList(); + typeList.add(EnumCouponType.COUPON_MANJIAN.getCode()); + typeList.add(EnumCouponType.COUPON_DAIJIN.getCode()); + typeList.add(EnumCouponType.COUPON_MULTIMCH.getCode()); + couponQ.setTypes(typeList); + List couponIds = wxCouponMapper.findIdList(couponQ); + List realCouponIds = new ArrayList(); + if (null != merchantCouponIds) { + realCouponIds.addAll(merchantCouponIds); + } + if (null != couponIds) { + realCouponIds.retainAll(couponIds); + } + param.put("couponIds", realCouponIds); + return param; + } + + private WxCouponOrderCVo getPosVo(WxCouponOrder co,Map couponMap) { + WxCouponOrderCVo cvo = null; + Long couponId = co.getCouponId(); + if (null != couponId) { + cvo = getCouponOrderCDetailVo(co,couponMap.get(couponId)); + }else { + cvo = getCouponOrderCDetailVo(co,null); + } + return cvo; + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java index c378c3094..fd42c2170 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java @@ -22,14 +22,19 @@ import com.iformall.mq.MqBaseProducer; import com.iformall.service.*; import com.iformall.utils.Constant; import com.iformall.utils.DateUtils; + +import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; + +import java.lang.reflect.InvocationTargetException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -40,18 +45,30 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { @Autowired WxCouponSendMapper wxCouponSendMapper; + + @Lazy @Autowired WxCouponService wxCouponService; + + @Lazy @Autowired WxCouponActionLogService wxCouponActionLogService; + + @Autowired WxCouponSendConfigMapper wxCouponSendConfigMapper; + + @Lazy @Autowired WxOrderService wxOrderService; + + @Autowired WxCouponOrderMapper wxCouponOrderMapper; @Autowired WxMerchantBUserMapper wxMerchantBUserMapper; + + @Lazy @Autowired PushLimitService pushLimitService; @Autowired @@ -60,18 +77,32 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { WxCUserMapper wxCUserMapper; @Autowired WxCUserBasicInfoMapper wxCUserBasicInfoMapper; + + @Lazy @Autowired WxAppinfoService wxAppinfoService; @Autowired WxAuthorizerInfoMapper authorizerInfoMapper; + + @Lazy @Autowired WxMsgLimitService wxMsgLimitService; @Autowired WxCouponMerchantMapper wxCouponMerchantMapper; + + @Lazy @Autowired WxTemplateMsgService wxTemplateMsgService; + + @Lazy @Autowired private WxMsgService wxMsgService; + + @Autowired + WxCouponMapper wxCouponMapper; + + @Autowired + MallUserInfoMapper mallUserInfoMapper; @Override public PageInfo listAsPage(WxCouponSend record, Integer pageIndex, Integer pageSize) { @@ -91,30 +122,147 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { } record.setSortColumn(null); record.setSortCol(sortStr); - pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponSendMapper.findListVoByValidType(record)); - for (WxCouponSendVo cs : pageInfo.getList()) { - JSONObject jo = JSONObject.parseObject(cs.getConditions()); - int inventory = jo.getIntValue(WxCouponSend.KEY_MERCHANT_LNVENTORY); - cs.setInventory(inventory); - int expired = 0; - if (!DateUtils.isDateBefore(cs.getValidEndDate())) { - expired = 1; - } - cs.setExpired(expired); - } + record.setCouponIds(wxCouponMapper.findSendCouponIds(record.getExpired(),record.getTenantId())); + PageInfo sendPageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponSendMapper.findList(record)); + pageInfo = new PageInfo(); + pageInfo.setPageNum(sendPageInfo.getPageNum()); + pageInfo.setPageSize(sendPageInfo.getPageSize()); + pageInfo.setPages(sendPageInfo.getPages()); + pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),true,false)); } else { record.setStatus(EnumCouponSendStatus.VALID.getCode()); record.setSortColumns(BaseEntity.SortField.CreateDate_DESC); - pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponSendMapper.findListVo(record)); - List couponIds = pageInfo.getList().stream().map(cs -> cs.getCouponId()).collect(Collectors.toList()); - Map couponMerchantMap = wxCouponService.getCouponMerchant(couponIds,record); - for (WxCouponSendVo cs:pageInfo.getList()){ - cs.setMerchantName(couponMerchantMap.get(cs.getCouponId())); - cs.setSendCount(wxCouponActionLogService.getCountByChannelId(record, cs.getSendType(), cs.getId())); - } + PageInfo sendPageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCouponSendMapper.findList(record)); + pageInfo = new PageInfo(); + pageInfo.setPageNum(sendPageInfo.getPageNum()); + pageInfo.setPageSize(sendPageInfo.getPageSize()); + pageInfo.setPages(sendPageInfo.getPages()); + pageInfo.setList(couponSendToVoList(record,sendPageInfo.getList(),false,true)); } return pageInfo; } + + @Override + public List findListVo(WxCouponSend record) { + List couponSendList = wxCouponSendMapper.findList(record); + return couponSendToVoList(record,couponSendList,false,false); + } + + private List couponSendToVoList(TenantEntity tenantEntity,List couponSendList,boolean setInventoryAndExpired,boolean setMerchantNameAndSendCount) { + if (null != couponSendList) { + List couponIdList = new ArrayList<>(); + List mallUserInfoIdList = new ArrayList(); + for (int i = 0 ; i couponMap = new HashMap(); + if (couponIdList.size() > 0 ) { + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + couponQ.setIds(couponIdList); + List couponList = wxCouponMapper.findSendCouponList(couponQ); + if (null != couponList) { + for (int k = 0 ; k < couponList.size() ; k++) { + WxCoupon c = couponList.get(k); + couponMap.put(c.getId(), c); + } + } + } + + //获取mallUserInfo + Map mallUserMap = new HashMap(); + if (mallUserInfoIdList.size() > 0 ) { + MallUserInfo mallUserInfoQ = new MallUserInfo(); + mallUserInfoQ.updateTenantInfo(tenantEntity); + mallUserInfoQ.setIds(mallUserInfoIdList); + List userInfoList = mallUserInfoMapper.findList(mallUserInfoQ); + if (null != userInfoList) { + for (int k = 0 ; k < userInfoList.size() ; k++) { + MallUserInfo ui = userInfoList.get(k); + mallUserMap.put(ui.getId(), ui); + } + } + } + + //couponMerchant + Map couponMerchantMap = null; + if (setMerchantNameAndSendCount) { + couponMerchantMap = wxCouponService.getCouponMerchantMap(couponIdList,tenantEntity); + } + List retList = new ArrayList(); + for (int i = 0 ; i couponMap,Map mallUserMap,Map couponMerchantMap, + boolean setInventoryAndExpired,boolean setMerchantNameAndSendCount) { + if (null == cs) { + return null; + } + WxCouponSendVo vo = new WxCouponSendVo(); + try { + BeanUtils.copyProperties(vo, cs); + Long couponId = vo.getCouponId(); + if (null != couponId ) { + WxCoupon coupon = couponMap.get(couponId); + if (null != coupon) { + vo.setRemainInventory(coupon.getRemainInventory()); + vo.setUseLimitRule(coupon.getUseLimitRule()); + vo.setUseLimitQuantity(coupon.getUseLimitQuantity()); + if (setInventoryAndExpired) { + vo.setInventory(cs.getMerchantLnventory()); + int expired = 0; + if (!DateUtils.isDateBefore(coupon.getValidEndDate())) { + expired = 1; + } + cs.setExpired(expired); + }else { + vo.setInventory(coupon.getInventory()); + } + vo.setValidStartDate(coupon.getValidStartDate()); + vo.setValidEndDate(coupon.getValidEndDate()); + vo.setValidDays(coupon.getValidDays()); + } + } + + Long mallUserId = vo.getOperatorId(); + if (null != mallUserId ) { + MallUserInfo user = mallUserMap.get(couponId); + if (null != user) { + vo.setOperator(user.getName()); + } + } + + if (setMerchantNameAndSendCount) { + vo.setMerchantName(couponMerchantMap.get(vo.getCouponId())); + vo.setSendCount(wxCouponActionLogService.getCountByChannelId(vo, vo.getSendType(), vo.getId())); + } + return vo; + } catch (IllegalAccessException e) { + e.printStackTrace(); + } catch (InvocationTargetException e) { + e.printStackTrace(); + } + return null; + } @Override public WxCouponSend getById(Long id,String tenantId) { @@ -398,7 +546,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { wxCouponSendQuery.setSendType(type.getCode()); wxCouponSendQuery.setStatus(EnumCouponSendStatus.VALID.getCode()); - List wxCouponSends = wxCouponSendMapper.findListVo(wxCouponSendQuery); + List wxCouponSends = findListVo(wxCouponSendQuery); for (WxCouponSend send : wxCouponSends) { boolean checkLimit = false; // 检查疲劳度 @@ -716,7 +864,7 @@ public class WxCouponSendServiceImpl implements WxCouponSendService { throw new MallinkException(ErrorCode.USER_NOT_AUTH_PHONE); } - List couponSendList = wxCouponSendMapper.findListVo(wxCouponSend); + List couponSendList = findListVo(wxCouponSend); if (CollectionUtils.isEmpty(couponSendList)) { throw new MallinkException(ErrorCode.COUPON_IS_EMPTY); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java index c068dd860..7d3a21ae1 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java @@ -26,8 +26,6 @@ import com.iformall.service.excel.WxCardDataExporter; import com.iformall.service.excel.WxCouponDataExporter; import com.iformall.service.excel.WxPressDataExporter; -import cn.afterturn.easypoi.handler.inter.IExcelExportServer; - import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; @@ -964,7 +962,7 @@ public class WxCouponServiceImpl implements WxCouponService { } @Override - public Map getCouponMerchant(List couponIds, TenantEntity tenantEntity) { + public Map getCouponMerchantMap(List couponIds, TenantEntity tenantEntity) { Map couponMerchantMap = new HashMap(); if(null != couponIds && couponIds.size() > 0){ List merchantIds = wxCouponMerchantMapper.findMerchantByProductIds(tenantEntity.getTenantId(),couponIds); @@ -982,7 +980,6 @@ public class WxCouponServiceImpl implements WxCouponService { } List merchantProductVos = wxCouponMerchantMapper.findMerchantProduct(tenantEntity.getTenantId(), merchantIds); -// Map couponMerchantMap = new HashMap(); if (null != merchantProductVos) { for (int i = 0 ; i < merchantProductVos.size(); i ++) { WxMerchantProductVo mp = merchantProductVos.get(i); @@ -999,5 +996,20 @@ public class WxCouponServiceImpl implements WxCouponService { return couponMerchantMap; } + @Override + public Map getCouponMap(List couponIds, TenantEntity tenantEntity) { + Map couponMap = new HashMap(); + if(null != couponIds && couponIds.size() > 0){ + WxCoupon couponQ = new WxCoupon(); + couponQ.updateTenantInfo(tenantEntity); + couponQ.setIds(couponIds); + List couponList = wxCouponMapper.newfindCList(couponQ); + for (WxCoupon c:couponList) { + couponMap.put(c.getId(),c); + } + } + return couponMap; + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index 876cc7a9c..3978f40c9 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -10,6 +10,7 @@ import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.common.ResultData; import com.iformall.domain.po.*; +import com.iformall.domain.po.base.BaseTenantEntity; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.po.msg.WxMsg; import com.iformall.domain.vo.MerchantCreditRankingVo; @@ -22,6 +23,8 @@ import com.iformall.utils.CreditUtil; import com.iformall.utils.RedisLock; import com.iformall.utils.UserUtil; import lombok.extern.slf4j.Slf4j; + +import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,8 +37,11 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import java.lang.reflect.InvocationTargetException; import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -122,10 +128,209 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { @Override public void exportData(HttpServletRequest request, HttpServletResponse response, WxCreditHistory wxCreditHistory) { - List wxCreditHistoryVoList = wxCreditHistoryMapper.findListMore(wxCreditHistory); - excelService.exportExcel(wxCreditHistoryVoList, null, "积分变更记录", WxCreditHistoryVo.class, "积分变更记录.xlsx", response, false); + PageInfo wxCreditHistoryVoList = findListMorePage(wxCreditHistory,0,50000); + excelService.exportExcel(wxCreditHistoryVoList.getList(), null, "积分变更记录", WxCreditHistoryVo.class, "积分变更记录.xlsx", response, false); } + + + private Map getUserMap(BaseTenantEntity tenantEntity,List cUserIdList) { + Map userMap = new HashMap(); + if (cUserIdList.size() > 0) { + WxCUserBasicInfo cUserBasicInfoQ = new WxCUserBasicInfo(); + cUserBasicInfoQ.setFinalTenantId(tenantEntity.getFinalTenantId()); + cUserBasicInfoQ.setIds(cUserIdList); + List userList = wxCUserBasicInfoMapper.findListPhoneAndNameByIds(cUserBasicInfoQ); + if (null != userList) { + for (int i = 0 ; i < userList.size() ; i ++) { + WxCUserBasicInfo cbi = userList.get(i); + userMap.put(cbi.getId(), cbi); + } + } + } + return userMap; + } + + private Map getMerchantNameMap(BaseTenantEntity tenantEntity,List merchantIdList) { + Map merchantNameMap = new HashMap(); + if (merchantIdList !=null && merchantIdList.size() > 0) { + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(tenantEntity); + merchantQ.setIds(merchantIdList); + List merchantList = wxMerchantMapper.findIdNameList(merchantQ); + if (null != merchantList) { + for (int i = 0 ; i < merchantList.size() ; i ++) { + WxMerchant cbi = merchantList.get(i); + merchantNameMap.put(cbi.getId(), cbi.getName()); + } + } + } + return merchantNameMap; + } + + private Map getMallUserInfoOperatorMap(BaseTenantEntity tenantEntity,List mallUserInfoOperatorIdList) { + Map mallUserInfoOperatorMap = new HashMap(); + if (mallUserInfoOperatorIdList.size() > 0) { + MallUserInfo mallUserInfoQ = new MallUserInfo(); + mallUserInfoQ.updateTenantInfo(tenantEntity); + mallUserInfoQ.setIds(mallUserInfoOperatorIdList); + List userList = mallUserInfoMapper.findList(mallUserInfoQ); + if (null != userList) { + for (int i = 0 ; i < userList.size() ; i ++) { + MallUserInfo cbi = userList.get(i); + mallUserInfoOperatorMap.put(cbi.getId(), cbi.getName()); + } + } + } + return mallUserInfoOperatorMap; + } + + private Map getMerchantBUserOperatorMap(BaseTenantEntity tenantEntity,List merchantBUserOperatorIdList) { + Map merchantBUserOperatorMap = new HashMap(); + if (merchantBUserOperatorIdList.size() > 0) { + WxMerchantBUser merchantBUserQ = new WxMerchantBUser(); + merchantBUserQ.updateTenantInfo(tenantEntity); + merchantBUserQ.setIds(merchantBUserOperatorIdList); + List userList = wxMerchantBUserMapper.findSimpleList(null); + if (null != userList) { + for (int i = 0 ; i < userList.size() ; i ++) { + WxMerchantBUser cbi = userList.get(i); + merchantBUserOperatorMap.put(cbi.getId(), cbi.getName()); + } + } + } + return merchantBUserOperatorMap; + } + + private List creditHistoryToVoList(BaseTenantEntity tenantEntity,List credithistoryList) { + if (null != credithistoryList) { + + List merchantIdList = new ArrayList(); + List cUserIdList = new ArrayList(); + List mallUserInfoOperatorIdList = new ArrayList(); + List merchantBUserOperatorIdList = new ArrayList(); + List cUserBasicInfoOperatorIdList = new ArrayList(); + + for (int i = 0 ; i < credithistoryList.size() ; i++) { + WxCreditHistory creditHistory = credithistoryList.get(i); + Long cUserId = creditHistory.getCUserId(); + Long merchantId = creditHistory.getMerchantId(); + Long operatorId = creditHistory.getOperatorId(); + if (null != cUserId) { + if (!cUserIdList.contains(cUserId)) { + cUserIdList.add(cUserId); + } + } + if (null != merchantId) { + if (!merchantIdList.contains(merchantId)) { + merchantIdList.add(merchantId); + } + } + if (null != operatorId && null != creditHistory.getOperatorType()) { + if (creditHistory.getOperatorType() == 4) { + if (!mallUserInfoOperatorIdList.contains(operatorId)) { + mallUserInfoOperatorIdList.add(operatorId); + } + }else if (creditHistory.getOperatorType() == 3) { + if (!merchantBUserOperatorIdList.contains(operatorId)) { + merchantBUserOperatorIdList.add(operatorId); + } + }else if (creditHistory.getOperatorType() == 2) { + if (!cUserBasicInfoOperatorIdList.contains(operatorId)) { + cUserBasicInfoOperatorIdList.add(operatorId); + } + } + } + } + Map userMap = getUserMap(tenantEntity,cUserIdList); + Map merchantNameMap = getMerchantNameMap(tenantEntity,merchantIdList); + Map mallUserInfoOperatorMap = getMallUserInfoOperatorMap(tenantEntity,mallUserInfoOperatorIdList); + Map merchantBUserOperatorMap = getMerchantBUserOperatorMap(tenantEntity,merchantBUserOperatorIdList); + Map cUserBasicInfoOperatorMap = getUserMap(tenantEntity,cUserBasicInfoOperatorIdList); + + List retList = new ArrayList(); + for (int i = 0 ; i < credithistoryList.size() ; i++) { + WxCreditHistory creditHistory = credithistoryList.get(i); + WxCreditHistoryVo vo = new WxCreditHistoryVo(); + vo.initByCreditHistory(creditHistory); + if (null != vo.getCUserId()) { + WxCUserBasicInfo user = userMap.get(vo.getCUserId()); + if (null != user) { + String name = user.getNickName(); + if (StringUtils.isBlank(name)) { + name = user.getName(); + } + vo.setName(name); + if (null != user.getSex()) { + vo.setSex(String.valueOf(user.getSex())); + } + vo.setPhone(user.getPhone()); + } + } + vo.setMerchantName(merchantNameMap.get(vo.getMerchantId())); + if (null != vo.getOperatorId()) { + if (creditHistory.getOperatorType() == 4) { + vo.setOperator(mallUserInfoOperatorMap.get(vo.getOperatorId())); + }else if (creditHistory.getOperatorType() == 3) { + vo.setOperator(merchantBUserOperatorMap.get(vo.getOperatorId())); + }else if (creditHistory.getOperatorType() == 2) { + WxCUserBasicInfo bi = cUserBasicInfoOperatorMap.get(vo.getOperatorId()); + if (null != bi) { + String name = bi.getNickName(); + if (StringUtils.isBlank(name)) { + name = bi.getName(); + } + vo.setOperator(name); + } + }else { + vo.setOperator(""); + } + } + retList.add(vo); + } + return retList; + } + return null; + } + + @Override + public PageInfo findListMorePage(WxCreditHistory wxCreditHistory,Integer pageIndex, Integer pageSize) { + String merchantName = StringUtils.trimToNull(wxCreditHistory.getMerchantName()); + if(!StringUtils.isBlank(merchantName)) { + WxMerchant merchantQ = new WxMerchant(); + merchantQ.updateTenantInfo(wxCreditHistory); + merchantQ.setName(merchantName); + List merchantIds = wxMerchantMapper.findIdList(merchantQ); + if (null != merchantIds && merchantIds.size() > 0 ) { + wxCreditHistory.setMerchantIds(merchantIds); + } + } + + String name = StringUtils.trimToNull(wxCreditHistory.getName()); + String phone = StringUtils.trimToNull(wxCreditHistory.getPhone()); + if (StringUtils.isBlank(name) && StringUtils.isBlank(phone)) { + }else { + WxCUserBasicInfo biq = new WxCUserBasicInfo(); + biq.setFinalTenantId(wxCreditHistory.getFinalTenantId()); + biq.setName(name); + biq.setPhone(phone); + List cUserIds = wxCUserBasicInfoMapper.findIdList(biq); + if (null != cUserIds && cUserIds.size() > 0 ) { + wxCreditHistory.setCUserIds(cUserIds); + } + } + + PageInfo pageInfo = PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxCreditHistoryMapper.findListMore(wxCreditHistory)); + PageInfo retPageInfo = new PageInfo(); + retPageInfo.setPageNum(pageInfo.getPageNum()); + retPageInfo.setPageSize(pageInfo.getPageSize()); + retPageInfo.setPages(pageInfo.getPages()); + retPageInfo.setList(creditHistoryToVoList(wxCreditHistory,pageInfo.getList())); + return retPageInfo; + } + + + @Override public ResultData getCreditSummary(WxCreditHistory wxCreditHistory) { @@ -168,9 +373,7 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { @Override public PageInfo listAsPageMore(WxCreditHistory record, Integer pageIndex, Integer pageSize) { - PageHelper.startPage(pageIndex, pageSize); - List wxCreditHistoryVoList = wxCreditHistoryMapper.findListMore(record); - return new PageInfo<>(wxCreditHistoryVoList); + return findListMorePage(record,pageIndex,pageSize); } // public void supplyCreditInfo(List wxCreditHistoryVoList) { diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java index 9f833fe1b..bb01aadeb 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxGameServiceImpl.java @@ -230,16 +230,10 @@ public class WxGameServiceImpl implements WxGameService { couponChannelQ.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_GAME.getCode()); couponChannelQ.setSubTargetId(record.getId()); couponChannelQ.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); - //TODO 待优化数据 - List wxCouponChannelVos = RedisCacheUtils.getCacheListObject(redisTemplate, "gameCoupons:"+record.getId(), WxCouponChannelVo.class); - if (null == wxCouponChannelVos) { - wxCouponChannelVos = wxCouponChannelService.listVo(couponChannelQ); - if (null != wxCouponChannelVos) { - RedisCacheUtils.cache(redisTemplate, "gameCoupons:"+record.getId(), wxCouponChannelVos, 3600); - } - } + List voList = wxCouponChannelService.newfindListVo(couponChannelQ); + Map wxCouponChannelsMap = new HashMap(); - for(WxCouponChannelVo wxCouponChannelVo: wxCouponChannelVos) { + for(WxCouponChannelVo wxCouponChannelVo: voList) { wxCouponChannelsMap.put(wxCouponChannelVo.getCouponId(), wxCouponChannelVo); } @@ -407,20 +401,7 @@ public class WxGameServiceImpl implements WxGameService { wxCouponChannel.setId(idWorker.nextId()); 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 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()); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMallBuildingServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMallBuildingServiceImpl.java index 40616f8d4..508b00af3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMallBuildingServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMallBuildingServiceImpl.java @@ -231,5 +231,12 @@ public class WxMallBuildingServiceImpl implements WxMallBuildingService { wxMallFloorMapper.updateById(mallFloor); } + @Override + public Map getBuildingMap(TenantEntity tenantInfo) { + List idAndNameS = wxMallBuildingMapper.findIdAndName(tenantInfo.getTenantId()); + Map maps = idAndNameS.stream().collect(Collectors.toMap(WxMallBuilding::getId, WxMallBuilding::getBuildingName, (key1, key2) -> key2)); + return maps; + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMallFloorServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMallFloorServiceImpl.java index b3adcf43c..3561f2876 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMallFloorServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMallFloorServiceImpl.java @@ -1,6 +1,8 @@ package com.iformall.service.impl; import java.util.*; +import java.util.stream.Collectors; + import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; @@ -16,6 +18,7 @@ import com.iformall.common.IdWorker; @Service public class WxMallFloorServiceImpl implements WxMallFloorService { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired @@ -73,5 +76,12 @@ public class WxMallFloorServiceImpl implements WxMallFloorService { wxMallFloorMapper.deleteByTenantId(tenantId); } + @Override + public Map getFloorMap(TenantEntity tenantInfo) { + List idAndNameS = wxMallFloorMapper.findIdAndName(tenantInfo.getTenantId()); + Map maps = idAndNameS.stream().collect(Collectors.toMap(WxMallFloor::getId, WxMallFloor::getFloorName, (key1, key2) -> key2)); + return maps; + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 2e5a068a6..a339be149 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/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.mapper.*; import com.iformall.service.*; +import com.iformall.utils.Constant; import com.iformall.utils.DateUtils; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -106,12 +107,23 @@ public class WxMerchantServiceImpl implements WxMerchantService { @Autowired WxMallService wxMallService; + @Autowired + WxShopService wxShopService; + @Autowired TtCouponMapper ttCouponMapper; @Autowired TtUserFollowMapper ttUserFollowMapper; + @Autowired + WxMallFloorService wxMallFloorService; + @Autowired + WxMallBuildingService wxMallBuildingService; + + @Autowired + private QrCodeService qrCodeService; + @Override public PageInfo listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMerchantMapper.findList(record)); @@ -446,6 +458,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 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 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}) @Override public ResultData updateMerchant(WxMerchant wxMerchant) { @@ -1158,4 +1196,29 @@ public class WxMerchantServiceImpl implements WxMerchantService { return null; } + @Override + public List newFindByCouponId(TenantEntity tenantInfo, Long couponId) { + List merchantIds = wxCouponMerchantMapper.findMerchantByProductId(tenantInfo.getTenantId(), couponId); + List wxMerchantVoList = wxMerchantMapper.newFindListCVo(tenantInfo.getTenantId(),merchantIds); + handleShopVo(tenantInfo,wxMerchantVoList); + return wxMerchantVoList; + } + + private void handleShopVo(TenantEntity tenantInfo,List wxMerchantVoList){ + if(wxMerchantVoList != null && wxMerchantVoList.size() > 0){ + Map floorMap = wxMallFloorService.getFloorMap(tenantInfo); + Map buildingMap = wxMallBuildingService.getBuildingMap(tenantInfo); + for (WxMerchantVo wv:wxMerchantVoList) { + List shopVoList = wxShopService.newFindByMerchantId(tenantInfo.getTenantId(),wv.getId()); + if(shopVoList != null && shopVoList.size() > 0){ + for (WxShopVo sv:shopVoList) { + sv.setBuildingName(buildingMap.get(sv.getBuilding())); + sv.setFloorName(floorMap.get(sv.getFloor())); + } + } + wv.setShopVoList(shopVoList); + } + } + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java index 8098da1f7..45c14f407 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMsgServiceImpl.java @@ -25,6 +25,7 @@ import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -49,6 +50,7 @@ public class WxMsgServiceImpl implements WxMsgService { @Autowired WxMsgConfigMapper wxMsgConfigMapper; + @Lazy @Autowired WxCUserTagsService wxCUserTagsService; @@ -67,15 +69,19 @@ public class WxMsgServiceImpl implements WxMsgService { @Autowired MqBaseProducer mqBaseProducer; + @Lazy @Autowired WxCUserBasicInfoService wxCUserBasicInfoService; + @Lazy @Autowired PushLimitService pushLimitService; + @Lazy @Autowired WxAppinfoService wxAppinfoService; + @Lazy @Autowired WxCUserService wxCUserService; diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java index 9aa2938f9..cd0a6739b 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxProfitSharingOrderServiceImpl.java @@ -546,17 +546,14 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ return new ResultData(ErrorCode.SYS_PARAMETER_ERROR); } - final IdWorker idworker = IdWorker.get(); - - WxAppinfo appInfo = getAppinfo(wxPayOrder.getTenantId(),wxPayOrder.getPayVendor()); WxPayAccount payAccount = wxPayAccountMapper.selectById(appInfo.getPayId()); - //分账检查是否已创建分账订单 WxProfitSharingOrder record = new WxProfitSharingOrder(); //创建分账订单 Date currentDate = new Date(); + final IdWorker idworker = IdWorker.get(); record.setId(idworker.nextId()); record.updateTenantInfo(payAccount); record.setTransactionId(wxPayOrder.getTransactionId()); @@ -571,21 +568,21 @@ public class WxProfitSharingOrderServiceImpl implements WxProfitSharingOrderServ record.setType(EnumProfitSharingOrderType.PROFIT_SHARING_DOUYIN_SINGLE.getCode()); wxProfitSharingOrderMapper.insert(record); - //分账提交 - PayShareResult shareResult = payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor()).noReciverShare(appInfo,payAccount,record,wxPayOrder.getPayOrderNo(),wxPayOrder.getShareAmount()); - if (!shareResult.isSuccess()) { - record.setSharingStatus(shareResult.getCode()); - record.setErrorMsg(shareResult.getMsg()); - record.setUpdateTime(new Date()); - wxProfitSharingOrderMapper.updateById(record); - return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),record.getErrorMsg()); - } - - record.setSharingOrderNo(shareResult.getShareOrderNo()); - record.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_ACCEPTED.getCode()); - record.setUpdateTime(new Date()); - wxProfitSharingOrderMapper.updateById(record); - return new ResultData(shareResult.getData()); +// //分账提交 +// PayShareResult shareResult = payServiceFactory.getPayShareAdapterService(wxPayOrder.getPayVendor()).noReciverShare(appInfo,payAccount,record,wxPayOrder.getPayOrderNo(),wxPayOrder.getShareAmount()); +// if (!shareResult.isSuccess()) { +// record.setSharingStatus(shareResult.getCode()); +// record.setErrorMsg(shareResult.getMsg()); +// record.setUpdateTime(new Date()); +// wxProfitSharingOrderMapper.updateById(record); +// return new ResultData(ErrorCode.PROFIT_SHARING_REQUEST_FAILED.getCode(),record.getErrorMsg()); +// } +// +// record.setSharingOrderNo(shareResult.getShareOrderNo()); +// record.setSharingStatus(EnumProfitSharingOrderStatus.PROFIT_SHARING_ACCEPTED.getCode()); +// record.setUpdateTime(new Date()); +// wxProfitSharingOrderMapper.updateById(record); + return new ResultData(); } @Override diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java index eac62a601..37e97fe16 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxScoreRulesServiceImpl.java @@ -6,10 +6,7 @@ import com.iformall.common.ErrorCode; import com.iformall.common.IdWorker; import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; -import com.iformall.enums.EnumBusiness; -import com.iformall.enums.EnumCUserBasicInfoStatus; -import com.iformall.enums.EnumScoreRules; -import com.iformall.enums.EnumScoreType; +import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.mapper.*; import com.iformall.service.WxCUserService; @@ -56,7 +53,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { wxScoreRules.setCreateDate(new Date()); wxScoreRules.setUpdateDate(new Date()); wxScoreRules.setType(EnumScoreRules.CREDIT.getCode()); - wxScoreRules.setCreditLocked(1); + wxScoreRules.setCreditLocked(EnumCreditLockedStatus.OPEN.getCode()); wxScoreRulesMapper.insert(wxScoreRules); wxScoreRules = new WxScoreRules(); wxScoreRules.setTenantId(tenantId); @@ -64,7 +61,7 @@ public class WxScoreRulesServiceImpl implements WxScoreRulesService { wxScoreRules.setCreateDate(new Date()); wxScoreRules.setUpdateDate(new Date()); wxScoreRules.setType(EnumScoreRules.SCORE.getCode()); - wxScoreRules.setCreditLocked(0); + wxScoreRules.setCreditLocked(EnumCreditLockedStatus.CLOSE.getCode()); wxScoreRulesMapper.insert(wxScoreRules); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java index e4f21908f..72e25c258 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java @@ -260,4 +260,11 @@ public class WxShopServiceImpl implements WxShopService { } return null; } + + @Override + public List newFindByMerchantId(String tenantId, Long merchantId) { + List shopIds = wxMerchantShopMapper.findShopIds(merchantId); + List shopVoList = wxShopMapper.newFindShopVoList(tenantId,shopIds); + return shopVoList; + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxTopicServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxTopicServiceImpl.java index 8a94377ac..dede4bbb3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxTopicServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxTopicServiceImpl.java @@ -167,20 +167,7 @@ public class WxTopicServiceImpl implements WxTopicService { wxCouponChannel.setSubBusiness(wxCoupon.getSubBusiness()); 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 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()); } } @@ -217,7 +204,7 @@ public class WxTopicServiceImpl implements WxTopicService { } - PageInfo wxCouponChannelVoPageInfo = wxCouponChannelService.listPageCVo(wxCouponChannel, 1, pageSize); + PageInfo wxCouponChannelVoPageInfo = wxCouponChannelService.newListPageVo(wxCouponChannel, 1, pageSize); if(wxCouponChannelVoPageInfo != null && wxCouponChannelVoPageInfo.getList() != null && wxCouponChannelVoPageInfo.getList().size() > 0){ record.setCouponList(wxCouponChannelVoPageInfo.getList()); @@ -257,10 +244,8 @@ public class WxTopicServiceImpl implements WxTopicService { wxCouponChannel.setSortColumns(BaseEntity.SortField.CCUpdateDate_DESC, BaseEntity.SortField.CCId_DESC); wxCouponChannel.setShowBeginTime(new Date()); wxCouponChannel.setSubTargetId(wxTopic.getId()); - List wxCouponChannelVos = wxCouponChannelService.listVo(wxCouponChannel); - if(wxCouponChannelVos != null && wxCouponChannelVos.size() > 0){ - wxTopic.setCouponList(wxCouponChannelVos); - } + List voList = wxCouponChannelService.newfindListVo(wxCouponChannel); + wxTopic.setCouponList(voList); } return wxTopic; } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxUserCouponServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxUserCouponServiceImpl.java index 83af99b28..1b534fec6 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxUserCouponServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxUserCouponServiceImpl.java @@ -2,6 +2,7 @@ package com.iformall.service.impl; import com.iformall.domain.dto.WxUserCouponDto; import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCouponOrder; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.mapper.WxCouponMapper; import com.iformall.mapper.WxCouponOrderMapper; import com.iformall.service.WxUserCouponService; @@ -34,11 +35,12 @@ public class WxUserCouponServiceImpl implements WxUserCouponService { * @return */ @Override - public List findList(Long userId, int status) { + public List findList(TenantEntity tenantEntity,Long userId, int status) { //TODO 待测试优化 List wxUserCoupons = new ArrayList<>(); //查询订单表 WxCouponOrder wxCouponOrder = new WxCouponOrder(); + wxCouponOrder.updateTenantInfo(tenantEntity); wxCouponOrder.setCUserId(userId); wxCouponOrder.setCouponOrderStatus(status);//状态:0,待使用 1,已核销 2,已过期 3,已退款 List wxCouponOrders = wxCouponOrderMapper.findList(wxCouponOrder); @@ -47,6 +49,7 @@ public class WxUserCouponServiceImpl implements WxUserCouponService { } List ids = wxCouponOrders.stream().map(p->p.getCouponId()).distinct().collect(Collectors.toList()); WxCoupon wxCoupon = new WxCoupon(); + wxCoupon.updateTenantInfo(tenantEntity); wxCoupon.setIds(ids); List wxCoupons = wxCouponMapper.findList(wxCoupon); Map couponNamesMap = wxCoupons.stream().collect(Collectors.toMap(WxCoupon::getId,p->p)); diff --git a/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java b/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java index 6c194f7fc..c326a17aa 100644 --- a/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java +++ b/mallinkService/src/main/java/com/iformall/service/park/impl/etcp/EtcpHelper.java @@ -371,8 +371,13 @@ public class EtcpHelper { String ret = ""; try { + + String couponFreeId = couponFreeIdFromJson(userCar.getVendorParams()); + if (StringUtils.isBlank(couponFreeId)) { + return new ResultData(ErrorCode.DB_FAIL.getCode(), "vendorParams解析错误"); + } ret = etcp.bCouponRecord(url, merchantNo, merchantKey, version, - etcpToken, park.getParkId(), businessId, carNumber, String.valueOf(userCar.getCouponFreeId())); + etcpToken, park.getParkId(), businessId, carNumber, couponFreeId); } catch (MallinkException e) { logger.error("ETCP failed: " + e.getMessage()); return new ResultData(e.getErrorCode(), e.getMessage()); @@ -392,6 +397,20 @@ public class EtcpHelper { } } + private String couponFreeIdFromJson(String json) { + if (StringUtils.isBlank(json)) { + return null; + } + JSONObject object = JSON.parseObject(json); + if (null != object) { + Integer id = object.getInteger("id"); + if (null != id) { + return String.valueOf(id); + } + } + return null; + } + public void updateWxCouponOrderUsed(WxCouponOrderCarCVo userCar,WxPark park) throws Exception { // 券状态设为已使用 WxCouponOrder couponOrder = new WxCouponOrder(); diff --git a/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java b/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java index 1429e6448..03fd0da8e 100644 --- a/mallinkService/src/main/java/com/iformall/service/pay/PayServiceFactory.java +++ b/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.concurrent.ConcurrentHashMap; +import com.iformall.enums.EnumAppPlat; 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.share.douyin.TtPayShareService; @@ -32,6 +33,7 @@ import com.iformall.service.pay.service.share.wx.WxPayShareService; public class PayServiceFactory { private Map serviceMap = null; + private Map qrcodeMap = null; private Map shareMap = null; private Map refundMap = null; private Map cashoutMap = null; @@ -74,6 +76,15 @@ public class PayServiceFactory { } return serviceMap; } + + private Map getQrcodeMap() { + if (null == qrcodeMap) { + qrcodeMap = new ConcurrentHashMap(); + qrcodeMap.put(EnumAppPlat.WX.getCode(), wxMiniAppPayService); + qrcodeMap.put(EnumAppPlat.TOUTIAO.getCode(),ttMiniAppPayService); + } + return qrcodeMap; + } private Map getShareMap(){ if (null == shareMap ) { @@ -122,6 +133,14 @@ public class PayServiceFactory { } 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{ PayAdapterService service = getServiceMap().get(type); diff --git a/mallinkService/src/main/resources/mapper/TtBuserMapper.xml b/mallinkService/src/main/resources/mapper/TtBuserMapper.xml index 904a3caa3..ad084a638 100644 --- a/mallinkService/src/main/resources/mapper/TtBuserMapper.xml +++ b/mallinkService/src/main/resources/mapper/TtBuserMapper.xml @@ -46,6 +46,7 @@ + @@ -57,7 +58,7 @@ `update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`, `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`, - `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` diff --git a/mallinkService/src/main/resources/mapper/TtCUserMapper.xml b/mallinkService/src/main/resources/mapper/TtCUserMapper.xml index 28954defe..2aa9e1151 100644 --- a/mallinkService/src/main/resources/mapper/TtCUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/TtCUserMapper.xml @@ -47,6 +47,7 @@ + @@ -57,7 +58,7 @@ `login_count`, `extra_info`, `is_subscribe`, `open_app_id`, `mp_open_id`,`mp_app_id`,`mp_subscribe`,`mp_subscribe_time`,`mp_subscribe_scene`, - `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time` + `subs_open_id`,`subs_app_id`,`subs_subscribe`,`subs_subscribe_time`,`subs_subscribe_scene`,`credit`,`active_time`,`qr_code` diff --git a/mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml index 33b8e3de3..bb682efbb 100644 --- a/mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxAuthorizerInfoMapper.xml @@ -310,7 +310,7 @@ from wx_authorizer_info ai left join wx_appinfo a on ai.`authorizer_appid` = a.app_id - where a.type = 1 or a.type = 2 + where (a.type = 1 or a.type = 2) diff --git a/mallinkService/src/main/resources/mapper/WxBuserMapper.xml b/mallinkService/src/main/resources/mapper/WxBuserMapper.xml index 357fdf922..3f96d925d 100644 --- a/mallinkService/src/main/resources/mapper/WxBuserMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBuserMapper.xml @@ -46,6 +46,7 @@ + @@ -57,7 +58,7 @@ `update_date`,`create_date`,`app_id`,`token`,`expire_time`,`latitude`, `longitude`, `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`, - `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` diff --git a/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml b/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml index dfe9d0b84..8d6b36463 100644 --- a/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBusinessMapper.xml @@ -83,14 +83,20 @@ where (select count(*) from wx_coupon_channel cc where b.id = cc.business + and cc.status = 0 and cc.`tenant_id` = #{tenantId} and cc.`parent_tenant_id` = #{parentTenantId} - and cc.status = 0 - and cc.target_ad = 1) > 0 + + and cc.target_ad = 1 + + + and cc.target_ad = 101 + + ) > 0 order by create_date asc diff --git a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index b1baaea25..ddbea7775 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -29,14 +29,13 @@ - 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.`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`, wcubi.score_date,wcubi.status @@ -46,16 +45,12 @@ - where 1 = 1 + where wcubi.`final_tenant_id` = #{finalTenantId} and wcubi.`id` = #{id} - - and wcubi.`final_tenant_id` = #{finalTenantId} - - and wcubi.`phone` like concat('%', #{phone},'%') @@ -245,7 +240,7 @@ - - + + + - + select cs.merchant_id as merchantId, count(1) as count from wx_card_spend cs - inner join wx_merchant m on m.id = cs.merchant_id - where 1 = 1 - - and cs.`owner_id` = #{ownerId} - - - and cs.`tenant_id` = #{tenantId} - + where cs.`owner_id` = #{ownerId} and cs.`tenant_id` = #{tenantId} and cs.`parent_tenant_id` = #{parentTenantId} @@ -233,59 +226,15 @@ ((date_format(cs.create_date,'%H:%m') < '06:00') and date_format(cs.create_date,'%w') in (6,0))) - group by m.business_id - - - - diff --git a/mallinkService/src/main/resources/mapper/WxCardTransferInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCardTransferInfoMapper.xml index aa00bddda..28bca16ca 100644 --- a/mallinkService/src/main/resources/mapper/WxCardTransferInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCardTransferInfoMapper.xml @@ -1,6 +1,114 @@ + + + + + + + + + + + + + + + + + + + `id`,`tenant_id`,`parent_tenant_id`,`coupon_order_id`,`title`,`amount`,`remain_amount`,`from_user`,`to_user`,`status`,`expired_time`, + `create_date`,`update_date` + + + + where 1 = 1 + + + and `id` = #{id} + + + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + + + and `coupon_order_id` = #{couponOrderId} + + + + and `from_user` = #{fromUser} + + + + and `to_user` = #{toUser} + + + + and `status` = #{status} + + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update wx_card_transfer_info set expired_time = #{expiredTime},update_date=now() where coupon_order_id in diff --git a/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml index 6d3a5dcb8..05d2ab1c7 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponActionLogMapper.xml @@ -274,7 +274,7 @@ @@ -267,7 +262,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.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, - cc.qr_code + cc.qr_code,cc.tt_qr_code @@ -317,7 +312,8 @@ - + + @@ -366,7 +362,8 @@ - + + @@ -422,7 +419,7 @@ @@ -430,4 +427,90 @@ + diff --git a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml index de5452bce..a27291bf0 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMapper.xml @@ -255,6 +255,9 @@ and `credit_price` = #{creditPrice} + + and `credit_price` <= #{userCredit} + and `credit_refund` = #{creditRefund} @@ -300,7 +303,14 @@ and type not in - + + #{ntypeItem} + + + + + and type in + #{typeItem} @@ -314,8 +324,33 @@ + + + + + + + + update wx_coupon set is_del = 1 where id = #{id} and tenant_id = #{tenantId} @@ -523,58 +598,6 @@ and cm.`merchant_id` = #{merchantId} - - and JSON_CONTAINS(c.gift_list,json_array(#{giftList})) @@ -1222,4 +1245,28 @@ update wx_coupon set valid_end_date = #{validEndDate} , update_date = #{updateDate} where id = #{id} + + + diff --git a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml index 4aa444bca..52cb52ecf 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponMerchantMapper.xml @@ -161,9 +161,9 @@ + + + + diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 7ae56ce22..dd2654011 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -43,15 +43,10 @@ - where 1 = 1 - + where `tenant_id` = #{tenantId} and `id` = #{id} - - - and `tenant_id` = #{tenantId} - and `parent_tenant_id` = #{parentTenantId} @@ -157,7 +152,50 @@ select from wx_coupon_order - + + + + + update wx_coupon_order set `coupon_order_status` = #{couponOrderStatus}, @@ -249,62 +287,58 @@ where id=#{id} - + select DATE_FORMAT(create_date,'%m/%d') as createTime ,count(1) as count from wx_coupon_order co + where `tenant_id` = #{tenantId} and `parent_tenant_id` = #{parentTenantId} - AND c.update_date >= #{startTime} - AND c.update_date <= #{endTime}) as verifyCount, - (select Count(DISTINCT c_user_id) - from ( - SELECT * from wx_coupon_order${tenantEntity.shardTableSuffix} - ) d - where coupon_order_status=1 - AND DATE_FORMAT(create_date,'%m/%d')=createTime - - and `tenant_id` = #{tenantId} + + AND co.create_date_times >= #{startCreateDateTimes} - - and `parent_tenant_id` = #{parentTenantId} + + AND co.create_date_times <= #{endCreateDateTimes} - AND d.update_date >= #{startTime} - AND d.update_date <= #{endTime}) as verifyUserCount - from ( - SELECT * from wx_coupon_order${tenantEntity.shardTableSuffix} - ) wx_coupon_order - where 1=1 - - and `tenant_id` = #{tenantId} + + and co.coupon_order_status = #{couponOrderStatus} + + + AND co.update_date >= #{updateStartTime} + + AND co.update_date <= #{updateEndTime} + + group by DATE_FORMAT(create_date,'%m/%d') + + + - + SELECT xTime, sum(pv) pv, sum(uv) uv, sum(couponCount) couponCount, sum(userCount) userCount, sum(verifyCount) verifyCount, sum(verifyUserCount) verifyUserCount - FROM ( - SELECT * from view_touch_user${tenantEntity.shardTableSuffix} WHERE `tenant_id` = #{tenantEntity.tenantId} - ) view_touch_user - WHERE 1=1 - - and `tenant_id` = #{tenantId} - + from view_touch_user${tenantEntity.shardTableSuffix} WHERE `tenant_id` = #{tenantEntity.tenantId} and `parent_tenant_id` = #{parentTenantId} @@ -350,9 +378,7 @@ select DATE_FORMAT(update_date,'%Y-%m-%d') xTime, count(c.id) triggerCount - from ( - SELECT * from wx_coupon_order${tenantEntity.shardTableSuffix} - ) c - where 1=1 - - and c.`tenant_id` = #{tenantId} - + from wx_coupon_order c where c.`tenant_id` = #{tenantId} and c.`parent_tenant_id` = #{parentTenantId} @@ -384,13 +404,13 @@ group by xTime - SELECT IFNULL(SUM(coupon_price),0) from wx_coupon_order - where 1=1 - - and `tenant_id` = #{tenantId} - + where `tenant_id` = #{tenantId} and `parent_tenant_id` = #{parentTenantId} @@ -429,27 +446,16 @@ and coupon_type = #{couponType} - and create_date >= #{startTime} + and create_date_times >= unix_timestamp(#{startTime})*1000 - and create_date <= #{endTime} + and create_date_times <= unix_timestamp(#{endTime})*1000 select COALESCE(sum(coupon_number),0) FROM wx_coupon_order co - where 1=1 - - and co.`tenant_id` = #{tenantId} - + where co.`tenant_id` = #{tenantId} and co.`parent_tenant_id` = #{parentTenantId} @@ -560,14 +563,9 @@ - + select co.coupon_id as couponId, count(1) as count FROM wx_coupon_order co + where co.`tenant_id` = #{tenantId} and co.`parent_tenant_id` = #{parentTenantId} @@ -583,101 +581,12 @@ and co.coupon_type = #{couponType} - - - - and co.update_date >= #{startTime} - - - and co.update_date <= #{endTime} - - - and date_format(co.update_date,'%H:%m') >= '06:00' - and date_format(co.update_date,'%H:%m') < '18:00' - and date_format(co.update_date,'%w') in (1,2,3,4,5) - - - and ((date_format(co.update_date,'%H:%m') >= '18:00' - and date_format(co.update_date,'%w') in (1,2,3,4)) - or - ((date_format(co.update_date,'%H:%m') < '06:00') - and date_format(co.update_date,'%w') in (1,2,3,4,5))) - - - and date_format(co.update_date,'%H:%m') >= '06:00' - and date_format(co.update_date,'%H:%m') < '18:00' - and date_format(co.update_date,'%w') in (0,6) - - - and ((date_format(co.update_date,'%H:%m') >= '18:00' - and date_format(co.update_date,'%w') in (5,6,0)) - or - ((date_format(co.update_date,'%H:%m') < '06:00') - and date_format(co.update_date,'%w') in (6,0))) - - - - - - and co.create_date >= #{startTime} - - - and co.create_date <= #{endTime} - - - and date_format(co.create_date,'%H:%m') >= '06:00' - and date_format(co.create_date,'%H:%m') < '18:00' - and date_format(co.create_date,'%w') in (1,2,3,4,5) - - - and ((date_format(co.create_date,'%H:%m') >= '18:00' - and date_format(co.create_date,'%w') in (1,2,3,4)) - or - ((date_format(co.create_date,'%H:%m') < '06:00') - and date_format(co.create_date,'%w') in (1,2,3,4,5))) - - - and date_format(co.create_date,'%H:%m') >= '06:00' - and date_format(co.create_date,'%H:%m') < '18:00' - and date_format(co.create_date,'%w') in (0,6) - - - and ((date_format(co.create_date,'%H:%m') >= '18:00' - and date_format(co.create_date,'%w') in (5,6,0)) - or - ((date_format(co.create_date,'%H:%m') < '06:00') - and date_format(co.create_date,'%w') in (6,0))) - - - group by c.business - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, - co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, - co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, - c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,c.auto_refund,c.business,c.subsidy_type,ms.subsidy subsidy_num, - bu.name, bu.phone as bphone, - cu.phone, - m.name as merchant_name,m.id as merchant_id - - - select co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.expired_time,co.coupon_order_status,co.order_id, co.create_date,co.update_date,co.coupon_price, co.verify_type, co.verify_remark,co.pay_vendor, co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`,co.send_merchant_id,co.subsidy FROM wx_coupon_order co where co.`tenant_id` = #{tenantId} + + and co.id = #{id} + + + and co.order_id = #{orderId} + + + and co.c_user_id = #{cUserId} + and co.coupon_type = #{couponType} @@ -944,19 +748,6 @@ AND co.update_date < #{verifyEndDate,jdbcType=TIMESTAMP} - - and co.id = #{id} - - - and co.order_id = #{orderId} - - - and c.id = #{couponId} - - - and co.c_user_id = #{cUserId} - - and co.coupon_id in @@ -972,22 +763,25 @@ order by ${sortColumns} - order by co.create_date desc,co.id desc + order by co.id desc + + + - select co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark, co.pay_vendor, - co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, - c.type,c.title,c.sale_price,c.use_price,c.price,c.unit,c.auto_refund,c.business,c.subsidy_type, - cu.phone,cu.nick_name + co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` FROM wx_coupon_order co - left join wx_coupon_merchant wcm on co.coupon_id = wcm.product_id and wcm.merchant_id = #{merchantId} - LEFT JOIN wx_c_user_basic_info cu ON cu.id=co.c_user_id - LEFT JOIN wx_coupon c ON c.id = co.coupon_id - where wcm.merchant_id = #{merchantId} + where co.`tenant_id` = #{tenantId} and co.coupon_type = #{couponType} @@ -1000,15 +794,9 @@ and co.coupon_type < 100 - - and co.`tenant_id` = #{tenantId} - and co.`parent_tenant_id` = #{parentTenantId} - - and cu.`phone` = #{cUserPhone} - and co.coupon_order_status = #{couponOrderStatus} @@ -1021,11 +809,11 @@ - AND co.create_date > #{startDate,jdbcType=TIMESTAMP} + AND co.create_date_times > unix_timestamp(#{startDate}) - AND co.create_date < #{endDate,jdbcType=TIMESTAMP} + AND co.create_date_times < unix_timestamp(#{endDate}) @@ -1042,134 +830,50 @@ and co.order_id = #{orderId} - - and c.id = #{couponId} - - - and c.title like concat('%', #{title},'%') - - - and c.`type` = #{type} - - - and c.business = #{business} - - - and c.`source_type` = #{sourceType} - - order by ${sortColumns} - order by co.create_date desc,co.id desc - - - - - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor, - co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, - c.type,c.title,c.sale_price,c.use_price,c.price,c.unit, - bu.name, - cu.phone - - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor, - co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, - c.type,c.title,c.sale_price,c.use_price,c.price,c.unit, - cu.phone - - - - - - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id, + - select - from wx_coupon_order co,wx_coupon_merchant cm, - (select tco.id as tcoid, - (select count(*) from wx_coupon_merchant tcm - where tcm.product_id = tco.coupon_id - and tcm.status = 0) - as mc - from wx_coupon_order tco) com - where com.mc = 1 - and co.tenant_id = #{tenantId} - and com.tcoid = co.id - and cm.status = 0 - and cm.merchant_id = #{merchantId} - and cm.product_id = co.coupon_id - - AND co.create_date > #{startDate,jdbcType=TIMESTAMP} + from wx_coupon_order co + where co.tenant_id = #{tenantId} + + AND co.create_date_times > #{startDateTimes} - - AND co.create_date < #{endDate,jdbcType=TIMESTAMP} + + AND co.create_date_times < #{endDateTimes} + + + and co.coupon_id in + + #{couponIdItem} + + - - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor, - co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info`, - c.type,c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.tail_price,c.orig_price,c.unit,c.detail,c.remark,c.valid_type,c.valid_start_date,c.valid_end_date,c.pick_start_date,c.pick_end_date,c.auto_refund - - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor, - co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - select - from wx_coupon c,wx_coupon_order co - - where 1=1 - and co.coupon_id = c.id + co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` + from wx_coupon_order co + where co.c_user_id = #{cUserId} and co.`tenant_id` = #{tenantId} and co.coupon_type = #{couponType} @@ -1350,15 +902,9 @@ - - and co.c_user_id = #{cUserId} - and co.owner_id = #{ownerId} - - and co.`tenant_id` = #{tenantId} - and co.`parent_tenant_id` = #{parentTenantId} @@ -1368,220 +914,85 @@ AND co.coupon_order_status = #{couponOrderStatus} + + and co.coupon_id in + + #{couponIdItem} + + order by ${sortColumns} - - - - - - + select + co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor, + co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` from wx_coupon_order co where co.id = #{id} and co.tenant_id = #{tenantId} - + select + co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor, + co.`freight_price`,co.`shipping_type`,co.`shipping_address`,co.`shipping_status`,co.`delivery_info` from wx_coupon_order co - inner join wx_coupon c on c.id = co.coupon_id - inner join wx_coupon_merchant cm on cm.product_id = co.coupon_id where co.c_user_id = #{cUserId} - and co.coupon_order_status = 0 + and co.coupon_order_status = #{status} and co.`tenant_id` = #{tenantId} and co.`parent_tenant_id` = #{parentTenantId} - and cm.merchant_id = #{merchantId} and co.expired_time > now() - and c.type in (1, 2, 6) - union - select - from wx_coupon_order co - inner join wx_coupon c on c.id = co.coupon_id - inner join wx_coupon_merchant cm on cm.product_id = co.coupon_id - inner join pos_coupon_order_verify pco on pco.coupon_order_id = co.id - where co.c_user_id = #{cUserId} - and co.coupon_order_status = 100 - - and co.`tenant_id` = #{tenantId} - - - and co.`parent_tenant_id` = #{parentTenantId} + + and co.coupon_id in + + #{couponIdItem} + - and cm.merchant_id = #{merchantId} - and co.expired_time > now() - and c.type in (1, 2, 6) - - and pco.pos_order_id = #{posOrderId} + + and id in + + #{idItem} + - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor, - c.cover_img,c.title,c.sub_title,c.sale_price,c.use_price,c.price,c.unit, - json_extract(car.vendor_params,'$.id') as coupon_free_id,car.vendor_params - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + select + co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price,co.verify_type,co.verify_remark,co.pay_vendor + from wx_coupon_order co + where co.c_user_id = #{cUserId} + + and co.id = #{id} + and co.`tenant_id` = #{tenantId} and co.`parent_tenant_id` = #{parentTenantId} - - and co.id = #{id} - AND ( co.coupon_order_status = #{couponOrderStatus} OR co.coupon_order_status = 100 ) AND co.coupon_order_status = #{couponOrderStatus} + + and co.coupon_id in + + #{couponIdItem} + + order by ${sortColumns} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.create_date,co.update_date, - c.cover_img,c.title,c.sub_title,c.detail,c.unit,c.remark, - a.amount,a.remaining_amount,a.support_transfer - - - - co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status,co.create_date,co.update_date,co.coupon_price, - c.cover_img,c.title,c.sub_title,c.sale_price,c.price,c.unit,c.detail,c.remark, - a.amount,a.remaining_amount,a.support_transfer - - - - select - + co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.expired_time,co.coupon_order_status,co.create_date,co.update_date from wx_coupon_order co - inner join wx_coupon c on co.coupon_id = c.id - inner join wx_card_info a on co.id=a.id - where 1=1 - and co.coupon_type = 100 + where co.coupon_type = 100 and co.`tenant_id` = #{tenantId} @@ -1604,15 +1015,14 @@ #{sItem} - ) c order by ${sortColumns} - + select + co.id,co.tenant_id,co.parent_tenant_id,co.coupon_id,co.coupon_type,co.c_user_id,co.owner_id,co.b_user_id,co.order_id,co.expired_time,co.coupon_order_status, + co.create_date,co.update_date,co.coupon_price + from wx_coupon_order co where co.id = #{id} and co.tenant_id = #{tenantId} @@ -1625,20 +1035,12 @@ \ No newline at end of file diff --git a/mallinkService/src/main/resources/mapper/WxCouponSendMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponSendMapper.xml index 696183dbe..68bfdbbdc 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponSendMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponSendMapper.xml @@ -1,7 +1,7 @@ - + @@ -12,30 +12,16 @@ - - - - - - - - - - - + + - `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`title`,`send_type`,`conditions`,`status`,`create_date`,`update_date`,`send_sms`,`operator_id` - - - - cs.id,cs.tenant_id,cs.parent_tenant_id,cs.coupon_id,cs.title,cs.send_type,cs.conditions,cs.status,cs.create_date,cs.update_date, + `id`,`tenant_id`,`parent_tenant_id`,`coupon_id`,`title`,`send_type`,`conditions`,`status`,`create_date`,`update_date`,`send_sms`,`operator_id`, cs.conditions -> '$.merchantSend' as merchantSend, cs.conditions -> '$.merchantLnventory' as merchantLnventory, - cs.conditions -> '$.merchantRemain' as merchantRemain, - c.remain_inventory, c.use_limit_rule,c.use_limit_quantity, c.inventory, c.valid_start_date, c.valid_end_date,c.valid_type,cs.send_sms,c.valid_days + cs.conditions -> '$.merchantRemain' as merchantRemain - + where 1 = 1 @@ -82,6 +68,12 @@ and cs.conditions -> '$.merchantRemain'> #{merchantRemain} + + and cs.coupon_id in + + #{couponIdItem} + + and cs.id in @@ -94,6 +86,9 @@ order by ${sortColumns} + + order by ${sortCol} + - select - from wx_coupon_send cs - left join wx_coupon c on c.id = cs.coupon_id - - - - + select + from wx_coupon_send cs + + update wx_coupon_send set status=#{status} where coupon_id=#{couponId} diff --git a/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml b/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml index 4e08e8985..6e26ee703 100644 --- a/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCreditHistoryMapper.xml @@ -140,38 +140,60 @@ - SELECT - credit.id creditId, - case when basic.nick_name is null then basic.name else basic.nick_name end name, - basic.phone phone, - basic.sex sex, - credit.tenant_id tenantId, - credit.c_user_id cUserId, - credit.credit_amount creditAmount, - credit.credit_num creditNum, - credit.create_date createDate, - credit.credit_type creditType, - credit.receipt_url receiptUrl, - credit.operator_type operatorType, - credit.operator_id operatorId, - merchant.NAME merchantName, - credit.merchant_id merchantId, - credit.ticket_number ticketNumber, - case when credit.operator_type=4 then (select name from mall_user_info where id=credit.operator_id) - when credit.operator_type=3 then (select name from wx_merchant_b_user where id=credit.operator_id) - when credit.operator_type=2 then (select nick_name from wx_c_user_basic_info where id=credit.operator_id) - else '' end operator, - credit.change_purpose changePurpose - FROM - wx_c_user_basic_info basic - INNER JOIN wx_credit_history credit ON basic.id = credit.c_user_id - LEFT JOIN wx_merchant merchant ON credit.merchant_id = merchant.id - - ORDER BY - credit.create_date desc,credit.id DESC + credit.id ,credit.tenant_id ,credit.c_user_id ,credit.credit_amount ,credit.credit_num,credit.create_date,credit.credit_type,credit.receipt_url , + credit.operator_type,credit.operator_id,credit.merchant_id,credit.ticket_number,credit.change_purpose + FROM wx_credit_history credit + where credit.`tenant_id` = #{tenantId} + + and credit.create_date >= #{startTime} + + + and credit.create_date < #{endTime} + + + and credit.operator_type = #{operatorType} + + + and credit.operator_id = #{operatorId} + + + and credit.credit_type = #{creditType} + + + and credit.c_user_id = #{cUserId} + + + and credit.merchant_id = #{merchantId} + + + and credit.ticket_number like concat('%', #{ticketNumber},'%') + + + and credit.buser_id = #{buserId} + + + + and credit.merchantId in + + #{merchantIdItem} + + + + + and credit.c_user_id in + + #{cUserIdItem} + + + ORDER BY credit.id DESC + + limit #{begin}, #{limit} + - + + select + `id`,`building_name` + from wx_mall_building + where `tenant_id` = #{tenantId} + diff --git a/mallinkService/src/main/resources/mapper/WxMallFloorMapper.xml b/mallinkService/src/main/resources/mapper/WxMallFloorMapper.xml index 83f2d8aaf..9cc81b1b6 100644 --- a/mallinkService/src/main/resources/mapper/WxMallFloorMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMallFloorMapper.xml @@ -84,5 +84,11 @@ delete from wx_mall_floor where `tenant_id` = #{tenantId} + diff --git a/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml index f8ef476eb..842c3f139 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantBUserMapper.xml @@ -114,6 +114,18 @@ from wx_merchant_b_user + + 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.`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, b.name brandName,bu.title businessTitle,mc.corp_papers_register_number corpPapersRegisterNumber,mc.corp_papers_address corpPapersAddress from wx_shop s @@ -733,7 +734,7 @@ 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.`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, b.name brandName,bu.title businessTitle,mc.corp_papers_register_number corpPapersRegisterNumber,mc.corp_papers_address corpPapersAddress from wx_merchant m @@ -752,4 +753,22 @@ and s.`id` = #{shopId} + + + diff --git a/mallinkService/src/main/resources/mapper/WxShopMapper.xml b/mallinkService/src/main/resources/mapper/WxShopMapper.xml index 7ba72ee6e..e170a4536 100644 --- a/mallinkService/src/main/resources/mapper/WxShopMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxShopMapper.xml @@ -619,7 +619,8 @@ + + + diff --git a/mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml b/mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml index 1bf6ec3bf..6e01cee2e 100644 --- a/mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxTemplateMsgMapper.xml @@ -50,6 +50,10 @@ and `on_off` = #{onOff} + + + and `template_id` is not null and `template_id` <> '' + and `type` in diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java index d3d03eb3d..e04296d7c 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java +++ b/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.WxMerchantTradeVo; import com.iformall.domain.vo.WxMerchantVo; +import com.iformall.enums.EnumAppPlat; import com.iformall.enums.EnumMerchantStatus; import com.iformall.enums.EnumPayWay; import com.iformall.service.QrCodeService; @@ -166,18 +167,7 @@ public class WxMerchantController extends BaseController { ResultData resultData = wxMerchantService.addMerchant(wxMerchant, getUserId()); 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 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; diff --git a/mallinkTTAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java b/mallinkTTAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java index 68d24c571..79af617b6 100644 --- a/mallinkTTAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java +++ b/mallinkTTAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java @@ -43,7 +43,7 @@ public class WxBusinessController extends BaseController { @SystemControllerLog(description = "业态-全列表") public ResultData listAll() { logger.debug("[" + getIpAddr() + "] WxBusinessController::getList"); - final List busList = wxBusinessService.findListAll(getTenantInfo(),null); + final List busList = wxBusinessService.findListAll(getTenantInfo(),null,null); return new ResultData(busList); } diff --git a/mallinkTTCApi/src/main/java/com/iformall/controller/WxBusinessController.java b/mallinkTTCApi/src/main/java/com/iformall/controller/WxBusinessController.java index 870298919..bc5320e33 100644 --- a/mallinkTTCApi/src/main/java/com/iformall/controller/WxBusinessController.java +++ b/mallinkTTCApi/src/main/java/com/iformall/controller/WxBusinessController.java @@ -25,7 +25,7 @@ public class WxBusinessController extends BaseController { @ApiOperation("业态全列表接口") @GetMapping("listAll") public ResultData listAll(Integer filter) { - return new ResultData(wxBusinessService.findListAll(getTenantInfo(),filter)); + return new ResultData(wxBusinessService.findListAll(getTenantInfo(),filter,null)); } }