From 0f9064331d69dbf88cb5d6d9aaac9be84a670d87 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Sat, 5 Jan 2019 18:33:35 +0800 Subject: [PATCH 01/18] =?UTF-8?q?[=E4=BA=A4=E6=98=93=E5=AF=B9=E8=B4=A6?= =?UTF-8?q?=E5=8D=95][=E4=BF=AE=E6=94=B9][=E6=9F=A5=E8=AF=A2=E9=97=AE?= =?UTF-8?q?=E9=A2=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/WxOrderMapper.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml index 41ca18f0e..2917a3be5 100644 --- a/mallinkService/src/main/resources/mapper/WxOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOrderMapper.xml @@ -427,7 +427,7 @@ o.order_status,o.create_date,o.update_date,o.detail,'[多商户交易]' merchant_name,cubi.`name` c_user_name,cubi.phone from ( - select o.* from wx_order o where o.type in (0,3) and o.id in( + select o.* from wx_order o where o.type=0 and o.id in( select o.id from wx_order o left join wx_coupon_merchant cm on o.product_id=cm.product_id group by o.id having count(o.id)>1)) o left join wx_c_user_basic_info cubi on o.c_user_id=cubi.id @@ -436,7 +436,7 @@ o.order_status,o.create_date,o.update_date,o.detail,m.`name` merchant_name,cubi.`name` c_user_name,cubi.phone from( select o.*,cm.merchant_id from ( - select o.* from wx_order o where o.type in (0,3) and o.id not in( + select o.* from wx_order o where o.type=0 and o.id not in( select o.id from wx_order o left join wx_coupon_merchant cm on o.product_id=cm.product_id group by o.id having count(o.id)>1) ) o @@ -447,6 +447,12 @@ where type in (1,2))o left join wx_merchant m on o.merchant_id=m.id left join wx_c_user_basic_info cubi on o.c_user_id=cubi.id + union all + select o.id,o.order_number,o.tenant_id,o.c_user_id,o.product_id,o.type,o.payment_type,o.payment,o.payment_time, + o.order_status,o.create_date,o.update_date,o.detail,m.`name` merchant_name,cubi.`name` c_user_name,cubi.phone + from wx_order o left join wx_merchant m on o.product_id=m.id + left join wx_c_user_basic_info cubi on o.c_user_id=cubi.id + where o.type=3 ) o From 47fd799208029d33913efbe4a0cd2ed11fa5ba53 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Sat, 5 Jan 2019 18:52:25 +0800 Subject: [PATCH 02/18] =?UTF-8?q?[=E6=A0=87=E7=AD=BE=E7=9F=AD=E4=BF=A1][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E4=BF=9D=E5=AD=98=E8=8D=89=E7=A8=BF]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WxMsgController.java | 2 +- .../service/impl/WxCUserTagsServiceImpl.java | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java index 7f3d6b815..046ea31d0 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java @@ -107,7 +107,7 @@ public class WxMsgController extends BaseController { if (phones.equals("")) {//没有手工输入手机号时解析标签,有,继续流转 phones = parselabel(wxMsg.getTenantId(), wxMsg); if (phones.equals("")) {//解析之后手机号依然不存在时返回 - return new ResultData(ErrorCode.MSG_PHONE_NOT_FOUND); + return new ResultData(ErrorCode.MSG_NO_VALID_PHONE); } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java index 040b32b30..6e4e73556 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserTagsServiceImpl.java @@ -126,11 +126,14 @@ public class WxCUserTagsServiceImpl implements WxCUserTagsService { String str = JSON.toJSONString(tagId); hs.addAll(wxCUserTagsMapper.findByTags(str, tenantId)); } - List userIds = new ArrayList<>(); - userIds.addAll(hs); - WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); - wxCUserBasicInfo.setIds(userIds); - return wxCUserBasicInfoMapper.findList(wxCUserBasicInfo); + if (!hs.isEmpty()) { + List userIds = new ArrayList<>(); + userIds.addAll(hs); + WxCUserBasicInfo wxCUserBasicInfo = new WxCUserBasicInfo(); + wxCUserBasicInfo.setIds(userIds); + return wxCUserBasicInfoMapper.findList(wxCUserBasicInfo); + } + return new ArrayList<>(); } From f5feced1967f0c0c526c3b896c7eba6679157430 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Sat, 5 Jan 2019 19:01:39 +0800 Subject: [PATCH 03/18] =?UTF-8?q?[=E4=BC=9A=E5=91=98=E5=88=97=E8=A1=A8][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E5=AF=BC=E5=85=A5=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E6=8F=90=E7=A4=BA]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mallinkService/src/main/java/com/iformall/common/ErrorCode.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index aeca60fa5..802959840 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -253,7 +253,7 @@ public enum ErrorCode{ /** * 会员 */ - MEM_IMPORT_ERR(13000, "模板导入失败"), + MEM_IMPORT_ERR(13000, "模板导入失败,请尝试重新导入"), MEM_SCORE_NOT_ENOUGH(13001, "成长值不够扣减值"), /** From ab642418bdc953fce0a3a3aaa2ae72f904c9f610 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 7 Jan 2019 10:49:16 +0800 Subject: [PATCH 04/18] =?UTF-8?q?[=E7=B2=BE=E5=87=86=E5=8F=91=E5=88=B8][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E5=87=8F=E5=BA=93=E5=AD=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/service/impl/WxOrderServiceImpl.java | 6 ++++++ .../src/main/resources/mapper/WxCouponInjectMapper.xml | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java index e7eb3411b..7dd8e58a5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOrderServiceImpl.java @@ -613,6 +613,9 @@ public class WxOrderServiceImpl implements WxOrderService { throw new MallinkException(ErrorCode.COUPON_IS_NOT_FREE); } + // 减库存操作 + stockReduce(user, coupon, couponIdStr); + int payment = coupon.getSalePrice(); Date curr = new Date(); @@ -692,6 +695,9 @@ public class WxOrderServiceImpl implements WxOrderService { throw new MallinkException(ErrorCode.COUPON_IS_NOT_FREE); } + // 减库存操作 + stockReduce(user, coupon, couponIdStr); + int payment = coupon.getSalePrice(); Date curr = new Date(); diff --git a/mallinkService/src/main/resources/mapper/WxCouponInjectMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponInjectMapper.xml index d0a898984..6309176f5 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponInjectMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponInjectMapper.xml @@ -55,9 +55,9 @@ and `coupon_id` = #{couponId} - - - + + + and `coupon_name` like concat('%', #{couponName},'%') From 675d45cdaec2d6196c111863f7517c8b355ed81a Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Mon, 7 Jan 2019 11:02:26 +0800 Subject: [PATCH 05/18] =?UTF-8?q?[=E8=BD=A6=E6=B5=81][=E6=96=B0=E5=A2=9E]:?= =?UTF-8?q?=E8=BD=A6=E6=B5=81=E7=BC=B4=E8=B4=B9=E5=9B=9E=E8=B0=83=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0tenantId=E5=A1=AB=E5=85=85=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCarCallBackController.java | 9 +++++- .../iformall/mapper/WxCarCmdLogMapper.java | 2 ++ .../iformall/service/WxCarCmdLogService.java | 28 +++++++++++++------ .../service/impl/WxCarCmdLogServiceImpl.java | 8 +++++- .../resources/mapper/WxCarCmdLogMapper.xml | 7 +++-- 5 files changed, 41 insertions(+), 13 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCarCallBackController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCarCallBackController.java index bce24ee6f..ec598a3ba 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCarCallBackController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCarCallBackController.java @@ -228,10 +228,17 @@ public class WxCarCallBackController extends BaseController { logger.info("["+getIpAddr()+"etcpPaidCallback: " + paramMap.toString()); String carNumber = paramMap.get("plateNumber"); - // TODO how to get the parkId + // 根据orderId获取入场信息,确定租户ID + String orderId = paramMap.get("orderId"); + HashMap map = new HashMap(); + map.put("synId", orderId); + String tenant_id = wxCarCmdLogService.getTenantIdBySynId(map); Date currentDate = new Date(); WxCarCmdLog wxCarCmdLog = new WxCarCmdLog(); + if(StringUtils.isNotBlank(tenant_id)) { + wxCarCmdLog.setTenantId(tenant_id); + } wxCarCmdLog.setVendorType(EnumCarVendor.CAR_ETCP.getCode()); wxCarCmdLog.setCmdType(EnumCarCmd.CAR_ETCP_CALLBACK_PAY_MANUAL.getCode()); wxCarCmdLog.setCmdJson(JSON.toJSONString(paramMap)); diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java index c9d913946..ce6651f5f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCarCmdLogMapper.java @@ -23,4 +23,6 @@ public interface WxCarCmdLogMapper extends CommonMapper { List> queryPlateNumberList(Map carParams); + String queryTenantIdBySynId(HashMap params); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java b/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java index 6bf2c506e..7016361a5 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxCarCmdLogService.java @@ -3,14 +3,16 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxCarCmdLog; +import java.util.HashMap; + public interface WxCarCmdLogService { /** * 根据实体查询分页列表 * * @param record - * @param offset - * @param limit + * @param pageIndex + * @param pageSize * @return */ PageInfo listAsPage(WxCarCmdLog record, Integer pageIndex, Integer pageSize); @@ -36,12 +38,20 @@ public interface WxCarCmdLogService { * @param id */ void deleteById(Long id); - - - - - - - + + /** + * 根据synId获取tenantId + * @param params + * @return + */ + String getTenantIdBySynId(HashMap params); + + + + + + + + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java index 3e8b35b03..6b36ff66f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCarCmdLogServiceImpl.java @@ -11,6 +11,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.iformall.common.IdWorker; +import java.util.HashMap; + @Service public class WxCarCmdLogServiceImpl implements WxCarCmdLogService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @@ -47,7 +49,11 @@ public class WxCarCmdLogServiceImpl implements WxCarCmdLogService { } - + @Override + public String getTenantIdBySynId(HashMap params) { + return wxCarCmdLogMapper.queryTenantIdBySynId(params); + } + diff --git a/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml b/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml index c8218729f..c6a675023 100644 --- a/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCarCmdLogMapper.xml @@ -103,8 +103,11 @@ and json_unquote(JSON_EXTRACT(cmd_json,'$.plateNumber')) is not null group by plateNumber - - + + From 373cd33281dbf15e2c30f0a20c10425a473ad2a0 Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 7 Jan 2019 13:26:41 +0800 Subject: [PATCH 06/18] =?UTF-8?q?[=E7=A7=9F=E8=B5=81=E5=90=88=E5=90=8C][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9][=E8=A1=A5=E5=BD=95=E7=94=9F=E6=88=90?= =?UTF-8?q?=E8=B4=A6=E5=8D=95]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxRentContractServiceImpl.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java index 99e67dfcf..4ddc19a41 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxRentContractServiceImpl.java @@ -165,6 +165,22 @@ public class WxRentContractServiceImpl implements WxRentContractService { return new ResultData(ErrorCode.RENT_CONTRACT_WITH_SHOP_IS_FOUND); } wxRentContractMapper.insertSelective(record); + //建立账单 + if (record.getMerchantId() != null && record.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) + && record.getReceivePeriod() != null && record.getDeposit() > 0 && record.getPrice() > 0) { + WxBillRent wxBillRent = new WxBillRent(); + wxBillRent.setMerchantId(record.getMerchantId()); + List> billRentList = wxBillRentMapper.queryBillRentList(wxBillRent); + if (billRentList.size() == 0) { + WxMerchant wxMerchant = new WxMerchant(); + wxMerchant.setId(record.getMerchantId()); + wxMerchant.setTenantId(record.getTenantId()); + //租金 + buildRent(wxMerchant); + //押金 + buildDeposit(wxMerchant); + } + } } catch (Exception e) { logger.error("保存租赁合同信息失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); From 1db07aaf1b402d405e662978d046276b91342d0d Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 7 Jan 2019 15:46:29 +0800 Subject: [PATCH 07/18] =?UTF-8?q?[=E7=A7=9F=E8=B5=81=E5=90=88=E5=90=8C][?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0][=E5=90=88=E5=90=8C=E7=B1=BB=E5=9E=8B]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/iformall/enums/EnumRentContractType.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumRentContractType.java b/mallinkService/src/main/java/com/iformall/enums/EnumRentContractType.java index f83d37d81..096c2198b 100644 --- a/mallinkService/src/main/java/com/iformall/enums/EnumRentContractType.java +++ b/mallinkService/src/main/java/com/iformall/enums/EnumRentContractType.java @@ -8,7 +8,8 @@ package com.iformall.enums; public enum EnumRentContractType { RENT_BY_AREA(1, "面积"), - RENT_BY_JOINT(2, "联营扣点") + RENT_BY_JOINT(2, "联营扣点"), + RENT_BY_AREA_AND_JOINT(3, "面积与联营扣点取高") ; public static EnumRentContractType getEnum(Integer code) { From 71fe365131db23fa769b9cb43982c3385f9ec557 Mon Sep 17 00:00:00 2001 From: hupeng Date: Mon, 7 Jan 2019 16:13:33 +0800 Subject: [PATCH 08/18] =?UTF-8?q?[BUG][1000758]:=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E5=AE=A2=E6=B5=81=E6=95=B0=E6=8D=AE=E6=9C=89=E6=95=88?= =?UTF-8?q?=E6=97=A0=E6=95=88=E6=A0=87=E8=AE=B0=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/domain/po/WxWiWideInfo.java | 11 ++++++ .../iformall/enums/EnumWiWideInfoStatus.java | 36 +++++++++++++++++++ .../service/impl/DataTowerServiceImpl.java | 12 +++++++ .../resources/mapper/WxWiwideInfoMapper.xml | 4 +-- 4 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/enums/EnumWiWideInfoStatus.java diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java b/mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java index b073fa387..771a7999c 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxWiWideInfo.java @@ -59,6 +59,9 @@ public class WxWiWideInfo implements Serializable { @io.swagger.annotations.ApiModelProperty(value="expiredTime",name="expiredTime") private Date expiredTime; + /*卖外迪信息类型列表,1,支持客流 2,支持wifi*/ + @io.swagger.annotations.ApiModelProperty(value="capability",name="capability") + private String capability; public String getTenantId() { return tenantId; @@ -105,6 +108,14 @@ public class WxWiWideInfo implements Serializable { this.expiredTime = expiredTime; } + public String getCapability() { + return capability; + } + + public void setCapability(String capability) { + this.capability = capability; + } + public static enum Field { Id_ASC("`id` ASC"),Id_DESC("`id` DESC") diff --git a/mallinkService/src/main/java/com/iformall/enums/EnumWiWideInfoStatus.java b/mallinkService/src/main/java/com/iformall/enums/EnumWiWideInfoStatus.java new file mode 100644 index 000000000..c7869d904 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/enums/EnumWiWideInfoStatus.java @@ -0,0 +1,36 @@ +package com.iformall.enums; + +/** + * Created by Stormeye on 2018/08/09. + */ +public enum EnumWiWideInfoStatus { + + INVALID(0, "未开通"), + VALID(1, "已开通") + ; + + public static EnumWiWideInfoStatus getEnum(Integer code) { + for (EnumWiWideInfoStatus value : values()) { + if (value.getCode().equals(code)) { + return value; + } + } + return null; + } + + private Integer code; + private String message; + + EnumWiWideInfoStatus(Integer code, String message) { + this.code = code; + this.message = message; + } + + public Integer getCode() { + return code; + } + + public String getMessage() { + return message; + } +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java index a88051ba2..b8ec1c830 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.impl; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; @@ -673,6 +674,17 @@ public class DataTowerServiceImpl implements DataTowerService { return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND); } wiWideInfo = list.get(0); + List cap = JSONArray.parseArray(wiWideInfo.getCapability(), Integer.class); + Integer dataType; + try { + dataType = Integer.valueOf(params.get("dataType")); + }catch (Exception e){ + return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND); + } + + if (cap == null || !cap.stream().anyMatch(c->c.equals(dataType))) { + return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND); + } String res = WiwideUtil.queryData(wiWideInfo, getWiwideToken(wiWideInfo), params); JSONObject result = JSONObject.parseObject(res); if (result.getInteger("result") == 200){ diff --git a/mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml index 5e1b36d86..6898a08c4 100644 --- a/mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxWiwideInfoMapper.xml @@ -9,11 +9,11 @@ - + - `id`,`tenant_id`,`wiwide_id`,`wiwide_key`,`wiwide_url`, `token`,`expired_time` + `id`,`tenant_id`,`wiwide_id`,`wiwide_key`,`wiwide_url`, `token`,`expired_time`,`capability` From 0b00cb33316cdbe202b73f3df617e92a5fb5e747 Mon Sep 17 00:00:00 2001 From: hupeng Date: Mon, 7 Jan 2019 16:17:40 +0800 Subject: [PATCH 09/18] =?UTF-8?q?[BUG][1000758]:=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E5=89=8D=E7=AB=AF=E6=95=B0=E6=8D=AE=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/service/impl/DataTowerServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java index b8ec1c830..57681d097 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/DataTowerServiceImpl.java @@ -678,6 +678,7 @@ public class DataTowerServiceImpl implements DataTowerService { Integer dataType; try { dataType = Integer.valueOf(params.get("dataType")); + params.remove("dataType"); }catch (Exception e){ return new ResultData(ErrorCode.WIWIDE_INFO_NOT_FOUND); } From c9945b9c2bf649b941c50130f1870647b0ed8fc6 Mon Sep 17 00:00:00 2001 From: hupeng Date: Mon, 7 Jan 2019 19:14:33 +0800 Subject: [PATCH 10/18] =?UTF-8?q?[BUG][1000749]:=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E8=90=A5=E9=94=80=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E8=AF=A2=E8=AF=AD=E5=8F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/WxCouponOrderMapper.xml | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 501dee210..80a83e048 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -145,33 +145,38 @@ From 23c9abfe0f764f934a3b65abc29e9f3017f97d5f Mon Sep 17 00:00:00 2001 From: gongbiao Date: Mon, 7 Jan 2019 19:51:01 +0800 Subject: [PATCH 11/18] =?UTF-8?q?[=E4=BA=91=E7=AB=AF=E6=B5=8B=E8=AF=95=20v?= =?UTF-8?q?ersion:.426.552=EF=BC=9A=E8=90=A5=E9=94=80=E7=BB=9F=E8=AE=A1-?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E9=97=AE=E9=A2=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/MarkingDataReportServiceImpl.java | 4 ++-- .../main/resources/mapper/WxCouponOrderMapper.xml | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java index 56070df79..49337c987 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MarkingDataReportServiceImpl.java @@ -566,7 +566,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { if (markingCouponDataReportDto.getStartTime() != null) params1.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0)); if (markingCouponDataReportDto.getEndTime() != null) - params1.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); + params1.put("endTime", markingCouponDataReportDto.getEndTime()); PageHelper.startPage(pageIndex, pageSize); List wxUserVisitList = wxUserVisitMapper.touchUsersReportList(params1); @@ -580,7 +580,7 @@ public class MarkingDataReportServiceImpl implements MarkingDataReportService { if (markingCouponDataReportDto.getStartTime() != null) params2.put("startTime", convertDateAndAdd(markingCouponDataReportDto.getStartTime(),0)); if (markingCouponDataReportDto.getEndTime() != null) - params2.put("endTime", convertDateAndAdd(markingCouponDataReportDto.getEndTime(), 1)); + params2.put("endTime", markingCouponDataReportDto.getEndTime()); List couponDatalist = wxCouponOrderMapper.touchUsersReportList(params2); Map visitMap = couponDatalist.stream().collect(Collectors.toMap(TouchUsersReportVo::getxTime, p -> p)); diff --git a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml index 80a83e048..5a5e36fa1 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml @@ -378,8 +378,8 @@ and co.coupon_order_status = #{couponOrderStatus} - - + + and (case when com.mc=1 then (select m.name from wx_merchant m, wx_coupon_merchant cm where m.id = cm.merchant_id and cm.product_id=co.coupon_id) else '[多商户通用]' end) @@ -393,9 +393,13 @@ AND co.create_date < #{endDate,jdbcType=TIMESTAMP} - + + + and co.id = #{id} + + order by ${sortColumns} - + From 7e8b5ab056bf199fd0918fc4a45452c021e6796a Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 8 Jan 2019 11:32:48 +0800 Subject: [PATCH 12/18] =?UTF-8?q?[B=E7=AB=AF=E6=94=B6=E6=AC=BE=E7=A0=81?= =?UTF-8?q?=E5=8A=A0=E5=AF=86][=E4=BF=AE=E6=94=B9]:=E6=94=B6=E6=AC=BE?= =?UTF-8?q?=E7=A0=81=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxMerchantBUserController.java | 10 +++++ .../controller/WxCardPayController.java | 16 +++---- .../iformall/controller/WxMallController.java | 4 +- .../controller/WxMerchantController.java | 43 +++++++++++++++++++ .../domain/vo/WxMerchantDiscountVo.java | 38 ---------------- .../com/iformall/mapper/WxMerchantMapper.java | 6 ++- .../iformall/service/WxMerchantService.java | 13 +++++- .../service/impl/WxMerchantServiceImpl.java | 8 +++- .../java/com/iformall/utils/HashUtil.java | 23 ++++++++++ .../resources/mapper/WxMerchantMapper.xml | 23 +++++++++- 10 files changed, 129 insertions(+), 55 deletions(-) create mode 100644 mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java delete mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantDiscountVo.java diff --git a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java index 82402f61f..4cc5cedf8 100644 --- a/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java +++ b/mallinkBApi/src/main/java/com/iformall/controller/WxMerchantBUserController.java @@ -10,6 +10,7 @@ import com.iformall.enums.EnumMerchantBUserStatus; import com.iformall.enums.EnumMerchantStatus; import com.iformall.interceptor.AuthorizationInterceptor; import com.iformall.service.*; +import com.iformall.utils.HashUtil; import com.iformall.utils.IPUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -81,6 +82,15 @@ public class WxMerchantBUserController extends BaseController { resultMap.put("service_phone", mall.getServicePhone()); resultMap.put("tenant_id",merchant.getTenantId()); resultMap.put("merchant_id",merchant.getId()); + String mid = null; + try { + mid = String.valueOf(merchant.getId()); + if(mid != null) { + resultMap.put("merchant_id_scan", HashUtil.EncoderByMd5(mid)); + } + }catch (Exception e) { + logger.error(e.getMessage()); + } return new ResultData(resultMap); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java index 0ea1d9a73..32fffeb88 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCardPayController.java @@ -45,22 +45,22 @@ public class WxCardPayController extends BaseController { @Autowired WxCardSpendService wxCardSpendService; - @ApiOperation(value = "C端扫B端储值卡支付订单", notes = "params:{\"cardId\":\"String\",\"merchantCode\":\"String\",\"totalFee\":\"String(元)\"}") + @ApiOperation(value = "C端扫B端储值卡支付订单", notes = "params:{\"cardId\":\"String\",\"merchantId\":\"String\",\"totalFee\":\"String(元)\"}") @PostMapping("order_create") public ResultData saveCardPayOrder(@RequestBody Map paramMap, HttpServletRequest request) { String ipStr = getIpAddr(); logger.info("saveCardPayOrder: " + ipStr + " :" + paramMap.toString()); String cardIdStr = paramMap.get("cardId"); - String merchantCode = paramMap.get("merchantCode"); + String merchantStr = paramMap.get("merchantId"); String totalFeeStr = paramMap.get("totalFee"); if (StringUtils.isBlank(cardIdStr)) { logger.error("cardId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cardId不能为空"); } - if (StringUtils.isBlank(merchantCode)) { - logger.error("merchantCode不能为空"); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantCode不能为空"); + if (StringUtils.isBlank(merchantStr)) { + logger.error("merchantId不能为空"); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantId不能为空"); } if (StringUtils.isBlank(totalFeeStr)) { logger.error("totalFee不能为空"); @@ -76,10 +76,10 @@ public class WxCardPayController extends BaseController { return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "cardIdStr转换失败"); } try { - merchantId = Long.valueOf(merchantCode); + merchantId = Long.valueOf(merchantStr); } catch (Exception e) { - logger.error("merchantCode convert failed:" + merchantCode); - return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantCode转换失败"); + logger.error("merchantCode convert failed:" + merchantStr); + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "merchantId转换失败"); } BigDecimal totalFee = new BigDecimal(totalFeeStr); diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java index 09ac2e7f4..040198b89 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxMallController.java @@ -5,7 +5,7 @@ import com.iformall.common.ErrorCode; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; -import com.iformall.domain.vo.WxMerchantDiscountVo; +import com.iformall.domain.vo.WxMerchantVo; import com.iformall.enums.EnumMerchantStatus; import com.iformall.service.*; import io.swagger.annotations.Api; @@ -123,7 +123,7 @@ public class WxMallController extends BaseController { WxMerchant merchantQ = new WxMerchant(); merchantQ.setTenantId(user.getTenantId()); merchantQ.setStatus(EnumMerchantStatus.VALID.getCode()); - List list = wxMerchantService.getDisCountList(merchantQ); + List list = wxMerchantService.getDisCountList(merchantQ); return new ResultData(Result.SUCCESS, "查询成功", list); } diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java new file mode 100644 index 000000000..c3f2d7ff2 --- /dev/null +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java @@ -0,0 +1,43 @@ +package com.iformall.controller; + +import com.iformall.common.ErrorCode; +import com.iformall.common.ResultData; +import com.iformall.domain.vo.WxMerchantVo; +import com.iformall.service.WxMerchantService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.HashMap; + +/** + * @author Stormeye + */ +@RestController +@RequestMapping("wxMerchant") +public class WxMerchantController extends BaseController { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + private WxMerchantService wxMerchantService; + + + @ApiOperation("根据code查询接口") + @GetMapping("/findByCode") + @ApiImplicitParam(name = "merchantCode", value = "merchantCode", dataType = "String", paramType = "query", required = true) + public ResultData findByCode(String merchantCode) { + logger.debug("[" + getIpAddr() + "] WxMerchantController::findByCode"); + if(merchantCode == null) { + return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); + } + HashMap params = new HashMap(); + params.put("tenantId", getTenantId()); + params.put("merchantCode", merchantCode); + WxMerchantVo wxMerchant = wxMerchantService.getMerchantInfo(params); + return new ResultData(wxMerchant); + } + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantDiscountVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantDiscountVo.java deleted file mode 100644 index 366ebaf95..000000000 --- a/mallinkService/src/main/java/com/iformall/domain/vo/WxMerchantDiscountVo.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.iformall.domain.vo; - -public class WxMerchantDiscountVo extends WxMerchantVo { - private static final long serialVersionUID = 6687964942922444531L; - - @io.swagger.annotations.ApiModelProperty(value="VIP折扣率1",name="vipDiscountRate1") - private Integer vipDiscountRate1; - - @io.swagger.annotations.ApiModelProperty(value="VIP折扣率2",name="vipDiscountRate2") - private Integer vipDiscountRate2; - - @io.swagger.annotations.ApiModelProperty(value="VIP折扣率3",name="vipDiscountRate3") - private Integer vipDiscountRate3; - - public Integer getVipDiscountRate1() { - return vipDiscountRate1; - } - - public void setVipDiscountRate1(Integer vipDiscountRate1) { - this.vipDiscountRate1 = vipDiscountRate1; - } - - public Integer getVipDiscountRate2() { - return vipDiscountRate2; - } - - public void setVipDiscountRate2(Integer vipDiscountRate2) { - this.vipDiscountRate2 = vipDiscountRate2; - } - - public Integer getVipDiscountRate3() { - return vipDiscountRate3; - } - - public void setVipDiscountRate3(Integer vipDiscountRate3) { - this.vipDiscountRate3 = vipDiscountRate3; - } -} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java index 62824a57f..1a53acbfa 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java @@ -3,13 +3,15 @@ package com.iformall.mapper; import java.util.*; import com.iformall.common.CommonMapper; import com.iformall.domain.po.WxMerchant; -import com.iformall.domain.vo.WxMerchantDiscountVo; +import com.iformall.domain.vo.WxMerchantVo; public interface WxMerchantMapper extends CommonMapper { List findList(WxMerchant wxMerchant); - List findDiscountList(WxMerchant wxMerchant); + List findDiscountList(WxMerchant wxMerchant); + + WxMerchantVo getMerchantByCode(HashMap params); diff --git a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java index 2432514e0..b28564305 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxMerchantService.java @@ -3,8 +3,9 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.WxMerchant; -import com.iformall.domain.vo.WxMerchantDiscountVo; +import com.iformall.domain.vo.WxMerchantVo; +import java.util.HashMap; import java.util.List; /** @@ -28,7 +29,15 @@ public interface WxMerchantService { * @param record * @return */ - List getDisCountList(WxMerchant record); + List getDisCountList(WxMerchant record); + + /** + * 根据code查询 + * + * @param params + * @return + */ + WxMerchantVo getMerchantInfo(HashMap params); /** * 根据实体查询分页列表 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java index 1f7c7ee90..dcafa63c4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java @@ -7,7 +7,6 @@ import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.*; -import com.iformall.domain.vo.WxMerchantDiscountVo; import com.iformall.domain.vo.WxMerchantVo; import com.iformall.enums.*; import com.iformall.exception.MallinkException; @@ -102,10 +101,15 @@ public class WxMerchantServiceImpl implements WxMerchantService { } @Override - public List getDisCountList(WxMerchant record) { + public List getDisCountList(WxMerchant record) { return wxMerchantMapper.findDiscountList(record); } + @Override + public WxMerchantVo getMerchantInfo(HashMap params) { + return wxMerchantMapper.getMerchantByCode(params); + } + @Override public List etcpList(WxMerchant record) { record.setCarVendorType(EnumCarVendor.CAR_ETCP.getCode()); diff --git a/mallinkService/src/main/java/com/iformall/utils/HashUtil.java b/mallinkService/src/main/java/com/iformall/utils/HashUtil.java index 62e11d599..4d99d09ed 100644 --- a/mallinkService/src/main/java/com/iformall/utils/HashUtil.java +++ b/mallinkService/src/main/java/com/iformall/utils/HashUtil.java @@ -1,6 +1,8 @@ package com.iformall.utils; +import java.io.UnsupportedEncodingException; import java.security.MessageDigest; +import java.util.Base64; /** * @author Stormeye @@ -82,4 +84,25 @@ public class HashUtil { } return diff == 0; } + + public static String EncoderByMd5(String str) { + if (str == null) { + return null; + } + try { + String enc = hash("md5", str); + enc = new String(Base64.getUrlEncoder().encode(enc.getBytes("utf-8"))); + return enc; + } catch (UnsupportedEncodingException e) { + return null; + } + } + + public static String DecodeByMD5(String str) { + if (str == null) { + return null; + } + String dec = new String(Base64.getUrlDecoder().decode(str)); + return dec; + } } diff --git a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml index 13f16540e..ea13f8152 100644 --- a/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxMerchantMapper.xml @@ -98,7 +98,7 @@ m.vip_discount_rate1, m.vip_discount_rate2, m.vip_discount_rate3 - + @@ -135,5 +135,26 @@ + + From f5946c84b68e062bdb30c152ccefd644296e2372 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 8 Jan 2019 11:43:44 +0800 Subject: [PATCH 13/18] =?UTF-8?q?[C=E7=AB=AF=E6=89=ABB=E7=AB=AF][=E4=BF=AE?= =?UTF-8?q?=E6=94=B9]:=E6=94=B6=E6=AC=BE=E7=A0=81=E8=A7=A3=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/controller/WxMerchantController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java index c3f2d7ff2..32f0949a0 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java @@ -4,6 +4,7 @@ import com.iformall.common.ErrorCode; import com.iformall.common.ResultData; import com.iformall.domain.vo.WxMerchantVo; import com.iformall.service.WxMerchantService; +import com.iformall.utils.HashUtil; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; @@ -35,7 +36,7 @@ public class WxMerchantController extends BaseController { } HashMap params = new HashMap(); params.put("tenantId", getTenantId()); - params.put("merchantCode", merchantCode); + params.put("merchantCode", HashUtil.DecodeByMD5(merchantCode)); WxMerchantVo wxMerchant = wxMerchantService.getMerchantInfo(params); return new ResultData(wxMerchant); } From 50f81ba6cf80f264e11d2fcc0f2c5b2af6f9ceb2 Mon Sep 17 00:00:00 2001 From: hupeng Date: Tue, 8 Jan 2019 12:06:49 +0800 Subject: [PATCH 14/18] =?UTF-8?q?[BUG][1000764]:=E9=99=90=E6=97=B6?= =?UTF-8?q?=E6=8A=A2=E8=B4=AD=E6=B2=A1=E6=9C=89=E6=8C=89=E6=97=B6=E4=B8=8A?= =?UTF-8?q?=E6=9E=B6=E9=97=AE=E9=A2=98,A=E7=AB=AF=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E8=BF=87=E6=BB=A4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxCouponChannelController.java | 2 +- .../iformall/domain/po/WxCouponChannel.java | 32 +++++++++++++++++++ .../mapper/WxCouponChannelMapper.xml | 7 +++- 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java index d8bf0aad8..92a59b70c 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxCouponChannelController.java @@ -37,7 +37,7 @@ public class WxCouponChannelController extends BaseController { wxCouponChannel.setTenantId(getTenantId()); wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode()); wxCouponChannel.setSortColumns(WxCouponChannel.Field.CreateDate_DESC); - + wxCouponChannel.setIsCRequest(0);//标记为C端调用 return new ResultData(wxCouponChannelService.listPageCVo(wxCouponChannel, pageNum, pageSize)); } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java index 8e0d729d7..9c8938a2f 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxCouponChannel.java @@ -40,6 +40,15 @@ public class WxCouponChannel implements Serializable { this.ids = ids; } + @Transient + private Integer isCRequest; + + @Transient + private Date startdate; + + @Transient + private Date enddate; + @Transient protected List couponIds; @@ -89,6 +98,13 @@ public class WxCouponChannel implements Serializable { @io.swagger.annotations.ApiModelProperty(value="子频道ID",name="subTargetId") private Long subTargetId; + public Integer getIsCRequest() { + return isCRequest; + } + + public void setIsCRequest(Integer isCRequest) { + this.isCRequest = isCRequest; + } public String getTenantId() { return tenantId; @@ -165,6 +181,22 @@ public class WxCouponChannel implements Serializable { this.subTargetId = subTargetId; } + public Date getStartdate() { + return startdate; + } + + public void setStartdate(Date startdate) { + this.startdate = startdate; + } + + public Date getEnddate() { + return enddate; + } + + public void setEnddate(Date enddate) { + this.enddate = enddate; + } + public static enum Field diff --git a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml index ff7fa5c41..ed67253d4 100644 --- a/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml @@ -52,7 +52,11 @@ and cc.`business` = #{business} - + + and cc.`create_date` between #{startdate} and #{enddate} + + + and cc.`begin_time` < now() and cc.`end_time` > now() @@ -68,6 +72,7 @@ and cc.`update_date` = #{updateDate} + and cc.`sub_target_id` = #{subTargetId} From 7814c6303dfd4ed06b6ed0f6ce03d8defe921cfa Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 8 Jan 2019 12:43:08 +0800 Subject: [PATCH 15/18] =?UTF-8?q?[BUG][1000736]:=E8=90=A5=E9=94=80?= =?UTF-8?q?=E8=A1=A5=E8=B4=B4=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java index 2121d71bf..51aff49b5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxMerchantSubsidyServiceImpl.java @@ -131,7 +131,7 @@ public class WxMerchantSubsidyServiceImpl implements WxMerchantSubsidyService { WxMerchantSubsidyVo entity = subsidyVoList.get(i); - idCellTwo.setCellValue(String.valueOf(entity.getId())); + idCellTwo.setCellValue(String.valueOf(entity.getOrderId())); merchantNameCellTwo.setCellValue(entity.getMerchantName()); if (entity.getCreateDate() != null) createDateCellTwo.setCellValue(sdf.format(entity.getCreateDate())); From bde6f1e1ee4b3403703b025e755961acf78d6829 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 8 Jan 2019 13:08:30 +0800 Subject: [PATCH 16/18] =?UTF-8?q?[B=E7=AB=AF=E6=94=B6=E6=AC=BE=E7=A0=81][?= =?UTF-8?q?=E4=BF=AE=E6=94=B9]:=E6=B7=BB=E5=8A=A0api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/iformall/controller/WxMerchantController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java b/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java index 32f0949a0..8fa77063b 100644 --- a/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java +++ b/mallinkCApi/src/main/java/com/iformall/controller/WxMerchantController.java @@ -18,7 +18,7 @@ import java.util.HashMap; * @author Stormeye */ @RestController -@RequestMapping("wxMerchant") +@RequestMapping("/api/merchant") public class WxMerchantController extends BaseController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); From d8b4ce0281d1cf2985001b462913edb6cd8cd417 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 8 Jan 2019 14:05:40 +0800 Subject: [PATCH 17/18] =?UTF-8?q?[A=E7=AB=AF=E4=BC=9A=E5=91=98=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=AF=BC=E5=87=BA][=E4=BC=98=E5=8C=96]:admintest?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E4=BC=9A=E5=91=98=E6=95=B0=E6=8D=AE=E5=AF=BC?= =?UTF-8?q?=E5=87=BA5s=E4=BB=A5=E5=86=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/vo/WxCUserBasicInfoVo.java | 18 ++++ .../mapper/WxCUserBasicInfoMapper.java | 3 + .../impl/WxCUserBasicInfoServiceImpl.java | 31 +++--- .../mapper/WxCUserBasicInfoMapper.xml | 100 ++++++++++++++++++ 4 files changed, 139 insertions(+), 13 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/domain/vo/WxCUserBasicInfoVo.java diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxCUserBasicInfoVo.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxCUserBasicInfoVo.java new file mode 100644 index 000000000..d4aa75f03 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxCUserBasicInfoVo.java @@ -0,0 +1,18 @@ +package com.iformall.domain.vo; + +import com.iformall.domain.po.WxCUserBasicInfo; + +public class WxCUserBasicInfoVo extends WxCUserBasicInfo { + + /**用户tags*/ + @io.swagger.annotations.ApiModelProperty(value="用户tags",name="tags") + private String tags; + + public String getTags() { + return tags; + } + + public void setTags(String tags) { + this.tags = tags; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java index aa7919bea..c43646aee 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java @@ -4,6 +4,7 @@ import com.iformall.common.CommonMapper; import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.vo.CUserBaseVo; +import com.iformall.domain.vo.WxCUserBasicInfoVo; import java.util.List; @@ -22,4 +23,6 @@ public interface WxCUserBasicInfoMapper extends CommonMapper findVoList(WxCUserBasicInfo wxCUserBasicInfo); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index ab046fef4..54dfa6512 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -18,6 +18,7 @@ import com.iformall.domain.po.WxTags; import com.iformall.domain.vo.CUserBaseInfoT; import com.iformall.domain.vo.CUserBaseVo; import com.iformall.domain.vo.CUserTagVo; +import com.iformall.domain.vo.WxCUserBasicInfoVo; import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumScoreType; import com.iformall.mapper.WxCUserBasicInfoMapper; @@ -155,7 +156,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { public void exportData(HttpServletRequest request, HttpServletResponse response, String tenantId) { WxCUserBasicInfo basicInfoQ = new WxCUserBasicInfo(); basicInfoQ.setTenantId(tenantId); - List memberlist = wxCUserBasicInfoMapper.findList(basicInfoQ); + List memberlist = wxCUserBasicInfoMapper.findVoList(basicInfoQ); XSSFWorkbook workbook; String filepath = Constant.fileDirectory; @@ -168,6 +169,9 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + WxTags wxTagsQ = new WxTags(); + List tagList = wxTagsMapper.findList(wxTagsQ); + try { File file = new File(filepath); workbook = new XSSFWorkbook(); @@ -211,7 +215,7 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { tagCellTwo = rowtwo.createCell(9); scoreCellTwo = rowtwo.createCell(10); - WxCUserBasicInfo entity = memberlist.get(i); + WxCUserBasicInfoVo entity = memberlist.get(i); String sexStr = "保密"; if (entity.getSex() == 1) @@ -229,21 +233,22 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { updateDateCellTwo.setCellValue(sdf.format(entity.getUpdateDate())); createDateCellTwo.setCellValue(sdf.format(entity.getCreateDate())); if (entity != null) { - if (entity.getTagId() != null) { - WxCUserTags uTag = wxCUserTagsMapper.selectByPrimaryKey(entity.getTagId()); - if (uTag != null && StringUtils.isNotBlank(uTag.getTags())) { - List ids = JSONObject.parseArray(uTag.getTags(), Long.class); + if (entity.getTagId() != null && entity.getTags() != null) { + if (StringUtils.isNotBlank(entity.getTags())) { + List ids = JSONObject.parseArray(entity.getTags(), Long.class); if (!ids.isEmpty()) { - WxTags wxTagsQ = new WxTags(); - wxTagsQ.setIds(ids); - List tagList = wxTagsMapper.findList(wxTagsQ); String tagNames = ""; String tagIds = ""; List tagIdList = new ArrayList<>(); - for (WxTags wt : tagList) { - tagNames += wt.getName() + "/"; - tagIds += wt.getId() + ","; - tagIdList.add(wt.getId()); + for(Long id: ids) { + for(WxTags tag: tagList) { + if(id.equals(tag.getId())) { + tagNames += tag.getName() + "/"; + tagIds += tag.getId() + ","; + tagIdList.add(tag.getId()); + break; + } + } } if (StringUtils.isNotBlank(tagNames)) { entity.setTagNames(tagNames.substring(0, tagNames.length() - 1)); diff --git a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml index 18f151397..c7288dda2 100644 --- a/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml @@ -194,4 +194,104 @@ + + + + + + + + + + + + + + + + + + + + + + cu.`id`,cu.`phone`,cu.`birthdate`,cu.`education`,cu.`sex`,cu.`email`,cu.`address`,cu.`poins`,cu.`tag_id`, + cu.`create_date`,cu.`update_date`,cu.`tenant_id`,cu.`name`,cu.`level`,cu.`nick_name`, + cut.`tags` + + + + where 1 = 1 + + + and cu.`id` = #{id} + + + + and cu.`tenant_id` = #{tenantId} + + + + and cu.`phone` like concat('%', #{phone},'%') + + + + and cu.`birthdate` = #{birthdate} + + + + and cu.`education` like concat('%', #{education},'%') + + + + and cu.`sex` = #{sex} + + + + and cu.`email` like concat('%', #{email},'%') + + + + and cu.`address` like concat('%', #{address},'%') + + + + and cu.`poins` = #{poins} + + + + and cu.`tag_id` = #{tagId} + + + + and cu.`create_date` = #{createDate} + + + + and cu.`update_date` = #{updateDate} + + + + and `name` like concat('%', #{name},'%') + + + and cu.`create_date` between #{startTime} and #{endTime} + + + and id in + + #{idItem} + + + order by ${sortColumns} + + + + From fcacc2366d3a98200bb78a3f893c24784d206f07 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 8 Jan 2019 14:45:43 +0800 Subject: [PATCH 18/18] =?UTF-8?q?[BUG][1000714]:redis=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WxCUserBasicInfoController.java | 24 +++++++-------- .../impl/WxCUserBasicInfoServiceImpl.java | 30 +++++++++---------- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java index 661487e78..b3870c09e 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java @@ -262,8 +262,8 @@ public class WxCUserBasicInfoController extends BaseController { @GetMapping("/queryTemplateCount") public ResultData queryTemplateCount() { - String userId = getUser().getId().toString(); - Map entries = stringRedisTemplate.opsForHash().entries(userId); + String importKey = "import-" + getUser().getId(); + Map entries = stringRedisTemplate.opsForHash().entries(importKey); logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>1"); if (entries.size() < 4) { entries.clear(); @@ -274,22 +274,22 @@ public class WxCUserBasicInfoController extends BaseController { String successCount = entries.get("successCount").toString(); String failCount = entries.get("failCount").toString(); - if (allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS); + if (StringUtils.isNotBlank(failCount) && allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS); logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>2"); //完全失败 - stringRedisTemplate.opsForHash().delete(userId, "allCount"); - stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount"); - stringRedisTemplate.opsForHash().delete(userId, "successCount"); - stringRedisTemplate.opsForHash().delete(userId, "failCount"); + stringRedisTemplate.opsForHash().delete(importKey, "allCount"); + stringRedisTemplate.opsForHash().delete(importKey, "allSuccessCount"); + stringRedisTemplate.opsForHash().delete(importKey, "successCount"); + stringRedisTemplate.opsForHash().delete(importKey, "failCount"); return new ResultData(ErrorCode.MEM_IMPORT_ERR); } //导入完成 - if (allSuccessCount.equals(successCount)) { + if (StringUtils.isNotBlank(allSuccessCount) && allSuccessCount.equals(successCount)) { ResultData ok = new ResultData(Result.SUCCESS, "ok", entries); - stringRedisTemplate.opsForHash().delete(userId, "allCount"); - stringRedisTemplate.opsForHash().delete(userId, "allSuccessCount"); - stringRedisTemplate.opsForHash().delete(userId, "successCount"); - stringRedisTemplate.opsForHash().delete(userId, "failCount"); + stringRedisTemplate.opsForHash().delete(importKey, "allCount"); + stringRedisTemplate.opsForHash().delete(importKey, "allSuccessCount"); + stringRedisTemplate.opsForHash().delete(importKey, "successCount"); + stringRedisTemplate.opsForHash().delete(importKey, "failCount"); return ok; } return new ResultData(Result.SUCCESS, "查询成功", entries); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java index 54dfa6512..ff36a341e 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java @@ -518,27 +518,25 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { final IdWorker idWorker = IdWorker.get(); + String importKey = "import-" + userId; + + //默认添加到redis里 + stringRedisTemplate.opsForHash().put(importKey, "allCount", ""); + stringRedisTemplate.opsForHash().put(importKey, "allSuccessCount", "0"); + stringRedisTemplate.opsForHash().put(importKey, "successCount", "0"); + stringRedisTemplate.opsForHash().put(importKey, "failCount", "0"); + ImportParams params = new ImportParams(); - //IExcelDataHandler handler = new UserExcelHandler(); - //handler.setNeedHandlerFields(new String[]{"姓名", "性别", "手机号", "微信昵称", "学历", "生日", "地址", "上次活跃时间", "注册时间", "标签", "成长值"});// 注意这里对应的是excel的列名。也就是对象上指定的列名。 - //params.setDataHandler(handler); - //params.setVerifyHandler(); // 需要验证 params.setImportFields(new String[]{"姓名", "性别", "手机号", "微信昵称", "学历", "生日", "地址", "上次活跃时间", "注册时间", "标签", "成长值"}); params.setNeedVerify(true); try { - ExcelImportResult datalist = ExcelImportUtil.importExcelMore(file.getInputStream(), CUserBaseInfoT.class, params); List successList = datalist.getList(); List failList = datalist.getFailList(); - logger.info("验证通过的数量:" + successList.size()); - logger.info("验证未通过的数量:" + failList.size()); - //如果不存在就添加 - stringRedisTemplate.opsForHash().put(userId, "allCount", successList.size() + failList.size() + ""); - stringRedisTemplate.opsForHash().put(userId, "allSuccessCount", successList.size() + ""); - stringRedisTemplate.opsForHash().put(userId, "successCount", "0"); - stringRedisTemplate.opsForHash().put(userId, "failCount", failList.size() + ""); + logger.info("验证通过的数量: " + successList.size()); + logger.info("验证未通过的数量: " + failList.size()); successList.parallelStream().forEach(uBase->{ @@ -650,12 +648,12 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService { stringRedisTemplate.opsForHash().increment(userId,"successCount",1); }); } catch (Exception e) { + stringRedisTemplate.opsForHash().put(importKey, "allCount", "1"); + stringRedisTemplate.opsForHash().put(importKey, "allSuccessCount", "0"); + stringRedisTemplate.opsForHash().put(importKey, "successCount", "0"); + stringRedisTemplate.opsForHash().put(importKey, "failCount", "1"); e.printStackTrace(); logger.error("导入模板失败:"+e.getMessage()); - stringRedisTemplate.opsForHash().put(userId, "allCount", "1"); - stringRedisTemplate.opsForHash().put(userId, "allSuccessCount", "0"); - stringRedisTemplate.opsForHash().put(userId, "successCount", "0"); - stringRedisTemplate.opsForHash().put(userId, "failCount", "1"); } return new ResultData();