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

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

release_toaliyun_real
luozukai 7 лет назад
Родитель
Сommit
2f45edc1d9
10 измененных файлов: 103 добавлений и 21 удалений
  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 Просмотреть файл

@@ -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<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\"}")
@PostMapping("/downQrCode")
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,
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 {


+ 7
- 0
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")


+ 1
- 0
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;


+ 11
- 9
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;
}



+ 1
- 1
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


+ 15
- 1
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<WxMerchantTradeDaily> 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);
}
}


+ 1
- 1
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, "上报日期大于当天"),

/**
* 券


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

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

WxMerchant queryMerchantByMerchantIdOfSharingReceiver(WxMerchant wxMerchant);

List<WxMerchant> findQrcodeEmptyList();
}

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

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

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


</mapper>

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

@@ -67,7 +67,7 @@
</foreach>
</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>
<select id="findList" parameterType="com.iformall.domain.po.WxMerchantTradeDaily" resultMap="BaseResultMap">


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