From 2f45edc1d9a175a613050aaf77eb07df6adfa75b Mon Sep 17 00:00:00 2001 From: luozukai Date: Wed, 15 May 2019 16:33:15 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=A7=A3=E5=8D=95][=E6=B7=BB=E5=8A=A0][?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E8=A7=A3=E5=8D=95api]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/app/WxAppinfoController.java | 67 ++++++++++++++++--- .../WxMerchantTradeDailyController.java | 7 ++ .../controller/sys/HomeController.java | 1 + .../controller/sys/UploadController.java | 20 +++--- .../src/main/resources/application-dev.yml | 2 +- .../WxMerchantTradeDailyController.java | 16 ++++- .../java/com/iformall/common/ErrorCode.java | 2 +- .../com/iformall/mapper/WxMerchantMapper.java | 2 + .../resources/mapper/WxMerchantMapper.xml | 5 ++ .../mapper/WxMerchantTradeDailyMapper.xml | 2 +- 10 files changed, 103 insertions(+), 21 deletions(-) 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 25a4b48ed..50d7c73ea 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java @@ -2,13 +2,17 @@ package com.iformall.controller.app; import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.bean.WxMaCodeLineColor; +import com.amazonaws.services.s3.model.ObjectMetadata; import com.github.pagehelper.PageInfo; import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.controller.base.BaseController; +import com.iformall.controller.sys.UploadController; import com.iformall.domain.po.WxAppinfo; +import com.iformall.domain.po.WxMerchant; import com.iformall.exception.MallinkException; +import com.iformall.mapper.WxMerchantMapper; import com.iformall.service.WxAppinfoService; import com.iformall.service.wechat.FmOpenService; import com.iformall.utils.Constant; @@ -23,14 +27,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; +import java.util.List; import java.util.Map; +import java.util.UUID; @RestController @RequestMapping("wxAppinfo") @@ -46,6 +51,31 @@ public class WxAppinfoController extends BaseController { @Autowired private FmOpenService openService; + @Autowired + private WxMerchantMapper wxMerchantMapper; + + @Autowired + private UploadController uploadController; + + @ApiOperation("加载二维码") + @GetMapping("/updateQrCode") + public void updateQrCode(String p)throws ServletException, IOException { + if("xlldxx".equals(p)){ + String pageUrl = "pages/index/index"; + + List list = wxMerchantMapper.findQrcodeEmptyList(); + for (WxMerchant merchant:list) { + String param = "t:md:"+merchant.getId(); + ResultData resultData = this.exportQrcode(null,null,merchant.getTenantId(),1,pageUrl,param,0,"","","店铺详情",true); + Map map = (Map)resultData.data; + String url = map.get("url"); + merchant.setQrCode(url); + System.out.println("---"+merchant.getId()); + wxMerchantMapper.updateByPrimaryKeySelective(merchant); + } + } + } + @ApiOperation(value = "下载二维码", produces="application/json;charset=UTF-8", notes = "参数{\"name\":\"String\",\"pageUrl\":\"String\", \"sceneParam\":\"二维码参数\", \"type\":0:有限二维码,1:无限二维码,\"withText\":int(0:不带字, 1:加一行字,2:加两行字),\"text1\":\"String\",\"text2\":\"String\"}") @PostMapping("/downQrCode") public void downQrCode(HttpServletRequest request, HttpServletResponse response, @RequestBody Map params) throws MallinkException { @@ -75,17 +105,17 @@ public class WxAppinfoController extends BaseController { exportQrcode(request, response, getTenantId(), type, pageUrl, sceneParam, withText, text1, text2, - name); + name,false); } catch (Exception e) { logger.error(e.getMessage()); throw new MallinkException(Result.ERROR, "下载异常"); } } - private void exportQrcode(HttpServletRequest request, HttpServletResponse response, + private ResultData exportQrcode(HttpServletRequest request, HttpServletResponse response, String tenantId, int type, String pageUrl, String sceneParam, int withText, String text1, String text2, - String name) { + String name,boolean upload) { // type 0 有限二维码, 1 无限制二维码 // withText 0 不带字 1. 带下面的字,2 带下面的两行字 WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantId); @@ -160,12 +190,33 @@ public class WxAppinfoController extends BaseController { } try { + //上传 + if (upload){ + ObjectMetadata metadata = new ObjectMetadata(); + metadata.setContentType("image/jpeg"); + metadata.setContentLength(dest.length()); + + FileOutputStream fos = null; + BufferedInputStream fs = null; + + String fn = UUID.randomUUID().toString(); + int dot = fileName.lastIndexOf('.'); + if (dot >= 0) { + fn = tenantId + "/" + fn + dest.getName().substring(dot, dest.getName().length()); + } else { + fn = tenantId + "/" + fn; + } + + ResultData data = uploadController.awsUpload(new FileInputStream(dest), metadata, fn, getTenantId()); + return data; + } + downFile(destPath, fileName, response, request); org.apache.commons.io.FileUtils.forceDelete(dest); } catch (Exception e) { logger.error(e.getMessage()); } - + return new ResultData(); } private void downFile(String filePath, String filename, HttpServletResponse response, HttpServletRequest req) throws IOException { diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java index e47ae5c0d..35a07bc61 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java @@ -39,6 +39,13 @@ public class WxMerchantTradeDailyController extends BaseController { @Autowired private WxMerchantService wxMerchantService; + @ApiOperation("获得指定日期的解单,默认不传reportDate为当天") + @GetMapping("/getVolume") + public ResultData getVolume(WxMerchantTradeDaily wxMerchantTradeDaily) { + wxMerchantTradeDaily.setTenantId(getTenantId()); + return wxMerchantTradeDailyService.getVolume(wxMerchantTradeDaily,getUser().getId()); + } + @ApiOperation("获得昨日解单列表") @GetMapping("/listYesterday") diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java index e0ed5a8b6..4ce729833 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java @@ -11,6 +11,7 @@ import com.iformall.domain.vo.MallUserInfoVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; import com.iformall.annotation.SystemControllerLog; +import com.iformall.mapper.WxMerchantMapper; import com.iformall.service.*; import com.iformall.shiro.UserSession; import com.iformall.shiro.UseriFormallToken; diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java b/mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java index 91bdd211a..46fcdfaf2 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java @@ -28,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; import java.net.URL; import java.util.*; @@ -46,7 +47,7 @@ public class UploadController extends BaseController { private AmazonS3 s3 = null; - private ResultData awsUpload(MultipartFile multiReq, ObjectMetadata metadata, String fileName, String tenantId) { + public ResultData awsUpload(InputStream inputStream, ObjectMetadata metadata, String fileName, String tenantId) { ResultData data = new ResultData(); try { if(s3 == null) { @@ -67,7 +68,7 @@ public class UploadController extends BaseController { } s3.putObject( - new PutObjectRequest(awsProperty.getBucketName(), fileName, multiReq.getInputStream(), metadata) + new PutObjectRequest(awsProperty.getBucketName(), fileName, inputStream, metadata) .withCannedAcl(CannedAccessControlList.PublicRead)); URL url = s3.getUrl(awsProperty.getBucketName(), fileName); logger.info(url.toString()); @@ -102,7 +103,7 @@ public class UploadController extends BaseController { logger.warn("Error Message: " + ace.getMessage()); data.code = ResultData.ERROR; data.message = "上传失败"; - } catch (IOException ioe) { + } catch (Exception ioe) { data.code = ResultData.ERROR; logger.warn("Caught an IOException: " + ioe.getMessage()); data.code = ResultData.ERROR; @@ -120,7 +121,7 @@ public class UploadController extends BaseController { */ @PostMapping(value = "/awsFileUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data") @ApiOperation("上传文件") - public ResultData awsfileUpload(@RequestParam("file") MultipartFile multiReq) { + public ResultData awsfileUpload(@RequestParam("file") MultipartFile multiReq) throws Exception{ logger.info("[" + getIpAddr() + "] UploadController::awsfileUpload"); ObjectMetadata metadata = new ObjectMetadata(); @@ -138,7 +139,8 @@ public class UploadController extends BaseController { fileName = getTenantId() + "/" + fileName; } - ResultData data = awsUpload(multiReq, metadata, fileName, getTenantId()); + System.out.println(fileName); + ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, getTenantId()); return data; } @@ -151,7 +153,7 @@ public class UploadController extends BaseController { */ @PostMapping(value = "/awsFilesUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data") @ApiOperation("多文件上传") - public ResultData awsFilesUpload(@RequestParam("files") MultipartFile[] files) { + public ResultData awsFilesUpload(@RequestParam("files") MultipartFile[] files) throws Exception{ logger.info("[" + getIpAddr() + "] UploadController::awsFilesUpload"); if(files.length > 0){ @@ -177,7 +179,7 @@ public class UploadController extends BaseController { fileName = getTenantId() + "/" + fileName; } - ResultData data1 = awsUpload(multipartFile, metadata, fileName, getTenantId()); + ResultData data1 = awsUpload(multipartFile.getInputStream(), metadata, fileName, getTenantId()); if(data1.code == ResultData.SUCCESS) { Map _data = (Map)data1.data; map.put("url", (String) _data.get("url")); @@ -206,7 +208,7 @@ public class UploadController extends BaseController { */ @PostMapping(value = "/cimgUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data") @ApiOperation("C端上传图片文件") - public ResultData cimgUpload(@RequestParam("file") MultipartFile multiReq) { + public ResultData cimgUpload(@RequestParam("file") MultipartFile multiReq) throws Exception{ logger.info("[" + getIpAddr() + "] UploadController::cimgUpload"); ObjectMetadata metadata = new ObjectMetadata(); @@ -215,7 +217,7 @@ public class UploadController extends BaseController { String fileName = multiReq.getOriginalFilename(); fileName = "cimg/" + fileName; - ResultData data = awsUpload(multiReq, metadata, fileName, "cimg"); + ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, "cimg"); return data; } diff --git a/mallinkAdmin/src/main/resources/application-dev.yml b/mallinkAdmin/src/main/resources/application-dev.yml index 3383e8451..244121daf 100644 --- a/mallinkAdmin/src/main/resources/application-dev.yml +++ b/mallinkAdmin/src/main/resources/application-dev.yml @@ -113,7 +113,7 @@ fm: exception: false exception_emails: hupeng@iformall.com,wuguoqiang@iformall.com,gongbiao@iformall.com,luozukai@iformall.com,hanxueda@iformall.com deploy: 1 - open: true + open: false ueditor: config: config.json diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java index 2240a4a22..d7278ff10 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java @@ -96,6 +96,20 @@ public class WxMerchantTradeDailyController extends BaseController { return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); wxMerchantTradeDaily.setMerchantId(merchant.getId()); + // 不能设置未来时间 + if(wxMerchantTradeDaily.getReportDate() !=null){ + try { + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd"); + if(sd.parse(wxMerchantTradeDaily.getReportDate()).after(new Date())){ + return new ResultData(ErrorCode.MERCHANT_REPORT_DATE_NOT_VALID); + } + }catch (Exception e){ + e.printStackTrace(); + logger.error("format date error",e); + } + + } + wxMerchantTradeDailyService.saveOrUpdate(wxMerchantTradeDaily); return new ResultData(); } @@ -128,7 +142,7 @@ public class WxMerchantTradeDailyController extends BaseController { List resultList = pageInfo.getList(); // 判断第1条是否是当天 if(CollectionUtils.isNotEmpty(resultList)){ - if(sd.format(resultList.get(0).getCreateDate()).equals(sd.format(new Date()))){ + if(sd.format(resultList.get(0).getReportDate()).equals(sd.format(new Date()))){ resultList.get(0).setIsToday(1); } } diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 5431148b5..5ee2d75fb 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -85,7 +85,7 @@ public enum ErrorCode{ MERCHANT_INFO_NOT_FOUND(2011, "商户信息没找到"), MERCHANT_INFO_NOT_EQUAL(2012, "商户信息不对应"), MERCHANT_INFO_NOT_VALID(2013, "商户信息禁用"), - + MERCHANT_REPORT_DATE_NOT_VALID(999, "上报日期大于当天"), /** * 券 diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index d51d265b9..6c16276e7 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -14,4 +14,6 @@ public interface WxMerchantMapper extends CommonMapper { WxMerchantVo getMerchantByCode(HashMap params); WxMerchant queryMerchantByMerchantIdOfSharingReceiver(WxMerchant wxMerchant); + + List findQrcodeEmptyList(); } diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index aed4c75c2..467b1ff7a 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -216,4 +216,9 @@ where m.id=#{id} + + + diff --git a/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml index f45c7ba1b..e842ff4c7 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml @@ -67,7 +67,7 @@ order by ${sortColumns} - order by create_date desc + order by report_date desc