Przeglądaj źródła

[解单][添加][开发解单api]

release_toaliyun_real
luozukai 7 lat temu
rodzic
commit
2f45edc1d9
10 zmienionych plików z 103 dodań i 21 usunięć
  1. +59
    -8
      mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java
  2. +7
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java
  3. +1
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java
  4. +11
    -9
      mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java
  5. +1
    -1
      mallinkAdmin/src/main/resources/application-dev.yml
  6. +15
    -1
      mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java
  7. +1
    -1
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  8. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java
  9. +5
    -0
      mallinkService/src/main/resources/mapper/WxMerchantMapper.xml
  10. +1
    -1
      mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml

+ 59
- 8
mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java Wyświetl plik

@@ -2,13 +2,17 @@ package com.iformall.controller.app;


import cn.binarywang.wx.miniapp.api.WxMaService; import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaCodeLineColor; import cn.binarywang.wx.miniapp.bean.WxMaCodeLineColor;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController; import com.iformall.controller.base.BaseController;
import com.iformall.controller.sys.UploadController;
import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxMerchant;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxMerchantMapper;
import com.iformall.service.WxAppinfoService; import com.iformall.service.WxAppinfoService;
import com.iformall.service.wechat.FmOpenService; import com.iformall.service.wechat.FmOpenService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
@@ -23,14 +27,15 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; 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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; 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.Map;
import java.util.UUID;


@RestController @RestController
@RequestMapping("wxAppinfo") @RequestMapping("wxAppinfo")
@@ -46,6 +51,31 @@ public class WxAppinfoController extends BaseController {
@Autowired @Autowired
private FmOpenService openService; 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<WxMerchant> 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<String,String> 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\"}") @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") @PostMapping("/downQrCode")
public void downQrCode(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> params) throws MallinkException { public void downQrCode(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> params) throws MallinkException {
@@ -75,17 +105,17 @@ public class WxAppinfoController extends BaseController {
exportQrcode(request, response, exportQrcode(request, response,
getTenantId(), type, pageUrl, sceneParam, getTenantId(), type, pageUrl, sceneParam,
withText, text1, text2, withText, text1, text2,
name);
name,false);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
throw new MallinkException(Result.ERROR, "下载异常"); 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, String tenantId, int type, String pageUrl, String sceneParam,
int withText, String text1, String text2, int withText, String text1, String text2,
String name) {
String name,boolean upload) {
// type 0 有限二维码, 1 无限制二维码 // type 0 有限二维码, 1 无限制二维码
// withText 0 不带字 1. 带下面的字,2 带下面的两行字 // withText 0 不带字 1. 带下面的字,2 带下面的两行字
WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantId); WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantId);
@@ -160,12 +190,33 @@ public class WxAppinfoController extends BaseController {
} }


try { 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); downFile(destPath, fileName, response, request);
org.apache.commons.io.FileUtils.forceDelete(dest); org.apache.commons.io.FileUtils.forceDelete(dest);
} catch (Exception e) { } catch (Exception e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
} }

return new ResultData();
} }


