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

Merge tag 'refs/tags/jenkins-back-end-1724' into release

develop

# Conflicts:
#	mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java
#	mallinkService/src/main/java/com/iformall/domain/po/WxMsgModel.java
#	mallinkService/src/main/java/com/iformall/domain/po/WxMsgValidationcodeModel.java
#	mallinkService/src/main/java/com/iformall/domain/po/WxScoreRules.java
#	mallinkService/src/main/java/com/iformall/mapper/WxMerchantMapper.java
#	mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java
#	mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
#	mallinkService/src/main/java/com/iformall/service/impl/WxMerchantServiceImpl.java
#	mallinkService/src/main/java/com/iformall/service/msg/impl/SendEmailServiceImpl.java
#	mallinkService/src/main/resources/mapper/WxMsgModelMapper.xml
#	mallinkService/src/main/resources/mapper/WxMsgValidationcodeModelMapper.xml
release_toaliyun_real
Stormeye Wu пре 7 година
родитељ
комит
8c7f73c600
100 измењених фајлова са 2951 додато и 1349 уклоњено
  1. +19
    -0
      mallinkAdmin/pom.xml
  2. +8
    -0
      mallinkAdmin/src/main/java/com/iformall/UserApplication.java
  3. +18
    -0
      mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java
  4. +0
    -2
      mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java
  5. +5
    -1
      mallinkAdmin/src/main/java/com/iformall/config/WebConfig.java
  6. +0
    -75
      mallinkAdmin/src/main/java/com/iformall/controller/MallPermissionController.java
  7. +0
    -83
      mallinkAdmin/src/main/java/com/iformall/controller/WxAdminLogController.java
  8. +0
    -87
      mallinkAdmin/src/main/java/com/iformall/controller/WxBillDailyController.java
  9. +0
    -75
      mallinkAdmin/src/main/java/com/iformall/controller/WxCLogController.java
  10. +0
    -78
      mallinkAdmin/src/main/java/com/iformall/controller/WxChannelController.java
  11. +0
    -103
      mallinkAdmin/src/main/java/com/iformall/controller/WxCouponSpreadController.java
  12. +0
    -74
      mallinkAdmin/src/main/java/com/iformall/controller/WxCouponTypeController.java
  13. +0
    -81
      mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantBUserController.java
  14. +0
    -86
      mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantShopController.java
  15. +0
    -92
      mallinkAdmin/src/main/java/com/iformall/controller/WxProfitSharingReceiverController.java
  16. +0
    -72
      mallinkAdmin/src/main/java/com/iformall/controller/WxScoreValidityPeriodController.java
  17. +262
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java
  18. +6
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java
  19. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxBrandController.java
  20. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxGroupController.java
  21. +30
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMallBuildingController.java
  22. +48
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java
  23. +31
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantBUserController.java
  24. +219
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java
  25. +37
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantShopController.java
  26. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxShopController.java
  27. +2
    -11
      mallinkAdmin/src/main/java/com/iformall/controller/basic/WxTagsController.java
  28. +10
    -13
      mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java
  29. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/car/WxParkController.java
  30. +14
    -9
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java
  31. +43
    -36
      mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java
  32. +2
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java
  33. +4
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxChartDataController.java
  34. +42
    -17
      mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java
  35. +4
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java
  36. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/device/WxDeviceController.java
  37. +2
    -8
      mallinkAdmin/src/main/java/com/iformall/controller/device/WxScreenAdController.java
  38. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java
  39. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/PushLimitController.java
  40. +3
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/UeditorController.java
  41. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignController.java
  42. +13
    -15
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardPayController.java
  43. +4
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponActionLogController.java
  44. +4
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponCarController.java
  45. +5
    -9
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java
  46. +34
    -5
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java
  47. +7
    -7
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponInjectController.java
  48. +2
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java
  49. +3
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendConfigController.java
  50. +4
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java
  51. +4
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxGameController.java
  52. +4
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxGameTemplateController.java
  53. +4
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxMerchantMicroPayController.java
  54. +6
    -8
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxMerchantSubsidyController.java
  55. +57
    -89
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java
  56. +3
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderGroupController.java
  57. +8
    -40
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxPayOrderController.java
  58. +4
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxProfitSharingOrderController.java
  59. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxQuestionController.java
  60. +4
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxRefundOrderController.java
  61. +3
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxSubsidyController.java
  62. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxTopicController.java
  63. +6
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxUserCouponController.java
  64. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java
  65. +168
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/mem/BillDailyAsyncTask.java
  66. +10
    -9
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java
  67. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserCarController.java
  68. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserController.java
  69. +10
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java
  70. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserTagsController.java
  71. +6
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java
  72. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxLevelConfigController.java
  73. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreHistoryController.java
  74. +2
    -5
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java
  75. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/mem/WxUserChannelController.java
  76. +3
    -31
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgCallbackController.java
  77. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgConfigController.java
  78. +6
    -20
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java
  79. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgModelController.java
  80. +2
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgRecordController.java
  81. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgSignatureController.java
  82. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgValidationcodeController.java
  83. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgValidationcodeModelController.java
  84. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java
  85. +44
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java
  86. +243
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDailyController.java
  87. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDepositController.java
  88. +10
    -6
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherController.java
  89. +10
    -6
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherDepositController.java
  90. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillPropertyController.java
  91. +2
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillPropertyDepositController.java
  92. +2
    -2
      mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillRentController.java
  93. +395
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java
  94. +161
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/sys/MallRoleController.java
  95. +396
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/sys/MallUserInfoController.java
  96. +110
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java
  97. +293
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java
  98. +3
    -5
      mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java
  99. +35
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/sys/WxAdminLogController.java
  100. +3
    -20
      mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java

+ 19
- 0
mallinkAdmin/pom.xml Прегледај датотеку

@@ -49,6 +49,7 @@
<dependency> <dependency>
<groupId>org.flywaydb</groupId> <groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId> <artifactId>flyway-core</artifactId>
<version>5.1.4</version>
</dependency> </dependency>


</dependencies> </dependencies>
@@ -72,13 +73,17 @@
com.fasterxml.jackson.dataformat, com.fasterxml.jackson.dataformat,
com.fasterxml.jackson.datatype, com.fasterxml.jackson.datatype,
com.fasterxml.jackson.module, com.fasterxml.jackson.module,
com.fasterxml.uuid,
com.fasterxml,
com.github.axet, com.github.axet,
com.github.binarywang, com.github.binarywang,
com.github.jsqlparser, com.github.jsqlparser,
com.github.pagehelper, com.github.pagehelper,
com.github.ulisesbocchio, com.github.ulisesbocchio,
com.github.virtuald, com.github.virtuald,
com.google.code.findbugs,
com.google.code.gson, com.google.code.gson,
com.google.errorprone,
com.google.guava, com.google.guava,
com.google.protobuf, com.google.protobuf,
com.google.zxing, com.google.zxing,
@@ -96,6 +101,7 @@
commons-cli, commons-cli,
commons-codec, commons-codec,
commons-collections, commons-collections,
commons-fileupload,
commons-io, commons-io,
commons-logging, commons-logging,
io.lettuce, io.lettuce,
@@ -105,14 +111,18 @@
io.swagger, io.swagger,
io.undertow, io.undertow,
javax.activation, javax.activation,
javax.annotation,
javax.mail, javax.mail,
javax.persistence, javax.persistence,
javax.servlet,
javax.validation,
javax.xml.bind, javax.xml.bind,
joda-time, joda-time,
junit, junit,
mysql, mysql,
net.bytebuddy, net.bytebuddy,
net.minidev, net.minidev,
net.sf.dozer,
net.sf.saxon, net.sf.saxon,
ognl, ognl,
org.antlr, org.antlr,
@@ -129,15 +139,22 @@
org.assertj, org.assertj,
org.bouncycastle, org.bouncycastle,
org.checkerframework, org.checkerframework,
org.codehaus.mojo,
org.crazycake, org.crazycake,
org.dom4j, org.dom4j,
org.flowable, org.flowable,
org.flywaydb,
org.glassfish,
org.hibernate.validator, org.hibernate.validator,
org.jasypt, org.jasypt,
org.javassist, org.javassist,
org.jboss.logging,
org.jboss.spec.javax.annotation, org.jboss.spec.javax.annotation,
org.jboss.spec.javax.websocket,
org.jboss.xnio, org.jboss.xnio,
org.jdom, org.jdom,
org.jodd,
org.mapstruct,
org.mockito, org.mockito,
org.mybatis, org.mybatis,
org.mybatis.generator, org.mybatis.generator,
@@ -145,7 +162,9 @@
org.ow2.asm, org.ow2.asm,
org.projectlombok, org.projectlombok,
org.quartz-scheduler, org.quartz-scheduler,
org.reflections,
org.rocketmq.spring.boot, org.rocketmq.spring.boot,
org.slf4j,
org.springframework, org.springframework,
org.springframework.amqp, org.springframework.amqp,
org.springframework.boot, org.springframework.boot,


+ 8
- 0
mallinkAdmin/src/main/java/com/iformall/UserApplication.java Прегледај датотеку

@@ -31,6 +31,9 @@ public class UserApplication {
@Value("${fm.open}") @Value("${fm.open}")
private boolean fmOpen; private boolean fmOpen;


@Value("${fm.upload_dir}")
private String uploadDir;

@Bean @Bean
public boolean isFmException() { public boolean isFmException() {
return fmException; return fmException;
@@ -46,6 +49,11 @@ public class UserApplication {
return fmOpen; return fmOpen;
} }


@Bean
public String fmUploadDir() {
return uploadDir;
}

public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(UserApplication.class, args); SpringApplication.run(UserApplication.class, args);
} }


+ 18
- 0
mallinkAdmin/src/main/java/com/iformall/config/RedisConfig.java Прегледај датотеку

@@ -2,6 +2,7 @@ package com.iformall.config;


import com.iformall.domain.po.PushLimit; import com.iformall.domain.po.PushLimit;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxMall;
import com.iformall.domain.po.WxScoreRules; import com.iformall.domain.po.WxScoreRules;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -142,4 +143,21 @@ public class RedisConfig extends CachingConfigurerSupport {
return template; return template;
} }


@Bean("mallRedisTemplate")
public RedisTemplate<String, WxMall> getMallRedisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, WxMall> template = new RedisTemplate<String, WxMall>();

Jackson2JsonRedisSerializer<WxMall> j = new Jackson2JsonRedisSerializer<WxMall>(WxMall.class);
// value值的序列化
template.setValueSerializer(j);
template.setHashKeySerializer(j);

// key的序列化
template.setKeySerializer(new StringRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());

template.setConnectionFactory(connectionFactory);
return template;
}

} }

+ 0
- 2
mallinkAdmin/src/main/java/com/iformall/config/ShiroConfig.java Прегледај датотеку

@@ -31,8 +31,6 @@ import java.util.Map;
*/ */
@Configuration @Configuration
public class ShiroConfig { public class ShiroConfig {
@Autowired(required = false)
private MallPermissionService resourcesService;


@Value("${spring.redis.host}") @Value("${spring.redis.host}")
private String host; private String host;


+ 5
- 1
mallinkAdmin/src/main/java/com/iformall/config/WebConfig.java Прегледај датотеку

@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.iformall.interceptor.HttpServletRequestWrapperFilter; import com.iformall.interceptor.HttpServletRequestWrapperFilter;
import com.iformall.interceptor.RequestInterceptor; import com.iformall.interceptor.RequestInterceptor;
import com.iformall.service.MallResourceService;
import com.iformall.ueditor.ActionEnter; import com.iformall.ueditor.ActionEnter;
import com.iformall.ueditor.ConfigManager; import com.iformall.ueditor.ConfigManager;
import com.iformall.ueditor.UEditorConfig; import com.iformall.ueditor.UEditorConfig;
@@ -44,10 +45,13 @@ public class WebConfig implements WebMvcConfigurer {
@Autowired @Autowired
private RequestInterceptor requestInterceptor; private RequestInterceptor requestInterceptor;


@Autowired
private MallResourceService mallResourceService;

@Bean @Bean
@ConditionalOnMissingBean(ActionEnter.class) @ConditionalOnMissingBean(ActionEnter.class)
public ActionEnter actionEnter() { public ActionEnter actionEnter() {
ActionEnter actionEnter = new ActionEnter(ConfigManager.getInstance(uEditorConfig, awsProperty));
ActionEnter actionEnter = new ActionEnter(ConfigManager.getInstance(uEditorConfig, awsProperty, mallResourceService));
return actionEnter; return actionEnter;
} }




+ 0
- 75
mallinkAdmin/src/main/java/com/iformall/controller/MallPermissionController.java Прегледај датотеку

@@ -1,75 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.MallPermission;
import com.iformall.service.MallPermissionService;
import org.apache.shiro.util.Assert;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* @author chenkx
* @date 2018-01-05.
*/
@RestController
@RequestMapping("permission")
public class MallPermissionController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
MallPermissionService mallPermissionService;


@GetMapping("alllist")
@SystemControllerLog(description = "用户管理-权限")
public ResultData alllist(String ava) {
logger.debug("[" + getIpAddr() + "] MallPermissionController::alllist");
MallPermission record = new MallPermission();
record.setAvailable(ava);
PageInfo<MallPermission> permissions = mallPermissionService.listAsPage(record, 1, 10000);
return new ResultData(Result.SUCCESS, "查询成功", permissions.getList());
}

@PostMapping("add")
@SystemControllerLog(description = "用户管理-权限添加")
public ResultData createPermission(MallPermission mallPermission) {
logger.debug("[" + getIpAddr() + "] MallPermissionController::createPermission");
Assert.notNull(mallPermission.getName(), "用户名不能为空");
mallPermissionService.saveOrUpdate(mallPermission);
return new ResultData(mallPermission.getId());
}

@PostMapping("update")
@SystemControllerLog(description = "用户管理-权限更新")
public ResultData updatePermission(MallPermission sysPermission) {
logger.debug("[" + getIpAddr() + "] MallPermissionController::updatePermission");
mallPermissionService.saveOrUpdate(sysPermission);
return new ResultData();
}

@GetMapping("/del")
@SystemControllerLog(description = "用户管理-权限删除")
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] MallPermissionController::delete");
mallPermissionService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@GetMapping("/findById")
@SystemControllerLog(description = "用户管理-权限查找")
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] MallPermissionController::findById");
mallPermissionService.getById(id);
return new ResultData(Result.SUCCESS, "成功", null);
}


}

+ 0
- 83
mallinkAdmin/src/main/java/com/iformall/controller/WxAdminLogController.java Прегледај датотеку

@@ -1,83 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxAdminLog;
import com.iformall.service.WxAdminLogService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxAdminLog")
public class WxAdminLogController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxAdminLogService wxAdminLogService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxAdminLog wxAdminLog, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxAdminLogController::list");
if (null == wxAdminLog) wxAdminLog = new WxAdminLog();
final PageInfo<WxAdminLog> page = wxAdminLogService.listAsPage(wxAdminLog, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("新增接口")
@PostMapping("add")
public ResultData add(@RequestBody WxAdminLog wxAdminLog) {
logger.debug("[" + getIpAddr() + "] WxAdminLogController::add");
//Assert.notNull(wxAdminLog.getName(), "角色名不能为空");
//Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
wxAdminLogService.saveOrUpdate(wxAdminLog);
return new ResultData();
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxAdminLog wxAdminLog) {
logger.debug("[" + getIpAddr() + "] WxAdminLogController::update");
String tenantId = getTenantId();
wxAdminLog.setTenantId(tenantId);
wxAdminLogService.saveOrUpdate(wxAdminLog);
return new ResultData();
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxAdminLogController::delete");
wxAdminLogService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxAdminLogController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxAdminLogService.getById(id));
}

@ApiOperation("PV计数")
@PostMapping("pvlog")
public ResultData pvLog(@RequestBody WxAdminLog wxAdminLog) {
logger.debug("[" + getIpAddr() + "] WxAdminLogController::pvLog");
String tenantId = getTenantId();
wxAdminLog.setTenantId(tenantId);
wxAdminLogService.saveLogCount(wxAdminLog);
return new ResultData();
}

}

+ 0
- 87
mallinkAdmin/src/main/java/com/iformall/controller/WxBillDailyController.java Прегледај датотеку

@@ -1,87 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxBillDaily;
import com.iformall.service.WxBillDailyService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
* @author gongbiao
*/
@RestController
@RequestMapping("wxBillDaily")
public class WxBillDailyController extends BaseController {
@Autowired
private WxBillDailyService wxBillDailyService;

private Logger logger = LoggerFactory.getLogger(this.getClass());

@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "日常账单-列表")
public ResultData list(@ModelAttribute WxBillDaily wxBillDaily, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::list");
if (null == wxBillDaily) {
wxBillDaily = new WxBillDaily();
}
wxBillDaily.setTenantId(getTenantId());
final PageInfo<Map<String, Object>> page = wxBillDailyService.listAsPage(wxBillDaily, pageNum, pageSize);
return new ResultData(page);
}

@PostMapping("add")
@SystemControllerLog(description = "日常账单-新增")
public ResultData add(@RequestBody WxBillDaily wxBillDaily) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::add");
wxBillDaily.setTenantId(getTenantId());
wxBillDaily.setUserId(getUser().getId());
return wxBillDailyService.saveOrUpdate(wxBillDaily, getUser());
}

@PostMapping("update")
@SystemControllerLog(description = "日常账单-更新")
public ResultData update(@RequestBody WxBillDaily wxBillDaily) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::update");
wxBillDaily.setUserId(getUser().getId());
return wxBillDailyService.saveOrUpdate(wxBillDaily, getUser());
}

@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "日常账单-删除")
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::delete");
wxBillDailyService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "日常账单-id查找")
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxBillDailyService.getById(id));
}

@GetMapping("/updatePaid")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "日常账单-支付更新")
public ResultData updatePaid(Long id) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::updatePaid");
return wxBillDailyService.updatePaid(id);
}


}

+ 0
- 75
mallinkAdmin/src/main/java/com/iformall/controller/WxCLogController.java Прегледај датотеку

@@ -1,75 +0,0 @@
package com.iformall.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;

import com.iformall.domain.po.WxCLog;
import com.iformall.service.WxCLogService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;

@RestController
@RequestMapping("wxCLog")
public class WxCLogController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxCLogService wxCLogService;
@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true),
@ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)})
public ResultData list(@ModelAttribute WxCLog wxCLog,Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxCLogController::list");
if (null == wxCLog) wxCLog = new WxCLog();
final PageInfo<WxCLog> page = wxCLogService.listAsPage(wxCLog, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("新增接口")
@PostMapping("add")
public ResultData add(@RequestBody WxCLog wxCLog) {
logger.debug("[" + getIpAddr() + "] WxCLogController::add");
//Assert.notNull(wxCLog.getName(), "角色名不能为空");
//Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
wxCLogService.saveOrUpdate(wxCLog);
return new ResultData();
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxCLog wxCLog) {
logger.debug("[" + getIpAddr() + "] WxCLogController::update");
wxCLogService.saveOrUpdate(wxCLog);
return new ResultData();
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxCLogController::delete");
wxCLogService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}
@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxCLogController::findById");
return new ResultData(Result.SUCCESS,"查询成功",wxCLogService.getById(id));
}
}

+ 0
- 78
mallinkAdmin/src/main/java/com/iformall/controller/WxChannelController.java Прегледај датотеку

@@ -1,78 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxChannel;
import com.iformall.service.WxChannelService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxChannel")
public class WxChannelController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxChannelService wxChannelService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "渠道-列表")
public ResultData list(@ModelAttribute WxChannel wxChannel, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxChannelController::list");
if (null == wxChannel) wxChannel = new WxChannel();
final PageInfo<WxChannel> page = wxChannelService.listAsPage(wxChannel, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("新增接口")
@PostMapping("add")
@SystemControllerLog(description = "渠道-新增")
public ResultData add(@RequestBody WxChannel wxChannel) {
logger.debug("[" + getIpAddr() + "] WxChannelController::add");
//Assert.notNull(wxChannel.getName(), "角色名不能为空");
//Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
wxChannelService.saveOrUpdate(wxChannel);
return new ResultData();
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
@SystemControllerLog(description = "渠道-更新")
public ResultData update(@RequestBody WxChannel wxChannel) {
logger.debug("[" + getIpAddr() + "] WxChannelController::update");
wxChannelService.saveOrUpdate(wxChannel);
return new ResultData();
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "渠道-删除")
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxChannelController::delete");
wxChannelService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "渠道-查询")
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxChannelController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxChannelService.getById(id));
}


}

+ 0
- 103
mallinkAdmin/src/main/java/com/iformall/controller/WxCouponSpreadController.java Прегледај датотеку

@@ -1,103 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCouponSpread;
import com.iformall.service.WxCouponSpreadService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.List;

@RestController
@RequestMapping("wxCouponSpread")
@Api(description = "推广接口")
public class WxCouponSpreadController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxCouponSpreadService wxCouponSpreadService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "券推广-列表")
public ResultData list(@ModelAttribute WxCouponSpread wxCouponSpread, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxCouponSpreadController::list");
if (null == wxCouponSpread) wxCouponSpread = new WxCouponSpread();
final PageInfo<WxCouponSpread> page = wxCouponSpreadService.listAsPage(wxCouponSpread, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("新增接口")
@PostMapping("add")
@SystemControllerLog(description = "券推广-新增")
public ResultData add(@RequestBody WxCouponSpread wxCouponSpread) {
logger.debug("[" + getIpAddr() + "] WxCouponSpreadController::add");
if (wxCouponSpread.getCouponId() == null) {
return new ResultData(Result.ERROR, "没有找到券id");
}
//Assert.notNull(wxCouponSpread.getName(), "角色名不能为空");
//Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
wxCouponSpreadService.saveOrUpdate(wxCouponSpread);
return new ResultData();
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
@SystemControllerLog(description = "券推广-更新")
public ResultData update(@RequestBody WxCouponSpread wxCouponSpread) {
logger.debug("[" + getIpAddr() + "] WxCouponSpreadController::update");
wxCouponSpreadService.saveOrUpdate(wxCouponSpread);
return new ResultData();
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "券推广-删除")
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxCouponSpreadController::delete");
wxCouponSpreadService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "券推广-查询")
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxCouponSpreadController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxCouponSpreadService.getById(id));
}

@ApiOperation("根据卡券id查询接口")
@GetMapping("/findByCouponId")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "券推广-卡券id查询")
public ResultData findByCouponId(Long id) {
logger.debug("[" + getIpAddr() + "] WxCouponSpreadController::findByCouponId");
WxCouponSpread result = null;
if (id != null) {
WxCouponSpread wxCouponSpread = new WxCouponSpread();
wxCouponSpread.setCouponId(id);
List<WxCouponSpread> list = wxCouponSpreadService.findList(wxCouponSpread);
if (!list.isEmpty()) {
result = list.get(0);
}
}
return new ResultData(Result.SUCCESS, "查询成功", result);
}


}

+ 0
- 74
mallinkAdmin/src/main/java/com/iformall/controller/WxCouponTypeController.java Прегледај датотеку

@@ -1,74 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCouponType;
import com.iformall.service.WxCouponTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxCouponType")
@Api(description = "优惠券类型相关接口")
public class WxCouponTypeController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxCouponTypeService wxCouponTypeService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxCouponType wxCouponType, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxCouponTypeController::list");
if (null == wxCouponType) wxCouponType = new WxCouponType();
final PageInfo<WxCouponType> page = wxCouponTypeService.listAsPage(wxCouponType, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("新增接口")
@PostMapping("add")
public ResultData add(@RequestBody WxCouponType wxCouponType) {
logger.debug("[" + getIpAddr() + "] WxCouponTypeController::add");
//Assert.notNull(wxCouponType.getName(), "角色名不能为空");
//Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
wxCouponTypeService.saveOrUpdate(wxCouponType);
return new ResultData();
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxCouponType wxCouponType) {
logger.debug("[" + getIpAddr() + "] WxCouponTypeController::update");
wxCouponTypeService.saveOrUpdate(wxCouponType);
return new ResultData();
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxCouponTypeController::delete");
wxCouponTypeService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxCouponTypeController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxCouponTypeService.getById(id));
}


}

+ 0
- 81
mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantBUserController.java Прегледај датотеку

@@ -1,81 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.service.WxMerchantBUserService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxMerchantBUser")
public class WxMerchantBUserController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMerchantBUserService wxMerchantBUserService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxMerchantBUser wxMerchantBUser, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantBUserController::list");
if (null == wxMerchantBUser) wxMerchantBUser = new WxMerchantBUser();
final PageInfo<WxMerchantBUser> page = wxMerchantBUserService.listAsPage(wxMerchantBUser, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("新增接口")
@PostMapping("add")
public ResultData add(@RequestBody WxMerchantBUser wxMerchantBUser) {
logger.debug("[" + getIpAddr() + "] WxMerchantBUserController::add");
//Assert.notNull(wxMerchantBUser.getName(), "角色名不能为空");
//Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
wxMerchantBUser.setTenantId(getTenantId());
Long id = wxMerchantBUserService.saveOrUpdate(wxMerchantBUser);
return new ResultData(Result.SUCCESS, "添加成功", id);
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxMerchantBUser wxMerchantBUser) {
logger.debug("[" + getIpAddr() + "] WxMerchantBUserController::update");
Long id = wxMerchantBUserService.saveOrUpdate(wxMerchantBUser);
return new ResultData(Result.SUCCESS, "更新成功", id);
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantBUserController::delete");
wxMerchantBUserService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantBUserController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxMerchantBUserService.getById(id));
}

