Преглед изворни кода

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseCountLogic.java
‘linchangsheng’ пре 2 месеци
родитељ
комит
ea95f185af

+ 3 - 3
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/user/UserLogic.java

@@ -713,7 +713,7 @@ public class UserLogic {
         BeanUtils.copyProperties(user, userWxBean);
         userWxBean.setToken(token);
         userWxBean.setShoppingCartNums(shoppingCartLogic.total(userWxBean.getUserId()));
-        redisUtil.set(Constant.RedisPrefix.TOKEN_WX + token, userWxBean.getUserId(), 100 * 24 * 60 * 60 * 1000);
+        redisUtil.set(Constant.RedisPrefix.TOKEN_WX + token, userWxBean.getUserId(), 7 * 24 * 60 * 60 * 1000);
         log.info("小程序登录用户token : {} : {}", userWxBean.getNickName(), userWxBean.getToken());
         return userWxBean;
     }
@@ -723,8 +723,8 @@ public class UserLogic {
         String token = JwtUtils.createJWT(user.getUserId(), user.getNickName(), 100 * 24 * 60 * 60);
         BeanUtils.copyProperties(user, userWxBean);
         userWxBean.setToken(token);
-        redisUtil.set(Constant.RedisPrefix.TOKEN_WX + token, userWxBean.getUserId(), 100 * 24 * 60 * 60);
-        redisUtil.set(Constant.RedisPrefix.TOKEN_APP_USER + token, user, 100 * 24 * 60 * 60);
+        redisUtil.set(Constant.RedisPrefix.TOKEN_WX + token, userWxBean.getUserId(), 7 * 24 * 60 * 60);
+        redisUtil.set(Constant.RedisPrefix.TOKEN_APP_USER + token, user, 7 * 24 * 60 * 60);
         return userWxBean;
     }
 

+ 2 - 13
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/workorder/OrderBaseLogic.java

@@ -24,8 +24,6 @@ import com.gree.mall.miniapp.logic.common.CommonLogic;
 import com.gree.mall.miniapp.logic.common.outside.WorkOrderApiLogic;
 import com.gree.mall.miniapp.plus.entity.*;
 import com.gree.mall.miniapp.plus.service.*;
-import com.gree.mall.miniapp.utils.ApplicationContextUtils;
-import com.gree.mall.miniapp.utils.CommonUtils;
 import com.gree.mall.miniapp.utils.DateUtils;
 import com.gree.mall.miniapp.utils.StringUtil;
 import lombok.RequiredArgsConstructor;
