lisai17@sina.com 2020-11-03 14:27:22 +08:00
parent 024b33c8d8
commit d815d73ed3
9 changed files with 127 additions and 4 deletions

View File

@ -1,6 +1,7 @@
package com.cowr.common.oss;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.ObjectListing;
import com.aliyun.oss.model.ObjectMetadata;
import com.jfinal.kit.StrKit;
import com.jfinal.log.Log;
@ -85,6 +86,15 @@ public class OSSKit {
return true;
}
public static ObjectListing list(String prefix){
if (_ossClient == null) {
log.error("没有初始化 OSSMgrClient");
return null;
}
return _ossClient.listObjects(bucketName, prefix);
}
// public static void main(String[] args) {
// new OSSPlugin("oss-cn-shenzhen.aliyuncs.com", "hsjygl").start();
// ObjectListing list = OSSKit.getCli().listObjects(new ListObjectsRequest("hsjygl").withMaxKeys(1000).withPrefix("file"));

View File

@ -392,4 +392,21 @@ group by date
OrderStateEnum.RECEIVED.getStateid(),
DateTimeUtil.sdfhms.get().format(c.getTime()));
}
public List<Record> lastOrder(Integer supermarket_id) {
if (supermarket_id != null) {
return Db.find("select t.sn, t.customer_name, t.truck_license, t.weight, t.total_price, t.create_time, s.name supermarket_name from order_temp t\n" +
" left join supermarket s on s.id = t.supermarket_id\n" +
" where t.state = 5 \n" +
" and t.supermarket_id = ? \n" +
" order by t.create_time desc \n" +
" limit 30", supermarket_id);
} else {
return Db.find("select t.sn, t.customer_name, t.truck_license, t.weight, t.total_price, t.create_time, s.name supermarket_name from order_temp t\n" +
" left join supermarket s on s.id = t.supermarket_id\n" +
" where t.state = 5 \n" +
" order by t.create_time desc \n" +
" limit 30");
}
}
}

View File

@ -1454,14 +1454,14 @@ public class OrderStatService {
" where t.state = 5\n" +
" and t.create_time like ? \n" +
" group by t.supermarket_id\n" +
") a on s.id = a.id", year + "%");
") a on s.id = a.id order by s.id", year + "%");
} else {
list = Db.find("select s.name, a.* from supermarket s\n" +
"left join (\n" +
" select t.supermarket_id id, count(t.sn) cnt, sum(t.total_price) total_price, sum(weight) total_weight from order_temp t\n" +
" where t.state = 5\n" +
" group by t.supermarket_id\n" +
") a on s.id = a.id");
") a on s.id = a.id order by s.id");
}
Record hj = new Record();

View File

@ -70,4 +70,18 @@ public class OverallController extends Controller {
renderJson(Result.success(OverallService.me.lastTempStat()));
}
public void lastOrder() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
// 是客户账户
if (tokenuser == null || tokenuser.getEntityId() == null) {
renderJson(Result.noauth());
return;
}
Integer supermarket_id = getInt("supermarket_id", 0);
renderJson(Result.success(OverallService.me.lastOrder(supermarket_id)));
}
}

View File

@ -0,0 +1,57 @@
package com.cowr.service.ssjygl.jobs;
import com.aliyun.oss.model.OSSObjectSummary;
import com.aliyun.oss.model.ObjectListing;
import com.cowr.common.oss.OSSKit;
import com.jfinal.kit.Prop;
import com.jfinal.kit.PropKit;
import com.jfinal.log.Log;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import java.util.ArrayList;
import java.util.List;
public class CleanOSSBakFileJob implements Job {
private static Log log = Log.getLog(CleanOSSBakFileJob.class);
public void execute(){
try {
String[] prefixkeys = new String[]{"ssjy/xsx/dbbak/ssjy_xsx_", "ssjy/dbbak/ssjy"};
List<String> delkeys = new ArrayList<>();
for(String prefix : prefixkeys){
ObjectListing ret = OSSKit.list(prefix);
List<OSSObjectSummary> list = ret.getObjectSummaries();
for(OSSObjectSummary obj : list){
if(obj.getLastModified().getTime() > 48L * 24 * 60 * 60 * 1000 ){ // 超过两天的
delkeys.add(obj.getKey());
}
}
}
System.out.println(delkeys);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
@Override
public void execute(JobExecutionContext jobExecutionContext) {
execute();
}
public static void main(String[] args) {
Prop configprop = PropKit.use("dev/config.properties", "UTF-8");
OSSKit.init(configprop.get("endpoint"), configprop.get("bucketName"));
// 系统启动时没有网络会 start 失败
try {
OSSKit.start();
} catch (Exception e) {
log.error(e.getMessage(), e);
}
new CleanOSSBakFileJob().execute();
}
}

View File

@ -3,6 +3,7 @@ package com.cowr.service.ssjygl.main;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.wall.WallFilter;
import com.cowr.common.ctrl.HomeController;
import com.cowr.common.oss.OSSKit;
import com.cowr.service.ssjygl.blacklist.BlacklistController;
import com.cowr.service.ssjygl.cache.CacheController;
import com.cowr.service.ssjygl.customer.CustomerController;
@ -281,6 +282,14 @@ public class Config extends JFinalConfig {
if (SyncTaskService.me.isEnable()) {
new ServerThread().start();
}
OSSKit.init(configprop.get("endpoint"), configprop.get("bucketName"));
// 系统启动时没有网络会 start 失败
try {
OSSKit.start();
} catch (Exception e) {
log.error(e.getMessage(), e);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}

View File

@ -1,6 +1,7 @@
package com.cowr.service.ssjygl.overall;
import com.cowr.common.view.Result;
import com.cowr.model.Sysuser;
import com.cowr.ssjygl.overall.OverallService;
import com.jfinal.core.Controller;
@ -28,4 +29,10 @@ public class OverallController extends Controller {
public void lastTempStat() {
renderJson(Result.success(OverallService.me.lastTempStat()));
}
public void lastOrder() {
Integer supermarket_id = getInt("supermarket_id");
renderJson(Result.success(OverallService.me.lastOrder(supermarket_id)));
}
}

View File

@ -9,4 +9,9 @@ start.trans.distance=5
#本地服务 和 云端服务 socket 通信
socketserver.enable=true
socketserver.port=21002
socketserver.port=21002
endpoint=oss-cn-shenzhen.aliyuncs.com
#清理备份用
bucketName=shbak

View File

@ -9,4 +9,8 @@ start.trans.distance=5
#本地服务 和 云端服务 socket 通信
socketserver.enable=true
socketserver.port=21002
socketserver.port=21002
endpoint=oss-cn-shenzhen.aliyuncs.com
#清理备份用
bucketName=shbak