@ApiOperation("手机号是否存在")
@GetMapping("/hasphone")
@ApiImplicitParam(name = "phone", value = "phone", dataType = "String", paramType = "query", required = true)
public ResultData hasphone(String phone) {
logger.debug("[" + getIpAddr() + "] WxMerchantBUserController::hasphone");
boolean has = wxMerchantBUserService.hasphone(phone, getTenantId());
return new ResultData(Result.SUCCESS, "查询成功", has);
}

}

+ 0
- 86
mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantShopController.java Прегледај датотеку

@@ -1,86 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchantShop;
import com.iformall.domain.po.WxShop;
import com.iformall.service.WxMerchantShopService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxMerchantShop")
public class WxMerchantShopController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMerchantShopService wxMerchantShopService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "收银台-获得昨日刷卡列表")
public ResultData list(@ModelAttribute WxMerchantShop wxMerchantShop, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantShopController::list");
if (null == wxMerchantShop) wxMerchantShop = new WxMerchantShop();
final PageInfo<WxMerchantShop> page = wxMerchantShopService.listAsPage(wxMerchantShop, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("获取关联商铺信息")
@GetMapping("queryShopList")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData queryShopList(@ModelAttribute WxMerchantShop wxMerchantShop, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantShopController::queryShopList");
if (null == wxMerchantShop) wxMerchantShop = new WxMerchantShop();
final PageInfo<WxShop> page = wxMerchantShopService.queryShopList(wxMerchantShop, pageNum, pageSize);
return new ResultData(page);
}


@ApiOperation("新增接口")
@PostMapping("add")
public ResultData add(@RequestBody WxMerchantShop wxMerchantShop) {
logger.debug("[" + getIpAddr() + "] WxMerchantShopController::add");
wxMerchantShopService.saveOrUpdate(wxMerchantShop);
return new ResultData();
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxMerchantShop wxMerchantShop) {
logger.debug("[" + getIpAddr() + "] WxMerchantShopController::update");
wxMerchantShopService.saveOrUpdate(wxMerchantShop);
return new ResultData();
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantShopController::delete");
wxMerchantShopService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantShopController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxMerchantShopService.getById(id));
}


}

+ 0
- 92
mallinkAdmin/src/main/java/com/iformall/controller/WxProfitSharingReceiverController.java Прегледај датотеку

@@ -1,92 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxProfitSharingReceiver;
import com.iformall.service.WxMerchantService;
import com.iformall.service.WxProfitSharingReceiverService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxProfitSharingReceiver")
public class WxProfitSharingReceiverController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxProfitSharingReceiverService wxProfitSharingReceiverService;
@Autowired
private WxMerchantService wxMerchantService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "分账接收者-列表")
public ResultData list(@ModelAttribute WxProfitSharingReceiver receiver, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxProfitSharingReceiverController::list");
if (null == receiver) receiver = new WxProfitSharingReceiver();
final PageInfo<WxProfitSharingReceiver> page = wxProfitSharingReceiverService.listAsPage(receiver, pageNum, pageSize);
return new ResultData(page);
}


@ApiOperation("新增接口")
@PostMapping("add")
@SystemControllerLog(description = "分账接收者-新增")
public ResultData add(@ModelAttribute WxProfitSharingReceiver receiver) {
logger.debug("[" + getIpAddr() + "] WxProfitSharingReceiverController::add");

if (receiver == null)
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
if (receiver.getMerchantId() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (receiver.getReceiverType() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (receiver.getReceiverComments() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (receiver.getReceiverAccount() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (receiver.getTrueName() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);

WxMerchant merchant = wxMerchantService.getById(receiver.getMerchantId());
if (merchant == null)
return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND);

return wxProfitSharingReceiverService.addReceiver(merchant, receiver);
}


@ApiOperation("根据id删除接口")
@GetMapping("del")
@SystemControllerLog(description = "分账接收者-删除")
public ResultData delete(@ModelAttribute WxProfitSharingReceiver receiver) {
logger.debug("[" + getIpAddr() + "] WxProfitSharingReceiverController::delete");
if (receiver == null)
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
if (receiver.getMerchantId() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (receiver.getReceiverType() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (receiver.getReceiverAccount() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);

WxMerchant merchant = wxMerchantService.getById(receiver.getMerchantId());
if (merchant == null)
return new ResultData(ErrorCode.MERCHANT_INFO_NOT_FOUND);

return wxProfitSharingReceiverService.delReceiver(merchant);
}


}

+ 0
- 72
mallinkAdmin/src/main/java/com/iformall/controller/WxScoreValidityPeriodController.java Прегледај датотеку

@@ -1,72 +0,0 @@
package com.iformall.controller;

import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxScoreValidityPeriod;
import com.iformall.service.WxScoreValidityPeriodService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxScoreValidityPeriod")
public class WxScoreValidityPeriodController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxScoreValidityPeriodService wxScoreValidityPeriodService;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxScoreValidityPeriod wxScoreValidityPeriod, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxScoreValidityPeriodController::list");
if (null == wxScoreValidityPeriod) wxScoreValidityPeriod = new WxScoreValidityPeriod();
final PageInfo<WxScoreValidityPeriod> page = wxScoreValidityPeriodService.listAsPage(wxScoreValidityPeriod, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("新增接口")
@PostMapping("add")
public ResultData add(@RequestBody WxScoreValidityPeriod wxScoreValidityPeriod) {
logger.debug("[" + getIpAddr() + "] WxScoreValidityPeriodController::add");
//Assert.notNull(wxScoreValidityPeriod.getName(), "角色名不能为空");
//Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
wxScoreValidityPeriodService.saveOrUpdate(wxScoreValidityPeriod);
return new ResultData();
}

@ApiOperation("根据id更新接口")
@PostMapping("update")
public ResultData update(@RequestBody WxScoreValidityPeriod wxScoreValidityPeriod) {
logger.debug("[" + getIpAddr() + "] WxScoreValidityPeriodController::update");
wxScoreValidityPeriodService.saveOrUpdate(wxScoreValidityPeriod);
return new ResultData();
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxScoreValidityPeriodController::delete");
wxScoreValidityPeriodService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxScoreValidityPeriodController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxScoreValidityPeriodService.getById(id));
}


}

+ 262
- 0
mallinkAdmin/src/main/java/com/iformall/controller/app/WxAppinfoController.java Прегледај датотеку

@@ -0,0 +1,262 @@
package com.iformall.controller.app;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaCodeLineColor;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.controller.sys.UploadController;
import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxMerchant;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxMerchantMapper;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.wechat.FmOpenService;
import com.iformall.utils.Constant;
import com.iformall.utils.MaUtil;
import com.iformall.utils.QRCodeUtils;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.task.AsyncTaskExecutor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

@RestController
@RequestMapping("wxAppinfo")
public class WxAppinfoController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private boolean isFmOpen;

@Autowired
private String fmUploadDir;

@Autowired
private WxAppinfoService wxAppinfoService;

@Autowired
private FmOpenService openService;

@Autowired
private WxMerchantMapper wxMerchantMapper;

@Autowired
private UploadController uploadController;

@Autowired
private AsyncTaskExecutor asyncTaskExecutor;

@ApiOperation("加载老数据二维码")
@GetMapping("/updateQrCode")
public void updateQrCode(String p)throws ServletException, IOException {
if("xlldxx".equals(p)){
String pageUrl = "pages/index/index";

List<WxMerchant> list = wxMerchantMapper.findQrcodeEmptyList();
for (WxMerchant merchant:list) {
asyncTaskExecutor.execute(new Runnable() {
@Override
public void run() {
String param = "t:md:"+merchant.getId();
ResultData resultData = exportQrcode(null,null,merchant.getTenantId(),1,pageUrl,param,0,"","","店铺详情",true);
Map<String,String> map = (Map)resultData.data;
String url = map.get("url");
merchant.setQrCode(url);
wxMerchantMapper.updateByPrimaryKeySelective(merchant);
}
});
}
}
}

@ApiOperation(value = "下载二维码", produces="application/json;charset=UTF-8", notes = "参数{\"name\":\"String\",\"pageUrl\":\"String\", \"sceneParam\":\"二维码参数\", \"type\":0:有限二维码,1:无限二维码,\"withText\":int(0:不带字, 1:加一行字,2:加两行字),\"text1\":\"String\",\"text2\":\"String\"}")
@PostMapping("/downQrCode")
public void downQrCode(HttpServletRequest request, HttpServletResponse response, @RequestBody Map<String, Object> params) throws MallinkException {
logger.debug("[" + getIpAddr() + "] WxAppinfoController::downQrCode");
String name = (String) params.get("name");
String pageUrl = (String) params.get("pageUrl");
String sceneParam = (String) params.get("sceneParam");
int type = 0;
try {
type = (int) params.get("type");
} catch (Exception e) {
type = 0;
}

int withText = 0;
try {
withText = (int) params.get("withText");
} catch (Exception e) {
withText = 0;
}
String text1 = (String) params.get("text1");
String text2 = (String) params.get("text2");
if (StringUtils.isBlank(pageUrl)) {
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "pageUrl不能为空");
}
try {
exportQrcode(request, response,
getTenantId(), type, pageUrl, sceneParam,
withText, text1, text2,
name,false);
} catch (Exception e) {
logger.error(e.getMessage());
throw new MallinkException(Result.ERROR, "下载异常");
}
}

public ResultData exportQrcode(HttpServletRequest request, HttpServletResponse response,
String tenantId, int type, String pageUrl, String sceneParam,
int withText, String text1, String text2,
String name,boolean upload) {
// type 0 有限二维码, 1 无限制二维码
// withText 0 不带字 1. 带下面的字,2 带下面的两行字
WxAppinfo appinfo = wxAppinfoService.getCAppInfo(tenantId);
boolean autoColor = false;
boolean isHyaline = true;
WxMaCodeLineColor color = new WxMaCodeLineColor("0", "0", "0");

WxMaService wxMaService;
if(isFmOpen) {
wxMaService = openService.getWxOpenComponentService().getWxMaServiceByAppid(appinfo.getAppId());
} else {
wxMaService = MaUtil.getWeappService(appinfo);
}

String pathStr = "";
if (StringUtils.isNotBlank(sceneParam)) {
pathStr = pageUrl + "?scene="+sceneParam;
} else {
pathStr = pageUrl;
}


String filepath = fmUploadDir;
String fileName = name + ".png";
String destPath1 = filepath + "1_" + fileName;
String destPath = filepath + fileName;

File dest = new File(destPath);
File pDest = dest.getParentFile();
if (!pDest.exists()) {
pDest.mkdirs();
}
try {
if(type == 0) {
final File codeFile = wxMaService.getQrcodeService().createQrcode(pathStr, QRCodeUtils.QR_WIDTH);
if (withText == 1) {
File dest1 = new File(destPath1);
org.apache.commons.io.FileUtils.copyFile(codeFile, dest1);
QRCodeUtils.graphicsGeneration(dest1, dest, text1);
org.apache.commons.io.FileUtils.forceDelete(dest1);
} else if (withText == 2) {
File dest1 = new File(destPath1);
org.apache.commons.io.FileUtils.copyFile(codeFile, dest1);
QRCodeUtils.graphicsGeneration2(dest1, dest, text1, text2);
org.apache.commons.io.FileUtils.forceDelete(dest1);
} else {
org.apache.commons.io.FileUtils.copyFile(codeFile, dest);
}
org.apache.commons.io.FileUtils.forceDelete(codeFile);
} else {
final File codeFile = wxMaService.getQrcodeService().createWxaCodeUnlimit(sceneParam, pageUrl, QRCodeUtils.QR_WIDTH, autoColor, color, isHyaline);
if (withText == 1) {
File dest1 = new File(destPath1);
org.apache.commons.io.FileUtils.copyFile(codeFile, dest1);
QRCodeUtils.graphicsGeneration(dest1, dest, text1);
org.apache.commons.io.FileUtils.forceDelete(dest1);
} else if (withText == 2) {
File dest1 = new File(destPath1);
org.apache.commons.io.FileUtils.copyFile(codeFile, dest1);
QRCodeUtils.graphicsGeneration2(dest1, dest, text1, text2);
org.apache.commons.io.FileUtils.forceDelete(dest1);
} else {
org.apache.commons.io.FileUtils.copyFile(codeFile, dest);
}
org.apache.commons.io.FileUtils.forceDelete(codeFile);
}

} catch (WxErrorException e) {
logger.error(e.getMessage());
} catch (Exception e) {
logger.error(e.getMessage());
}

try {
//上传
if (upload){
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("image/jpeg");
metadata.setContentLength(dest.length());

FileOutputStream fos = null;
BufferedInputStream fs = null;

String fn = UUID.randomUUID().toString();
int dot = fileName.lastIndexOf('.');
if (dot >= 0) {
fn = tenantId + "/" + fn + dest.getName().substring(dot, dest.getName().length());
} else {
fn = tenantId + "/" + fn;
}

ResultData data = uploadController.awsUpload(new FileInputStream(dest), metadata, fn, getTenantId());
return data;
}

downFile(destPath, fileName, response, request);
org.apache.commons.io.FileUtils.forceDelete(dest);
} catch (Exception e) {
logger.error(e.getMessage());
}
return new ResultData();
}

private void downFile(String filePath, String filename, HttpServletResponse response, HttpServletRequest req) throws IOException {
try {
response.reset();
response.setContentType("application/octet-stream");
String agent = req.getHeader("user-agent");
if (agent.contains("Firefox")) {
response.setHeader("Content-disposition",
"attachment; filename="
+ new String(filename.getBytes("GB2312"),"ISO-8859-1"));
} else {
response.setHeader("Content-disposition",
"attachment; filename="
+ java.net.URLEncoder.encode(filename,"UTF-8"));
}
// 循环取出流中的数据
byte[] b = new byte[1024];
int len;
InputStream inStream = new FileInputStream(filePath);
while ((len = inStream.read(b)) > 0)
response.getOutputStream().write(b, 0, len);
inStream.close();
} catch (Exception e) {
logger.error(e.getMessage());
}
}


}

mallinkAdmin/src/main/java/com/iformall/controller/BaseController.java → mallinkAdmin/src/main/java/com/iformall/controller/base/BaseController.java Прегледај датотеку

@@ -1,4 +1,4 @@
package com.iformall.controller;
package com.iformall.controller.base;


import java.beans.PropertyEditorSupport; import java.beans.PropertyEditorSupport;
import java.text.ParseException; import java.text.ParseException;
@@ -45,6 +45,11 @@ public class BaseController {
MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo); MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo);
return user; return user;
} }

public Long getUserId(){
Long userId = (Long) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userId);
return userId;
}
public String getTenantId(){ public String getTenantId(){
String tenantId = (String)SecurityUtils.getSubject().getSession().getAttribute(UserSession.tenantId); String tenantId = (String)SecurityUtils.getSubject().getSession().getAttribute(UserSession.tenantId);

mallinkAdmin/src/main/java/com/iformall/controller/WxBrandController.java → mallinkAdmin/src/main/java/com/iformall/controller/basic/WxBrandController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.basic;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxBrand; import com.iformall.domain.po.WxBrand;
import com.iformall.service.WxBrandService; import com.iformall.service.WxBrandService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxGroupController.java → mallinkAdmin/src/main/java/com/iformall/controller/basic/WxGroupController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.basic;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxGroup; import com.iformall.domain.po.WxGroup;
import com.iformall.service.WxGroupService; import com.iformall.service.WxGroupService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

+ 30
- 0
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMallBuildingController.java Прегледај датотеку

@@ -0,0 +1,30 @@
package com.iformall.controller.basic;

import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.service.WxMallBuildingService;
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.*;

@RestController
@RequestMapping("wxMallBuilding")
public class WxMallBuildingController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMallBuildingService wxMallBuildingService;

@ApiOperation("获取楼层楼座数据")
@GetMapping("getbuildingfloorlist")
@SystemControllerLog(description = "商城-楼座-获取楼层楼座数据")
public ResultData getbuildingfloorlist() {
logger.debug("[" + getIpAddr() + "] WxMallBuildingController::getbuildingfloorlist");
return wxMallBuildingService.getbuildingfloorlist(getTenantId());
}


}

+ 48
- 0
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMallController.java Прегледај датотеку

@@ -0,0 +1,48 @@
package com.iformall.controller.basic;

import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMall;
import com.iformall.service.WxMallService;
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.*;

@RestController
@RequestMapping("wxMall")
public class WxMallController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMallService wxMallService;

@ApiOperation("根据id更新接口")
@PostMapping("update")
@SystemControllerLog(description = "商城-更新")
public ResultData update(@RequestBody WxMall wxMall) {
logger.debug("[" + getIpAddr() + "] WxMallController::update");
wxMallService.update(wxMall);
return new ResultData();
}

@ApiOperation("根据id查询接口")
@GetMapping("/mallinfoExt")
@SystemControllerLog(description = "商城-查询")
public ResultData mallinfoExt() {
logger.debug("[" + getIpAddr() + "] WxMallController::mallinfoExt");
return new ResultData(wxMallService.getByTenantIdExt(getTenantId()));
}

@ApiOperation("查询当前mall的信息")
@GetMapping("/mallinfo")
@SystemControllerLog(description = "商城-当前查询")
public ResultData mallinfo() {
logger.debug("[" + getIpAddr() + "] WxMallController::mallinfo");
return new ResultData(wxMallService.getByTenantId(getTenantId()));
}


}

+ 31
- 0
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantBUserController.java Прегледај датотеку

@@ -0,0 +1,31 @@
package com.iformall.controller.basic;

import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.service.WxMerchantBUserService;
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.*;

@RestController
@RequestMapping("wxMerchantBUser")
public class WxMerchantBUserController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMerchantBUserService wxMerchantBUserService;

@ApiOperation("手机号是否存在")
@GetMapping("/hasphone")
@ApiImplicitParam(name = "phone", value = "phone", dataType = "String", paramType = "query", required = true)
public ResultData hasphone(String phone) {
logger.debug("[" + getIpAddr() + "] WxMerchantBUserController::hasphone");
boolean has = wxMerchantBUserService.hasphone(phone, getTenantId());
return new ResultData(Result.SUCCESS, "查询成功", has);
}

}

+ 219
- 0
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantController.java Прегледај датотеку

@@ -0,0 +1,219 @@
package com.iformall.controller.basic;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.app.WxAppinfoController;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxProfitSharingReceiver;
import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.service.WxMerchantService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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 javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
* @author gongbiao
*/
@RestController
@RequestMapping("wxMerchant")
public class WxMerchantController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMerchantService wxMerchantService;
@Autowired
private WxAppinfoController wxAppinfoController;

@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "商户-列表")
public ResultData list(@ModelAttribute WxMerchant wxMerchant, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::list");
if (null == wxMerchant) wxMerchant = new WxMerchant();
wxMerchant.setTenantId(getTenantId());
wxMerchant.setSortColumns(WxMerchant.Field.TopTime_DESC);
final PageInfo<WxMerchant> page = wxMerchantService.listAsPage(wxMerchant, pageNum, pageSize);
return new ResultData(page);
}


@ApiOperation("ETCP商户列表")
@GetMapping("etcplist")
@SystemControllerLog(description = "商户-ETCP商户列表")
public ResultData etcpList(@ModelAttribute WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::etcpList");
if (null == wxMerchant) wxMerchant = new WxMerchant();
wxMerchant.setTenantId(getTenantId());
final List<WxMerchant> merchantList = wxMerchantService.etcpList(wxMerchant);
return new ResultData(merchantList);
}

@ApiOperation("根据id删除接口")
@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "商户-删除")
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::delete");
wxMerchantService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@ApiOperation("根据id查询接口")
@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "商户-查询")
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::findById");
WxMerchant wxMerchant = wxMerchantService.getById(id);

return new ResultData(wxMerchant);
}

@ApiOperation("停用")
@GetMapping("disable")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "商户-停用")
public ResultData disable(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::disable");
wxMerchantService.disable(id);
return new ResultData(Result.SUCCESS, "停用成功");
}

@ApiOperation("新增商户接口")
@PostMapping("addMerchant")
@SystemControllerLog(description = "商户-新增")
public ResultData addMerchant(@RequestBody WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::addMerchant");
wxMerchant.setTenantId(getTenantId());

ResultData resultData = wxMerchantService.addMerchant(wxMerchant, getUserId());

if(resultData.code == 200){
//加载二维码图片
String pageUrl = "pages/index/index";
String param = "t:md:"+resultData.data;
ResultData resultQrCode = wxAppinfoController.exportQrcode(null,null,wxMerchant.getTenantId(),1,pageUrl,param,0,"","","店铺详情",true);
Map<String,String> map = (Map)resultQrCode.data;
String url = map.get("url");
wxMerchant.setQrCode(url);
wxMerchantService.updateMerchant(wxMerchant);
}

return resultData;
}

@ApiOperation("更新商户接口")
@PostMapping("updateMerchant")
@SystemControllerLog(description = "商户-更新")
public ResultData updateMerchant(@RequestBody WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchant");
wxMerchant.setTenantId(getTenantId());
return wxMerchantService.updateMerchant(wxMerchant);
}

@ApiOperation("更新账户接口")
@PostMapping("updateMerchantAccount")
@SystemControllerLog(description = "商户-更新账户")
public ResultData updateMerchantAccount(@RequestBody WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantAccount");
wxMerchant.setTenantId(getTenantId());
return wxMerchantService.updateMerchantAccount(wxMerchant);
}

@ApiOperation("更新管理员接口")
@PostMapping("updateMerchantAdmin")
@SystemControllerLog(description = "商户-更新管理员")
public ResultData updateMerchantAdmin(@RequestBody WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantAdmin");
wxMerchant.setTenantId(getTenantId());
return wxMerchantService.updateMerchantAdmin(wxMerchant);
}

@ApiOperation("更新法人接口")
@PostMapping("updateMerchantCorp")
@SystemControllerLog(description = "商户-更新法人")
public ResultData updateMerchantCopr(@RequestBody WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantCorp");
wxMerchant.setTenantId(getTenantId());
return wxMerchantService.updateMerchantCorp(wxMerchant);
}

@ApiOperation("更新税务接口")
@PostMapping("updateMerchantTax")
@SystemControllerLog(description = "商户-更新税务")
public ResultData updateMerchantTax(@RequestBody WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantTax");
wxMerchant.setTenantId(getTenantId());
return wxMerchantService.updateMerchantTax(wxMerchant);
}

@ApiOperation("更新会员等级权益接口")
@PostMapping("updateMerchantLevel")
@SystemControllerLog(description = "商户-更新会员等级权益")
public ResultData updateMerchantLevel(@RequestBody WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::updateMerchantLevel");
wxMerchant.setTenantId(getTenantId());
return wxMerchantService.updateMerchantLevel(wxMerchant);
}

@ApiOperation("查询当前租户下商户名称列表")
@GetMapping("/name_list")
@SystemControllerLog(description = "查询当前租户下商户名称列表")
public ResultData nameList() {
logger.debug("[" + getIpAddr() + "] WxMerchantController::name_list");
return new ResultData(wxMerchantService.findList(getTenantId()));
}

@ApiOperation("根据id查询接口")
@GetMapping("/findMerchantById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "商户-查询")
public ResultData findMerchantById(Long id) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::findMerchantById");
WxMerchantVo wxMerchant = wxMerchantService.findMerchantById(id);
return new ResultData(wxMerchant);
}

@ApiOperation("商户数据导出")
@GetMapping("/exportData")
@SystemControllerLog(description = "商户-商户数据导出")
public void exportData(@ModelAttribute WxMerchant wxMerchant, HttpServletRequest request, HttpServletResponse response) {
wxMerchant.setTenantId(getTenantId());
wxMerchant.setSortColumns(WxMerchant.Field.TopTime_DESC);
wxMerchantService.exportData(wxMerchant,request,response);
}

@ApiOperation("置顶")
@PostMapping("top")
@SystemControllerLog(description = "商户-置顶")
public ResultData top(@RequestBody WxMerchant wxMerchant) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::top");
wxMerchant.setTenantId(getTenantId());
return wxMerchantService.top(wxMerchant);
}

@ApiOperation("更新收款账户状态")
@PostMapping("useAccount")
@SystemControllerLog(description = "商户-更新收款账户状态")
public ResultData useAccount(@RequestBody WxProfitSharingReceiver wxProfitSharingReceiver) {
logger.debug("[" + getIpAddr() + "] WxMerchantController::useAccount");
wxProfitSharingReceiver.setTenantId(getTenantId());
return wxMerchantService.useAccount(wxProfitSharingReceiver);
}

}

+ 37
- 0
mallinkAdmin/src/main/java/com/iformall/controller/basic/WxMerchantShopController.java Прегледај датотеку

@@ -0,0 +1,37 @@
package com.iformall.controller.basic;

import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMerchantShop;
import com.iformall.domain.po.WxShop;
import com.iformall.service.WxMerchantShopService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxMerchantShop")
public class WxMerchantShopController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMerchantShopService wxMerchantShopService;

@ApiOperation("获取关联商铺信息")
@GetMapping("queryShopList")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData queryShopList(@ModelAttribute WxMerchantShop wxMerchantShop, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantShopController::queryShopList");
if (null == wxMerchantShop) wxMerchantShop = new WxMerchantShop();
final PageInfo<WxShop> page = wxMerchantShopService.queryShopList(wxMerchantShop, pageNum, pageSize);
return new ResultData(page);
}

}