@@ -33,7 +31,6 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import javax.servlet.http.HttpServletRequest;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.function.Function;
@@ -63,13 +60,6 @@ public class OrderBaseLogic {
      * @return
      */
     public CountOrderStatusBean countOrderStatus(String pgIncreOrderId, Boolean isYb, Boolean isWb) {
-        HttpServletRequest request = ApplicationContextUtils.getHttpServletRequest();
-        String userId = CommonUtils.getUserId(request);
-
-        if (StringUtil.isEmpty(userId)){
-            throw new RemoteServiceException("身份已过期,请从右上角点击重新进入小程序");
-        }
-
         CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
         CountOrderStatusBean countOrderStatusBean = orderBaseCMapper.countOrderStatus(currentCompanyWechat.getUserId(),
                 currentCompanyWechat.getUser().getWorkerNumber(), pgIncreOrderId, isYb, isWb, currentCompanyWechat.getCompanyWechatId());
@@ -207,8 +197,7 @@ public class OrderBaseLogic {
             return new Page<>(pageNum,pageSize);
         }
 
-        List<String> websitIds = websitUserService.lambdaQuery().eq(WebsitUser::getUserId, currentCompanyWechat.getUserId()).
-                select(WebsitUser::getWebsitId).list().stream().map(WebsitUser::getWebsitId).collect(Collectors.toList());
+        List<String> websitIds = websitUserService.lambdaQuery().eq(WebsitUser::getUserId, currentCompanyWechat.getUserId()).select(WebsitUser::getWebsitId).list().stream().map(WebsitUser::getWebsitId).collect(Collectors.toList());
         List<String> orderBaseIds = pgOrderWorkerService.lambdaQuery()
                     .and(item -> item.eq(PgOrderWorker::getWorkerNumber, currentCompanyWechat.getUser().getWorkerNumber()).or()
                     .eq(PgOrderWorker::getWorkerId,currentCompanyWechat.getUserId()))
@@ -299,7 +288,7 @@ public class OrderBaseLogic {
                 .in(CollectionUtils.isNotEmpty(websitIds),PgOrderBase::getWebsitId,websitIds)
                 .eq(StringUtils.isNotBlank(pgIncreOrderId),PgOrderBase::getPgIncreOrderId,pgIncreOrderId)
                 .and(v -> v.eq(PgOrderBase::getOrderStatus,OrderBaseStatusEnum.DQD.getKey())
-                        .or(CollectionUtils.isNotEmpty(orderBaseIds)).in(CollectionUtils.isNotEmpty(orderBaseIds),PgOrderBase::getId,orderBaseIds))
+                        .or().in(CollectionUtils.isNotEmpty(orderBaseIds),PgOrderBase::getId,orderBaseIds))
                 .and(StringUtils.isNotBlank(keyword),
                         v -> v.like(PgOrderBase::getId,keyword).or()
                                 .like(PgOrderBase::getUserName,keyword).or()

+ 4 - 4
mall-server-api/src/main/java/com/gree/mall/manager/bean/quality/QualityFeedbackVO.java

@@ -41,6 +41,10 @@ public class QualityFeedbackVO {
     @ApiModelProperty(value = "外机条码")
     private String outCode;
 
+    @ZfireField(type = "select", frontCode = "PRODUCT_CATEGORY", isShow = false)
+    @ApiModelProperty(value = "产品大类")
+    private String mainId;
+
     @ApiModelProperty(value = "产品大类名称")
     private String mainName;
 
@@ -100,10 +104,6 @@ public class QualityFeedbackVO {
     @ApiModelProperty(value = "详细地址")
     private String joinAddress;
 
-    @ZfireField(type = "select", frontCode = "PRODUCT_CATEGORY", isShow = false)
-    @ApiModelProperty(value = "产品大类")
-    private String mainId;
-
     @ZfireField(type = "select", frontCode = "PRODUCT_SUBCLASS", isShow = false)
     @ApiModelProperty(value = "产品小类")
     private String smallId;

+ 1 - 5
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/workorder/OrderBaseCMapper.java

@@ -31,11 +31,7 @@ public interface OrderBaseCMapper {
      * @param adminWebsitIds
      * @return
      */
-    public OrderBaseCountBean countOrderBaseIndex(@Param("companyWechatId") String companyWechatId,
-                                                  @Param("adminWebsitIds") List<String> adminWebsitIds,
-                                                  @Param("adminUserType") Integer adminUserType,
-                                                  @Param("startTime") String startTime,
-                                                  @Param("endTime") String endTime);
+    public OrderBaseCountBean countOrderBaseIndex(@Param("companyWechatId") String companyWechatId, @Param("adminWebsitIds") List<String> adminWebsitIds,@Param("adminUserType") Integer adminUserType);
 
     /**
      * 工单状态统计2

+ 2 - 7
mall-server-api/src/main/java/com/gree/mall/manager/controller/workerorder/OrderBaseCountController.java

@@ -9,12 +9,8 @@ import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-import java.util.Map;
-
 @RequiredArgsConstructor
 @Slf4j
 @RestController
@@ -27,9 +23,8 @@ public class OrderBaseCountController {
 
     @PostMapping("/status/count")
     @ApiOperation(value = "按工单状态统计")
-    public ResponseHelper<OrderBaseCountBean> countStatus(   @RequestParam(required = false) String startTime,
-                                                             @RequestParam(required = false) String endTime) {
-        OrderBaseCountBean orderBaseCountBean = orderBaseCountLogic.baseCountBean(startTime,endTime);
+    public ResponseHelper<OrderBaseCountBean> countStatus() {
+        OrderBaseCountBean orderBaseCountBean = orderBaseCountLogic.baseCountBean();
         return ResponseHelper.success(orderBaseCountBean);
     }
 

+ 13 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/admin/AdminUserLogic.java

@@ -121,12 +121,18 @@ public class AdminUserLogic {
                 throw new RemoteServiceException("验证码错误");
             }
 
-            if (adminUser.getLoginErrNum() >= 3) {
-                throw new RemoteServiceException("登陆失败,您已连续输入错误3次密码,请联系管理人员重置密码");
+//            if (adminUser.getLoginErrNum() >= 3) {
+//                throw new RemoteServiceException("登陆失败,您已连续输入错误3次密码,请联系管理人员重置密码");
+//            }
+            if (Objects.nonNull(adminUser.getLoginErrEndTime()) && adminUser.getLoginErrEndTime().getTime() >= DateUtil.date().getTime()) {
+                throw new RemoteServiceException("登陆失败,您已连续输入错误3次密码,请在" + DateUtil.formatDateTime(adminUser.getLoginErrEndTime()) + "后重试");
             }
 
             if (!StringUtils.equals(adminUser.getPassword(), MD5Utils.md5(password))) {
-                adminUser.setLoginErrNum(adminUser.getLoginErrNum() + 1);
+                adminUser.setLoginErrNum(adminUser.getLoginErrNum() >= 3 ? 1 : adminUser.getLoginErrNum() + 1);
+                if (adminUser.getLoginErrNum() >= 3) {
+                    adminUser.setLoginErrEndTime(DateUtil.offsetSecond(DateUtil.date(), 600));
+                }
                 adminUser.updateById();
                 //记录错误次数
                 throw new RemoteServiceException("帐号密码错误");
@@ -140,6 +146,10 @@ public class AdminUserLogic {
         adminUser.setLoginErrNum(0);
         adminUser.setLastLoginTime(new Date());
         adminUser.updateById();
+        adminUserService.lambdaUpdate()
+                .set(AdminUser::getLoginErrEndTime, null)
+                .eq(AdminUser::getAdminUserId, adminUser.getAdminUserId())
+                .update();
 
         String token = JwtUtils.createJWT(adminUser.getAdminUserId(), adminUser.getNickName(), adminUser.getUserName(), 20 * 60 * 60 * 1000);
         AdminUserCom adminUserCom = commonLogic.getAdminUser(adminUser.getAdminUserId(), token);

+ 5 - 8
mall-server-api/src/main/java/com/gree/mall/manager/logic/unicom/UnicomLogic.java

@@ -1,23 +1,18 @@
 package com.gree.mall.manager.logic.unicom;
 
-import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.druid.util.StringUtils;
-
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
 import com.gree.mall.manager.bean.admin.AdminUserCom;
 import com.gree.mall.manager.bean.common.CallRecordOrderVo;
 import com.gree.mall.manager.bean.common.CallRecordVo;
-import com.gree.mall.manager.bean.workorder.IncreVO;
 import com.gree.mall.manager.commonmapper.CommonMapper;
 import com.gree.mall.manager.constant.Constant;
-import com.gree.mall.manager.constant.SysDictConstant;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.logic.common.SysDictLogic;
@@ -39,9 +34,11 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.io.IOException;
 import java.io.InputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
 
 /**
  * 联通外呼,隐私号对接
@@ -271,7 +268,7 @@ public class UnicomLogic {
             if(ring != null && ringingTime != null) {
                 callRecord.setRingTimestamp((int)DateUtil.betweenMs(ring,ringingTime));
             }
-            String ossUrl = ossUtil.getAccessUrl2()+filepath;
+            String ossUrl = ossUtil.getAccessUrl()+filepath;
             callRecord.setFileUrl(ossUrl);
             if(callRecord.getCallTimestamp() > 0){
                 callRecord.setStatus("回访成功");

+ 3 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/ChangeOrderLogic.java

@@ -112,7 +112,7 @@ public class ChangeOrderLogic {
     @Transactional(rollbackFor = Exception.class)
     public void changeAppointmentTime(String id, String appointmentTime, String appointmentEndTime, String remark, String imgSrc) {
         PgOrderBase pgOrderBase = pgOrderBaseService.getById(id);
-        if (StringUtils.equalsAny(pgOrderBase.getOrderStatus(),"YWG","GCSZX","WDWG","YWGO","YJS","LRCD","YQX","FWZT","YCGB","FWQX","FL")){
+        if (!StringUtils.equalsAny(pgOrderBase.getOrderStatus(),"YWG","GCSZX","WDWG","YWGO","YJS","LRCD","YQX","FWZT","YCGB","FWQX","FL")){
             return;
         }
         pgOrderBaseService.lambdaUpdate()
@@ -160,7 +160,7 @@ public class ChangeOrderLogic {
         for (String id : orderIds) {
             PgOrderBase pgOrderBase = pgOrderBaseService.getById(id);
 
-            if (StringUtils.equalsAny(pgOrderBase.getOrderStatus(),"YWG","GCSZX","WDWG","YWGO","YJS","LRCD","YQX","FWZT","YCGB","FWQX","FL")){
+            if (!StringUtils.equalsAny(pgOrderBase.getOrderStatus(),"YWG","GCSZX","WDWG","YWGO","YJS","LRCD","YQX","FWZT","YCGB","FWQX","FL")){
                 continue;
             }
             ids.add(id);
@@ -477,7 +477,7 @@ public class ChangeOrderLogic {
                     websitDispatch.setOrderSmallTypeText(orderSmallType.getOrderSmallTypeText());
                     websitDispatch.setOrderSmallId(orderSmallType.getId());
 
-                    websitDispatch.setCategoryId(goodsCategory.getCategoryNumber());
+                    websitDispatch.setCategoryId(goodsCategory.getCategoryId());
                     websitDispatch.setCategoryName(goodsCategory.getName());
                     websitDispatch.setSaleTypeId(sales.getDictCode());
                     websitDispatch.setSaleTypeName(sales.getDictValue());

+ 3 - 20
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseEsLogic.java

@@ -2,7 +2,6 @@ package com.gree.mall.manager.logic.workorder;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.db.sql.Order;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
@@ -11,10 +10,7 @@ import com.gree.mall.manager.bean.es.OrderBaseEsDate;
 import com.gree.mall.manager.bean.es.SettlementOrderEs;
 import com.gree.mall.manager.bean.listvo.param.WorkOrderZfireParam;
 import com.gree.mall.manager.bean.listvo.workorder.OrderBaseVO;
-import com.gree.mall.manager.constant.Constant;
 import com.gree.mall.manager.enums.MaterialExamineStatusEnum;
-import com.gree.mall.manager.enums.OrderStatusEnum;
-import com.gree.mall.manager.enums.workorder.OrderTypeEnum;
 import com.gree.mall.manager.es.OrderBaseEsRepository;
 import com.gree.mall.manager.es.SettlementOrderEsRepository;
 import com.gree.mall.manager.logic.common.CommonLogic;
@@ -27,7 +23,6 @@ import com.gree.mall.manager.plus.service.SettlementOrderService;
 import com.gree.mall.manager.plus.service.WorkerOrderService;
 import com.gree.mall.manager.utils.StringUtil;
 import com.gree.mall.manager.zfire.bean.QueryParamBean;
-import io.micrometer.core.instrument.search.Search;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
@@ -35,21 +30,15 @@ import org.apache.commons.lang3.StringUtils;
 import org.elasticsearch.index.query.BoolQueryBuilder;
 import org.elasticsearch.index.query.QueryBuilder;
 import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.index.query.RangeQueryBuilder;
 import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
 import org.elasticsearch.search.aggregations.AggregationBuilders;
 import org.elasticsearch.search.aggregations.Aggregations;
 import org.elasticsearch.search.aggregations.bucket.filter.FilterAggregationBuilder;
 import org.elasticsearch.search.aggregations.bucket.filter.ParsedFilter;
-import org.elasticsearch.search.aggregations.bucket.terms.ParsedStringTerms;
-import org.elasticsearch.search.aggregations.bucket.terms.Terms;
-import org.elasticsearch.search.aggregations.metrics.ParsedSum;
-import org.elasticsearch.search.builder.SearchSourceBuilder;
 import org.elasticsearch.search.sort.SortBuilders;
 import org.elasticsearch.search.sort.SortOrder;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.elasticsearch.core.*;
-import org.springframework.data.elasticsearch.core.document.Document;
 import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
 import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
 import org.springframework.stereotype.Service;
@@ -333,20 +322,14 @@ public class OrderBaseEsLogic {
 
         List<Map<String, Object>> maps = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds())) {
-            queryBuilder.must(
-                    QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()))
-                            .should(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()))
-            );
+            List<QueryBuilder> should = queryBuilder.should();
+            should.add(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()));
+            should.add(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()));
         }
 
         if (!StringUtil.isEmpty(orderSmallTypeText))
             queryBuilder.must(QueryBuilders.termsQuery("order_small_type_text",orderSmallTypeText));
 
-        queryBuilder.must(QueryBuilders.rangeQuery("create_time")
-                .gte(startTime)
-                .lte(endTime)
-        );
-
 
         //待预约
         NativeSearchQuery searchQuery = new NativeSearchQueryBuilder()

+ 4 - 19
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java

@@ -36,7 +36,6 @@ import com.gree.mall.manager.logic.common.WxPubNoticeLogic;
 import com.gree.mall.manager.plus.entity.*;
 import com.gree.mall.manager.plus.service.*;
 import com.gree.mall.manager.utils.CommonUtils;
-import com.gree.mall.manager.utils.StringUtil;
 import com.gree.mall.manager.zfire.bean.ZfireParamBean;
 import com.gree.mall.manager.zfire.util.FieldUtils;
 import lombok.RequiredArgsConstructor;
@@ -272,20 +271,11 @@ public class OrderBaseLogic {
         BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
 
         if (CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds())) {
-            queryBuilder.must(
-                    QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()))
-                            .should(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()))
-            );
+            List<QueryBuilder> should = queryBuilder.should();
+            should.add(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()));
+            should.add(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()));
         }
 
-        if (!StringUtil.isEmpty(orderSmallTypeText))
-            queryBuilder.must(QueryBuilders.termsQuery("order_small_type_text",orderSmallTypeText));
-
-        queryBuilder.must(QueryBuilders.rangeQuery("create_time")
-                .gte(startTime)
-                .lte(endTime)
-        );
-
         List<String> orderBaseId = new ArrayList<>();
 
         HashMap<String, Object> DZF = new HashMap<>();
@@ -2162,15 +2152,10 @@ public class OrderBaseLogic {
         }
         if (adminWebsit == null) {
 
-            GoodsCategory goodsCategory = goodsCategoryService.lambdaQuery()
-                    .eq(GoodsCategory::getCategoryNumber, orderAddBeanDTO.getOrderProducts().get(0).getMainId())
-                    .last("limit 1")
-                    .one();
-
             WebsitDispatch websitDispatch = websitDispatchService.lambdaQuery()
                     .eq(WebsitDispatch::getStreetCode, pgOrderBase.getStreetId())
                     .eq(WebsitDispatch::getSaleTypeId, pgOrderBase.getSaleType())
-                    .eq(WebsitDispatch::getCategoryId, goodsCategory.getCategoryId())
+                    .eq(WebsitDispatch::getCategoryId, orderAddBeanDTO.getOrderProducts().get(0).getMainId())
                     .eq(WebsitDispatch::getOrderSmallId, orderAddBeanDTO.getOrderSmallType())
                     .last("limit 1").one();
 

+ 0 - 3
mall-server-api/src/main/resources/mapper/workorder/OrderBaseCMapper.xml

@@ -246,9 +246,6 @@
             count(if(appraise_status in ('C'),1,null)) as 'cp'
         from pg_order_base a
         where 1=1
-        <if test="startTime != null and startTime !=''">
-            and a.create_time between #{startTime} and #{endTime}
-        </if>
         <if test="companyWechatId != null and companyWechatId !=''">
             and a.company_wechat_id = #{companyWechatId}
         </if>