private void downFile(String filePath, String filename, HttpServletResponse response, HttpServletRequest req) throws IOException { private void downFile(String filePath, String filename, HttpServletResponse response, HttpServletRequest req) throws IOException {


+ 7
- 0
mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java Wyświetl plik

@@ -39,6 +39,13 @@ public class WxMerchantTradeDailyController extends BaseController {
@Autowired @Autowired
private WxMerchantService wxMerchantService; private WxMerchantService wxMerchantService;


@ApiOperation("获得指定日期的解单,默认不传reportDate为当天")
@GetMapping("/getVolume")
public ResultData getVolume(WxMerchantTradeDaily wxMerchantTradeDaily) {
wxMerchantTradeDaily.setTenantId(getTenantId());
return wxMerchantTradeDailyService.getVolume(wxMerchantTradeDaily,getUser().getId());
}



@ApiOperation("获得昨日解单列表") @ApiOperation("获得昨日解单列表")
@GetMapping("/listYesterday") @GetMapping("/listYesterday")


+ 1
- 0
mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java Wyświetl plik

@@ -11,6 +11,7 @@ import com.iformall.domain.vo.MallUserInfoVo;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.mapper.WxMerchantMapper;
import com.iformall.service.*; import com.iformall.service.*;
import com.iformall.shiro.UserSession; import com.iformall.shiro.UserSession;
import com.iformall.shiro.UseriFormallToken; import com.iformall.shiro.UseriFormallToken;


+ 11
- 9
mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java Wyświetl plik

@@ -28,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream;
import java.net.URL; import java.net.URL;
import java.util.*; import java.util.*;


@@ -46,7 +47,7 @@ public class UploadController extends BaseController {


private AmazonS3 s3 = null; 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(); ResultData data = new ResultData();
try { try {
if(s3 == null) { if(s3 == null) {
@@ -67,7 +68,7 @@ public class UploadController extends BaseController {
} }


s3.putObject( s3.putObject(
new PutObjectRequest(awsProperty.getBucketName(), fileName, multiReq.getInputStream(), metadata)
new PutObjectRequest(awsProperty.getBucketName(), fileName, inputStream, metadata)
.withCannedAcl(CannedAccessControlList.PublicRead)); .withCannedAcl(CannedAccessControlList.PublicRead));
URL url = s3.getUrl(awsProperty.getBucketName(), fileName); URL url = s3.getUrl(awsProperty.getBucketName(), fileName);
logger.info(url.toString()); logger.info(url.toString());
@@ -102,7 +103,7 @@ public class UploadController extends BaseController {
logger.warn("Error Message: " + ace.getMessage()); logger.warn("Error Message: " + ace.getMessage());
data.code = ResultData.ERROR; data.code = ResultData.ERROR;
data.message = "上传失败"; data.message = "上传失败";
} catch (IOException ioe) {
} catch (Exception ioe) {
data.code = ResultData.ERROR; data.code = ResultData.ERROR;
logger.warn("Caught an IOException: " + ioe.getMessage()); logger.warn("Caught an IOException: " + ioe.getMessage());
data.code = ResultData.ERROR; data.code = ResultData.ERROR;
@@ -120,7 +121,7 @@ public class UploadController extends BaseController {
*/ */
@PostMapping(value = "/awsFileUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data") @PostMapping(value = "/awsFileUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
@ApiOperation("上传文件") @ApiOperation("上传文件")
public ResultData awsfileUpload(@RequestParam("file") MultipartFile multiReq) {
public ResultData awsfileUpload(@RequestParam("file") MultipartFile multiReq) throws Exception{
logger.info("[" + getIpAddr() + "] UploadController::awsfileUpload"); logger.info("[" + getIpAddr() + "] UploadController::awsfileUpload");


ObjectMetadata metadata = new ObjectMetadata(); ObjectMetadata metadata = new ObjectMetadata();
@@ -138,7 +139,8 @@ public class UploadController extends BaseController {
fileName = getTenantId() + "/" + fileName; fileName = getTenantId() + "/" + fileName;
} }


ResultData data = awsUpload(multiReq, metadata, fileName, getTenantId());
System.out.println(fileName);
ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, getTenantId());
return data; return data;
} }


@@ -151,7 +153,7 @@ public class UploadController extends BaseController {
*/ */
@PostMapping(value = "/awsFilesUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data") @PostMapping(value = "/awsFilesUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
@ApiOperation("多文件上传") @ApiOperation("多文件上传")
public ResultData awsFilesUpload(@RequestParam("files") MultipartFile[] files) {
public ResultData awsFilesUpload(@RequestParam("files") MultipartFile[] files) throws Exception{
logger.info("[" + getIpAddr() + "] UploadController::awsFilesUpload"); logger.info("[" + getIpAddr() + "] UploadController::awsFilesUpload");


if(files.length > 0){ if(files.length > 0){
@@ -177,7 +179,7 @@ public class UploadController extends BaseController {
fileName = getTenantId() + "/" + fileName; fileName = getTenantId() + "/" + fileName;
} }


ResultData data1 = awsUpload(multipartFile, metadata, fileName, getTenantId());
ResultData data1 = awsUpload(multipartFile.getInputStream(), metadata, fileName, getTenantId());
if(data1.code == ResultData.SUCCESS) { if(data1.code == ResultData.SUCCESS) {
Map _data = (Map)data1.data; Map _data = (Map)data1.data;
map.put("url", (String) _data.get("url")); 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") @PostMapping(value = "/cimgUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
@ApiOperation("C端上传图片文件") @ApiOperation("C端上传图片文件")
public ResultData cimgUpload(@RequestParam("file") MultipartFile multiReq) {
public ResultData cimgUpload(@RequestParam("file") MultipartFile multiReq) throws Exception{
logger.info("[" + getIpAddr() + "] UploadController::cimgUpload"); logger.info("[" + getIpAddr() + "] UploadController::cimgUpload");


ObjectMetadata metadata = new ObjectMetadata(); ObjectMetadata metadata = new ObjectMetadata();
@@ -215,7 +217,7 @@ public class UploadController extends BaseController {


String fileName = multiReq.getOriginalFilename(); String fileName = multiReq.getOriginalFilename();
fileName = "cimg/" + fileName; fileName = "cimg/" + fileName;
ResultData data = awsUpload(multiReq, metadata, fileName, "cimg");
ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, "cimg");
return data; return data;
} }




+ 1
- 1
mallinkAdmin/src/main/resources/application-dev.yml Wyświetl plik

@@ -113,7 +113,7 @@ fm:
exception: false exception: false
exception_emails: hupeng@iformall.com,wuguoqiang@iformall.com,gongbiao@iformall.com,luozukai@iformall.com,hanxueda@iformall.com exception_emails: hupeng@iformall.com,wuguoqiang@iformall.com,gongbiao@iformall.com,luozukai@iformall.com,hanxueda@iformall.com
deploy: 1 deploy: 1
open: true
open: false


ueditor: ueditor:
config: config.json config: config.json


+ 15
- 1
mallinkBApi/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java Wyświetl plik

@@ -96,6 +96,20 @@ public class WxMerchantTradeDailyController extends BaseController {
return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND); return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND);
wxMerchantTradeDaily.setMerchantId(merchant.getId()); 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); wxMerchantTradeDailyService.saveOrUpdate(wxMerchantTradeDaily);
return new ResultData(); return new ResultData();
} }
@@ -128,7 +142,7 @@ public class WxMerchantTradeDailyController extends BaseController {
List<WxMerchantTradeDaily> resultList = pageInfo.getList(); List<WxMerchantTradeDaily> resultList = pageInfo.getList();
// 判断第1条是否是当天 // 判断第1条是否是当天
if(CollectionUtils.isNotEmpty(resultList)){ 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); resultList.get(0).setIsToday(1);
} }
} }


+ 1
- 1
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Wyświetl plik

@@ -85,7 +85,7 @@ public enum ErrorCode{
MERCHANT_INFO_NOT_FOUND(2011, "商户信息没找到"), MERCHANT_INFO_NOT_FOUND(2011, "商户信息没找到"),
MERCHANT_INFO_NOT_EQUAL(2012, "商户信息不对应"), MERCHANT_INFO_NOT_EQUAL(2012, "商户信息不对应"),
MERCHANT_INFO_NOT_VALID(2013, "商户信息禁用"), MERCHANT_INFO_NOT_VALID(2013, "商户信息禁用"),
MERCHANT_REPORT_DATE_NOT_VALID(999, "上报日期大于当天"),


/** /**
* 券 * 券


+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java Wyświetl plik

@@ -14,4 +14,6 @@ public interface WxMerchantMapper extends CommonMapper<WxMerchant, Long> {
WxMerchantVo getMerchantByCode(HashMap<String, String> params); WxMerchantVo getMerchantByCode(HashMap<String, String> params);


WxMerchant queryMerchantByMerchantIdOfSharingReceiver(WxMerchant wxMerchant); WxMerchant queryMerchantByMerchantIdOfSharingReceiver(WxMerchant wxMerchant);

List<WxMerchant> findQrcodeEmptyList();
} }

+ 5
- 0
mallinkService/src/main/resources/mapper/WxMerchantMapper.xml Wyświetl plik

@@ -216,4 +216,9 @@
where m.id=#{id} where m.id=#{id}
</select> </select>


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


</mapper> </mapper>

+ 1
- 1
mallinkService/src/main/resources/mapper/WxMerchantTradeDailyMapper.xml Wyświetl plik

@@ -67,7 +67,7 @@
</foreach> </foreach>
</if> </if>
<if test=" null != sortColumns"> order by ${sortColumns} </if> <if test=" null != sortColumns"> order by ${sortColumns} </if>
<if test=" null == sortColumns"> order by create_date desc </if>
<if test=" null == sortColumns"> order by report_date desc </if>
</sql> </sql>
<select id="findList" parameterType="com.iformall.domain.po.WxMerchantTradeDaily" resultMap="BaseResultMap"> <select id="findList" parameterType="com.iformall.domain.po.WxMerchantTradeDaily" resultMap="BaseResultMap">


Ładowanie…
Anuluj
Zapisz