mallinkAdmin/src/main/java/com/iformall/controller/WxShopController.java → mallinkAdmin/src/main/java/com/iformall/controller/basic/WxShopController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.basic;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxShop; import com.iformall.domain.po.WxShop;
import com.iformall.service.WxShopService; import com.iformall.service.WxShopService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxTagsController.java → mallinkAdmin/src/main/java/com/iformall/controller/basic/WxTagsController.java Прегледај датотеку

@@ -1,16 +1,9 @@
package com.iformall.controller;
package com.iformall.controller.basic;


import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.domain.po.WxTagsGroup;
import com.iformall.domain.po.WxTagsType;
import com.iformall.domain.vo.WxTagsGroupVo;
import com.iformall.domain.vo.WxTagsTypeVo;
import com.iformall.service.WxTagsGroupService;
import com.iformall.service.WxTagsTypeService;
import com.iformall.controller.base.BaseController;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -18,10 +11,8 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;


import com.github.pagehelper.PageInfo;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxTags;
import com.iformall.service.WxCUserTagsService; import com.iformall.service.WxCUserTagsService;
import com.iformall.service.WxTagsService; import com.iformall.service.WxTagsService;



mallinkAdmin/src/main/java/com/iformall/controller/WxCarController.java → mallinkAdmin/src/main/java/com/iformall/controller/car/WxCarController.java Прегледај датотеку

@@ -1,10 +1,11 @@
package com.iformall.controller;
package com.iformall.controller.car;


