From f9498966850cce8d6b23f566291bd4881a04ad0e Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 7 Jun 2021 15:27:48 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=9C=B0=E5=8C=BA=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E4=B9=8B=E5=90=8E=EF=BC=8C=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=97=A0=E6=B3=95=E8=AE=BF=E9=97=AE=EF=BC=8C=E5=9B=A0?= =?UTF-8?q?=E4=B8=BA=E7=BC=93=E5=AD=98=E6=B2=A1=E6=9C=89=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E3=80=82=E7=8E=B0=E5=9C=A8=E6=9B=B4=E6=96=B0=E4=B8=BA=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E5=AE=8C=E6=88=90=EF=BC=8C=E5=8D=B3=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E4=B8=8E=E5=9C=B0=E5=8C=BA=E7=9B=B8=E5=85=B3=E7=9A=84?= =?UTF-8?q?=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/serviceimpl/RegionServiceImpl.java | 36 ++++++++++--------- .../lili/security/ManagerSecurityConfig.java | 1 - 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/base/serviceimpl/RegionServiceImpl.java b/framework/src/main/java/cn/lili/modules/base/serviceimpl/RegionServiceImpl.java index 183fbe64..1eb80925 100644 --- a/framework/src/main/java/cn/lili/modules/base/serviceimpl/RegionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/base/serviceimpl/RegionServiceImpl.java @@ -1,8 +1,7 @@ package cn.lili.modules.base.serviceimpl; -import cn.lili.common.utils.HttpClientUtils; +import cn.lili.common.cache.Cache; import cn.lili.common.utils.SnowFlake; -import cn.lili.common.utils.StringUtils; import cn.lili.modules.base.mapper.RegionMapper; import cn.lili.modules.base.service.RegionService; import cn.lili.modules.system.entity.dos.Region; @@ -13,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.ArrayUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -33,24 +33,28 @@ public class RegionServiceImpl extends ServiceImpl impleme */ private String syncUrl = "https://restapi.amap.com/v3/config/district?subdistrict=4&key=e456d77800e2084a326f7b777278f89d"; + @Autowired + private Cache cache; @Override public void synchronizationData(String url) { try { - //清空数据 - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.ne("id", "-1"); - this.remove(queryWrapper); - - //读取数据 - String jsonString = HttpClientUtils.doGet(StringUtils.isEmpty(url) ? syncUrl : url, null); - - //构造存储数据库的对象集合 - List regions = this.initData(jsonString); - for (int i = 0; i < (regions.size() / 100 + (regions.size() % 100 == 0 ? 0 : 1)); i++) { - int endPoint = Math.min((100 + (i * 100)), regions.size()); - this.saveBatch(regions.subList(i * 100, endPoint)); - } +// //清空数据 +// QueryWrapper queryWrapper = new QueryWrapper(); +// queryWrapper.ne("id", "-1"); +// this.remove(queryWrapper); +// +// //读取数据 +// String jsonString = HttpClientUtils.doGet(StringUtils.isEmpty(url) ? syncUrl : url, null); +// +// //构造存储数据库的对象集合 +// List regions = this.initData(jsonString); +// for (int i = 0; i < (regions.size() / 100 + (regions.size() % 100 == 0 ? 0 : 1)); i++) { +// int endPoint = Math.min((100 + (i * 100)), regions.size()); +// this.saveBatch(regions.subList(i * 100, endPoint)); +// } + //删除缓存 + cache.vagueDel("{regions}"); } catch (Exception e) { e.printStackTrace(); } diff --git a/manager-api/src/main/java/cn/lili/security/ManagerSecurityConfig.java b/manager-api/src/main/java/cn/lili/security/ManagerSecurityConfig.java index aac90fec..b4fc86b4 100644 --- a/manager-api/src/main/java/cn/lili/security/ManagerSecurityConfig.java +++ b/manager-api/src/main/java/cn/lili/security/ManagerSecurityConfig.java @@ -49,7 +49,6 @@ public class ManagerSecurityConfig extends WebSecurityConfigurerAdapter { .authorizeRequests(); // 配置的url 不需要授权 for (String url : ignoredUrlsProperties.getUrls()) { - log.error(url); registry.antMatchers(url).permitAll(); } registry From 0fc179cff2e0d03d756da66f16e4c4e589616d36 Mon Sep 17 00:00:00 2001 From: Chopper Date: Mon, 7 Jun 2021 15:28:36 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=9C=B0=E5=8C=BA=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/serviceimpl/RegionServiceImpl.java | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/base/serviceimpl/RegionServiceImpl.java b/framework/src/main/java/cn/lili/modules/base/serviceimpl/RegionServiceImpl.java index 1eb80925..6c1c860a 100644 --- a/framework/src/main/java/cn/lili/modules/base/serviceimpl/RegionServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/base/serviceimpl/RegionServiceImpl.java @@ -1,6 +1,8 @@ package cn.lili.modules.base.serviceimpl; import cn.lili.common.cache.Cache; +import cn.lili.common.utils.StringUtils; +import cn.lili.common.utils.HttpClientUtils; import cn.lili.common.utils.SnowFlake; import cn.lili.modules.base.mapper.RegionMapper; import cn.lili.modules.base.service.RegionService; @@ -39,20 +41,20 @@ public class RegionServiceImpl extends ServiceImpl impleme public void synchronizationData(String url) { try { -// //清空数据 -// QueryWrapper queryWrapper = new QueryWrapper(); -// queryWrapper.ne("id", "-1"); -// this.remove(queryWrapper); -// -// //读取数据 -// String jsonString = HttpClientUtils.doGet(StringUtils.isEmpty(url) ? syncUrl : url, null); -// -// //构造存储数据库的对象集合 -// List regions = this.initData(jsonString); -// for (int i = 0; i < (regions.size() / 100 + (regions.size() % 100 == 0 ? 0 : 1)); i++) { -// int endPoint = Math.min((100 + (i * 100)), regions.size()); -// this.saveBatch(regions.subList(i * 100, endPoint)); -// } + //清空数据 + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.ne("id", "-1"); + this.remove(queryWrapper); + + //读取数据 + String jsonString = HttpClientUtils.doGet(StringUtils.isEmpty(url) ? syncUrl : url, null); + + //构造存储数据库的对象集合 + List regions = this.initData(jsonString); + for (int i = 0; i < (regions.size() / 100 + (regions.size() % 100 == 0 ? 0 : 1)); i++) { + int endPoint = Math.min((100 + (i * 100)), regions.size()); + this.saveBatch(regions.subList(i * 100, endPoint)); + } //删除缓存 cache.vagueDel("{regions}"); } catch (Exception e) { From 0bca2d9026220ab600c2bfab3c245abd6d3ba306 Mon Sep 17 00:00:00 2001 From: lifenlong Date: Mon, 7 Jun 2021 15:50:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BA=97=E9=93=BA=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=BC=80=E5=A7=8B=E3=80=81=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/impl/bill/BillExecute.java | 19 +++++++++++-------- .../mapper/DistributionOrderMapper.java | 6 +++--- .../serviceimpl/StoreFlowServiceImpl.java | 9 ++------- .../lili/modules/store/mapper/BillMapper.java | 9 +++++---- .../store/mapper/StoreDetailMapper.java | 10 +++++----- .../modules/store/service/BillService.java | 4 +++- .../store/serviceimpl/BillServiceImpl.java | 16 ++++++++++++---- 7 files changed, 41 insertions(+), 32 deletions(-) diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java index 5905e279..1ff4cbcf 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/bill/BillExecute.java @@ -1,15 +1,15 @@ package cn.lili.timetask.handler.impl.bill; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.lili.modules.store.entity.dto.StoreSettlementDay; import cn.lili.modules.store.mapper.StoreDetailMapper; import cn.lili.modules.store.service.BillService; import cn.lili.timetask.handler.EveryDayExecute; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import java.util.List; /** @@ -25,7 +25,7 @@ public class BillExecute implements EveryDayExecute { @Autowired private BillService billService; //店铺详情 - @Autowired + @Resource private StoreDetailMapper storeDetailMapper; /** @@ -36,20 +36,23 @@ public class BillExecute implements EveryDayExecute { @Override public void execute() { - //获取当前时间的前一天 - String day = "," + DateUtil.date().dayOfMonth() + ","; + //获取当前天数 + int day = DateUtil.date().dayOfMonth(); //获取待结算商家列表 - List storeList = storeDetailMapper.getSettlementStore(new QueryWrapper().like("settlement_cycle", day)); + List storeList = storeDetailMapper.getSettlementStore(day); + + //获取当前时间 + DateTime endTime =DateUtil.date(); //批量商家结算 for (StoreSettlementDay storeSettlementDay : storeList) { //生成结算单 - billService.createBill(storeSettlementDay.getStoreId(), storeSettlementDay.getSettlementDay()); + billService.createBill(storeSettlementDay.getStoreId(), storeSettlementDay.getSettlementDay(),endTime); //修改店铺结算时间 - storeDetailMapper.updateSettlementDay(storeSettlementDay.getStoreId(), DateUtil.date()); + storeDetailMapper.updateSettlementDay(storeSettlementDay.getStoreId(), endTime); } } } diff --git a/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionOrderMapper.java b/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionOrderMapper.java index 02d8d8e1..7c415c0c 100644 --- a/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionOrderMapper.java +++ b/framework/src/main/java/cn/lili/modules/distribution/mapper/DistributionOrderMapper.java @@ -16,9 +16,9 @@ public interface DistributionOrderMapper extends BaseMapper { /** * 分销提佣 */ - @Select("UPDATE li_distribution AS d SET " + - "d.can_rebate =(can_rebate +(SELECT SUM( dorder.rebate ) FROM li_distribution_order AS dorder " + - "WHERE dorder.distribution_id = d.id AND dorder.distribution_order_status=#{distributionOrderStatus} AND dorder.settle_cycle<=#{settleCycle}))") + @Select("UPDATE li_distribution AS d " + + "SET d.can_rebate =(d.can_rebate +(SELECT SUM( dorder.rebate ) FROM li_distribution_order AS dorder WHERE dorder.distribution_id = d.id AND " + + "dorder.distribution_order_status=#{distributionOrderStatus} AND dorder.settle_cycle< #{settleCycle} ))") void rebate(String distributionOrderStatus, DateTime settleCycle); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java index 76a2d176..4b9f726b 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/StoreFlowServiceImpl.java @@ -141,14 +141,9 @@ public class StoreFlowServiceImpl extends ServiceImpl lambdaQueryWrapper = Wrappers.lambdaQuery(); lambdaQueryWrapper.eq(StoreFlow::getStoreId, storeId); - if (distribution) { - lambdaQueryWrapper.isNotNull(StoreFlow::getDistributionRebate); - } + lambdaQueryWrapper.isNotNull(distribution,StoreFlow::getDistributionRebate); lambdaQueryWrapper.between(StoreFlow::getCreateTime, startTime, endTime); - if (StringUtils.isNotEmpty(type)) { - lambdaQueryWrapper.eq(StoreFlow::getFlowType, type); - } - + lambdaQueryWrapper.eq(StringUtils.isNotEmpty(type),StoreFlow::getFlowType, type); return this.page(PageUtil.initPage(pageVO), lambdaQueryWrapper); } } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/mapper/BillMapper.java b/framework/src/main/java/cn/lili/modules/store/mapper/BillMapper.java index cc14d1e7..468ebc87 100644 --- a/framework/src/main/java/cn/lili/modules/store/mapper/BillMapper.java +++ b/framework/src/main/java/cn/lili/modules/store/mapper/BillMapper.java @@ -4,6 +4,7 @@ package cn.lili.modules.store.mapper; import cn.lili.modules.store.entity.dos.Bill; import cn.lili.modules.store.entity.vos.BillListVO; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; @@ -23,11 +24,11 @@ public interface BillMapper extends BaseMapper { @Select("SELECT SUM( final_price ) AS orderPrice,SUM( commission_price ) AS commissionPrice" + ",SUM( distribution_rebate ) AS distributionCommission,SUM( site_coupon_commission ) AS siteCouponCommission" + - ",SUM( bill_price ) AS billPrice FROM li_store_flow WHERE store_id=#{storeId} AND flow_type=#{flowType}") - Bill getOrderBill(String storeId, String flowType); + ",SUM( bill_price ) AS billPrice FROM li_store_flow ${ew.customSqlSegment}") + Bill getOrderBill(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); @Select("SELECT SUM( final_price ) AS refundPrice,SUM( commission_price ) AS refundCommissionPrice" + ",SUM( distribution_rebate ) AS distributionRefundCommission,SUM( site_coupon_commission ) AS siteCouponRefundCommission" + - ",SUM( bill_price ) AS billPrice FROM li_store_flow WHERE store_id=#{storeId} AND flow_type=#{flowType}") - Bill getRefundBill(String storeId, String flowType); + ",SUM( bill_price ) AS billPrice FROM li_store_flow ${ew.customSqlSegment}") + Bill getRefundBill(@Param(Constants.WRAPPER) QueryWrapper queryWrapper); } \ No newline at end of file diff --git a/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java b/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java index 0b91d1fe..3751a445 100644 --- a/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java +++ b/framework/src/main/java/cn/lili/modules/store/mapper/StoreDetailMapper.java @@ -6,10 +6,7 @@ import cn.lili.modules.store.entity.dto.StoreAfterSaleAddressDTO; import cn.lili.modules.store.entity.dto.StoreSettlementDay; import cn.lili.modules.store.entity.vos.StoreBasicInfoVO; import cn.lili.modules.store.entity.vos.StoreDetailVO; -import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; -import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; @@ -38,8 +35,11 @@ public interface StoreDetailMapper extends BaseMapper { "from li_store_detail s where s.store_id=#{storeId}") StoreAfterSaleAddressDTO getStoreAfterSaleAddressDTO(String storeId); - @Select("SELECT store_id,settlement_day FROM li_store_detail ${ew.customSqlSegment}") - List getSettlementStore(@Param(Constants.WRAPPER) Wrapper queryWrapper); + @Select("SELECT store_id,settlement_day FROM li_store_detail " + + "WHERE settlement_cycle LIKE concat(#{day},',%') " + + "OR settlement_cycle LIKE concat('%,',#{day},',%') " + + "OR settlement_cycle LIKE concat('%,',#{day})") + List getSettlementStore(int day); @Update("UPDATE li_store_detail SET settlement_day=#{dateTime} WHERE store_id=#{storeId}") void updateSettlementDay(String storeId, DateTime dateTime); diff --git a/framework/src/main/java/cn/lili/modules/store/service/BillService.java b/framework/src/main/java/cn/lili/modules/store/service/BillService.java index 2d0e40ee..5759a700 100644 --- a/framework/src/main/java/cn/lili/modules/store/service/BillService.java +++ b/framework/src/main/java/cn/lili/modules/store/service/BillService.java @@ -1,5 +1,6 @@ package cn.lili.modules.store.service; +import cn.hutool.core.date.DateTime; import cn.lili.common.vo.PageVO; import cn.lili.modules.order.order.entity.dos.StoreFlow; import cn.lili.modules.store.entity.dos.Bill; @@ -26,8 +27,9 @@ public interface BillService extends IService { * * @param storeId 商家ID * @param startTime 开始时间 + * @param endTime 结束时间 */ - void createBill(String storeId, Date startTime); + void createBill(String storeId, Date startTime, DateTime endTime); /** diff --git a/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java b/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java index 248e7c07..17712da7 100644 --- a/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/store/serviceimpl/BillServiceImpl.java @@ -1,5 +1,6 @@ package cn.lili.modules.store.serviceimpl; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.lili.common.enums.ResultCode; import cn.lili.common.exception.ServiceException; @@ -31,6 +32,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.Date; /** @@ -50,11 +52,11 @@ public class BillServiceImpl extends ServiceImpl implements Bi @Autowired private StoreFlowService storeFlowService; //结算单 - @Autowired + @Resource private BillMapper billMapper; @Override - public void createBill(String storeId, Date startTime) { + public void createBill(String storeId, Date startTime, DateTime endTime) { //获取结算店铺 StoreDetailVO store = storeDetailService.getStoreDetailVO(storeId); @@ -77,7 +79,10 @@ public class BillServiceImpl extends ServiceImpl implements Bi bill.setSn(SnowFlake.createStr("B")); //入账结算信息 - Bill orderBill = billMapper.getOrderBill(storeId, FlowTypeEnum.PAY.name()); + Bill orderBill = this.baseMapper.getOrderBill(new QueryWrapper() + .eq("store_id",storeId) + .eq("flow_type",FlowTypeEnum.PAY.name()) + .between("create_time",startTime,endTime)); Double orderPrice = 0D; if (orderBill != null) { bill.setOrderPrice(orderBill.getOrderPrice()); @@ -89,7 +94,10 @@ public class BillServiceImpl extends ServiceImpl implements Bi //退款结算信息 - Bill refundBill = billMapper.getRefundBill(storeId, FlowTypeEnum.REFUND.name()); + Bill refundBill = this.baseMapper.getRefundBill(new QueryWrapper() + .eq("store_id",storeId) + .eq("flow_type",FlowTypeEnum.REFUND.name()) + .between("create_time",startTime,endTime)); Double refundPrice = 0D; if(refundBill!=null){ bill.setRefundPrice(refundBill.getRefundPrice());