import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxCouponCar; import com.iformall.domain.po.WxCouponCar;
import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchant;
@@ -56,9 +57,9 @@ public class WxCarController extends BaseController {
@Autowired @Autowired
WxCouponCarService wxCouponCarService; WxCouponCarService wxCouponCarService;


private WxPark getCurrentPark(MallUserInfo user) {
private WxPark getCurrentPark() {
WxPark parkQ = new WxPark(); WxPark parkQ = new WxPark();
parkQ.setTenantId(user.getTenantId());
parkQ.setTenantId(getTenantId());
WxPark wxPark = wxParkService.getByObj(parkQ); WxPark wxPark = wxParkService.getByObj(parkQ);
// 1, get mall's park // 1, get mall's park
// future use redis to optimize // future use redis to optimize
@@ -70,9 +71,8 @@ public class WxCarController extends BaseController {
@SystemControllerLog(description = "车-获取车场支持的厂家") @SystemControllerLog(description = "车-获取车场支持的厂家")
public ResultData getVendor() { public ResultData getVendor() {
logger.debug("[" + getIpAddr() + "] WxCarController::getVendor"); logger.debug("[" + getIpAddr() + "] WxCarController::getVendor");
MallUserInfo user = getUser();
// 1, get mall's park // 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark();
Map map = new HashMap(); Map map = new HashMap();
map.put("vendor", park.getVendorType()); map.put("vendor", park.getVendorType());
return new ResultData(map); return new ResultData(map);
@@ -125,9 +125,8 @@ public class WxCarController extends BaseController {
@SystemControllerLog(description = "车-优免券模板") @SystemControllerLog(description = "车-优免券模板")
public ResultData quanTemplate(String merchantId, Integer pageNum, Integer pageSize) { public ResultData quanTemplate(String merchantId, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxCarController::quanTemplate"); logger.debug("[" + getIpAddr() + "] WxCarController::quanTemplate");
MallUserInfo user = getUser();
/// 1, get mall's park /// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark();
String params = park.getVendorParams(); String params = park.getVendorParams();
JSONObject objParams = JSON.parseObject(params); JSONObject objParams = JSON.parseObject(params);
String url = objParams.getString("url"); String url = objParams.getString("url");
@@ -195,7 +194,6 @@ public class WxCarController extends BaseController {
logger.info(coupon.toString()); logger.info(coupon.toString());
// Save to wx_counpon // Save to wx_counpon
Date curDate = new Date(); Date curDate = new Date();
MallUserInfo user = getUser();
// check 同一个模板的券分配额是否超了 // check 同一个模板的券分配额是否超了
if (StringUtils.isBlank(coupon.getVendorParams())) { if (StringUtils.isBlank(coupon.getVendorParams())) {
logger.error("请填充停车厂商优免券参数"); logger.error("请填充停车厂商优免券参数");
@@ -216,7 +214,7 @@ public class WxCarController extends BaseController {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "可用库存已达到停车厂商优免券数量限制"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "可用库存已达到停车厂商优免券数量限制");
} }
// check End // check End
coupon.setTenantId(user.getTenantId());
coupon.setTenantId(getTenantId());


ResultData resultData = wxCouponService.saveOrUpdate(coupon); ResultData resultData = wxCouponService.saveOrUpdate(coupon);
if (resultData.code != ResultData.SUCCESS){ if (resultData.code != ResultData.SUCCESS){
@@ -226,9 +224,9 @@ public class WxCarController extends BaseController {
// Save to wx_coupon_car // Save to wx_coupon_car
WxCouponCar couponCar = new WxCouponCar(); WxCouponCar couponCar = new WxCouponCar();
couponCar.setId(coupon.getId()); couponCar.setId(coupon.getId());
couponCar.setTenantId(user.getTenantId());
couponCar.setTenantId(getTenantId());


WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark();
couponCar.setParkId(park.getId()); couponCar.setParkId(park.getId());
couponCar.setVendorType(park.getVendorType()); couponCar.setVendorType(park.getVendorType());
couponCar.setVendorParams(coupon.getVendorParams()); couponCar.setVendorParams(coupon.getVendorParams());
@@ -297,9 +295,8 @@ public class WxCarController extends BaseController {
@GetMapping("/getParkStatus") @GetMapping("/getParkStatus")
@SystemControllerLog(description = "车-停车场状态") @SystemControllerLog(description = "车-停车场状态")
public ResultData getParkStatus() { public ResultData getParkStatus() {
MallUserInfo user = getUser();
/// 1, get mall's park /// 1, get mall's park
WxPark park = getCurrentPark(user);
WxPark park = getCurrentPark();
if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) { if (park.getVendorType() == EnumCarVendor.CAR_ETCP.getCode()) {
String params = park.getVendorParams(); String params = park.getVendorParams();
if(params == null) { if(params == null) {

mallinkAdmin/src/main/java/com/iformall/controller/WxParkController.java → mallinkAdmin/src/main/java/com/iformall/controller/car/WxParkController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.car;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxPark; import com.iformall.domain.po.WxPark;
import com.iformall.service.WxParkService; import com.iformall.service.WxParkService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxPropertyContractController.java → mallinkAdmin/src/main/java/com/iformall/controller/contract/WxPropertyContractController.java Прегледај датотеку

@@ -1,17 +1,17 @@
package com.iformall.controller;
package com.iformall.controller.contract;


import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxBillProperty; import com.iformall.domain.po.WxBillProperty;
import com.iformall.domain.po.WxFlowRecord;
import com.iformall.domain.po.WxBillRent;
import com.iformall.domain.po.WxPropertyContract; import com.iformall.domain.po.WxPropertyContract;
import com.iformall.domain.po.WxRentContract;
import com.iformall.enums.EnumFlowRecordStatus;
import com.iformall.service.WxBillPropertyService; import com.iformall.service.WxBillPropertyService;
import com.iformall.service.WxPropertyContractService; import com.iformall.service.WxPropertyContractService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -51,15 +51,19 @@ public class WxPropertyContractController extends BaseController {
@PostMapping("add") @PostMapping("add")
public ResultData add(@RequestBody WxPropertyContract wxPropertyContract) { public ResultData add(@RequestBody WxPropertyContract wxPropertyContract) {
logger.debug("[" + getIpAddr() + "] WxPropertyContractController::add"); logger.debug("[" + getIpAddr() + "] WxPropertyContractController::add");
wxPropertyContract.setTenantId(getTenantId());
return wxPropertyContractService.saveOrUpdate(wxPropertyContract, getUser().getId(), getUser().getName());
MallUserInfo user = getUser();
wxPropertyContract.setTenantId(user.getTenantId());
wxPropertyContract.setAdjustPeriodHandle();
return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName());
} }


@PostMapping("update") @PostMapping("update")
public ResultData update(@RequestBody WxPropertyContract wxPropertyContract) { public ResultData update(@RequestBody WxPropertyContract wxPropertyContract) {
logger.debug("[" + getIpAddr() + "] WxPropertyContractController::update"); logger.debug("[" + getIpAddr() + "] WxPropertyContractController::update");
wxPropertyContract.setTenantId(getTenantId());
return wxPropertyContractService.saveOrUpdate(wxPropertyContract, getUser().getId(), getUser().getName());
MallUserInfo user = getUser();
wxPropertyContract.setTenantId(user.getTenantId());
wxPropertyContract.setAdjustPeriodHandle();
return wxPropertyContractService.saveOrUpdate(wxPropertyContract, user.getId(), user.getName());
} }


@GetMapping("/del") @GetMapping("/del")
@@ -128,4 +132,5 @@ public class WxPropertyContractController extends BaseController {
return wxPropertyContractService.updatePropertyContractStatus(id); return wxPropertyContractService.updatePropertyContractStatus(id);
} }



} }

mallinkAdmin/src/main/java/com/iformall/controller/WxRentContractController.java → mallinkAdmin/src/main/java/com/iformall/controller/contract/WxRentContractController.java Прегледај датотеку

@@ -1,19 +1,22 @@
package com.iformall.controller;
package com.iformall.controller.contract;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxBillRent; import com.iformall.domain.po.WxBillRent;
import com.iformall.domain.po.WxPayAccountBill; import com.iformall.domain.po.WxPayAccountBill;
import com.iformall.domain.po.WxRentContract; import com.iformall.domain.po.WxRentContract;
import com.iformall.domain.po.WxShop; import com.iformall.domain.po.WxShop;
import com.iformall.enums.EnumRentContractAdjustPeriod;
import com.iformall.enums.EnumRentShopType; import com.iformall.enums.EnumRentShopType;
import com.iformall.enums.EnumShopType;
import com.iformall.service.WxBillRentService; import com.iformall.service.WxBillRentService;
import com.iformall.service.WxPayAccountBillService; import com.iformall.service.WxPayAccountBillService;
import com.iformall.service.WxRentContractService; import com.iformall.service.WxRentContractService;
import com.iformall.service.WxShopService; import com.iformall.service.WxShopService;
import com.iformall.utils.DateUtils;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -21,9 +24,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;


@@ -44,6 +47,20 @@ public class WxRentContractController extends BaseController {
@Autowired @Autowired
private WxShopService wxShopService; private WxShopService wxShopService;


@GetMapping("getDateDiff")
@ApiImplicitParams({
@ApiImplicitParam(name = "startDate", value = "开始时间", dataType = "string", paramType = "query", required = true),
@ApiImplicitParam(name = "endtDate", value = "结束时间", dataType = "string", paramType = "query", required = true)})
@SystemControllerLog(description = "获取两个时间相差,返回n月零n天")
public ResultData getDateDiff(String startDate, String endDate) throws Exception{
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Integer> map = new HashMap<>();
int[] array = DateUtils.getDiff(sd.parse(startDate),sd.parse(endDate));
map.put("month",array[0]);
map.put("day",array[1]);
return new ResultData(map);
}

@GetMapping("list") @GetMapping("list")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@@ -63,57 +80,47 @@ public class WxRentContractController extends BaseController {
@SystemControllerLog(description = "租赁合同-添加") @SystemControllerLog(description = "租赁合同-添加")
public ResultData add(@RequestBody WxRentContract wxRentContract) { public ResultData add(@RequestBody WxRentContract wxRentContract) {
logger.debug("[" + getIpAddr() + "] WxRentContractController::add"); logger.debug("[" + getIpAddr() + "] WxRentContractController::add");
wxRentContract.setTenantId(getTenantId());


//目前只有多经点位租赁合同
WxShop wxShop = wxShopService.getById(wxRentContract.getShopId());
if(wxRentContract.getMonthHandleType() != null && wxRentContract.getMonthHandleType().intValue()==3
&& EnumRentShopType.POINT.getCode().equals(wxShop.getType())){
wxRentContract.setAdjustPeriod(wxRentContract.getMonthHandleType());
}
return wxRentContractService.save(wxRentContract, getUser().getId(),getUser().getName());
MallUserInfo user = getUser();
wxRentContract.setTenantId(user.getTenantId());

wxRentContract.setAdjustPeriodHandle();
return wxRentContractService.save(wxRentContract, user.getId(),user.getName());
} }


@PostMapping("update") @PostMapping("update")
@SystemControllerLog(description = "租赁合同-更新") @SystemControllerLog(description = "租赁合同-更新")
public ResultData update(@RequestBody WxRentContract wxRentContract) { public ResultData update(@RequestBody WxRentContract wxRentContract) {
logger.debug("[" + getIpAddr() + "] WxRentContractController::update"); logger.debug("[" + getIpAddr() + "] WxRentContractController::update");
wxRentContract.setTenantId(getTenantId());
//目前只有多经点位租赁合同
WxShop wxShop = wxShopService.getById(wxRentContract.getShopId());
if(wxRentContract.getMonthHandleType() != null && wxRentContract.getMonthHandleType().intValue()==3
&& EnumRentShopType.POINT.getCode().equals(wxShop.getType())){
wxRentContract.setAdjustPeriod(wxRentContract.getMonthHandleType());
}
return wxRentContractService.update(wxRentContract, getUser().getId(),getUser().getName());
MallUserInfo user = getUser();
wxRentContract.setTenantId(user.getTenantId());
wxRentContract.setAdjustPeriodHandle();
return wxRentContractService.update(wxRentContract, user.getId(),user.getName());
} }


/**
* 防止前端3秒重复提交
* @param wxRentContract
* @return
*/
@PostMapping("updateMoney") @PostMapping("updateMoney")
@SystemControllerLog(description = "租赁合同-更新金额") @SystemControllerLog(description = "租赁合同-更新金额")
public ResultData updateMoney(@RequestBody WxRentContract wxRentContract) { public ResultData updateMoney(@RequestBody WxRentContract wxRentContract) {
logger.debug("[" + getIpAddr() + "] WxRentContractController::updateMoney"); logger.debug("[" + getIpAddr() + "] WxRentContractController::updateMoney");
wxRentContract.setTenantId(getTenantId());
//目前只有多经点位租赁合同
WxShop wxShop = wxShopService.getById(wxRentContract.getShopId());
if(wxRentContract.getMonthHandleType() != null && wxRentContract.getMonthHandleType().intValue()==3
&& EnumRentShopType.POINT.getCode().equals(wxShop.getType())){
wxRentContract.setAdjustPeriod(wxRentContract.getMonthHandleType());
}
return wxRentContractService.update(wxRentContract, getUser().getId(),getUser().getName());
MallUserInfo user = getUser();
wxRentContract.setTenantId(user.getTenantId());
wxRentContract.setAdjustPeriodHandle();
return wxRentContractService.update(wxRentContract, user.getId(),user.getName());
} }


@PostMapping("updateFile") @PostMapping("updateFile")
@SystemControllerLog(description = "租赁合同-更新文件") @SystemControllerLog(description = "租赁合同-更新文件")
public ResultData updateFile(@RequestBody WxRentContract wxRentContract) { public ResultData updateFile(@RequestBody WxRentContract wxRentContract) {
logger.debug("[" + getIpAddr() + "] WxRentContractController::updateFile"); logger.debug("[" + getIpAddr() + "] WxRentContractController::updateFile");
wxRentContract.setTenantId(getTenantId());
//目前只有多经点位租赁合同
WxShop wxShop = wxShopService.getById(wxRentContract.getShopId());
if(wxRentContract.getMonthHandleType() != null && wxRentContract.getMonthHandleType().intValue()==3
&& EnumRentShopType.POINT.getCode().equals(wxShop.getType())){
wxRentContract.setAdjustPeriod(wxRentContract.getMonthHandleType());
}
return wxRentContractService.updateFile(wxRentContract, getUser().getId(),getUser().getName());
MallUserInfo user = getUser();
wxRentContract.setTenantId(user.getTenantId());
wxRentContract.setAdjustPeriodHandle();
return wxRentContractService.updateFile(wxRentContract, user.getId(),user.getName());
} }


@GetMapping("/del") @GetMapping("/del")
@@ -131,7 +138,7 @@ public class WxRentContractController extends BaseController {
logger.debug("[" + getIpAddr() + "] WxRentContractController::findById"); logger.debug("[" + getIpAddr() + "] WxRentContractController::findById");
// 同步欠缴状态 // 同步欠缴状态
WxBillRent wxBillRent = new WxBillRent(); WxBillRent wxBillRent = new WxBillRent();
wxBillRent.setTenantId(super.getTenantId());
wxBillRent.setTenantId(getTenantId());
wxBillRentService.updateBillStatus(wxBillRent); wxBillRentService.updateBillStatus(wxBillRent);
return wxRentContractService.getById(id); return wxRentContractService.getById(id);
} }

mallinkAdmin/src/main/java/com/iformall/controller/DataTowerController.java → mallinkAdmin/src/main/java/com/iformall/controller/datatower/DataTowerController.java Прегледај датотеку

@@ -1,18 +1,16 @@
package com.iformall.controller;
package com.iformall.controller.datatower;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.service.DataTowerService; import com.iformall.service.DataTowerService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import java.util.HashMap;
import java.util.Map; import java.util.Map;


@Api(description = "数据塔台") @Api(description = "数据塔台")

mallinkAdmin/src/main/java/com/iformall/controller/WxChartDataController.java → mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxChartDataController.java Прегледај датотеку

@@ -1,7 +1,8 @@
package com.iformall.controller;
package com.iformall.controller.datatower;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.service.WxChartDataService; import com.iformall.service.WxChartDataService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -42,7 +43,8 @@ public class WxChartDataController extends BaseController {
"--------------------------------------"+ "--------------------------------------"+
"chart=49商铺出租数据:" + "chart=49商铺出租数据:" +
"total商铺总数 totalShop店铺个数 totalPoint多径点位个数, rentTotal已出租总数 rentTotalShop已出租店铺 rentTotalPoint已出租点位" + "total商铺总数 totalShop店铺个数 totalPoint多径点位个数, rentTotal已出租总数 rentTotalShop已出租店铺 rentTotalPoint已出租点位" +
",notRentTotal未出租总数 notRentTotalShop未出租店铺 notRentTotalPoint未出租点位" +
",notRentTotal未出租总数 notRentTotalShop未出租店铺 notRentTotalPoint未出租点位," +
"rentTotalRate店铺出租率 rentTotalShopRate商铺出租率 rentTotalPointRate点位出租率" +
","+ ","+
"--------------------------------------"+ "--------------------------------------"+
"chart=50费用收缴数据:" + "chart=50费用收缴数据:" +

mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantTradeDailyController.java → mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxMerchantTradeDailyController.java Прегледај датотеку

@@ -1,21 +1,31 @@
package com.iformall.controller;
package com.iformall.controller.datatower;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxMerchantBUser;
import com.iformall.domain.po.WxMerchantTradeDaily;
import com.iformall.domain.vo.WxMerchantTradeDailyVo; import com.iformall.domain.vo.WxMerchantTradeDailyVo;
import com.iformall.service.WxMerchantBUserService;
import com.iformall.service.WxMerchantService;
import com.iformall.service.WxMerchantTradeDailyService; import com.iformall.service.WxMerchantTradeDailyService;
import com.iformall.utils.DateUtils;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.map.LinkedMap;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.*;


@RestController @RestController
@RequestMapping("wxMerchantTradeDaily") @RequestMapping("wxMerchantTradeDaily")
@@ -25,25 +35,34 @@ public class WxMerchantTradeDailyController extends BaseController {
@Autowired @Autowired
private WxMerchantTradeDailyService wxMerchantTradeDailyService; private WxMerchantTradeDailyService wxMerchantTradeDailyService;


@ApiOperation("获得指定日期的解单,默认不传reportDate为当天")
@GetMapping("/getVolume")
public ResultData getVolume(WxMerchantTradeDaily wxMerchantTradeDaily) {
wxMerchantTradeDaily.setTenantId(getTenantId());
return wxMerchantTradeDailyService.getVolume(wxMerchantTradeDaily,getUser().getId());
}




@ApiOperation("获得昨日解单列表")
@GetMapping("/listYesterday")
@ApiOperation("获得解单列表")
@GetMapping("/list")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "商户-获得昨日解单列表") @SystemControllerLog(description = "商户-获得昨日解单列表")
public ResultData listYesterday(@ModelAttribute WxMerchantTradeDailyVo wxMerchantTradeDaily, Integer pageNum, Integer pageSize) {
public ResultData list(@ModelAttribute WxMerchantTradeDailyVo wxMerchantTradeDaily, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::listYesterday"); logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::listYesterday");
if (wxMerchantTradeDaily == null) wxMerchantTradeDaily = new WxMerchantTradeDailyVo();

if (wxMerchantTradeDaily == null)
wxMerchantTradeDaily = new WxMerchantTradeDailyVo();
wxMerchantTradeDaily.setTenantId(getTenantId()); wxMerchantTradeDaily.setTenantId(getTenantId());
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
cal.add(Calendar.DAY_OF_YEAR, -1);
SimpleDateFormat fmt=new SimpleDateFormat("yyyy-MM-dd");
wxMerchantTradeDaily.setReportDate(fmt.format(cal.getTime()));
if (wxMerchantTradeDaily.getReportDate() == null) {
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
wxMerchantTradeDaily.setReportDate(fmt.format(new Date()));
}
wxMerchantTradeDaily.setSortColumns(WxMerchantTradeDailyVo.Field.MerchantId_DESC); wxMerchantTradeDaily.setSortColumns(WxMerchantTradeDailyVo.Field.MerchantId_DESC);
PageInfo<WxMerchantTradeDailyVo> page = wxMerchantTradeDailyService.listAsPageVo(wxMerchantTradeDaily, pageNum, pageSize); PageInfo<WxMerchantTradeDailyVo> page = wxMerchantTradeDailyService.listAsPageVo(wxMerchantTradeDaily, pageNum, pageSize);

return new ResultData(page); return new ResultData(page);
} }


@@ -64,12 +83,20 @@ public class WxMerchantTradeDailyController extends BaseController {
} }


@ApiOperation("更新解单数据") @ApiOperation("更新解单数据")
@PostMapping("/updateYesterday")
@PostMapping("/update")
@SystemControllerLog(description = "商户-更新解单数据") @SystemControllerLog(description = "商户-更新解单数据")
public ResultData updateYesterday(@RequestBody WxMerchantTradeDailyVo wxMerchantTradeDaily) {
public ResultData update(@RequestBody WxMerchantTradeDailyVo wxMerchantTradeDaily) {
logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::updateYesterday"); logger.debug("[" + getIpAddr() + "] WxMerchantTradeDailyController::updateYesterday");
if (wxMerchantTradeDaily == null ||
wxMerchantTradeDaily.getMerchantId() == null ||
wxMerchantTradeDaily.getTradeAmt() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
wxMerchantTradeDaily.setTenantId(getTenantId()); wxMerchantTradeDaily.setTenantId(getTenantId());
return wxMerchantTradeDailyService.updateYesterday(wxMerchantTradeDaily);
if (wxMerchantTradeDaily.getReportDate() == null) {
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
wxMerchantTradeDaily.setReportDate(fmt.format(new Date()));
}
return wxMerchantTradeDailyService.update(wxMerchantTradeDaily);
} }


@ApiOperation("查询解单数据") @ApiOperation("查询解单数据")
@@ -81,6 +108,4 @@ public class WxMerchantTradeDailyController extends BaseController {
return wxMerchantTradeDailyService.queryTradeDaily(wxMerchantTradeDaily); return wxMerchantTradeDailyService.queryTradeDaily(wxMerchantTradeDaily);
} }




} }

mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java → mallinkAdmin/src/main/java/com/iformall/controller/datatower/WxUserStructureController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.datatower;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.WxCUserBasicInfoDto; import com.iformall.domain.dto.WxCUserBasicInfoDto;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.vo.UserStructureVo; import com.iformall.domain.vo.UserStructureVo;
@@ -136,6 +137,8 @@ public class WxUserStructureController extends BaseController {
//没有等级的会员 //没有等级的会员
other.setLevel(WxLevelConfigService.DEFAULT_LEVEL); other.setLevel(WxLevelConfigService.DEFAULT_LEVEL);
WxCUserBasicInfoDto dto = new WxCUserBasicInfoDto(); WxCUserBasicInfoDto dto = new WxCUserBasicInfoDto();
dto.setStartTime(startTime);
dto.setEndTime(endTime);
other.setCount(wxCUserBasicInfoService.findCount(dto) other.setCount(wxCUserBasicInfoService.findCount(dto)
- levelList.stream().map(WxLevelConfig::getCount).reduce(Long::sum).orElse(0L)); - levelList.stream().map(WxLevelConfig::getCount).reduce(Long::sum).orElse(0L));



mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java → mallinkAdmin/src/main/java/com/iformall/controller/device/WxDeviceController.java Прегледај датотеку

@@ -1,10 +1,11 @@
package com.iformall.controller;
package com.iformall.controller.device;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;


import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxDevice; import com.iformall.domain.po.WxDevice;
import com.iformall.enums.EnumDeviceOnlineStatus; import com.iformall.enums.EnumDeviceOnlineStatus;
import com.iformall.enums.EnumDeviceStatus; import com.iformall.enums.EnumDeviceStatus;

mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java → mallinkAdmin/src/main/java/com/iformall/controller/device/WxScreenAdController.java Прегледај датотеку

@@ -1,14 +1,11 @@
package com.iformall.controller;
package com.iformall.controller.device;


import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCampaign;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxScreenAd; import com.iformall.domain.po.WxScreenAd;
import com.iformall.enums.EnumScoreType;
import com.iformall.enums.EnumScreenAdStatus; import com.iformall.enums.EnumScreenAdStatus;
import com.iformall.enums.EnumScreenAdType; import com.iformall.enums.EnumScreenAdType;
import com.iformall.service.WxCampaignService; import com.iformall.service.WxCampaignService;
@@ -23,9 +20,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import java.util.ArrayList;
import java.util.List;

@RestController @RestController
@RequestMapping("wxScreenAd") @RequestMapping("wxScreenAd")
@Api(description="广告屏") @Api(description="广告屏")

mallinkAdmin/src/main/java/com/iformall/controller/MarkingDataReportController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/MarkingDataReportController.java Прегледај датотеку

@@ -1,7 +1,8 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.MarkingCouponDataReportDto; import com.iformall.domain.dto.MarkingCouponDataReportDto;
import com.iformall.service.MarkingDataReportService; import com.iformall.service.MarkingDataReportService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;

mallinkAdmin/src/main/java/com/iformall/controller/PushLimitController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/PushLimitController.java Прегледај датотеку

@@ -1,7 +1,8 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.PushLimit; import com.iformall.domain.po.PushLimit;
import com.iformall.service.PushLimitService; import com.iformall.service.PushLimitService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;

mallinkAdmin/src/main/java/com/iformall/controller/UeditorController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/UeditorController.java Прегледај датотеку

@@ -1,6 +1,7 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.iformall.ueditor.ActionEnter; import com.iformall.ueditor.ActionEnter;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
@@ -11,6 +12,7 @@ import javax.servlet.http.HttpServletRequest;


@RestController @RestController
@RequestMapping("/ue") @RequestMapping("/ue")
@Api(description = "网页bannner图接口")
public class UeditorController { public class UeditorController {


@Autowired @Autowired

mallinkAdmin/src/main/java/com/iformall/controller/WxCampaignController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCampaignController.java Прегледај датотеку

@@ -1,4 +1,4 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
@@ -7,6 +7,7 @@ import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCampaign; import com.iformall.domain.po.WxCampaign;
import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.WxCouponChannel;

mallinkAdmin/src/main/java/com/iformall/controller/WxCardPayController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCardPayController.java Прегледај датотеку

@@ -1,14 +1,14 @@
package com.iformall.controller;
package com.iformall.controller.market;




import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxCardSpendVo; import com.iformall.domain.vo.WxCardSpendVo;
import com.iformall.domain.vo.WxCardVo; import com.iformall.domain.vo.WxCardVo;
import com.iformall.enums.EnumCardSpendStatus;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxCardInfoService; import com.iformall.service.WxCardInfoService;
import com.iformall.service.WxCardSpendService; import com.iformall.service.WxCardSpendService;
@@ -27,7 +27,6 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;


@@ -35,8 +34,8 @@ import java.util.Map;
* @author Stormeye Wu wuguoqiang@iformall.com * @author Stormeye Wu wuguoqiang@iformall.com
*/ */
@RestController @RestController
@Api(description = "C端扫B端商户码储值卡支付")
@RequestMapping("cardPay") @RequestMapping("cardPay")
@Api(description = "储值卡支付-C端扫B端商户码")
public class WxCardPayController extends BaseController { public class WxCardPayController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@@ -67,8 +66,7 @@ public class WxCardPayController extends BaseController {
wxCardVo.setOuPhone(null); wxCardVo.setOuPhone(null);
} }
} }
MallUserInfo user = getUser();
wxCardVo.setTenantId(user.getTenantId());
wxCardVo.setTenantId(getTenantId());
if(StringUtils.isNotBlank(wxCardVo.getStatusStr())) { if(StringUtils.isNotBlank(wxCardVo.getStatusStr())) {
String [] statusAttr = wxCardVo.getStatusStr().split(","); String [] statusAttr = wxCardVo.getStatusStr().split(",");
List<Integer> tmpList = new ArrayList<Integer>(); List<Integer> tmpList = new ArrayList<Integer>();
@@ -95,8 +93,7 @@ public class WxCardPayController extends BaseController {
if (wxCardSpendVo == null) { if (wxCardSpendVo == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空");
} }
MallUserInfo user = getUser();
wxCardSpendVo.setTenantId(user.getTenantId());
wxCardSpendVo.setTenantId(getTenantId());
if(StringUtils.isNotBlank(wxCardSpendVo.getPayStatusStr())) { if(StringUtils.isNotBlank(wxCardSpendVo.getPayStatusStr())) {
String [] statusAttr = wxCardSpendVo.getPayStatusStr().split(","); String [] statusAttr = wxCardSpendVo.getPayStatusStr().split(",");
List<Integer> tmpList = new ArrayList<Integer>(); List<Integer> tmpList = new ArrayList<Integer>();
@@ -120,8 +117,7 @@ public class WxCardPayController extends BaseController {
if (wxCardSpend == null) { if (wxCardSpend == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空");
} }
MallUserInfo user = getUser();
wxCardSpend.setTenantId(user.getTenantId());
wxCardSpend.setTenantId(getTenantId());
final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForMerchant(wxCardSpend); final List<Map<String, Object>> mapList = wxCardSpendService.sumCardSpendForMerchant(wxCardSpend);
return new ResultData(mapList); return new ResultData(mapList);
} }
@@ -157,8 +153,7 @@ public class WxCardPayController extends BaseController {
if (wxCardSpend == null) { if (wxCardSpend == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空");
} }
MallUserInfo user = getUser();
wxCardSpend.setTenantId(user.getTenantId());
wxCardSpend.setTenantId(getTenantId());
wxCardSpendService.update(wxCardSpend); wxCardSpendService.update(wxCardSpend);
return new ResultData(); return new ResultData();
} }
@@ -172,9 +167,12 @@ public class WxCardPayController extends BaseController {
if (wxCardInfo == null) { if (wxCardInfo == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空");
} }
MallUserInfo user = getUser();
wxCardInfo.setTenantId(user.getTenantId());
int remainShareAmount = wxCardSpendService.finishCard(user.getTenantId(), wxCardInfo.getId());
if (wxCardInfo.getId() == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件ID为空");
}
String tenantId = getTenantId();
wxCardInfo.setTenantId(tenantId);
int remainShareAmount = wxCardSpendService.finishCard(tenantId, wxCardInfo.getId());
return new ResultData(remainShareAmount); return new ResultData(remainShareAmount);
} }
} }

mallinkAdmin/src/main/java/com/iformall/controller/WxCouponActionLogController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponActionLogController.java Прегледај датотеку

@@ -1,11 +1,13 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCouponActionLog; import com.iformall.domain.po.WxCouponActionLog;
import com.iformall.service.WxCouponActionLogService; import com.iformall.service.WxCouponActionLogService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.*;


@RestController @RestController
@RequestMapping("wxCouponActionLog") @RequestMapping("wxCouponActionLog")
@Api(description = "发券行为记录接口")
public class WxCouponActionLogController extends BaseController { public class WxCouponActionLogController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxCouponCarController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponCarController.java Прегледај датотеку

@@ -1,11 +1,13 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCouponCar; import com.iformall.domain.po.WxCouponCar;
import com.iformall.service.WxCouponCarService; import com.iformall.service.WxCouponCarService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.*;


@RestController @RestController
@RequestMapping("wxCouponCar") @RequestMapping("wxCouponCar")
@Api(description = "停车券接口")
public class WxCouponCarController extends BaseController { public class WxCouponCarController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxCouponChannelController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponChannelController.java Прегледај датотеку

@@ -1,18 +1,15 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.WxCouponChannelDto; import com.iformall.domain.dto.WxCouponChannelDto;
import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.vo.WxCouponChannelVo; import com.iformall.domain.vo.WxCouponChannelVo;
import com.iformall.enums.EnumCouponChannelStatus;
import com.iformall.enums.EnumCouponStatus;
import com.iformall.service.WxCouponChannelService; import com.iformall.service.WxCouponChannelService;
import com.iformall.service.WxCouponService; import com.iformall.service.WxCouponService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -53,7 +50,7 @@ public class WxCouponChannelController extends BaseController {
if (wxCouponChannel.getStatus() != null && wxCouponChannel.getStatus() == -1) { if (wxCouponChannel.getStatus() != null && wxCouponChannel.getStatus() == -1) {
wxCouponChannel.setStatus(null); wxCouponChannel.setStatus(null);
} }
wxCouponChannel.setTenantId(getUser().getTenantId());
wxCouponChannel.setTenantId(getTenantId());
wxCouponChannel.setSortColumns(WxCouponChannel.Field.UpdateDate_DESC); wxCouponChannel.setSortColumns(WxCouponChannel.Field.UpdateDate_DESC);
final PageInfo<WxCouponChannelVo> page = wxCouponChannelService.listPageCVo(wxCouponChannel, pageNum, pageSize); final PageInfo<WxCouponChannelVo> page = wxCouponChannelService.listPageCVo(wxCouponChannel, pageNum, pageSize);
return new ResultData(page); return new ResultData(page);
@@ -65,7 +62,7 @@ public class WxCouponChannelController extends BaseController {
@SystemControllerLog(description = "券投放-更新") @SystemControllerLog(description = "券投放-更新")
public ResultData update(@RequestBody WxCouponChannel wxCouponChannel) { public ResultData update(@RequestBody WxCouponChannel wxCouponChannel) {
logger.debug("[" + getIpAddr() + "] WxCouponChannelController::update"); logger.debug("[" + getIpAddr() + "] WxCouponChannelController::update");
wxCouponChannel.setTenantId(getUser().getTenantId());
wxCouponChannel.setTenantId(getTenantId());


return wxCouponChannelService.saveOrUpdate(wxCouponChannel); return wxCouponChannelService.saveOrUpdate(wxCouponChannel);
} }
@@ -96,8 +93,7 @@ public class WxCouponChannelController extends BaseController {
logger.debug("[" + getIpAddr() + "] WxCouponChannelController::addbatch"); logger.debug("[" + getIpAddr() + "] WxCouponChannelController::addbatch");
String[] ids = wxCouponChannelDto.getCouponIds().split(","); String[] ids = wxCouponChannelDto.getCouponIds().split(",");
String[] channelId = wxCouponChannelDto.getChannelId().split(","); String[] channelId = wxCouponChannelDto.getChannelId().split(",");
MallUserInfo user = getUser();
return wxCouponChannelService.addBatch(ids, channelId, user.getTenantId(), wxCouponChannelDto.getBeginTime(), wxCouponChannelDto.getEndTime());
return wxCouponChannelService.addBatch(ids, channelId, getTenantId(), wxCouponChannelDto.getBeginTime(), wxCouponChannelDto.getEndTime());
} }


@ApiOperation("根据id查询接口") @ApiOperation("根据id查询接口")

mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponController.java Прегледај датотеку

@@ -1,12 +1,14 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.vo.WxCouponStatisVo; import com.iformall.domain.vo.WxCouponStatisVo;
import com.iformall.enums.*;
import com.iformall.enums.EnumCouponValidType;
import com.iformall.service.WxCouponService; import com.iformall.service.WxCouponService;
import com.iformall.utils.DateUtils; import com.iformall.utils.DateUtils;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -62,6 +64,36 @@ public class WxCouponController extends BaseController {
return wxCouponService.saveOrUpdate(wxCoupon); return wxCouponService.saveOrUpdate(wxCoupon);
} }


@ApiOperation("根据id更新库存及有效期接口")
@PostMapping("updateStokeAndValidDate")
@SystemControllerLog(description = "券投放-库存/有效期更新")
public ResultData updateStokeAndValidDate(@RequestBody WxCoupon wxCoupon) {
logger.debug("[" + getIpAddr() + "] WxCouponController::updateStokeAndValidDate");
if (wxCoupon.getId() == null) {
return new ResultData(ResultData.ERROR, "缺少id");
}
if(wxCoupon.getRemainInventory() == null || wxCoupon.getInventory() == null) {
return new ResultData(ErrorCode.COUPON_STOCK_ERR);
}
if(wxCoupon.getRemainInventory() > wxCoupon.getInventory()) {
return new ResultData(ErrorCode.COUPON_STOCK_ERR);
}
if(wxCoupon.getValidType() == null) {
return new ResultData(ErrorCode.COUPON_VALID_DATE_ERR);
}
if(wxCoupon.getValidType().equals(EnumCouponValidType.BETWEEN_TWO_TIME.getCode())) {
if(wxCoupon.getValidEndDate() == null) {
return new ResultData(ErrorCode.COUPON_VALID_DATE_ERR);
}
} else {
if(wxCoupon.getValidDays() == null) {
return new ResultData(ErrorCode.COUPON_VALID_DATE_ERR);
}
}
wxCoupon.setTenantId(getTenantId());
return wxCouponService.updateCouponStockAndEndTime(wxCoupon);
}

@ApiOperation("根据id删除接口") @ApiOperation("根据id删除接口")
@GetMapping("/del") @GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@@ -168,7 +200,4 @@ public class WxCouponController extends BaseController {
return new ResultData(wxCouponService.findPressData(wxCoupon,pageNum,pageSize)); return new ResultData(wxCouponService.findPressData(wxCoupon,pageNum,pageSize));
} }





} }

mallinkAdmin/src/main/java/com/iformall/controller/WxCouponInjectController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponInjectController.java Прегледај датотеку

@@ -1,10 +1,12 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxCouponInject; import com.iformall.domain.po.WxCouponInject;
import com.iformall.service.WxCouponInjectService; import com.iformall.service.WxCouponInjectService;
import com.iformall.service.WxCUserTagsService; import com.iformall.service.WxCUserTagsService;
@@ -18,12 +20,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import java.util.ArrayList;
import java.util.List;

@Api(description = "精准投放接口")
@RestController @RestController
@RequestMapping("couponInject") @RequestMapping("couponInject")
@Api(description = "精准投放接口")
public class WxCouponInjectController extends BaseController { public class WxCouponInjectController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@@ -58,8 +57,9 @@ public class WxCouponInjectController extends BaseController {
public ResultData add(@RequestBody WxCouponInject couponInject) { public ResultData add(@RequestBody WxCouponInject couponInject) {
logger.debug("[" + getIpAddr() + "] WxCouponInjectController::add"); logger.debug("[" + getIpAddr() + "] WxCouponInjectController::add");


couponInject.setTenantId(getUser().getTenantId());
couponInject.setMUserId(getUser().getId());
MallUserInfo user = getUser();
couponInject.setTenantId(user.getTenantId());
couponInject.setMUserId(user.getId());


return wxCouponInjectService.add(couponInject); return wxCouponInjectService.add(couponInject);
} }

mallinkAdmin/src/main/java/com/iformall/controller/WxCouponOrderController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponOrderController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxAppinfo; import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCouponOrder; import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.vo.WxCouponOrderBVo; import com.iformall.domain.vo.WxCouponOrderBVo;
@@ -57,7 +58,6 @@ public class WxCouponOrderController extends BaseController {
wxCouponOrder.getMerchantName().isEmpty()) { wxCouponOrder.getMerchantName().isEmpty()) {
wxCouponOrder.setMerchantName(null); wxCouponOrder.setMerchantName(null);
} }
wxCouponOrder.setSortColumns(WxCouponOrder.Field.Id_DESC);
return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize); return wxCouponOrderService.listAdminAsPage(wxCouponOrder, pageNum, pageSize);
} }



mallinkAdmin/src/main/java/com/iformall/controller/WxCouponSendConfigController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendConfigController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCouponSendConfig; import com.iformall.domain.po.WxCouponSendConfig;
import com.iformall.service.WxCouponSendConfigService; import com.iformall.service.WxCouponSendConfigService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -17,7 +18,7 @@ import java.util.Date;


@RestController @RestController
@RequestMapping("wxCouponSendConfig") @RequestMapping("wxCouponSendConfig")
@Api(description = "停车发券和核销发劵接口")
@Api(description = "注劵配置接口")
public class WxCouponSendConfigController extends BaseController { public class WxCouponSendConfigController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxCouponSendController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxCouponSendController.java Прегледај датотеку

@@ -1,10 +1,11 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCoupon; import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponSend; import com.iformall.domain.po.WxCouponSend;
import com.iformall.domain.vo.WxCouponSendVo; import com.iformall.domain.vo.WxCouponSendVo;
@@ -14,6 +15,7 @@ import com.iformall.enums.EnumCouponStatus;
import com.iformall.service.WxCouponActionLogService; import com.iformall.service.WxCouponActionLogService;
import com.iformall.service.WxCouponSendService; import com.iformall.service.WxCouponSendService;
import com.iformall.service.WxCouponService; import com.iformall.service.WxCouponService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -23,10 +25,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import java.util.Date; import java.util.Date;
import java.util.List;


@RestController @RestController
@RequestMapping("wxCouponSend") @RequestMapping("wxCouponSend")
@Api(description = "注劵接口")
public class WxCouponSendController extends BaseController { public class WxCouponSendController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxGameController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxGameController.java Прегледај датотеку

@@ -1,13 +1,15 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxGame; import com.iformall.domain.po.WxGame;
import com.iformall.enums.EnumGameStatus; import com.iformall.enums.EnumGameStatus;
import com.iformall.service.WxGameService; import com.iformall.service.WxGameService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.*;


@RestController @RestController
@RequestMapping("wxGame") @RequestMapping("wxGame")
@Api(description = "游戏接口")
public class WxGameController extends BaseController { public class WxGameController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxGameTemplateController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxGameTemplateController.java Прегледај датотеку

@@ -1,11 +1,13 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxGameTemplate; import com.iformall.domain.po.WxGameTemplate;
import com.iformall.service.WxGameTemplateService; import com.iformall.service.WxGameTemplateService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -18,6 +20,7 @@ import java.util.List;


@RestController @RestController
@RequestMapping("wxGameTemplate") @RequestMapping("wxGameTemplate")
@Api(description = "游戏模板接口")
public class WxGameTemplateController extends BaseController { public class WxGameTemplateController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantMicroPayController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxMerchantMicroPayController.java Прегледај датотеку

@@ -1,13 +1,15 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.WxOrderReportDto; import com.iformall.domain.dto.WxOrderReportDto;
import com.iformall.domain.vo.WxMerchantMicroPayVo; import com.iformall.domain.vo.WxMerchantMicroPayVo;
import com.iformall.enums.EnumOrderStatus; import com.iformall.enums.EnumOrderStatus;
import com.iformall.enums.EnumOrderType; import com.iformall.enums.EnumOrderType;
import com.iformall.service.MarkingDataReportService; import com.iformall.service.MarkingDataReportService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -17,6 +19,7 @@ import org.springframework.web.bind.annotation.*;


@RestController @RestController
@RequestMapping("wxMerchantMicroPay") @RequestMapping("wxMerchantMicroPay")
@Api(description = "B端收银台相关接口")
public class WxMerchantMicroPayController extends BaseController { public class WxMerchantMicroPayController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxMerchantSubsidyController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxMerchantSubsidyController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxMerchantSubsidy; import com.iformall.domain.po.WxMerchantSubsidy;
import com.iformall.domain.vo.WxMerchantSubsidyVo; import com.iformall.domain.vo.WxMerchantSubsidyVo;
@@ -28,8 +29,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;


@RestController @RestController
@Api(description = "商户补贴接口")
@RequestMapping("subsidy") @RequestMapping("subsidy")
@Api(description = "商户补贴接口")
public class WxMerchantSubsidyController extends BaseController { public class WxMerchantSubsidyController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@@ -45,8 +46,7 @@ public class WxMerchantSubsidyController extends BaseController {
if (wxMerchantSubsidy == null) { if (wxMerchantSubsidy == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空");
} }
MallUserInfo user = getUser();
wxMerchantSubsidy.setTenantId(user.getTenantId());
wxMerchantSubsidy.setTenantId(getTenantId());
if(StringUtils.isNotBlank(wxMerchantSubsidy.getStatusStr())) { if(StringUtils.isNotBlank(wxMerchantSubsidy.getStatusStr())) {
String [] statusAttr = wxMerchantSubsidy.getStatusStr().split(","); String [] statusAttr = wxMerchantSubsidy.getStatusStr().split(",");
List<Integer> tmpList = new ArrayList<Integer>(); List<Integer> tmpList = new ArrayList<Integer>();
@@ -73,8 +73,7 @@ public class WxMerchantSubsidyController extends BaseController {
if (wxMerchantSubsidy == null) { if (wxMerchantSubsidy == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空");
} }
MallUserInfo user = getUser();
wxMerchantSubsidy.setTenantId(user.getTenantId());
wxMerchantSubsidy.setTenantId(getTenantId());
if(StringUtils.isNotBlank(wxMerchantSubsidy.getStatusStr())) { if(StringUtils.isNotBlank(wxMerchantSubsidy.getStatusStr())) {
String [] statusAttr = wxMerchantSubsidy.getStatusStr().split(","); String [] statusAttr = wxMerchantSubsidy.getStatusStr().split(",");
List<Integer> tmpList = new ArrayList<Integer>(); List<Integer> tmpList = new ArrayList<Integer>();
@@ -99,8 +98,7 @@ public class WxMerchantSubsidyController extends BaseController {
if (wxMerchantSubsidy == null) { if (wxMerchantSubsidy == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "过滤条件为空");
} }
MallUserInfo user = getUser();
wxMerchantSubsidy.setTenantId(user.getTenantId());
wxMerchantSubsidy.setTenantId(getTenantId());
wxMerchantSubsidy.setStatus(EnumMerchantSubsidyStatus.MANUAL_SUBSIDIED.getCode()); wxMerchantSubsidy.setStatus(EnumMerchantSubsidyStatus.MANUAL_SUBSIDIED.getCode());
wxMerchantSubsidy.setUpdateDate(new Date()); wxMerchantSubsidy.setUpdateDate(new Date());
if(StringUtils.isNotBlank(wxMerchantSubsidy.getIdStr())) { if(StringUtils.isNotBlank(wxMerchantSubsidy.getIdStr())) {

mallinkAdmin/src/main/java/com/iformall/controller/WxOrderController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderController.java Прегледај датотеку

@@ -1,11 +1,14 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.OrderSaveDto;
import com.iformall.domain.po.WxCUser; import com.iformall.domain.po.WxCUser;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponChannel; import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.po.WxOrder; import com.iformall.domain.po.WxOrder;
import com.iformall.domain.vo.WxOrderQueryVo; import com.iformall.domain.vo.WxOrderQueryVo;
@@ -15,7 +18,9 @@ import com.iformall.enums.EnumUserType;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxCUserService; import com.iformall.service.WxCUserService;
import com.iformall.service.WxCouponChannelService; import com.iformall.service.WxCouponChannelService;
import com.iformall.service.WxCouponService;
import com.iformall.service.WxOrderService; import com.iformall.service.WxOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -30,6 +35,7 @@ import java.util.Map;


@RestController @RestController
@RequestMapping("wxOrder") @RequestMapping("wxOrder")
@Api(description = "订单相关接口")
public class WxOrderController extends BaseController { public class WxOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@@ -42,6 +48,9 @@ public class WxOrderController extends BaseController {
@Autowired @Autowired
private WxCUserService wxCUserService; private WxCUserService wxCUserService;


@Autowired
private WxCouponService wxCouponService;

@ApiOperation("分页列表接口") @ApiOperation("分页列表接口")
@GetMapping("list") @GetMapping("list")
@ApiImplicitParams({ @ApiImplicitParams({
@@ -127,103 +136,37 @@ public class WxOrderController extends BaseController {
return new ResultData(data); return new ResultData(data);
} }


@ApiOperation(value = "订单", notes = "{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"}")
@ApiOperation(value = "积分兑换订单", notes = "{\"couponChannelId\":\"String\",\"couponId\":\"String\",\"press\":\"String\",\"orderGroupId\":\"String\",\"formId\":\"String\"}")
@PostMapping("save") @PostMapping("save")
public ResultData saveOrder(@RequestBody Map<String, String> paramMap) {

logger.info("OrderSave: " + paramMap.toString());
//Assert.notNull(wxOrders.getName(), "角色名不能为空");
//Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
String couponChannelIdStr = paramMap.get("couponChannelId");
String couponIdStr = paramMap.get("couponId");
String pressStr = paramMap.get("press");
String orderGroupIdStr = paramMap.get("orderGroupId");
String formId = paramMap.get("formId");
//被操作人的ID
String userIdStr = paramMap.get("userId");
Long userId = 0L;
if (StringUtils.isNotBlank(userIdStr)) {
userId = Long.valueOf(userIdStr);
}
WxCUser wxCUser = wxCUserService.getById(userId);
if (wxCUser == null) {
throw new MallinkException(ErrorCode.USER_NOT_MEMBER);
}

if (StringUtils.isBlank(couponChannelIdStr)) {
public ResultData saveOrder(@RequestBody OrderSaveDto orderSaveDto) {
logger.info("OrderSave: " + orderSaveDto);
if (orderSaveDto.getCouponChannelId() == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponChannelId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponChannelId不能为空");
} }
Long couponChannelId = 0L, couponId = 0L, orderGroupId = null;
boolean isPress = false;

if (StringUtils.isNotBlank(couponChannelIdStr)) {
try {
couponChannelId = Long.valueOf(couponChannelIdStr);
} catch (NumberFormatException e) {
logger.error("couponChannelId convert error, " + couponChannelIdStr + ", e:" + e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "couponChannelId: " + couponChannelIdStr + ", e:" + e.getMessage());
}
WxCouponChannel wxCouponChannel = wxCouponChannelService.getById(couponChannelId);
if (wxCouponChannel == null) {
logger.error("couponChannelId convert error, " + couponChannelIdStr);
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR);
}

if (wxCouponChannel.getTargetAd().equals(EnumCouponChannelType.COUPON_CHANNEL_ID_TIMED.getCode())) {
Date now = new Date();
if (wxCouponChannel.getBeginTime().getTime() > now.getTime()) {
logger.error("此券活动未开始:" + couponChannelIdStr);
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_NOT_STARTED);
}
if (wxCouponChannel.getEndTime().getTime() < now.getTime()) {
logger.error("此券活动已结束:" + couponChannelIdStr);
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_END);
}
}

if (wxCouponChannel.getStatus() == EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode()) {
logger.error("此券已下架:" + couponChannelIdStr);
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_TAKE_OFF);
}
if (StringUtils.isBlank(couponIdStr)) {
couponId = wxCouponChannel.getCouponId();
}
}
if (couponId <= 0 && !StringUtils.isBlank(couponIdStr)) {
try {
couponId = Long.valueOf(couponIdStr);
} catch (NumberFormatException e) {
logger.error("couponId convert error, " + couponIdStr + ", e:" + e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR.getCode(), "couponId: " + couponIdStr + ", e:" + e.getMessage());
}
}
WxCouponChannel wxCouponChannel = wxCouponChannelService.getById(orderSaveDto.getCouponChannelId());
ResultData resultData = couponChannelCheck(orderSaveDto, wxCouponChannel);
if (resultData != null) return resultData;


if (couponId <= 0) {
Long couponId = orderSaveDto.getCouponId() == null ? wxCouponChannel.getCouponId() : orderSaveDto.getCouponId();
if (couponId == null) {
logger.error("couponChannelId或者couponId不能为空"); logger.error("couponChannelId或者couponId不能为空");
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponChannelId或者couponId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "couponChannelId或者couponId不能为空");
} }


if(pressStr != null) {
try{
isPress = Boolean.valueOf(pressStr);
} catch (Exception e) {
logger.error("press转换失败");
}
}

if (orderGroupIdStr != null) {
try {
orderGroupId = Long.valueOf(orderGroupIdStr);
} catch (Exception e) {
logger.error("orderGroupId转换失败");
}
}

//用于标记当前操作人为A端用户
wxCUser.setOperatorType(EnumUserType.MALLUSER.getCode());
wxCUser.setOperatorId(getUser().getId());
try { try {
WxOrder order = wxOrderService.saveCouponOrder(wxCUser, couponChannelId, couponId, isPress, orderGroupId, formId);
WxCUser user = wxCUserService.getById(orderSaveDto.getUserId());
//用于标记当前操作人为A端用户
user.setOperatorType(EnumUserType.MALLUSER.getCode());
user.setOperatorId(getUserId());
WxOrder order = null;
WxCoupon coupon = wxCouponService.getById(couponId);
if (coupon == null) {
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
}
if (!wxOrderService.checkCouponIsFree(coupon))
return new ResultData(ErrorCode.COUPON_IS_NOT_FREE);
// 免费券
order = wxOrderService.saveFreeOrderForCoupon(user, coupon, orderSaveDto.getCouponChannelId(), orderSaveDto.getFormId());
return new ResultData(order); return new ResultData(order);
} catch (MallinkException e) { } catch (MallinkException e) {
logger.error(e.getMessage()); logger.error(e.getMessage());
@@ -234,4 +177,29 @@ public class WxOrderController extends BaseController {
} }
} }


private ResultData couponChannelCheck(@RequestBody OrderSaveDto orderSaveDto, WxCouponChannel wxCouponChannel) {
if (wxCouponChannel == null) {
logger.error("couponChannelId convert error, " + orderSaveDto.getCouponChannelId());
return new ResultData(ErrorCode.SYS_PARAMETER_CAST_ERROR);
}

if (wxCouponChannel.getTargetAd().equals(EnumCouponChannelType.COUPON_CHANNEL_ID_TIMED.getCode())) {
Date now = new Date();
if (wxCouponChannel.getBeginTime().getTime() > now.getTime()) {
logger.error("此券活动未开始:" + orderSaveDto.getCouponChannelId());
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_NOT_STARTED);
}
if (wxCouponChannel.getEndTime().getTime() < now.getTime()) {
logger.error("此券活动已结束:" + orderSaveDto.getCouponChannelId());
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_END);
}
}

if (wxCouponChannel.getStatus() == EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode()) {
logger.error("此券已下架:" + orderSaveDto.getCouponChannelId());
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_TAKE_OFF);
}
return null;
}

} }

mallinkAdmin/src/main/java/com/iformall/controller/WxOrderGroupController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxOrderGroupController.java Прегледај датотеку

@@ -1,8 +1,9 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.vo.WxOrderGroupMarketing; import com.iformall.domain.vo.WxOrderGroupMarketing;
import com.iformall.service.WxOrderGroupService; import com.iformall.service.WxOrderGroupService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -19,7 +20,7 @@ import org.springframework.web.bind.annotation.RestController;


@RestController @RestController
@RequestMapping("/orderGroup") @RequestMapping("/orderGroup")
@Api(description = "拼团接口")
@Api(description = "拼团相关接口")
public class WxOrderGroupController extends BaseController { public class WxOrderGroupController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxPayOrderController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxPayOrderController.java Прегледај датотеку

@@ -1,16 +1,18 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxOrder; import com.iformall.domain.po.WxOrder;
import com.iformall.domain.po.WxPayOrder; import com.iformall.domain.po.WxPayOrder;
import com.iformall.enums.EnumPayStatus; import com.iformall.enums.EnumPayStatus;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.service.WxOrderService; import com.iformall.service.WxOrderService;
import com.iformall.service.WxPayOrderService; import com.iformall.service.WxPayOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -24,6 +26,7 @@ import java.util.Map;


@RestController @RestController
@RequestMapping("wxPayOrder") @RequestMapping("wxPayOrder")
@Api(description = "支付订单接口")
public class WxPayOrderController extends BaseController { public class WxPayOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@@ -97,57 +100,22 @@ public class WxPayOrderController extends BaseController {
logger.info("orderId不能为空: " + paramMap.toString()); logger.info("orderId不能为空: " + paramMap.toString());
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId不能为空");
} }
Long payOrderId = 0L, orderId = 0L;
try { try {
orderId = Long.valueOf(orderIdStr);
Long.valueOf(orderIdStr);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
logger.error("orderId参数不正确: " + paramMap.toString() + ", e:" + e.getMessage()); logger.error("orderId参数不正确: " + paramMap.toString() + ", e:" + e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId参数不正确"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "orderId参数不正确");
} }
if (!StringUtils.isBlank(payOrderIdStr)) { if (!StringUtils.isBlank(payOrderIdStr)) {
try { try {
payOrderId = Long.valueOf(payOrderIdStr);
Long.valueOf(payOrderIdStr);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
logger.error("payOrderId参数不正确: " + paramMap.toString() + ", e:" + e.getMessage()); logger.error("payOrderId参数不正确: " + paramMap.toString() + ", e:" + e.getMessage());
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "payOrderId参数不正确"); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "payOrderId参数不正确");
} }
} }
// 免费券直接返回成功
return new ResultData(Result.SUCCESS, "免费券支付状态更新成功");


WxPayOrder payOrder = new WxPayOrder();
payOrder.setId(payOrderId);
payOrder.setOrderId(orderId);
payOrder.setPayOrderStatus(status);
payOrder.setFailReason(reasonStr);

WxOrder order = null;

try {
if(status.equals(EnumPayStatus.PAY_STATUS_SUCCESS.getCode()) && !payOrderIdStr.equals("0")) {
// 前端提示支付成功, 不作为支付成功标志,只检查支付订单状态
// 有价券不走update, callback更新
payOrder = wxPayOrderService.getById(payOrderId);
if(payOrder.getPayOrderStatus().equals(EnumPayStatus.PAY_STATUS_SUCCESS.getCode())) {
order = wxOrderService.getById(orderId);
return new ResultData(Result.SUCCESS, "支付状态更新成功", order);
} else {
return new ResultData(ErrorCode.PAY_ORDER_ERROR, "支付未状态,请等待!!");
}
} else {
// 1. 免费券,status = 1,成功
// 2. 有价券,status = 2,取消支付
if(status.equals(EnumPayStatus.PAY_STATUS_SUCCESS.getCode())) {
wxPayOrderService.handlePayOrderStatusUpdate(payOrder, 1);
} else if (status.equals(EnumPayStatus.PAY_STATUS_FAIL.getCode())) {
wxPayOrderService.handlePayOrderStatusUpdate(payOrder, 2);
}
}
return new ResultData(Result.SUCCESS, "支付状态更新成功");
} catch (MallinkException e) {
logger.error("支付状态更新失败2: " + payOrder.toString() + ", e:" + e.getMessage());
return new ResultData(e.getErrorCode(), e.getMessage());
} catch (Exception e) {
logger.error("支付状态更新失败3: " + payOrder.toString() + ", e:" + e.getMessage());
return new ResultData(ErrorCode.PAY_ORDER_ERROR, "支付状态更新失败3: " + payOrder.toString() + ", e:" + e.getMessage());
}
} }
} }

mallinkAdmin/src/main/java/com/iformall/controller/WxProfitSharingOrderController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxProfitSharingOrderController.java Прегледај датотеку

@@ -1,11 +1,13 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.vo.WxProfitSharingOrderQueryVo; import com.iformall.domain.vo.WxProfitSharingOrderQueryVo;
import com.iformall.domain.vo.WxProfitSharingOrderVo; import com.iformall.domain.vo.WxProfitSharingOrderVo;
import com.iformall.service.WxProfitSharingOrderService; import com.iformall.service.WxProfitSharingOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@@ -21,6 +23,7 @@ import java.util.Map;
*/ */
@RestController @RestController
@RequestMapping("wxProfitSharingOrder") @RequestMapping("wxProfitSharingOrder")
@Api(description = "微信分账订单接口")
public class WxProfitSharingOrderController extends BaseController { public class WxProfitSharingOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxQuestionController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxQuestionController.java Прегледај датотеку

@@ -1,10 +1,11 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxQuestion; import com.iformall.domain.po.WxQuestion;
import com.iformall.domain.po.WxQuestionConfig; import com.iformall.domain.po.WxQuestionConfig;
import com.iformall.enums.EnumQuestionConfigStatus; import com.iformall.enums.EnumQuestionConfigStatus;

mallinkAdmin/src/main/java/com/iformall/controller/WxRefundOrderController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxRefundOrderController.java Прегледај датотеку

@@ -1,6 +1,8 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.controller.base.BaseController;
import io.swagger.annotations.Api;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -18,6 +20,7 @@ import io.swagger.annotations.ApiOperation;


@RestController @RestController
@RequestMapping("/refund") @RequestMapping("/refund")
@Api(description = "微信退款订单接口")
public class WxRefundOrderController extends BaseController { public class WxRefundOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxSubsidyController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxSubsidyController.java Прегледај датотеку

@@ -1,6 +1,7 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserInfo;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.utils.PayUtil; import com.iformall.utils.PayUtil;
@@ -26,8 +27,8 @@ import java.awt.image.BufferedImage;
import java.util.Map; import java.util.Map;


@RestController @RestController
@Api(description = "商城补贴支付接口")
@RequestMapping("wxSubsidy") @RequestMapping("wxSubsidy")
@Api(description = "商城补贴支付接口")
public class WxSubsidyController extends BaseController { public class WxSubsidyController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());



mallinkAdmin/src/main/java/com/iformall/controller/WxTopicController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxTopicController.java Прегледај датотеку

@@ -1,7 +1,8 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.enums.EnumWxTopicStatus; import com.iformall.enums.EnumWxTopicStatus;
import com.iformall.service.*; import com.iformall.service.*;

mallinkAdmin/src/main/java/com/iformall/controller/WxUserCouponController.java → mallinkAdmin/src/main/java/com/iformall/controller/market/WxUserCouponController.java Прегледај датотеку

@@ -1,10 +1,12 @@
package com.iformall.controller;
package com.iformall.controller.market;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.WxUserCouponDto; import com.iformall.domain.dto.WxUserCouponDto;
import com.iformall.service.WxUserCouponService; import com.iformall.service.WxUserCouponService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -19,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
*/ */
@RestController @RestController
@RequestMapping("wxUserCoupon") @RequestMapping("wxUserCoupon")
@Api(description = "会员卡券查询接口")
public class WxUserCouponController extends BaseController { public class WxUserCouponController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@@ -33,10 +36,10 @@ public class WxUserCouponController extends BaseController {
public ResultData findByStatus(@RequestBody WxUserCouponDto wxUserCoupon) { public ResultData findByStatus(@RequestBody WxUserCouponDto wxUserCoupon) {
logger.debug("[" + getIpAddr() + "] WxUserCouponController::findByStatus"); logger.debug("[" + getIpAddr() + "] WxUserCouponController::findByStatus");
//根据用户id,用户卡券状态查找 //根据用户id,用户卡券状态查找
if(wxUserCoupon==null||wxUserCoupon.getcUserId()==null||wxUserCoupon.getCouponStatus()==null){
if(wxUserCoupon==null||wxUserCoupon.getCUserId()==null||wxUserCoupon.getCouponStatus()==null){
return new ResultData(Result.ERROR,"查询失败"); return new ResultData(Result.ERROR,"查询失败");
} }
return new ResultData(Result.SUCCESS,"查询成功",wxUserCouponService.findList(wxUserCoupon.getcUserId(),wxUserCoupon.getCouponStatus()));
return new ResultData(Result.SUCCESS,"查询成功",wxUserCouponService.findList(wxUserCoupon.getCUserId(),wxUserCoupon.getCouponStatus()));
} }





mallinkAdmin/src/main/java/com/iformall/controller/AsyncTask.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/AsyncTask.java Прегледај датотеку

@@ -1,4 +1,4 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.afterturn.easypoi.excel.entity.ImportParams;

+ 168
- 0
mallinkAdmin/src/main/java/com/iformall/controller/mem/BillDailyAsyncTask.java Прегледај датотеку

@@ -0,0 +1,168 @@
package com.iformall.controller.mem;

import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.afterturn.easypoi.handler.impl.ExcelDataHandlerDefaultImpl;
import cn.afterturn.easypoi.handler.inter.IExcelDataHandler;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxShop;
import com.iformall.domain.vo.WxBillDailyVo;
import com.iformall.enums.EnumDelStatus;
import com.iformall.enums.EnumShopStatus;
import com.iformall.mapper.WxShopMapper;
import com.iformall.service.WxBillDailyService;
import org.apache.shiro.session.UnknownSessionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;

import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;

@Component
public class BillDailyAsyncTask {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxBillDailyService wxBillDailyService;

@Autowired
StringRedisTemplate stringRedisTemplate;

@Autowired
WxShopMapper wxShopMapper;

private class BillDailyExcelHandler extends ExcelDataHandlerDefaultImpl<WxBillDailyVo> {
@Override
public Object importHandler(WxBillDailyVo obj, String name, Object value) {
if (value == null) {
value = "";
}
System.out.println(name + " + " + value.toString());
return super.importHandler(obj, name, value);
}

}

private void set_redis_value(String importKey, String allCount, String allSuccessCount, String processCount, String failCount, boolean fail) {
stringRedisTemplate.opsForHash().put(importKey, "allCount", allCount);
stringRedisTemplate.opsForHash().put(importKey, "allSuccessCount", allSuccessCount);
stringRedisTemplate.opsForHash().put(importKey, "processCount", processCount);
stringRedisTemplate.opsForHash().put(importKey, "failCount", failCount);
if (fail) {
stringRedisTemplate.expire(importKey, 10, TimeUnit.SECONDS);
}
}

@Async
public void importExcelData(File file, MallUserInfo user, String importKey, String tenantId) {
ImportParams params = new ImportParams();
// 需要验证
params.setImportFields(new String[]{"商铺号", "费用类型", "实际应收金额(元)", "实收金额(元)", "缴款截止日期", "逾期天数"});
IExcelDataHandler<WxBillDailyVo> handler = new BillDailyAsyncTask.BillDailyExcelHandler();
handler.setNeedHandlerFields(new String[]{"商铺号", "费用类型", "实际应收金额(元)", "实收金额(元)", "缴款截止日期", "逾期天数"});
params.setNeedVerify(true);

ExcelImportResult<WxBillDailyVo> datalist = null;

try {
datalist = ExcelImportUtil.importExcelMore(file, WxBillDailyVo.class, params);
} catch (Exception e) {
set_redis_value(importKey, "1", "0", "0", "1", true);
logger.error(e.getMessage());
// 删除缓存文件
file.delete();
return;
}
// 删除缓存文件
file.delete();

if (datalist == null) {
logger.error("导入模板失败: 模板数据解析失败");
set_redis_value(importKey, "1", "0", "0", "1", true);
return;
}

List<WxBillDailyVo> successList = datalist.getList();
List<WxBillDailyVo> failList = datalist.getFailList();
List<WxBillDailyVo> processList = new ArrayList<>();

int fail = 0;
for (WxBillDailyVo vo : successList) {

//店铺
WxShop shop = new WxShop();
shop.setShopNumber(vo.getShopNumber());
shop.setTenantId(tenantId);
shop.setStatus(EnumShopStatus.RENT.getCode());
shop.setIsDel(EnumDelStatus.NOT_DEL.getCode());
WxShop wxShop = wxShopMapper.selectOne(shop);
if (wxShop == null) {
logger.error("店铺不存在", vo.toString());
fail++;
continue;
}

String receivePayStr = vo.getReceivePayStr();
double receivePayD = new BigDecimal(receivePayStr).doubleValue();
if (receivePayD <= 0) {
logger.error("实际应收金额小于等于0", vo.toString());
fail++;
continue;
}
String payStr = vo.getPayStr();
double payD = new BigDecimal(payStr).doubleValue();
if (payD < 0) {
logger.error("实收金额小于0", vo.toString());
fail++;
continue;
}
if (receivePayD < payD) {
logger.error("实际应收金额小于实收金额", vo.toString());
fail++;
continue;
}
long receivePay = new BigDecimal(receivePayD).multiply(new BigDecimal(100)).longValue();
vo.setReceivePay(receivePay);
long pay = new BigDecimal(payD).multiply(new BigDecimal(100)).longValue();
vo.setPay(pay);
vo.setTenantId(tenantId);
vo.setShopId(wxShop.getId());
vo.setRentShopType(wxShop.getType());
processList.add(vo);
}
logger.info("验证通过的数量: " + processList.size());
logger.info("验证未通过的数量: " + failList.size());

int all_success = processList.size();
int all_fail = failList.size() + fail;
int total = processList.size() + all_fail;

//添加到redis里
set_redis_value(importKey, "" + total, "" + all_success, "0", "" + all_fail, total == all_fail);

if (processList.size() > 0) {
try {
processList.parallelStream().forEach(billDaily -> {
try {
//插入数据
wxBillDailyService.insertData(billDaily, importKey, user);
} catch (UnknownSessionException ue) {
logger.error("session :" + ue.getMessage());
}
});
} catch (Exception e) {
set_redis_value(importKey, "1", "0", "0", "1", true);
e.printStackTrace();
logger.error("导入模板失败:" + e.getMessage());
}
}
}
}

mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserBasicInfoController.java Прегледај датотеку

@@ -1,4 +1,4 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
@@ -8,7 +8,7 @@ import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.dto.WxCUserBasicInfoDto;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.WxCUserBasicInfoFilterDto; import com.iformall.domain.dto.WxCUserBasicInfoFilterDto;
import com.iformall.domain.po.*; import com.iformall.domain.po.*;
import com.iformall.enums.EnumAssignTagsTrigger; import com.iformall.enums.EnumAssignTagsTrigger;
@@ -40,7 +40,6 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;


import static com.iformall.domain.po.WxCouponOrder.Field.CreateDate_DESC; import static com.iformall.domain.po.WxCouponOrder.Field.CreateDate_DESC;
import static com.iformall.ueditor.define.AppInfo.info;


@RestController @RestController
@RequestMapping("wxCUserBasicInfo") @RequestMapping("wxCUserBasicInfo")
@@ -48,6 +47,9 @@ import static com.iformall.ueditor.define.AppInfo.info;
public class WxCUserBasicInfoController extends BaseController { public class WxCUserBasicInfoController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@Autowired
private String fmUploadDir;

@Autowired @Autowired
private WxCUserBasicInfoService wxCUserBasicInfoService; private WxCUserBasicInfoService wxCUserBasicInfoService;


@@ -138,12 +140,12 @@ public class WxCUserBasicInfoController extends BaseController {
} }
String tenantId = getTenantId(); String tenantId = getTenantId();
wxCUserBasicInfo.setTenantId(tenantId); wxCUserBasicInfo.setTenantId(tenantId);
wxCUserBasicInfo.setSortColumns(WxCUserBasicInfo.Field.UpdateDate_DESC);
wxCUserBasicInfo.setSortColumns(WxCUserBasicInfo.Field.ActiveTime_DESC);
PageInfo<WxCUserBasicInfo> page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageNum, pageSize); PageInfo<WxCUserBasicInfo> page = wxCUserBasicInfoService.listAsPage(wxCUserBasicInfo, pageNum, pageSize);


if (page.getSize() > 0) { if (page.getSize() > 0) {
for (WxCUserBasicInfo info : page.getList()) { for (WxCUserBasicInfo info : page.getList()) {
setUserInfoLevel(info);
// setUserInfoLevel(info);
setUserInfoCarCount(info); setUserInfoCarCount(info);
} }
} }
@@ -162,10 +164,9 @@ public class WxCUserBasicInfoController extends BaseController {
@SystemControllerLog(description = "会员管理-更新") @SystemControllerLog(description = "会员管理-更新")
public ResultData update(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) { public ResultData update(@RequestBody WxCUserBasicInfo wxCUserBasicInfo) {
logger.debug("[" + getIpAddr() + "] WxCUserBasicInfoController::update"); logger.debug("[" + getIpAddr() + "] WxCUserBasicInfoController::update");
MallUserInfo currentUser = getUser();
WxCUserBasicInfo oldInfo = wxCUserBasicInfoService.getById(wxCUserBasicInfo.getId()); WxCUserBasicInfo oldInfo = wxCUserBasicInfoService.getById(wxCUserBasicInfo.getId());
if (!oldInfo.getPhone().equals(wxCUserBasicInfo.getPhone())) { if (!oldInfo.getPhone().equals(wxCUserBasicInfo.getPhone())) {
if (checkUniquePhone(wxCUserBasicInfo.getPhone(), currentUser.getTenantId()) > 0) {
if (checkUniquePhone(wxCUserBasicInfo.getPhone(), getTenantId()) > 0) {
return new ResultData(ErrorCode.USER_PHONE_IS_FOUND.getCode(), "手机号已存在"); return new ResultData(ErrorCode.USER_PHONE_IS_FOUND.getCode(), "手机号已存在");
} }
} }
@@ -227,7 +228,7 @@ public class WxCUserBasicInfoController extends BaseController {
public ResultData findOrderCouponByUserId(Long userId, Integer pageNum, Integer pageSize) { public ResultData findOrderCouponByUserId(Long userId, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxCUserBasicInfoController::findOrderCouponByUserId"); logger.debug("[" + getIpAddr() + "] WxCUserBasicInfoController::findOrderCouponByUserId");
WxCouponOrder corder = new WxCouponOrder(); WxCouponOrder corder = new WxCouponOrder();
corder.setcUserId(userId);
corder.setCUserId(userId);
corder.setTenantId(getTenantId()); corder.setTenantId(getTenantId());
corder.setSortColumns(CreateDate_DESC); corder.setSortColumns(CreateDate_DESC);
PageInfo<WxCouponOrder> page = wxCouponOrderService.listAsPage(corder, pageNum, pageSize); PageInfo<WxCouponOrder> page = wxCouponOrderService.listAsPage(corder, pageNum, pageSize);
@@ -330,7 +331,7 @@ public class WxCUserBasicInfoController extends BaseController {
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "processCount", ""); stringRedisTemplate.opsForHash().putIfAbsent(importKey, "processCount", "");
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "failCount", ""); stringRedisTemplate.opsForHash().putIfAbsent(importKey, "failCount", "");


String fpath = Constant.fileDirectory;
String fpath = fmUploadDir;
File targetFile = new File(fpath); File targetFile = new File(fpath);
if (!targetFile.exists()) { if (!targetFile.exists()) {
targetFile.mkdirs(); targetFile.mkdirs();

mallinkAdmin/src/main/java/com/iformall/controller/WxCUserCarController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserCarController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCUserCar; import com.iformall.domain.po.WxCUserCar;
import com.iformall.service.WxCUserCarService; import com.iformall.service.WxCUserCarService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxCUserController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserController.java Прегледај датотеку

@@ -1,6 +1,7 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.controller.base.BaseController;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

mallinkAdmin/src/main/java/com/iformall/controller/WxCUserDataController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserDataController.java Прегледај датотеку

@@ -1,4 +1,4 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.NumberFormat; import java.text.NumberFormat;
@@ -11,6 +11,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.dto.MarkingCouponDataReportDto;
import com.iformall.domain.po.WxCouponOrder; import com.iformall.domain.po.WxCouponOrder;
import com.iformall.mapper.WxCUserBasicInfoMapper; import com.iformall.mapper.WxCUserBasicInfoMapper;
import com.iformall.service.WxCUserBasicInfoService; import com.iformall.service.WxCUserBasicInfoService;
@@ -164,10 +166,14 @@ public class WxCUserDataController extends BaseController {
params.put("startTime", startTime); params.put("startTime", startTime);
params.put("endTime", endTime); params.put("endTime", endTime);
params.put("tenantId", getTenantId()); params.put("tenantId", getTenantId());
List<TouchUsersReportVo> list = wxUserVisitService.touchUsersReportList(params);
MarkingCouponDataReportDto markingCouponDataReportDto = new MarkingCouponDataReportDto();
markingCouponDataReportDto.setTenantId(getTenantId());
markingCouponDataReportDto.setStartTime(startTime);
markingCouponDataReportDto.setEndTime(endTime);
List<TouchUsersReportVo> list = wxUserVisitService.touchUsersReportList(markingCouponDataReportDto);
Map<String, TouchUsersReportVo> dateMap = new HashMap<>(); Map<String, TouchUsersReportVo> dateMap = new HashMap<>();
for (TouchUsersReportVo vo : list) { for (TouchUsersReportVo vo : list) {
dateMap.put(vo.getxTime(), vo);
dateMap.put(vo.getXTime(), vo);
} }
List<UserStructureVo> weekVos = new ArrayList<>();//每周uv List<UserStructureVo> weekVos = new ArrayList<>();//每周uv
List<UserStructureVo> monthVos = new ArrayList<>();//每月uv List<UserStructureVo> monthVos = new ArrayList<>();//每月uv
@@ -278,7 +284,7 @@ public class WxCUserDataController extends BaseController {
List<CUserDateAmountVo> datas = wxCouponOrderService.queryPriceTotalGroup(tenantId, sTime, eTime); List<CUserDateAmountVo> datas = wxCouponOrderService.queryPriceTotalGroup(tenantId, sTime, eTime);
Map<String, Integer> dataMap = new HashMap<>(); Map<String, Integer> dataMap = new HashMap<>();
for (CUserDateAmountVo v : datas) { for (CUserDateAmountVo v : datas) {
dataMap.put(v.getxTime(), v.getPrice());
dataMap.put(v.getXTime(), v.getPrice());
} }
Integer todayCount = 0;//今日金额数 Integer todayCount = 0;//今日金额数
Integer yesterdayCount = 0;//昨日金额数 Integer yesterdayCount = 0;//昨日金额数

mallinkAdmin/src/main/java/com/iformall/controller/WxCUserTagsController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCUserTagsController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxCUserTags; import com.iformall.domain.po.WxCUserTags;
import com.iformall.service.WxCUserTagsService; import com.iformall.service.WxCUserTagsService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxCreditHistoryController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxCreditHistoryController.java Прегледај датотеку

@@ -1,8 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxCreditHistory; import com.iformall.domain.po.WxCreditHistory;
import com.iformall.domain.vo.WxCreditHistoryVo; import com.iformall.domain.vo.WxCreditHistoryVo;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
@@ -50,8 +52,9 @@ public class WxCreditHistoryController extends BaseController
@PostMapping("add") @PostMapping("add")
public ResultData add(@RequestBody WxCreditHistory wxCreditHistory) { public ResultData add(@RequestBody WxCreditHistory wxCreditHistory) {
logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::add"); logger.debug("[" + getIpAddr() + "] WxCreditHistoryController::add");
wxCreditHistory.setTenantId(getTenantId());
wxCreditHistory.setOperatorId(getUser().getId());
MallUserInfo user = getUser();
wxCreditHistory.setTenantId(user.getTenantId());
wxCreditHistory.setOperatorId(user.getId());
try { try {
WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory); WxCreditHistory credit = wxCreditHistoryService.saveOrUpdate(wxCreditHistory);
return new ResultData(Result.SUCCESS, "操作成功", credit); return new ResultData(Result.SUCCESS, "操作成功", credit);

mallinkAdmin/src/main/java/com/iformall/controller/WxLevelConfigController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxLevelConfigController.java Прегледај датотеку

@@ -1,6 +1,7 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.controller.base.BaseController;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;

mallinkAdmin/src/main/java/com/iformall/controller/WxScoreHistoryController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreHistoryController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxScoreHistory; import com.iformall.domain.po.WxScoreHistory;
import com.iformall.service.WxScoreHistoryService; import com.iformall.service.WxScoreHistoryService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxScoreRulesController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxScoreRulesController.java Прегледај датотеку

@@ -1,14 +1,11 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxScoreRules; import com.iformall.domain.po.WxScoreRules;
import com.iformall.service.WxScoreRulesService; import com.iformall.service.WxScoreRulesService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

mallinkAdmin/src/main/java/com/iformall/controller/WxUserChannelController.java → mallinkAdmin/src/main/java/com/iformall/controller/mem/WxUserChannelController.java Прегледај датотеку

@@ -1,8 +1,9 @@
package com.iformall.controller;
package com.iformall.controller.mem;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxUserChannel; import com.iformall.domain.po.WxUserChannel;
import com.iformall.service.WxUserChannelService; import com.iformall.service.WxUserChannelService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxMsgCallbackController.java → mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgCallbackController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.msg;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMsgCallback; import com.iformall.domain.po.WxMsgCallback;
import com.iformall.service.WxMsgCallbackService; import com.iformall.service.WxMsgCallbackService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -17,7 +18,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.Map; import java.util.Map;


@RestController @RestController
@RequestMapping("wxMsgCallback")
@RequestMapping("msgCallback")
public class WxMsgCallbackController extends BaseController { public class WxMsgCallbackController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@@ -78,33 +79,4 @@ public class WxMsgCallbackController extends BaseController {
logger.debug("[" + getIpAddr() + "] WxMsgCallbackController::findById"); logger.debug("[" + getIpAddr() + "] WxMsgCallbackController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxMsgCallbackService.getById(id)); return new ResultData(Result.SUCCESS, "查询成功", wxMsgCallbackService.getById(id));
} }


@PostMapping(value = "/receivemsg/{tenantId}")
public void receivemsg(@PathVariable String tenantId, @RequestParam Map<String, String> param) {
logger.debug("[" + getIpAddr() + "] WxMsgCallbackController::receivemsg");
logger.info(param.toString());
//解析param数据插入数据库中
wxMsgCallbackService.saveOrUpdate(tenantId,param);

}

@RequestMapping(value = "/receivemodel/{tenantId}")
public void receivemodel(@PathVariable String tenantId, @RequestParam Map<String, String> param) {
logger.debug("[" + getIpAddr() + "] WxMsgCallbackController::receivemodel");
logger.info(param.toString());
//解析param数据插入数据库中
wxMsgCallbackService.receivemodel(tenantId, param);

}

@RequestMapping(value = "/receiveverifymodel/{tenantId}")
public void receiveverifymodel(@PathVariable String tenantId, @RequestParam Map<String, String> param) {
logger.debug("[" + getIpAddr() + "] WxMsgCallbackController::receiveverifymodel");
logger.info(param.toString());
//解析param数据插入数据库中
wxMsgCallbackService.receiveverifymodel(tenantId, param);

}

} }

mallinkAdmin/src/main/java/com/iformall/controller/WxMsgConfigController.java → mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgConfigController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.msg;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMsgConfig; import com.iformall.domain.po.WxMsgConfig;
import com.iformall.service.WxMsgConfigService; import com.iformall.service.WxMsgConfigService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxMsgController.java → mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgController.java Прегледај датотеку

@@ -1,32 +1,17 @@
package com.iformall.controller;
package com.iformall.controller.msg;


import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.dto.WxCUserBasicInfoFilterListDto;
import com.iformall.domain.po.PushLimit;
import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.msg.WxMsg; import com.iformall.domain.po.msg.WxMsg;
import com.iformall.domain.po.WxMsgConfig;
import com.iformall.enums.EnumMsgSend;
import com.iformall.enums.EnumMsgStatus;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxMsgConfigMapper;
import com.iformall.service.PushLimitService;
import com.iformall.service.WxCUserBasicInfoService;
import com.iformall.service.WxCUserTagsService;
import com.iformall.service.WxMsgService; import com.iformall.service.WxMsgService;
import com.iformall.utils.Constant; import com.iformall.utils.Constant;
import com.iformall.utils.DateUtils;
import io.netty.util.internal.StringUtil;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -36,7 +21,6 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;


/** /**
* @author gongbiao * @author gongbiao
@@ -46,6 +30,8 @@ import java.util.stream.Collectors;
public class WxMsgController extends BaseController { public class WxMsgController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());


@Autowired
private String fmUploadDir;


@Autowired @Autowired
private WxMsgService wxMsgService; private WxMsgService wxMsgService;
@@ -105,11 +91,11 @@ public class WxMsgController extends BaseController {
} }


String filename = UUID.randomUUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); String filename = UUID.randomUUID() + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
File path = new File(Constant.fileDirectory);
File path = new File(fmUploadDir);
if (!path.exists()) { if (!path.exists()) {
path.mkdirs(); path.mkdirs();
} }
String filepath = Constant.fileDirectory + File.separator + filename;
String filepath = fmUploadDir + filename;
try { try {
FileOutputStream out = new FileOutputStream(new File(filepath)); FileOutputStream out = new FileOutputStream(new File(filepath));
IOUtils.write(file.getBytes(), out); IOUtils.write(file.getBytes(), out);

mallinkAdmin/src/main/java/com/iformall/controller/WxMsgModelController.java → mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgModelController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.msg;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMsgModel; import com.iformall.domain.po.WxMsgModel;
import com.iformall.service.WxMsgModelService; import com.iformall.service.WxMsgModelService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxMsgRecordController.java → mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgRecordController.java Прегледај датотеку

@@ -1,7 +1,7 @@
package com.iformall.controller;
package com.iformall.controller.msg;


import com.alibaba.fastjson.JSONArray;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.msg.MailMsg; import com.iformall.domain.po.msg.MailMsg;
import com.iformall.domain.po.msg.SmartAppMsg; import com.iformall.domain.po.msg.SmartAppMsg;
import com.iformall.domain.po.msg.WxMsg; import com.iformall.domain.po.msg.WxMsg;
@@ -11,7 +11,6 @@ import com.iformall.mapper.WxMsgMapper;
import com.iformall.mq.MqBaseProducer; import com.iformall.mq.MqBaseProducer;
import com.iformall.service.WxMsgRecordService; import com.iformall.service.WxMsgRecordService;
import com.iformall.service.msg.impl.SendCallBackSmsServiceImpl; import com.iformall.service.msg.impl.SendCallBackSmsServiceImpl;
import com.iformall.utils.DateUtils;
import com.iformall.utils.JsonUtil; import com.iformall.utils.JsonUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import org.slf4j.Logger; import org.slf4j.Logger;

mallinkAdmin/src/main/java/com/iformall/controller/WxMsgSignatureController.java → mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgSignatureController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.msg;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMsgSignature; import com.iformall.domain.po.WxMsgSignature;
import com.iformall.service.WxMsgSignatureService; import com.iformall.service.WxMsgSignatureService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxMsgValidationcodeController.java → mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgValidationcodeController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.msg;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMsgValidationcode; import com.iformall.domain.po.WxMsgValidationcode;
import com.iformall.service.WxMsgValidationcodeService; import com.iformall.service.WxMsgValidationcodeService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxMsgValidationcodeModelController.java → mallinkAdmin/src/main/java/com/iformall/controller/msg/WxMsgValidationcodeModelController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.msg;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxMsgValidationcodeModel; import com.iformall.domain.po.WxMsgValidationcodeModel;
import com.iformall.service.WxMsgValidationcodeModelService; import com.iformall.service.WxMsgValidationcodeModelService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxBillActionController.java → mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillActionController.java Прегледај датотеку

@@ -1,8 +1,9 @@
package com.iformall.controller;
package com.iformall.controller.rent;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxBillAction; import com.iformall.domain.po.WxBillAction;
import com.iformall.service.WxBillActionService; import com.iformall.service.WxBillActionService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;

mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java → mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillAllController.java Прегледај датотеку

@@ -1,13 +1,14 @@
package com.iformall.controller;
package com.iformall.controller.rent;


import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxShop;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.vo.WxBillAll; import com.iformall.domain.vo.WxBillAll;
import com.iformall.service.WxBillAllService; import com.iformall.service.WxBillAllService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -18,7 +19,6 @@ import org.springframework.web.bind.annotation.RestController;


import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map; import java.util.Map;


/** /**
@@ -90,13 +90,16 @@ public class WxBillAllController extends BaseController {
if (null == wxBillAll) { if (null == wxBillAll) {
wxBillAll = new WxBillAll(); wxBillAll = new WxBillAll();
} }
//默认查当月第一天到今天
if(StringUtils.isNotBlank(wxBillAll.getEndtime())){
wxBillAll.setEndtime(wxBillAll.getEndtime()+" 23:59:59");
}
wxBillAll.setTenantId(getTenantId()); wxBillAll.setTenantId(getTenantId());
Map<String, Object> result = wxBillAllService.getOweBillAsPage(wxBillAll, pageNum, pageSize); Map<String, Object> result = wxBillAllService.getOweBillAsPage(wxBillAll, pageNum, pageSize);
return new ResultData(result); return new ResultData(result);
} }





@ApiOperation("导出欠缴商户列表") @ApiOperation("导出欠缴商户列表")
@GetMapping("/exportOweMerchantlist") @GetMapping("/exportOweMerchantlist")
@SystemControllerLog(description = "费用收缴数据-欠缴商户列表-导出") @SystemControllerLog(description = "费用收缴数据-欠缴商户列表-导出")
@@ -105,7 +108,44 @@ public class WxBillAllController extends BaseController {
if (null == wxBillAll){ if (null == wxBillAll){
wxBillAll = new WxBillAll(); wxBillAll = new WxBillAll();
} }
//默认查当月第一天到今天
if(StringUtils.isNotBlank(wxBillAll.getEndtime())){
wxBillAll.setEndtime(wxBillAll.getEndtime()+" 23:59:59");
}
wxBillAll.setTenantId(getTenantId()); wxBillAll.setTenantId(getTenantId());
wxBillAllService.exportOweMerchant(wxBillAll, request, response); wxBillAllService.exportOweMerchant(wxBillAll, request, response);
} }

@ApiOperation("导出待缴商户列表")
@GetMapping("/exportWaitMerchantlist")
@SystemControllerLog(description = "费用收缴数据-待缴商户列表-导出")
public void exportWaitMerchantlist(@ModelAttribute WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response) {
logger.debug("[" + getIpAddr() + "] WxBillAllController::exportWaitMerchantlist");
if (null == wxBillAll){
wxBillAll = new WxBillAll();
}
//默认查当月第一天到今天
if(StringUtils.isNotBlank(wxBillAll.getEndtime())){
wxBillAll.setEndtime(wxBillAll.getEndtime()+" 23:59:59");
}
wxBillAll.setTenantId(getTenantId());
wxBillAllService.exportWaitMerchant(wxBillAll, request, response);
}


@GetMapping("exportOweBill")
@SystemControllerLog(description = "生成催缴单")
public void exportOweBill(@ModelAttribute WxBillAll wxBillAll, HttpServletRequest request, HttpServletResponse response) {
logger.debug("[" + getIpAddr() + "] WxBillAllController::exportOweBill");
if (null == wxBillAll) {
wxBillAll = new WxBillAll();
}
//默认查当月第一天到今天
if (StringUtils.isNotBlank(wxBillAll.getEndtime())) {
wxBillAll.setEndtime(wxBillAll.getEndtime() + " 23:59:59");
}
wxBillAll.setTenantId(getTenantId());
wxBillAllService.exportOweBill(wxBillAll, request, response);
}

} }

+ 243
- 0
mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDailyController.java Прегледај датотеку

@@ -0,0 +1,243 @@
package com.iformall.controller.rent;

import com.alibaba.fastjson.JSONArray;
import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.controller.mem.BillDailyAsyncTask;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxBillDaily;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxBillDailyService;
import com.iformall.utils.Constant;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Map;
import java.util.concurrent.TimeUnit;

/**
* @author gongbiao
*/
@RestController
@RequestMapping("wxBillDaily")
public class WxBillDailyController extends BaseController {

@Autowired
private String fmUploadDir;

@Autowired
private WxBillDailyService wxBillDailyService;

@Autowired
StringRedisTemplate stringRedisTemplate;

@Autowired
private BillDailyAsyncTask billDailyAsyncTask;

private Logger logger = LoggerFactory.getLogger(this.getClass());

@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "日常账单-列表")
public ResultData list(@ModelAttribute WxBillDaily wxBillDaily, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::list");
if (null == wxBillDaily) {
wxBillDaily = new WxBillDaily();
}
wxBillDaily.setTenantId(getTenantId());
final PageInfo<Map<String, Object>> page = wxBillDailyService.listAsPage(wxBillDaily, pageNum, pageSize);
return new ResultData(page);
}

@PostMapping("add")
@SystemControllerLog(description = "日常账单-新增")
public ResultData add(@RequestBody WxBillDaily wxBillDaily) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::add");
MallUserInfo user = getUser();
wxBillDaily.setTenantId(user.getTenantId());
wxBillDaily.setUserId(user.getId());
return wxBillDailyService.saveOrUpdate(wxBillDaily, user);
}

@PostMapping("update")
@SystemControllerLog(description = "日常账单-更新")
public ResultData update(@RequestBody WxBillDaily wxBillDaily) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::update");
MallUserInfo user = getUser();
wxBillDaily.setUserId(user.getId());
return wxBillDailyService.saveOrUpdate(wxBillDaily, user);
}

@GetMapping("/del")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "日常账单-删除")
public ResultData delete(Long id) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::delete");
wxBillDailyService.deleteById(id);
return new ResultData(Result.SUCCESS, "删除成功", null);
}

@GetMapping("/findById")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "日常账单-id查找")
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::findById");
return new ResultData(Result.SUCCESS, "查询成功", wxBillDailyService.getById(id));
}

@GetMapping("/updatePaid")
@ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)
@SystemControllerLog(description = "日常账单-支付更新")
public ResultData updatePaid(Long id) {
logger.debug("[" + getIpAddr() + "] WxBillDailyController::updatePaid");
return wxBillDailyService.updatePaid(id);
}

@RequestMapping("/exportTemplate")
@SystemControllerLog(description = "日常账单-导出模板")
public void exportTemplate(HttpServletRequest request, HttpServletResponse response) {
logger.debug("[" + getIpAddr() + "] wxBillDailyService::exportTemplate");
wxBillDailyService.exportTemplate(request, response, getTenantId());

}

@PostMapping(value = "/importTemplate", consumes = "multipart/*")
@SystemControllerLog(description = "会员管理-导入数据")
public ResultData importTemplate(@RequestParam("file") MultipartFile mFile) {
logger.debug("[" + getIpAddr() + "] wxBillDailyService::importTemplate");
if (mFile.isEmpty()) {
throw new MallinkException(Result.ERROR, "上传文件不能为空");
}
//得到当前用户ID
final MallUserInfo user = getUser();
String userId = "bill_daily_" + user.getId();
String importKey = Constant.importMemPrev + userId;
final String tenantId = getTenantId();

//查询当前用户得到的值是否为空,为空继续,不为空,返回模板正在导入
Boolean allCount = stringRedisTemplate.opsForHash().hasKey(importKey, "allCount");
if (allCount) {
return new ResultData(Result.SUCCESS, "模板正在导入");
}

stringRedisTemplate.opsForHash().putIfAbsent(importKey, "allCount", 0 + "");
stringRedisTemplate.expire(importKey, 30, TimeUnit.MINUTES);
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "allSuccessCount", 0 + "");
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "processCount", "");
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "failCount", "");

String fpath = fmUploadDir;
File targetFile = new File(fpath);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
String fileName = "bill_daily.xlsx";
int dot = mFile.getOriginalFilename().lastIndexOf('.');
fileName = fileName + mFile.getOriginalFilename().substring(dot, mFile.getOriginalFilename().length());

File lFile = new File(fpath + File.separator + fileName);

FileOutputStream fos = null;
BufferedInputStream fs = null;
try {
fos = new FileOutputStream(lFile);
fs = (BufferedInputStream) mFile.getInputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fs.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fos.close();
fs.close();
} catch (Exception e) {
stringRedisTemplate.expire(importKey, 3, TimeUnit.SECONDS);
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "allCount", "1");
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "failCount", "1");
logger.error(e.getMessage());
return new ResultData(ErrorCode.MEM_IMPORT_ERR.getCode(), "模板上传失败");
} finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
stringRedisTemplate.expire(importKey, 3, TimeUnit.SECONDS);
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "allCount", "1");
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "failCount", "1");
logger.error(e.getMessage());
return new ResultData(ErrorCode.MEM_IMPORT_ERR.getCode(), "模板上传失败");
}
}
if (fs != null) {
try {
fs.close();
} catch (IOException e) {
stringRedisTemplate.expire(importKey, 3, TimeUnit.SECONDS);
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "allCount", "1");
stringRedisTemplate.opsForHash().putIfAbsent(importKey, "failCount", "1");
logger.error(e.getMessage());
return new ResultData(ErrorCode.MEM_IMPORT_ERR.getCode(), "模板上传失败");
}
}
}

billDailyAsyncTask.importExcelData(lFile, user, importKey, tenantId);

return new ResultData(Result.SUCCESS, "模板正在导入");
}

@GetMapping("/queryTemplateCount")
@SystemControllerLog(description = "日常费用账单-导入数据查询")
public ResultData queryTemplateCount() {
String importKey = Constant.importMemPrev + "bill_daily_" + getUser().getId();
Map entries = stringRedisTemplate.opsForHash().entries(importKey);
logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>1");
if (entries.size() < 4) {
entries.clear();
return new ResultData(Result.SUCCESS, "ok", entries);
}
String allCount = entries.get("allCount").toString();
String allSuccessCount = entries.get("allSuccessCount").toString();
String processCount = entries.get("processCount").toString();
String failCount = entries.get("failCount").toString();

if (StringUtils.isNotBlank(failCount) && allCount.equals(failCount)) {//stringRedisTemplate.expire(userId,1,TimeUnit.SECONDS);
logger.info(JSONArray.toJSONString(entries) + ">>>>>>>>>>>>>>>>>>>>>2");
//完全失败
stringRedisTemplate.opsForHash().delete(importKey, "allCount");
stringRedisTemplate.opsForHash().delete(importKey, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(importKey, "processCount");
stringRedisTemplate.opsForHash().delete(importKey, "failCount");
return new ResultData(ErrorCode.MEM_IMPORT_ERR);
}
//导入完成
if (StringUtils.isNotBlank(allSuccessCount) && allSuccessCount.equals(processCount)) {
ResultData ok = new ResultData(Result.SUCCESS, "ok", entries);
stringRedisTemplate.opsForHash().delete(importKey, "allCount");
stringRedisTemplate.opsForHash().delete(importKey, "allSuccessCount");
stringRedisTemplate.opsForHash().delete(importKey, "processCount");
stringRedisTemplate.opsForHash().delete(importKey, "failCount");
return ok;
}
return new ResultData(Result.SUCCESS, "查询成功", entries);
}

}

mallinkAdmin/src/main/java/com/iformall/controller/WxBillDepositController.java → mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillDepositController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.rent;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxBillDeposit; import com.iformall.domain.po.WxBillDeposit;
import com.iformall.service.WxBillDepositService; import com.iformall.service.WxBillDepositService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxBillOtherController.java → mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherController.java Прегледај датотеку

@@ -1,9 +1,11 @@
package com.iformall.controller;
package com.iformall.controller.rent;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxBillOther; import com.iformall.domain.po.WxBillOther;
import com.iformall.service.WxBillOtherService; import com.iformall.service.WxBillOtherService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -45,17 +47,19 @@ public class WxBillOtherController extends BaseController {
@SystemControllerLog(description = "其它账单-新增") @SystemControllerLog(description = "其它账单-新增")
public ResultData add(@RequestBody WxBillOther wxBillOther) { public ResultData add(@RequestBody WxBillOther wxBillOther) {
logger.debug("[" + getIpAddr() + "] WxBillOtherController::add"); logger.debug("[" + getIpAddr() + "] WxBillOtherController::add");
wxBillOther.setTenantId(getTenantId());
wxBillOther.setUserId(getUser().getId());
return wxBillOtherService.saveOrUpdate(wxBillOther, getUser());
MallUserInfo user = getUser();
wxBillOther.setTenantId(user.getTenantId());
wxBillOther.setUserId(user.getId());
return wxBillOtherService.saveOrUpdate(wxBillOther, user);
} }


@PostMapping("update") @PostMapping("update")
@SystemControllerLog(description = "其它账单-更新") @SystemControllerLog(description = "其它账单-更新")
public ResultData update(@RequestBody WxBillOther wxBillOther) { public ResultData update(@RequestBody WxBillOther wxBillOther) {
logger.debug("[" + getIpAddr() + "] WxBillOtherController::update"); logger.debug("[" + getIpAddr() + "] WxBillOtherController::update");
wxBillOther.setUserId(getUser().getId());
return wxBillOtherService.saveOrUpdate(wxBillOther, getUser());
MallUserInfo user = getUser();
wxBillOther.setUserId(user.getId());
return wxBillOtherService.saveOrUpdate(wxBillOther, user);
} }


@GetMapping("/del") @GetMapping("/del")

mallinkAdmin/src/main/java/com/iformall/controller/WxBillOtherDepositController.java → mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillOtherDepositController.java Прегледај датотеку

@@ -1,9 +1,11 @@
package com.iformall.controller;
package com.iformall.controller.rent;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.WxBillOtherDeposit; import com.iformall.domain.po.WxBillOtherDeposit;
import com.iformall.service.WxBillOtherDepositService; import com.iformall.service.WxBillOtherDepositService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -45,17 +47,19 @@ public class WxBillOtherDepositController extends BaseController {
@SystemControllerLog(description = "其它账单-新增") @SystemControllerLog(description = "其它账单-新增")
public ResultData add(@RequestBody WxBillOtherDeposit wxBillOtherDeposit) { public ResultData add(@RequestBody WxBillOtherDeposit wxBillOtherDeposit) {
logger.debug("[" + getIpAddr() + "] WxBillOtherDepositController::add"); logger.debug("[" + getIpAddr() + "] WxBillOtherDepositController::add");
wxBillOtherDeposit.setTenantId(getTenantId());
wxBillOtherDeposit.setUserId(getUser().getId());
return wxBillOtherDepositService.saveOrUpdate(wxBillOtherDeposit, getUser());
MallUserInfo user = getUser();
wxBillOtherDeposit.setTenantId(user.getTenantId());
wxBillOtherDeposit.setUserId(user.getId());
return wxBillOtherDepositService.saveOrUpdate(wxBillOtherDeposit, user);
} }


@PostMapping("update") @PostMapping("update")
@SystemControllerLog(description = "其它账单-更新") @SystemControllerLog(description = "其它账单-更新")
public ResultData update(@RequestBody WxBillOtherDeposit wxBillOtherDeposit) { public ResultData update(@RequestBody WxBillOtherDeposit wxBillOtherDeposit) {
logger.debug("[" + getIpAddr() + "] WxBillOtherDepositController::update"); logger.debug("[" + getIpAddr() + "] WxBillOtherDepositController::update");
wxBillOtherDeposit.setUserId(getUser().getId());
return wxBillOtherDepositService.saveOrUpdate(wxBillOtherDeposit, getUser());
MallUserInfo user = getUser();
wxBillOtherDeposit.setUserId(user.getId());
return wxBillOtherDepositService.saveOrUpdate(wxBillOtherDeposit, user);
} }


@GetMapping("/del") @GetMapping("/del")

mallinkAdmin/src/main/java/com/iformall/controller/WxBillPropertyController.java → mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillPropertyController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.rent;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxBillProperty; import com.iformall.domain.po.WxBillProperty;
import com.iformall.service.WxBillPropertyService; import com.iformall.service.WxBillPropertyService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxBillPropertyDepositController.java → mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillPropertyDepositController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.rent;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxBillPropertyDeposit; import com.iformall.domain.po.WxBillPropertyDeposit;
import com.iformall.service.WxBillPropertyDepositService; import com.iformall.service.WxBillPropertyDepositService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;

mallinkAdmin/src/main/java/com/iformall/controller/WxBillRentController.java → mallinkAdmin/src/main/java/com/iformall/controller/rent/WxBillRentController.java Прегледај датотеку

@@ -1,9 +1,10 @@
package com.iformall.controller;
package com.iformall.controller.rent;


import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxBillRent; import com.iformall.domain.po.WxBillRent;
import com.iformall.service.WxBillRentService; import com.iformall.service.WxBillRentService;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@@ -102,7 +103,6 @@ public class WxBillRentController extends BaseController {
return new ResultData(Result.SUCCESS, "查询成功", wxBillRentService.detail(id)); return new ResultData(Result.SUCCESS, "查询成功", wxBillRentService.detail(id));
} }



@PostMapping("updateRevenue") @PostMapping("updateRevenue")
@SystemControllerLog(description = "租赁押金账单-更新营业额") @SystemControllerLog(description = "租赁押金账单-更新营业额")
public ResultData updateRevenue(@RequestBody WxBillRent wxBillRent) { public ResultData updateRevenue(@RequestBody WxBillRent wxBillRent) {

+ 395
- 0
mallinkAdmin/src/main/java/com/iformall/controller/sys/HomeController.java Прегледај датотеку

@@ -0,0 +1,395 @@
package com.iformall.controller.sys;

import com.google.code.kaptcha.Constants;
import com.google.code.kaptcha.Producer;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.MallUserInfoVo;
import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.mapper.WxMerchantMapper;
import com.iformall.service.*;
import com.iformall.shiro.UserSession;
import com.iformall.shiro.UseriFormallToken;
import com.iformall.utils.ShiroUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.DisabledAccountException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


@RestController
@Api(description = "登录相关接口")
public class HomeController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Value("${version}")
private String version;

@Autowired
private Producer producer;

@Autowired
private MallUserInfoService mallUserInfoService;

@Autowired
private MallUserRoleService mallUserRoleService;

@Autowired
private WxAppinfoService appinfoService;

@Autowired
private WxMsgValidationcodeService wxMsgValidationcodeService;

@Autowired
private MallUserActionService mallUserActionService;

@Autowired
private WxMallService mallService;

@ApiOperation("验证码")
@GetMapping("/captcha.jpg")
public void captcha(HttpServletResponse response)throws ServletException, IOException {
logger.debug("[" + getIpAddr() + "] HomeController::captcha");
response.setHeader("Cache-Control", "no-store, no-cache");
response.setContentType("image/jpeg");

//生成文字验证码
String text = producer.createText();
//生成图片验证码
BufferedImage image = producer.createImage(text);
//保存到shiro session
ShiroUtils.setSessionAttribute(Constants.KAPTCHA_SESSION_KEY, text);

ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "jpg", out);
IOUtils.closeQuietly(out);
}

@ApiOperation("登录")
@PostMapping("/doLogin")
public ResultData login(@RequestBody MallUserInfo user, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] HomeController::doLogin");
try {
String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY);
if(!user.getCaptcha().equalsIgnoreCase(kaptcha)){
return new ResultData(ErrorCode.KAPCHA_NOT_EQUAL);
}
} catch (MallinkException e) {
logger.error("验证码" + e.getMessage());
return new ResultData(ErrorCode.KAPCHA_NOT_VALID.getCode(), e.getMessage());
}


ResultData data = new ResultData();
if (StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword())) {
// throw new SystemException(ErrorCode.LOGIN_USER_OR_PWD_ERROR);
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
// check user
MallUserInfo userCheck = mallUserInfoService.getByUsername(user.getUsername());
if(userCheck == null) {
logger.error(ErrorCode.USER_IS_EMPTY.getMessage());
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
if(userCheck.getStatus().equals(EnumMallUserStatus.NOT_VALID.getCode())) {
logger.error(ErrorCode.USER_IS_LOCKED.getMessage());
return new ResultData(ErrorCode.USER_IS_LOCKED);
}
boolean isLogin = false;
try {
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword());
subject.login(token);
isLogin = true;
} catch (UnknownAccountException e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.USER_IS_EMPTY);
} catch (DisabledAccountException e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.USER_IS_LOCKED);
} catch (Exception e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.USER_PASSWD_ERR);
}

if(isLogin) {
MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo);
info.protectInfos();
mallUserActionService.saveActionInfo(info.getTenantId(), EnumMallUserAction.CONTROLLER.getCode(), ipaddress, info.getId(), "用户登录");

WxMall mall = mallService.getByTenantId(info.getTenantId());
if(mall == null) {
logger.error("未配置相应的mall");
return new ResultData(Result.ERROR, "未配置相应的mall");
}
if(!mall.isValid()) {
logger.error("mall未启用");
return new ResultData(Result.ERROR, "mall未启用");
}

try {
String cookieName = URLEncoder.encode(info.getUsername(), "utf-8");
Cookie unameCookie = new Cookie("uname", cookieName);
unameCookie.setPath("/");
unameCookie.setMaxAge(3600);
response.addCookie(unameCookie);

Map map = new HashMap();
map.put("username", info.getUsername());
map.put("withWechat", info.getWithWechat());
data.data = map;
} catch (Exception e) {
logger.error(e.getMessage());
return new ResultData(Result.ERROR, e.getMessage());
}
}
return data;
}

private boolean isInMobileAdmin(MallUserInfo user) {
// 检查用户是否有 移动端数据塔台 权限
boolean isInMobile = false;
isInMobile = mallUserRoleService.checkIsMobileAdmin(user);
return isInMobile;
}

@ApiOperation("B端登录")
@PostMapping("/bHidLogin")
public ResultData bLogin(@RequestBody MallUserInfo user, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] HomeController::bHidLogin");
ResultData data = new ResultData();
// tenantId is appId
if (StringUtils.isBlank(user.getTenantId())) {
logger.error("appid信息未提供");
return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND);
}
WxAppinfo appinfo = appinfoService.getByAppId(user.getTenantId());
if (appinfo == null) {
logger.error("appid未找到");
return new ResultData(ErrorCode.MALL_INFO_NOT_FOUND);
}
if (StringUtils.isNotBlank(user.getPhone())) {
// 领导登录
user = mallUserInfoService.getByPhone(user.getPhone(), appinfo.getTenantId());
if (user == null || !isInMobileAdmin(user)) {
return new ResultData(ErrorCode.USER_NO_PERMISSION);
}
} else if (StringUtils.isNotBlank(user.getBopenId())) {
// 领导登录
user = mallUserInfoService.getByBOpenId(user.getBopenId(), appinfo.getTenantId());
if (user == null || !isInMobileAdmin(user)) {
return new ResultData(ErrorCode.USER_NO_PERMISSION);
}
} else {
if (StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getPassword())) {
// throw new SystemException(ErrorCode.LOGIN_USER_OR_PWD_ERROR);
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
}

boolean isLogin = false;
try {
Subject subject = SecurityUtils.getSubject();
UseriFormallToken token = new UseriFormallToken(user.getUsername());
subject.login(token);
isLogin = true;
} catch (UnknownAccountException e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.USER_IS_EMPTY);
} catch (DisabledAccountException e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.USER_IS_LOCKED);
} catch (Exception e) {
logger.error(e.getMessage());
return new ResultData(ErrorCode.USER_PASSWD_ERR);
}

if (isLogin) {
MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo);
info.protectInfos();

mallUserActionService.saveActionInfo(info.getTenantId(), EnumMallUserAction.CONTROLLER.getCode(), ipaddress, info.getId(), "用户登录");

WxMall mall = mallService.getByTenantId(info.getTenantId());
if (mall == null) {
logger.error("未配置相应的mall");
return new ResultData(Result.ERROR, "未配置相应的mall");
}
if (!mall.isValid()) {
logger.error("mall未启用");
return new ResultData(Result.ERROR, "mall未启用");
}
try {
String cookieName = URLEncoder.encode(info.getUsername(), "utf-8");
Cookie unameCookie = new Cookie("uname", cookieName);
unameCookie.setPath("/");
unameCookie.setMaxAge(3600);
response.addCookie(unameCookie);

Map map = new HashMap();
map.put("username", info.getUsername());
map.put("withWechat", info.getWithWechat());
data.data = map;

} catch(Exception e){
logger.error(e.getMessage());
return new ResultData(ErrorCode.USER_PASSWD_ERR);
}
}
return data;
}

@ApiOperation("发送手机验证码")
@GetMapping("sendLoginPhoneCode")
@ApiImplicitParams({
@ApiImplicitParam(name = "phone", value = "手机号", dataType = "String", paramType = "query", required = true)})
public ResultData sendLoginPhoneCode(String phone) {
logger.debug("[" + getIpAddr() + "] HomeController::sendlogincode");
// 1. 检查手机号是否在用户列表里, 是否只有一个
// 2. 发送手机验证码, 直接发
List<MallUserInfoVo> users = mallUserInfoService.getUserByPhone(phone);
if(users.size() <= 0) {
logger.error(ErrorCode.USER_IS_EMPTY.getMessage());
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
if(users.size() > 1) {
logger.error(ErrorCode.USER_IS_MULTI.getMessage());
return new ResultData(ErrorCode.USER_IS_MULTI);
}
MallUserInfoVo user = users.get(0);
if (user==null) {
logger.error("用户不存在, userName: " + user.getUsername());
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
if(user.getStatus() == EnumMallUserStatus.NOT_VALID.getCode()){
logger.error("用户已停用, userName: " + user.getUsername());
return new ResultData(ErrorCode.USER_IS_LOCKED);
}
WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode();
wxMsgValidationcode.setPhone(phone);
wxMsgValidationcode.setTenantId(user.getTenantId());
wxMsgValidationcode.setType(EnumMsgModel.VALIDATION_CODE.getCode());
return wxMsgValidationcodeService.sendvalidationcode(wxMsgValidationcode);
}

@ApiOperation(value = "手机验证码登录", notes = "{\"phone\",\"string\",\"code\",\"string\"}")
@PostMapping("/doLoginByPhone")
public ResultData doLoginByPhone(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] HomeController::doLoginByPhone");
// String phone,String code,String pwd
String phone = params.get("phone");
String code = params.get("code");

if (StringUtils.isBlank(phone)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "userName不能为空");
}
if (StringUtils.isBlank(code)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
}

// 获取用户信息列表
List<MallUserInfoVo> userList = mallUserInfoService.getUserByPhone(phone);
if(userList.size() == 1) {
MallUserInfoVo user = userList.get(0);
// check 验证码正确
boolean isValidCode = false;
try {
isValidCode = mallUserInfoService.checkCodeValid(user, code);
} catch (Exception e) {
return new ResultData(Result.ERROR, e.getMessage());
}
if(isValidCode) {
// 验证码正确,直接登录
try {
Subject subject = SecurityUtils.getSubject();
UseriFormallToken token = new UseriFormallToken(user.getUsername());
subject.login(token);

MallUserInfo info = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute(UserSession.userInfo);
info.protectInfos();
mallUserActionService.saveActionInfo(info.getTenantId(), EnumMallUserAction.CONTROLLER.getCode(), ipaddress, info.getId(), "用户手机号登录");

WxMall mall = mallService.getByTenantId(info.getTenantId());
if (mall == null) {
logger.error("未配置相应的mall");
return new ResultData(Result.ERROR, "未配置相应的mall");
}
if (!mall.isValid()) {
logger.error("mall未启用");
return new ResultData(Result.ERROR, "mall未启用");
}

String cookieName = URLEncoder.encode(info.getUsername(), "utf-8");
Cookie unameCookie = new Cookie("uname", cookieName);
unameCookie.setPath("/");
unameCookie.setMaxAge(3600);
response.addCookie(unameCookie);

Map map = new HashMap();
map.put("username", info.getUsername());
map.put("withWechat", info.getWithWechat());

return new ResultData(map);
} catch (MallinkException e) {
return new ResultData(e.getErrorCode(), e.getMessage());
} catch (Exception e) {
return new ResultData(ErrorCode.USER_PASSWD_ERR);
}
} else {
return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
}
} else {
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
}

@ApiOperation("登出")
@GetMapping("/logout")
@SystemControllerLog(description = "用户登出")
public ResultData logout() {
logger.debug("[" + getIpAddr() + "] HomeController::logout");
ResultData data = new ResultData();
SecurityUtils.getSubject().logout();
return data;
}

@ApiOperation("获取后端版本号")
@GetMapping("/version")
public ResultData version() {
logger.debug("[" + getIpAddr() + "] HomeController::version");
return new ResultData(version);
}
}

+ 161
- 0
mallinkAdmin/src/main/java/com/iformall/controller/sys/MallRoleController.java Прегледај датотеку

@@ -0,0 +1,161 @@
package com.iformall.controller.sys;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallRole;
import com.iformall.domain.po.MallRolePermission;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.MallUserRole;
import com.iformall.enums.EnumUserAdmin;
import com.iformall.service.MallRolePermissionService;
import com.iformall.service.MallRoleService;
import com.iformall.service.MallUserRoleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;


@RestController
@RequestMapping("role")
@Api(description = "角色相关接口")
public class MallRoleController extends BaseController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private MallRoleService sysRoleService;

@Autowired
private MallRolePermissionService sysRolePermissionService;

@Autowired
private MallUserRoleService mallUserRoleService;

@ApiOperation("角色列表")
@GetMapping("list")
//@RequiresPermissions("sys:role:list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "用户管理-role列表")
public ResultData list(MallRole sysRole, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] MallRoleController::list");
String tenantId = getTenantId();
sysRole.setTenantId(tenantId);
sysRole.setSortColumns(MallRole.Field.Id_DESC);
final PageInfo<MallRole> page = sysRoleService.listAsPage(sysRole, pageNum, pageSize);
for (MallRole r : page.getList()) {
MallRolePermission p = new MallRolePermission();
p.setRoleId(r.getId());
p.setTenantId(tenantId);
List<MallRolePermission> pers = sysRolePermissionService.getList(p);
String menus = "";
for (MallRolePermission rp : pers) {
menus += rp.getPermissionId() + ",";
}
if (menus.length() > 1) {
menus = menus.substring(0, menus.length() - 1);
}
r.setMenus(menus);
}
return new ResultData(page);
}

@ApiOperation("角色详情")
@GetMapping("findById")
//@RequiresPermissions("sys:role:get")
@SystemControllerLog(description = "用户管理-role信息")
public ResultData findById(MallRole sysRole) {
logger.debug("[" + getIpAddr() + "] MallRoleController::list");
if (sysRole.getId() == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
MallRole role = sysRoleService.getById(sysRole.getId());
MallRolePermission p = new MallRolePermission();
p.setRoleId(role.getId());
p.setTenantId(getTenantId());
List<MallRolePermission> pers = sysRolePermissionService.getList(p);
String menus = "";
for (MallRolePermission rp : pers) {
menus += rp.getPermissionId() + ",";
}
if (menus.length() > 1) {
menus = menus.substring(0, menus.length() - 1);
}
role.setMenus(menus);
return new ResultData(role);
}


@ApiOperation("角色保存")
@PostMapping("saveOrUpdate")
//@RequiresPermissions("sys:role:save")
@SystemControllerLog(description = "用户管理-rule保存")
public ResultData saveOrUpdate(@RequestBody MallRole sysRole) {
logger.debug("[" + getIpAddr() + "] MallRoleController::saveOrUpdate");
MallUserInfo currentUser = getUser();
if (currentUser.getIsAdmin().equals(EnumUserAdmin.Normal.getCode())) {
return new ResultData(ErrorCode.USER_NOT_ADMIN.getCode(), "只有系统管理员才能保存角色");
}
String tenantId = currentUser.getTenantId();
int count = checkUnique(sysRole.getName(), tenantId);
if (sysRole.getId() == null && count > 0) {
return new ResultData(ResultData.ERROR, "角色名已存在");
}
sysRole.setTenantId(tenantId);
sysRoleService.saveOrUpdate(sysRole);
if (StringUtils.isNoneBlank(sysRole.getMenus())) {
String[] menuIds = sysRole.getMenus().split(",");
List<Long> mIds = new ArrayList<>();
for (String mId : menuIds) {
mIds.add(Long.valueOf(mId));
}
sysRolePermissionService.savePermissions(tenantId, sysRole.getId(), mIds.toArray(new Long[]{}));
}
return new ResultData();
}

@ApiOperation("角色删除")
@PostMapping("/del")
//@RequiresPermissions("sys:role:del")
@SystemControllerLog(description = "用户管理-rule删除")
public ResultData delete(@RequestBody MallRole sysRole) {
logger.debug("[" + getIpAddr() + "] MallRoleController::delete");
MallUserInfo currentUser = getUser();
if (currentUser.getIsAdmin().equals(EnumUserAdmin.Normal.getCode())) {
return new ResultData(ErrorCode.USER_NOT_ADMIN.getCode(), "只有系统管理员才能删除角色");
}
MallUserRole record = new MallUserRole();
record.setRoleId(sysRole.getId());
int count = mallUserRoleService.cntUserList(record);
if (count > 0) {
return new ResultData(ErrorCode.USER_USE_ROLE.getCode(), "有用户使用此角色,请先删除相应的用户!!");
}
sysRoleService.deleteById(sysRole.getId());
sysRolePermissionService.deleteByRoleId(sysRole.getId());
return new ResultData(Result.SUCCESS, "删除成功", null);
}

private int checkUnique(String name, String tenantId) {
MallRole role = new MallRole();
role.setName(name);
role.setTenantId(tenantId);
return sysRoleService.countList(role);
}

}

+ 396
- 0
mallinkAdmin/src/main/java/com/iformall/controller/sys/MallUserInfoController.java Прегледај датотеку

@@ -0,0 +1,396 @@
package com.iformall.controller.sys;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.*;
import com.iformall.enums.EnumMallUserStatus;
import com.iformall.enums.EnumUserAdmin;
import com.iformall.enums.EnumFlowPermissionType;
import com.iformall.service.*;
import com.iformall.shiro.PasswordHelper;
import com.iformall.shiro.UserSession;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @author chenkx
* @date 2018-01-05.
*/
@Api(value = "API - UserInfoController", description = "用户接口")
@RestController
@RequestMapping("user")
public class MallUserInfoController extends BaseController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
MallUserInfoService userInfoService;

@Autowired
MallUserRoleService userRoleService;

@Autowired
MallRoleService mallRoleService;

@Autowired
MallUserRoleService mallUserRoleService;

@Autowired
MallPermissionService mallPermissionService;

@Autowired
MallRolePermissionService mallRolePermissionService;

@Autowired
WxMsgValidationcodeService wxMsgValidationcodeService;

@ApiOperation(value = "用户分页接口", response = String.class)
@GetMapping("lists")
//@RequiresPermissions("sys:user:list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "用户管理-列表")
public ResultData listAsPage(MallUserInfo userInfo, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::listAsPage");

if(userInfo.getWithWechatNotFormat() != null){
userInfo.setWithWechatForQuery(userInfo.getWithWechatNotFormat());
}

userInfo.setTenantId(getTenantId());
userInfo.setSortColumns(MallUserInfo.Field.Id_DESC);
final PageInfo<MallUserInfo> page = userInfoService.listAsPage(userInfo, pageNum, pageSize);
for (MallUserInfo u : page.getList()) {
MallUserRole r = new MallUserRole();
r.setUid(u.getId());
PageInfo<MallUserRole> ur = userRoleService.listAsPage(r, 1, 1);
if (ur.getSize() > 0) {
MallRole role = mallRoleService.getById(ur.getList().get(0).getRoleId());
if (role != null) {
u.setRoleName(role.getName());
u.setRoleId(role.getId());
}
}
// 保密
u.setPassword(null);
u.setBopenId(null);
if(StringUtils.isNotBlank(u.getWebOpenId())) {
u.setWebOpenId("保密");
}
}
return new ResultData(page);
}

@ApiOperation(value = "用户详情接口", response = String.class)
@GetMapping("detail")
//@RequiresPermissions("sys:user:info")
@SystemControllerLog(description = "用户管理-用户详情")
public ResultData detail(Long id) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::detail");
final MallUserInfo user = userInfoService.getById(id);
user.setPassword(null);
user.setBopenId(null);
if(StringUtils.isNotBlank(user.getWebOpenId())) {
user.setWebOpenId("保密");
}

return new ResultData(user);
}

@ApiOperation(value = "创建用户接口", response = String.class)
@PostMapping("add")
//@RequiresPermissions("sys:user:add")
@SystemControllerLog(description = "用户管理-创建用户")
public ResultData createUser(@RequestBody MallUserInfo userInfo) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::createUser");
MallUserInfo currentUser = getUser();
if(currentUser.getIsAdmin().equals(EnumUserAdmin.Normal.getCode())) {
return new ResultData(ErrorCode.USER_NOT_ADMIN.getCode(), "只有系统管理员才能添加用户");
}

if(checkUniqueName(userInfo.getUsername()) > 0){
return new ResultData(ErrorCode.USER_NAME_IS_FOUND.getCode(),"用户名已存在");
}
if(checkUniquePhone(userInfo.getPhone()) > 0){
return new ResultData(ErrorCode.USER_PHONE_IS_FOUND.getCode(),"手机号已存在");
}
Assert.notNull(userInfo.getPassword(), "密码不能为空");
PasswordHelper passwordHelper = new PasswordHelper();
passwordHelper.encryptPassword(userInfo);
userInfo.setTenantId(getTenantId());
// 无法创建超管
userInfo.setIsAdmin(EnumUserAdmin.Normal.getCode());
userInfoService.saveOrUpdate(userInfo);
if (userInfo.getRoleId() != null) {
MallUserRole r = new MallUserRole();
r.setRoleId(userInfo.getRoleId());
r.setUid(userInfo.getId());
userRoleService.saveOrUpdate(r);
}
return new ResultData(userInfo);
}

@ApiOperation(value = "修改用户接口", response = String.class)
@PostMapping("update")
//@RequiresPermissions("sys:user:update")
@SystemControllerLog(description = "用户管理-修改用户")
public ResultData updateUser(@RequestBody MallUserInfo userInfo) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::updateUser");
boolean bChangedPhone = false;
MallUserInfo currentUser = getUser();
// 只有超管和自己能更新信息
if (!(currentUser.getId().equals(userInfo.getId()) ||
currentUser.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode()))) {
return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(), "系统管理员和自己才能修改信息");
}
MallUserInfo oldUser = userInfoService.getById(userInfo.getId());
if (!oldUser.getUsername().equals(userInfo.getUsername())) {
if(checkUniqueName(userInfo.getUsername()) > 0){
return new ResultData(ErrorCode.USER_NAME_IS_FOUND.getCode(),"用户名已存在");
}
}
if (!oldUser.getPhone().equals(userInfo.getPhone())) {
if(checkUniquePhone(userInfo.getPhone()) > 0){
return new ResultData(ErrorCode.USER_PHONE_IS_FOUND.getCode(),"手机号已存在");
}
bChangedPhone = true;
}

userInfo.setTenantId(getTenantId());
if (StringUtils.isNotBlank(userInfo.getPassword()) && userInfo.getPassword().length() > 0) {
PasswordHelper passwordHelper = new PasswordHelper();
passwordHelper.encryptPassword(userInfo);
}
// 系统内人员不能设置系统管理员
userInfo.setIsAdmin(null);
/*
if (!currentUser.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) {
// 只有系统管理员才能设置系统管理员
userInfo.setIsAdmin(null);
}
*/

if (currentUser.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode()) &&
currentUser.getId().equals(userInfo.getId())) {
// 超管
MallUserInfo adminUser = new MallUserInfo();
adminUser.setFlowPermission(userInfo.getFlowPermission());
adminUser.setEmail(userInfo.getEmail());
adminUser.setId(userInfo.getId());
if (StringUtils.isNotBlank(userInfo.getPassword()) && userInfo.getPassword().length() > 0) {
adminUser.setPassword(userInfo.getPassword());
}
if (StringUtils.isNotBlank(userInfo.getNickName())) {
adminUser.setNickName(userInfo.getNickName());
}
if (StringUtils.isNotBlank(userInfo.getPhone())) {
adminUser.setPhone(userInfo.getPhone());
}
userInfoService.saveOrUpdate(adminUser);
} else {
userInfoService.saveOrUpdate(userInfo);
if (userInfo.getRoleId() != null) {
userRoleService.deleteByUserId(userInfo.getId());
MallUserRole r = new MallUserRole();
r.setRoleId(userInfo.getRoleId());
r.setUid(userInfo.getId());
userRoleService.saveOrUpdate(r);
}
}
if(bChangedPhone) {
// 手机号修改,清除bopen_id, 清除web_open_id
userInfoService.cleanAllOpenId(userInfo);
}

return new ResultData();
}

@ApiOperation(value = "删除用户接口", response = String.class)
@PostMapping("/del")
//@RequiresPermissions("sys:user:del")
@SystemControllerLog(description = "用户管理-删除用户")
public ResultData deleteUser(@RequestBody MallUserInfo userInfo) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::deleteUser");
MallUserInfo currentUser = getUser();
if (currentUser.getIsAdmin().equals(EnumUserAdmin.Normal.getCode())) {
return new ResultData(ErrorCode.USER_NOT_ADMIN.getCode(), "只有系统管理员才能删除用户");
}
if (currentUser.getId().equals(userInfo.getId())) {
return new ResultData(ErrorCode.USER_NO_PERMISSION.getCode(), "用户不能删除自己");
}
userInfoService.deleteById(userInfo.getId());
userRoleService.deleteByUserId(userInfo.getId());
return new ResultData();
}

@ApiOperation(value = "起停用户接口")
@PostMapping("updateStatus")
//@RequiresPermissions("sys:user:update")
@SystemControllerLog(description = "用户管理-起停用户")
public ResultData modifyStatus(@RequestBody MallUserInfo userInfo) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::modifyStatus");
MallUserInfo currentUser = getUser();
if (currentUser.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) {
MallUserInfo userInfo1 = userInfoService.getById(userInfo.getId());
if(userInfo1 == null) {
logger.error(ErrorCode.USER_IS_EMPTY.getMessage());
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
MallUserInfo updateUserInfo = new MallUserInfo();
updateUserInfo.setId(userInfo.getId());
updateUserInfo.setTenantId(getTenantId());
updateUserInfo.setStatus(userInfo.getStatus());
userInfoService.saveOrUpdate(userInfo);
return new ResultData();
} else {
return new ResultData(ErrorCode.USER_NO_PERMISSION);
}
}

private int checkUniqueName(String userName) {
return userInfoService.cntByUserName(userName);
}

private int checkUniquePhone(String phone) {
return userInfoService.cntByUserPhone(phone);
}


@ApiOperation(value = "用户权限检查")
@GetMapping("hasButtonPermission")
@SystemControllerLog(description = "用户管理-用户权限检查")
public ResultData hasButtonPermission(String permissions) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::hasButtonPermission");
MallUserInfo info = getUser();
info.setPassword("保密");
Map<String, Boolean> map = new HashMap<>();
for (String name : permissions.split(",")) {
Long userId = (Long)SecurityUtils.getSubject().getSession().getAttribute(UserSession.userId);
boolean has = userInfoService.hasButtonPermission(userId, name);
map.put(name, has);
}
return new ResultData(map);
}

@ApiOperation(value = "用户权限检查")
@GetMapping("getUser")
//@RequiresPermissions("sys:user:info")
//@SystemControllerLog(description = "用户管理-用户信息")
public ResultData getUserInfo() {
///logger.debug("[" + getIpAddr() + "] MallUserInfoController::getUserInfo");
MallUserInfo info = getUser();
info.protectInfos();
return new ResultData(info);
}

@ApiOperation(value = "用户密码发送验证码")
@GetMapping("sendvalidationcode")
@ApiImplicitParams({
@ApiImplicitParam(name = "userName", value = "手机号", dataType = "String", paramType = "query", required = true),
@ApiImplicitParam(name = "type", value = "场景(1:登录)", dataType = "Integer", paramType = "query", required = true)})
public ResultData sendvalidationcode(String userName, Integer type) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::sendvalidationcode");
MallUserInfo userQ = new MallUserInfo();
userQ.setUsername(userName);

MallUserInfo user = userInfoService.getByUsername(userName);
if (user==null) {
logger.error("用户不存在, userName: " + userName);
return new ResultData(ErrorCode.USER_IS_EMPTY);
}

if(user.getStatus() == EnumMallUserStatus.NOT_VALID.getCode()){
logger.error("用户已停用, userName: " + userName);
return new ResultData(ErrorCode.USER_IS_LOCKED);
}

if (StringUtils.isBlank(user.getPhone())) {
logger.error("用户手机号为空, userName: " + userName);
return new ResultData(ErrorCode.USER_PHONE_IS_NOT_FOUND);
}

WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode();
wxMsgValidationcode.setTenantId(user.getTenantId());
wxMsgValidationcode.setPhone(user.getPhone());
wxMsgValidationcode.setType(type);
return wxMsgValidationcodeService.sendvalidationcode(wxMsgValidationcode);
}

@ApiOperation(value = "修改密码", notes = "{\"userName\",\"string\",\"code\",\"string\",\"pwd\",\"string\"}")
@PostMapping("/updatepwd")
public ResultData updatepwd(@RequestBody Map<String, String> params) {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::updatepwd");
// String phone,String code,String pwd
String userName = params.get("userName");
String code = params.get("code");
String pwd = params.get("pwd");

if (StringUtils.isBlank(userName)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "userName不能为空");
}
if (StringUtils.isBlank(code)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
}
if (StringUtils.isBlank(pwd)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "密码不能为空");
}

MallUserInfo userQ = new MallUserInfo();
userQ.setUsername(userName);
MallUserInfo user = userInfoService.getByUsername(userName);
if (user==null) {
logger.error("用户不存在, userName: " + userName);
return new ResultData(ErrorCode.USER_IS_EMPTY);
}

user.setPassword(pwd);

PasswordHelper passwordHelper = new PasswordHelper();
passwordHelper.encryptPassword(user);


try {
return userInfoService.updatepwd(user, code);
} catch (Exception e) {
return new ResultData(Result.ERROR, e.getMessage());
}
}

@ApiOperation(value = "审批权限用户列表", response = String.class)
@GetMapping("getFlowPermissionList")
//@RequiresPermissions("sys:user:flowlist")
@SystemControllerLog(description = "用户管理-审批权限用户列表")
public ResultData getFlowPermissionList() {
logger.debug("[" + getIpAddr() + "] MallUserInfoController::getFlowPermissionList");
MallUserInfo mallUserInfo = new MallUserInfo();
mallUserInfo.setFlowPermission(EnumFlowPermissionType.CONTRACT.getCode()+"");
List<MallUserInfo> contractUserList = userInfoService.findList(mallUserInfo);

mallUserInfo.setFlowPermission(EnumFlowPermissionType.BILL.getCode()+"");
List<MallUserInfo> billUserList = userInfoService.findList(mallUserInfo);
Map<String,Object> resultMap = new HashedMap();
resultMap.put("contractUserList",contractUserList);
resultMap.put("billUserList",billUserList);
return new ResultData(resultMap);
}

}

+ 110
- 0
mallinkAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java Прегледај датотеку

@@ -0,0 +1,110 @@
package com.iformall.controller.sys;

import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallPermission;
import com.iformall.domain.po.MallRole;
import com.iformall.domain.po.MallRolePermission;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.enums.EnumMenuType;
import com.iformall.enums.EnumPermissionType;
import com.iformall.exception.MallinkException;
import com.iformall.service.MallPermissionService;
import com.iformall.service.MallRolePermissionService;
import com.iformall.service.MallRoleService;
import com.iformall.service.MallUserInfoService;
import com.iformall.utils.Constant;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.shiro.util.Assert;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.condition.PatternsRequestCondition;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;

import java.util.*;

/**
* @author Stormeye Wu
* @date 2019-04-20.
*/
@RestController
@RequestMapping("menu")
public class SysMenuController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private MallPermissionService mallPermissionService;

@Autowired
private MallUserInfoService mallUserInfoService;

@ApiOperation("导航菜单")
@GetMapping("/nav")
public ResultData nav(){
logger.debug("[" + getIpAddr() + "] MallPermissionController::nav");
MallUserInfo user = getUser();
List<MallPermission> menuList = mallPermissionService.getUserMenuList(user, 0L, true);
Set<String> permissions = mallUserInfoService.getUserPermissions(user);
Map map = new HashMap<>();
map.put("menuList", menuList);
map.put("permissions", permissions);
return new ResultData(map);
}

@ApiOperation("所有菜单列表")
@GetMapping("list")
//@RequiresPermissions("sys:menu:list")
@SystemControllerLog(description = "用户管理-权限")
public ResultData getList() {
logger.debug("[" + getIpAddr() + "] MallPermissionController::list");
MallUserInfo user = getUser();
List<MallPermission> menuList = mallPermissionService.getUserMenuList(user, 0L, false);
Set<String> permissions = mallUserInfoService.getUserPermissions(user);
Map map = new HashMap<>();
map.put("menuList", menuList);
map.put("permissions", permissions);
return new ResultData(map);
}

@ApiOperation("菜单信息")
@GetMapping("/findById")
//@RequiresPermissions("sys:menu:info")
@SystemControllerLog(description = "用户管理-权限查找")
public ResultData findById(Long id) {
logger.debug("[" + getIpAddr() + "] MallPermissionController::findById");
return new ResultData(Result.SUCCESS, "成功", mallPermissionService.getById(id));
}

@ApiOperation("获取父子菜单ID信息")
@GetMapping("/getMenuIdsById")
//@RequiresPermissions("sys:menu:info")
@SystemControllerLog(description = "用户管理-父子菜单查找")
public ResultData getMenuIdsById(Long parentId) {
logger.debug("[" + getIpAddr() + "] MallPermissionController::getMenusById");
MallUserInfo user = getUser();
return new ResultData(Result.SUCCESS, "成功", mallPermissionService.queryUserMenuIds(user, parentId, false));
}

@ApiOperation("获取父子菜单信息")
@GetMapping("/getMenusById")
//@RequiresPermissions("sys:menu:info")
@SystemControllerLog(description = "用户管理-父子菜单查找")
public ResultData getMenusById(Long parentId) {
logger.debug("[" + getIpAddr() + "] MallPermissionController::getMenusById");
MallUserInfo user = getUser();
return new ResultData(Result.SUCCESS, "成功", mallPermissionService.getUserMenuList(user, parentId, false));
}

}

+ 293
- 0
mallinkAdmin/src/main/java/com/iformall/controller/sys/UploadController.java Прегледај датотеку

@@ -0,0 +1,293 @@
package com.iformall.controller.sys;


import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.*;
import com.iformall.common.ResultData;
import com.iformall.config.AwsProperty;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallResource;
import com.iformall.service.MallResourceService;
import com.iformall.utils.Constant;
import com.iformall.utils.ImgUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
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 org.springframework.web.multipart.MultipartFile;

import java.io.*;
import java.net.URL;
import java.util.*;
import java.util.List;

@RestController
@RequestMapping(value = "upload")
@Api(description = "文件上传接口")
public class UploadController extends BaseController {

private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private AwsProperty awsProperty;

@Autowired
private MallResourceService mallResourceService;

@Autowired
private String fmUploadDir;

private AmazonS3 s3 = null;

public ResultData awsUpload(InputStream inputStream, ObjectMetadata metadata, String fileName, String tenantId) {
ResultData data = new ResultData();
try {
if(s3 == null) {
s3 = AmazonS3ClientBuilder.standard()
.withRegion(awsProperty.getClientRegion())
.withCredentials(new AWSCredentialsProvider() {
@Override
public AWSCredentials getCredentials() {
return new BasicAWSCredentials(awsProperty.getAccess(), awsProperty.getSecret());
}

@Override
public void refresh() {

}
})
.build();
}

s3.putObject(
new PutObjectRequest(awsProperty.getBucketName(), fileName, inputStream, metadata)
.withCannedAcl(CannedAccessControlList.PublicRead));
URL url = s3.getUrl(awsProperty.getBucketName(), fileName);
logger.info(url.toString());

MallResource mr = new MallResource();
mr.setTenantId(tenantId);
mr.setBucket(awsProperty.getBucketName());
mr.setS3Key(fileName);
mr.setUrl(url.toString());
mallResourceService.saveOrUpdate(mr);

data.code = ResultData.SUCCESS;
Map<String, String> map = new HashMap<>();
map.put("url", url.toString());
data.data = map;
} catch (AmazonServiceException ase) {
data.code = ResultData.ERROR;
logger.warn("Caught an AmazonServiceException, which " +
"means your request made it " +
"to Amazon S3, but was rejected with an error response" +
" for some reason.");
logger.warn(ase.getMessage());
data.code = ResultData.ERROR;
data.message = "上传失败";
} catch (AmazonClientException ace) {
data.code = ResultData.ERROR;
logger.warn("Caught an AmazonClientException, which " +
"means the client encountered " +
"an internal error while trying to " +
"communicate with S3, " +
"such as not being able to access the network.");
logger.warn("Error Message: " + ace.getMessage());
data.code = ResultData.ERROR;
data.message = "上传失败";
} catch (Exception ioe) {
data.code = ResultData.ERROR;
logger.warn("Caught an IOException: " + ioe.getMessage());
data.code = ResultData.ERROR;
data.message = "上传失败";
}
return data;
}

/**
* 上传文件
*
* @param multiReq
* @return
* @throws Exception
*/
@PostMapping(value = "/awsFileUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
@ApiOperation("上传文件")
public ResultData awsfileUpload(@RequestParam("file") MultipartFile multiReq) throws Exception{
logger.info("[" + getIpAddr() + "] UploadController::awsfileUpload");

ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(multiReq.getSize());

FileOutputStream fos = null;
BufferedInputStream fs = null;

String fileName = UUID.randomUUID().toString();
int dot = multiReq.getOriginalFilename().lastIndexOf('.');
if (dot >= 0) {
fileName = getTenantId() + "/" + fileName + multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
} else {
fileName = getTenantId() + "/" + fileName;
}

System.out.println(fileName);
ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, getTenantId());
return data;
}



/**
* 图片上传
*
* @param multiReq
* @return
* @throws Exception
*/
@PostMapping(value = "/awsImgUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
@ApiOperation("上传图片")
public ResultData awsImgUpload(@RequestParam("file") MultipartFile multiReq) throws Exception{
logger.info("[" + getIpAddr() + "] UploadController::awsImgUpload");

String fileName = UUID.randomUUID().toString();
String tempFileName = fileName;
String fileFormat = "";

int dot = multiReq.getOriginalFilename().lastIndexOf('.');
if (dot >= 0) {
fileFormat = multiReq.getOriginalFilename().substring(dot, multiReq.getOriginalFilename().length());
fileName = getTenantId() + "/" + fileName + fileFormat;
} else {
fileName = getTenantId() + "/" + fileName;
}

System.out.println(fileName);

FileOutputStream fos = null;
String imgFormat = ImgUtil.getImgFormat(fileFormat);
if(StringUtils.isNotBlank(imgFormat)) {
String localImgFileName = fmUploadDir + tempFileName + "-1" + fileFormat;
String localNewImgFileName = fmUploadDir + tempFileName + fileFormat;
BufferedInputStream fs = null;
File localFile = new File(localImgFileName);
fos = new FileOutputStream(localFile);
fs = (BufferedInputStream) multiReq.getInputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fs.read(buffer)) != -1) {
fos.write(buffer, 0, len);
}
fos.close();
fs.close();
logger.info("local file: " + localImgFileName);
File newFile = ImgUtil.thinImage(localImgFileName, localNewImgFileName, imgFormat);
logger.info("local new file: " + localNewImgFileName);
// 删除本地缓存
localFile.delete();
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(newFile.length());
ResultData data = awsUpload(new FileInputStream(newFile), metadata, fileName, getTenantId());
// 删除本地缓存
newFile.delete();
return data;
} else {
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(multiReq.getSize());
ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, getTenantId());
return data;
}
}

/**
* 多文件上传
*
* @param files
* @return
* @throws Exception
*/
@PostMapping(value = "/awsFilesUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
@ApiOperation("多文件上传")
public ResultData awsFilesUpload(@RequestParam("files") MultipartFile[] files) throws Exception{
logger.info("[" + getIpAddr() + "] UploadController::awsFilesUpload");

if(files.length > 0){
ResultData data = new ResultData();
List<Map<String,String>> dataList = new ArrayList<Map<String,String>>();
for(MultipartFile multipartFile: files) {
Map<String, String> map = new HashMap<>();

ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multipartFile.getContentType());
metadata.setContentLength(multipartFile.getSize());

FileOutputStream fos = null;
BufferedInputStream fs = null;

map.put("key", multipartFile.getOriginalFilename());

String fileName = UUID.randomUUID().toString();
int dot = multipartFile.getOriginalFilename().lastIndexOf('.');
if (dot >= 0) {
fileName = getTenantId() + "/" + fileName + multipartFile.getOriginalFilename().substring(dot, multipartFile.getOriginalFilename().length());
} else {
fileName = getTenantId() + "/" + fileName;
}

ResultData data1 = awsUpload(multipartFile.getInputStream(), metadata, fileName, getTenantId());
if(data1.code == ResultData.SUCCESS) {
Map _data = (Map)data1.data;
map.put("url", (String) _data.get("url"));
dataList.add(map);
} else {
// 部分成功
data.code = ResultData.SUCCESS;
data.data = dataList;
return data;
}
}
data.code = ResultData.SUCCESS;
data.data = dataList;
return data;

}
return new ResultData();
}

/**
* 内部接口-C端上传图片文件
*
* @param multiReq
* @return
* @throws Exception
*/
@PostMapping(value = "/cimgUpload", consumes = "multipart/*", headers = "content-type=multipart/form-data")
@ApiOperation("内部接口-C端上传图片文件")
public ResultData cimgUpload(@RequestParam("file") MultipartFile multiReq) throws Exception{
logger.info("[" + getIpAddr() + "] UploadController::cimgUpload");

ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(multiReq.getContentType());
metadata.setContentLength(multiReq.getSize());

String fileName = multiReq.getOriginalFilename();
fileName = "cimg/" + fileName;
ResultData data = awsUpload(multiReq.getInputStream(), metadata, fileName, "cimg");
return data;
}

}

mallinkAdmin/src/main/java/com/iformall/controller/WechatLoginController.java → mallinkAdmin/src/main/java/com/iformall/controller/sys/WechatLoginController.java Прегледај датотеку

@@ -1,15 +1,15 @@
package com.iformall.controller;
package com.iformall.controller.sys;


import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.iformall.common.ErrorCode; import com.iformall.common.ErrorCode;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallUserAction; import com.iformall.domain.po.MallUserAction;
import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.vo.MallUserInfoVo; import com.iformall.domain.vo.MallUserInfoVo;
import com.iformall.enums.EnumMallUserAction; import com.iformall.enums.EnumMallUserAction;
import com.iformall.enums.EnumUserAdmin; import com.iformall.enums.EnumUserAdmin;
import com.iformall.exception.MallinkException;
import com.iformall.service.MallUserActionService; import com.iformall.service.MallUserActionService;
import com.iformall.service.MallUserInfoService; import com.iformall.service.MallUserInfoService;
import com.iformall.service.MallUserRoleService; import com.iformall.service.MallUserRoleService;
@@ -46,10 +46,8 @@ import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit;




@Controller @Controller
@@ -382,7 +380,7 @@ public class WechatLoginController extends BaseController {
if(userInfo.getId() == null && userInfo.getUsername() == null) { if(userInfo.getId() == null && userInfo.getUsername() == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
} }
// 只有本人及超级管理员可以解绑微信
// 只有本人及系统管理员可以解绑微信
if(userInfo.getId().equals(user.getId()) if(userInfo.getId().equals(user.getId())
|| user.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { || user.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) {
mallUserInfoService.cleanWebOpenId(userInfo); mallUserInfoService.cleanWebOpenId(userInfo);

+ 35
- 0
mallinkAdmin/src/main/java/com/iformall/controller/sys/WxAdminLogController.java Прегледај датотеку

@@ -0,0 +1,35 @@
package com.iformall.controller.sys;

import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxAdminLog;
import com.iformall.service.WxAdminLogService;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
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.*;

@RestController
@RequestMapping("wxAdminLog")
public class WxAdminLogController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxAdminLogService wxAdminLogService;

@ApiOperation("PV计数")
@PostMapping("pvlog")
public ResultData pvLog(@RequestBody WxAdminLog wxAdminLog) {
logger.debug("[" + getIpAddr() + "] WxAdminLogController::pvLog");
String tenantId = getTenantId();
wxAdminLog.setTenantId(tenantId);
wxAdminLogService.saveLogCount(wxAdminLog);
return new ResultData();
}

}

mallinkAdmin/src/main/java/com/iformall/controller/WxBusinessController.java → mallinkAdmin/src/main/java/com/iformall/controller/sys/WxBusinessController.java Прегледај датотеку

@@ -1,16 +1,13 @@
package com.iformall.controller;
package com.iformall.controller.sys;


import com.github.pagehelper.PageInfo;
import com.iformall.annotation.SystemControllerLog; import com.iformall.annotation.SystemControllerLog;
import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxBusiness; import com.iformall.domain.po.WxBusiness;
import com.iformall.domain.po.WxSubBusiness; import com.iformall.domain.po.WxSubBusiness;
import com.iformall.service.WxBusinessService; import com.iformall.service.WxBusinessService;
import com.iformall.service.WxSubBusinessService; import com.iformall.service.WxSubBusinessService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -18,7 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;


import java.util.List; import java.util.List;
import java.util.stream.Collectors;


@RestController @RestController
@RequestMapping("wxBusiness") @RequestMapping("wxBusiness")
@@ -32,25 +28,12 @@ public class WxBusinessController extends BaseController {
@Autowired @Autowired
private WxSubBusinessService wxSubBusinessService; private WxSubBusinessService wxSubBusinessService;


@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
@SystemControllerLog(description = "业态-列表")
public ResultData list(@ModelAttribute WxBusiness wxBusiness, Integer pageNum, Integer pageSize) {
logger.debug("[" + getIpAddr() + "] WxBusinessController::list");
if (null == wxBusiness) wxBusiness = new WxBusiness();
final PageInfo<WxBusiness> page = wxBusinessService.listAsPage(wxBusiness, pageNum, pageSize);
return new ResultData(page);
}

@ApiOperation("业态全列表接口") @ApiOperation("业态全列表接口")
@GetMapping("listAll") @GetMapping("listAll")
@SystemControllerLog(description = "业态-全列表") @SystemControllerLog(description = "业态-全列表")
public ResultData listAll() { public ResultData listAll() {
logger.debug("[" + getIpAddr() + "] WxBusinessController::getList"); logger.debug("[" + getIpAddr() + "] WxBusinessController::getList");
final List<WxBusiness> busList = wxBusinessService.findListAll();
final List<WxBusiness> busList = wxBusinessService.findListAll(getTenantId(),null);
return new ResultData(busList); return new ResultData(busList);
} }



Неке датотеке нису приказане због велике количине промена

Loading…
Откажи
Сачувај