diff --git a/bweb/pom.xml b/bweb/pom.xml
new file mode 100644
index 0000000..5795716
--- /dev/null
+++ b/bweb/pom.xml
@@ -0,0 +1,45 @@
+
+
+
+ com.hfkj
+ hai-oil-parent
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ com.hfkj
+ oil-bweb
+
+
+
+ com.hfkj
+ service
+ PACKT-SNAPSHOT
+
+
+
+
+
+
+ src/main/resources/${env}
+ false
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/bweb/src/main/java/com/BWebApplication.java b/bweb/src/main/java/com/BWebApplication.java
new file mode 100644
index 0000000..539efbc
--- /dev/null
+++ b/bweb/src/main/java/com/BWebApplication.java
@@ -0,0 +1,32 @@
+package com;
+
+import com.alicp.jetcache.anno.config.EnableCreateCacheAnnotation;
+import com.alicp.jetcache.anno.config.EnableMethodCache;
+import com.hfkj.common.utils.SpringContextUtil;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+@SpringBootApplication
+// @ComponentScan
+@EnableTransactionManagement
+@EnableScheduling
+@EnableMethodCache(basePackages = "com.hfkj")
+@EnableCreateCacheAnnotation
+@ServletComponentScan
+@EnableAspectJAutoProxy(proxyTargetClass = true)
+@MapperScan("com.hfkj.dao")
+public class BWebApplication
+{
+ public static void main( String[] args )
+ {
+ ApplicationContext app = SpringApplication.run(BWebApplication.class, args);
+ SpringContextUtil.setApplicationContext(app);
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/config/AuthConfig.java b/bweb/src/main/java/com/bweb/config/AuthConfig.java
new file mode 100644
index 0000000..3bee573
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/config/AuthConfig.java
@@ -0,0 +1,127 @@
+package com.bweb.config;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.hfkj.common.security.UserCenter;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+@Configuration
+public class AuthConfig implements WebMvcConfigurer {
+
+ private static Logger log = LoggerFactory.getLogger(AuthConfig.class);
+
+ @Resource
+ private UserCenter userCenter;
+
+ /**
+ * 获取配置文件debug变量
+ */
+ @Value("${debug}")
+ private boolean debug = false;
+
+ /**
+ * 解决18位long类型数据转json失去精度问题
+ * @param converters
+ */
+ @Override
+ public void configureMessageConverters(List> converters){
+ MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
+
+ ObjectMapper objectMapper = jsonConverter.getObjectMapper();
+ SimpleModule simpleModule = new SimpleModule();
+ simpleModule.addSerializer(Long.class, ToStringSerializer.instance);
+ simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance);
+ objectMapper.registerModule(simpleModule);
+
+ converters.add(jsonConverter);
+ }
+
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(new HandlerInterceptorAdapter() {
+
+ @Override
+ public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
+ Object handler) throws Exception {
+ if(debug){
+ return true;
+ }
+ String token = request.getHeader("Authorization");
+ if(StringUtils.isNotBlank(token) && userCenter.isLogin(token)){//如果未登录,将无法使用任何接口
+ return true;
+ } else if(request instanceof StandardMultipartHttpServletRequest) {
+ StandardMultipartHttpServletRequest re = (StandardMultipartHttpServletRequest)request;
+ if(userCenter.isLogin(re.getRequest())){
+ return true;
+ } else {
+ log.error("the user is not logged in,remoteAddr:"+getIpAddress(request)+",requestUrl:"+request.getRequestURL());
+ response.setStatus(401);
+ return false;
+ }
+ } else{
+ log.error("the user is not logged in,remoteAddr:"+getIpAddress(request)+",requestUrl:"+request.getRequestURL());
+ response.setStatus(401);
+ return false;
+ }
+ }
+ })
+ .addPathPatterns("/**")
+ .excludePathPatterns("/swagger-resources/**")
+ .excludePathPatterns("/**/api-docs")
+ .excludePathPatterns("/**/springfox-swagger-ui/**")
+ .excludePathPatterns("/**/swagger-ui.html")
+ .excludePathPatterns("/client/*")
+ .excludePathPatterns("/sms/*")
+ .excludePathPatterns("/secUser/login")
+ .excludePathPatterns("/secUser/loginOut")
+ ;
+ }
+
+ public String getIpAddress(HttpServletRequest request) {
+ // 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址
+ String ip = request.getHeader("X-Forwarded-For");
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("Proxy-Client-IP");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("WL-Proxy-Client-IP");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("HTTP_CLIENT_IP");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+ }
+ if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+ ip = request.getRemoteAddr();
+ }
+ } else if (ip.length() > 15) {
+ String[] ips = ip.split(",");
+ for (int index = 0; index < ips.length; index++) {
+ String strIp = ips[index];
+ if (!("unknown".equalsIgnoreCase(strIp))) {
+ ip = strIp;
+ break;
+ }
+ }
+ }
+ return ip;
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/config/ConfigListener.java b/bweb/src/main/java/com/bweb/config/ConfigListener.java
new file mode 100644
index 0000000..fb81053
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/config/ConfigListener.java
@@ -0,0 +1,24 @@
+package com.bweb.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+import javax.servlet.annotation.WebListener;
+
+@WebListener
+public class ConfigListener implements ServletContextListener {
+
+ @Autowired
+ private SysConfig sysConfig;
+
+ @Override
+ public void contextInitialized(ServletContextEvent sce) {
+ SysConst.setSysConfig(sysConfig);
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent sce) {
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/config/CorsConfig.java b/bweb/src/main/java/com/bweb/config/CorsConfig.java
new file mode 100644
index 0000000..5f46ab3
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/config/CorsConfig.java
@@ -0,0 +1,49 @@
+package com.bweb.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.cors.CorsConfiguration;
+import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
+import org.springframework.web.filter.CorsFilter;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName CorsConfig
+ * @Description: TODO ()
+ * @Author 胡锐
+ * @Date 2020/12/16
+ **/
+@Configuration
+public class CorsConfig extends WebMvcConfigurerAdapter {
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**")
+ .allowedOrigins("*")
+ .allowCredentials(true)
+ .allowedMethods("GET", "POST", "DELETE", "PUT")
+ .maxAge(3600);
+ }
+ private CorsConfiguration buildConfig() {
+ CorsConfiguration corsConfiguration = new CorsConfiguration();
+ List list = new ArrayList<>();
+ list.add("*");
+ corsConfiguration.setAllowedOrigins(list);
+ /*
+ // 请求常用的三种配置,*代表允许所有,当时你也可以自定义属性(比如header只能带什么,只能是post方式等等)
+ */
+ corsConfiguration.addAllowedOrigin("*");
+ corsConfiguration.addAllowedHeader("*");
+ corsConfiguration.addAllowedMethod("*");
+ return corsConfiguration;
+ }
+ @Bean
+ public CorsFilter corsFilter() {
+ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
+ source.registerCorsConfiguration("/**", buildConfig());
+ return new CorsFilter(source);
+ }
+}
diff --git a/bweb/src/main/java/com/bweb/config/MultipartConfig.java b/bweb/src/main/java/com/bweb/config/MultipartConfig.java
new file mode 100644
index 0000000..267de74
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/config/MultipartConfig.java
@@ -0,0 +1,26 @@
+package com.bweb.config;
+
+import org.springframework.boot.web.servlet.MultipartConfigFactory;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.servlet.MultipartConfigElement;
+
+@Configuration
+public class MultipartConfig {
+
+ /**
+ * 文件上传配置
+ * @return
+ */
+ @Bean
+ public MultipartConfigElement multipartConfigElement() {
+ MultipartConfigFactory factory = new MultipartConfigFactory();
+ //文件最大
+ factory.setMaxFileSize("300MB"); //KB,MB
+ //设置总上传数据总大小
+ factory.setMaxRequestSize("350MB");
+ return factory.createMultipartConfig();
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/config/RedisConfig.java b/bweb/src/main/java/com/bweb/config/RedisConfig.java
new file mode 100644
index 0000000..0c5f530
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/config/RedisConfig.java
@@ -0,0 +1,109 @@
+package com.bweb.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.cache.annotation.CachingConfigurerSupport;
+import org.springframework.cache.annotation.EnableCaching;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.*;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+
+@Configuration
+@EnableCaching //开启注解
+public class RedisConfig extends CachingConfigurerSupport {
+
+ /**
+ * retemplate相关配置
+ * @param factory
+ * @return
+ */
+ @Bean
+ public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
+
+ RedisTemplate template = new RedisTemplate<>();
+ // 配置连接工厂
+ template.setConnectionFactory(factory);
+
+ //使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值(默认使用JDK的序列化方式)
+ Jackson2JsonRedisSerializer jacksonSeial = new Jackson2JsonRedisSerializer(Object.class);
+
+ ObjectMapper om = new ObjectMapper();
+ // 指定要序列化的域,field,get和set,以及修饰符范围,ANY是都有包括private和public
+ om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+ // 指定序列化输入的类型,类必须是非final修饰的,final修饰的类,比如String,Integer等会跑出异常
+ om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
+ jacksonSeial.setObjectMapper(om);
+
+ // 值采用json序列化
+ template.setValueSerializer(jacksonSeial);
+ //使用StringRedisSerializer来序列化和反序列化redis的key值
+ template.setKeySerializer(new StringRedisSerializer());
+
+ // 设置hash key 和value序列化模式
+ template.setHashKeySerializer(new StringRedisSerializer());
+ template.setHashValueSerializer(jacksonSeial);
+ template.afterPropertiesSet();
+
+ return template;
+ }
+
+ /**
+ * 对hash类型的数据操作
+ *
+ * @param redisTemplate
+ * @return
+ */
+ @Bean
+ public HashOperations hashOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForHash();
+ }
+
+ /**
+ * 对redis字符串类型数据操作
+ *
+ * @param redisTemplate
+ * @return
+ */
+ @Bean
+ public ValueOperations valueOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForValue();
+ }
+
+ /**
+ * 对链表类型的数据操作
+ *
+ * @param redisTemplate
+ * @return
+ */
+ @Bean
+ public ListOperations listOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForList();
+ }
+
+ /**
+ * 对无序集合类型的数据操作
+ *
+ * @param redisTemplate
+ * @return
+ */
+ @Bean
+ public SetOperations setOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForSet();
+ }
+
+ /**
+ * 对有序集合类型的数据操作
+ *
+ * @param redisTemplate
+ * @return
+ */
+ @Bean
+ public ZSetOperations zSetOperations(RedisTemplate redisTemplate) {
+ return redisTemplate.opsForZSet();
+ }
+}
\ No newline at end of file
diff --git a/bweb/src/main/java/com/bweb/config/SwaggerConfig.java b/bweb/src/main/java/com/bweb/config/SwaggerConfig.java
new file mode 100644
index 0000000..b46dc9a
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/config/SwaggerConfig.java
@@ -0,0 +1,47 @@
+package com.bweb.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Contact;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+/**
+* SwaggerConfig.java
+* 项目名称:
+* 包:
+* 类名称: SwaggerConfig.java
+* 类描述: 构建restful api接口文档
+* 创建人:
+* 创建时间: 2017 下午4:23:45
+*/
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig
+{
+
+ /**
+ * 描述api的基本信息
+ * 基本信息会展现在文档页面中
+ * @return [api的基本信息]
+ */
+ ApiInfo apiInfo()
+ {
+ return new ApiInfoBuilder().title("hgj-BWeb").description("提供给管理平台的接口").termsOfServiceUrl("").version("1.0.0")
+ .contact(new Contact("", "", "")).build();
+ }
+
+ @Bean
+ public Docket customImplementation()
+ {
+ return new Docket(DocumentationType.SWAGGER_2).select()
+ .apis(RequestHandlerSelectors.basePackage("com"))
+ .build().directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class)
+ .directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class).apiInfo(apiInfo());
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/config/SysConfig.java b/bweb/src/main/java/com/bweb/config/SysConfig.java
new file mode 100644
index 0000000..1535c40
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/config/SysConfig.java
@@ -0,0 +1,31 @@
+package com.bweb.config;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.stereotype.Component;
+
+@Component("sysConfig")
+@ConfigurationProperties
+@PropertySource("classpath:/config.properties")
+public class SysConfig {
+
+ private String fileUrl;
+
+ private String cmsPath;
+
+ public String getFileUrl() {
+ return fileUrl;
+ }
+
+ public void setFileUrl(String fileUrl) {
+ this.fileUrl = fileUrl;
+ }
+
+ public String getCmsPath() {
+ return cmsPath;
+ }
+
+ public void setCmsPath(String cmsPath) {
+ this.cmsPath = cmsPath;
+ }
+}
diff --git a/bweb/src/main/java/com/bweb/config/SysConst.java b/bweb/src/main/java/com/bweb/config/SysConst.java
new file mode 100644
index 0000000..948513a
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/config/SysConst.java
@@ -0,0 +1,19 @@
+package com.bweb.config;
+
+public class SysConst {
+
+ private static SysConfig sysConfig;
+
+ public static void setSysConfig(SysConfig arg){
+ sysConfig = arg;
+ }
+
+ public static SysConfig getSysConfig(){
+ if (null == sysConfig) {
+ //防止空指针异常
+ sysConfig = new SysConfig();
+ return sysConfig;
+ }
+ return sysConfig;
+ }
+}
diff --git a/bweb/src/main/java/com/bweb/controller/AliyuncsSmsController.java b/bweb/src/main/java/com/bweb/controller/AliyuncsSmsController.java
new file mode 100644
index 0000000..2c32ba4
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/AliyuncsSmsController.java
@@ -0,0 +1,67 @@
+package com.bweb.controller;
+
+import com.aliyuncs.CommonRequest;
+import com.aliyuncs.CommonResponse;
+import com.aliyuncs.DefaultAcsClient;
+import com.aliyuncs.IAcsClient;
+import com.aliyuncs.http.MethodType;
+import com.aliyuncs.profile.DefaultProfile;
+import com.hfkj.common.security.VerifyCode;
+import com.hfkj.common.security.VerifyCodeStorage;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.model.ResponseData;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Random;
+
+@RestController
+@RequestMapping(value="/sms")
+@Api(value="阿里云短信")
+public class AliyuncsSmsController {
+
+ Logger log = LoggerFactory.getLogger(AliyuncsSmsController.class);
+
+ @RequestMapping(value="/sendVerificationCode",method= RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "发送验证码")
+ public ResponseData sendVerificationCode(@RequestParam(value = "phone", required = true) String phone) {
+ try {
+
+ VerifyCode verifyCode = VerifyCodeStorage.getDate(phone);
+ String code;
+ if (verifyCode != null){
+ code = verifyCode.getObject();
+ }else{
+ // 生成随机6位验证码
+ code = String.valueOf(new Random().nextInt(899999) + 100000);
+ }
+ DefaultProfile profile = DefaultProfile.getProfile("default", "LTAI4FzFiDCZsspxJfQYoHxC", "tkS64fUpgK0Lr2R8ps0AVYRWZloFLl");
+ IAcsClient client = new DefaultAcsClient(profile);
+
+ CommonRequest request = new CommonRequest();
+ //request.setProtocol(ProtocolType.HTTPS);
+ request.setMethod(MethodType.POST);
+ request.setDomain("dysmsapi.aliyuncs.com");
+ request.setVersion("2017-05-25");
+ request.setAction("SendSms");
+ request.putQueryParameter("PhoneNumbers", phone);
+ request.putQueryParameter("SignName", "银企服");
+ request.putQueryParameter("TemplateCode", "SMS_210765573");
+ request.putQueryParameter("TemplateParam", "{\"code\":\""+code+"\"}");
+
+ //发送短信
+ CommonResponse response = client.getCommonResponse(request);
+ // 存入VerifyCodeStorage
+ verifyCode = new VerifyCode(phone,code);
+ VerifyCodeStorage.save(verifyCode);
+ return ResponseMsgUtil.success(response.getData());
+
+ } catch (Exception e) {
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+}
diff --git a/bweb/src/main/java/com/bweb/controller/BsAgentController.java b/bweb/src/main/java/com/bweb/controller/BsAgentController.java
new file mode 100644
index 0000000..d92a034
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/BsAgentController.java
@@ -0,0 +1,174 @@
+package com.bweb.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.entity.BsAgent;
+import com.hfkj.entity.SecUser;
+import com.hfkj.model.ResponseData;
+import com.hfkj.model.UserInfoModel;
+import com.hfkj.service.BsAgentService;
+import com.hfkj.service.SecUserService;
+import com.hfkj.sysenum.SecUserObjectTypeEnum;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Objects;
+
+@Controller
+@RequestMapping(value = "/agent")
+@Api(value = "代理商管理")
+public class BsAgentController {
+
+ private static Logger log = LoggerFactory.getLogger(BsAgentController.class);
+
+ @Resource
+ private BsAgentService agentService;
+ @Resource
+ private SecUserService secUserService;
+ @Resource
+ private UserCenter userCenter;
+
+ @RequestMapping(value = "/createAgent", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "创建代理商")
+ public ResponseData createAgent(@RequestBody JSONObject body) {
+ try {
+
+ UserInfoModel userInfoModel = userCenter.getSessionModel(UserInfoModel.class);
+ if (userInfoModel == null || !userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type2.getNumber())) {
+ log.error("BsAgentController --> createAgent() error!", "用户身份错误或已过期");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.SEC_USER_EXPIRED, "");
+ }
+
+ if (body == null
+ || StringUtils.isBlank(body.getString("loginName"))
+ || StringUtils.isBlank(body.getString("name"))
+ || StringUtils.isBlank(body.getString("contactsName"))
+ || StringUtils.isBlank(body.getString("contactsTelephone"))
+ ) {
+ log.error("BsAgentController --> createAgent() error!", "参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ BsAgent agent = new BsAgent();
+ agent.setCompanyId(userInfoModel.getBsCompany().getId());
+ agent.setCompanyName(userInfoModel.getBsCompany().getName());
+ agent.setName(body.getString("name"));
+ agent.setContactsName(body.getString("contactsName"));
+ agent.setContactsTelephone(body.getString("contactsTelephone"));
+
+ agentService.createAgent(body.getString("loginName"), agent);
+ return ResponseMsgUtil.success("创建成功");
+ } catch (Exception e) {
+ log.error("BsAgentController --> createAgent() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/updateAgent", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "修改代理商")
+ public ResponseData updateAgent(@RequestBody JSONObject body) {
+ try {
+
+ UserInfoModel userInfoModel = userCenter.getSessionModel(UserInfoModel.class);
+ if (userInfoModel == null || !userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type2.getNumber())) {
+ log.error("BsAgentController --> updateAgent() error!", "用户身份错误或已过期");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.SEC_USER_EXPIRED, "");
+ }
+
+ if (body == null
+ || StringUtils.isBlank(body.getString("agentNo"))
+ || StringUtils.isBlank(body.getString("name"))
+ || StringUtils.isBlank(body.getString("contactsName"))
+ || StringUtils.isBlank(body.getString("contactsTelephone"))
+ ) {
+ log.error("BsAgentController --> updateAgent() error!", "参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ // 查询代理商
+ BsAgent agent = agentService.getAgentByAgentNo(body.getString("agentNo"));
+ if (agent == null) {
+ log.error("BsAgentController --> updateAgent() error!", "参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的代理商");
+ }
+ agent.setName(body.getString("name"));
+ agent.setContactsName(body.getString("contactsName"));
+ agent.setContactsTelephone(body.getString("contactsTelephone"));
+ agentService.updateAgent(agent);
+
+ return ResponseMsgUtil.success("修改成功");
+ } catch (Exception e) {
+ log.error("BsAgentController --> updateAgent() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+
+ @RequestMapping(value = "/queryAgentDetail", method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询代理商详情")
+ public ResponseData queryAgentDetail(@RequestParam(name = "agentNo", required = true) String agentNo) {
+ try {
+ // 查询代理商
+ BsAgent agent = agentService.getAgentByAgentNo(agentNo);
+ if (agent == null) {
+ log.error("BsAgentController --> queryAgentDetail() error!", "未找到代理商");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到代理商");
+ }
+ Map param = new HashMap<>();
+ param.put("agent", agent);
+
+ SecUser secUser = secUserService.getMainAccount(SecUserObjectTypeEnum.type3.getNumber(), agent.getId());
+ if (secUser == null) {
+ log.error("BsAgentController --> queryAgentDetail() error!", "未找到代理商登录账户");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到代理商登录账户");
+ }
+ secUser.setPassword(null);
+ param.put("account", secUser);
+
+ return ResponseMsgUtil.success(param);
+ } catch (Exception e) {
+ log.error("BsAgentController --> queryAgentDetail() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/queryAgentList", method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询代理商列表")
+ public ResponseData queryAgentList(@RequestParam(name = "companyId", required = false) Long companyId,
+ @RequestParam(name = "agentNo", required = false) String agentNo,
+ @RequestParam(name = "agentName", required = false) String agentName,
+ @RequestParam(name = "pageNum", required = true) Integer pageNum,
+ @RequestParam(name = "pageSize", required = true) Integer pageSize) {
+ try {
+ Map param = new HashMap<>();
+ param.put("companyId", companyId);
+ param.put("agentNo", agentNo);
+ param.put("agentName", agentName);
+
+ PageHelper.startPage(pageNum,pageSize);
+ return ResponseMsgUtil.success(new PageInfo<>(agentService.getAgentList(param)));
+ } catch (Exception e) {
+ log.error("BsAgentController --> queryAgentList() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/controller/BsDeviceController.java b/bweb/src/main/java/com/bweb/controller/BsDeviceController.java
new file mode 100644
index 0000000..1d97e70
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/BsDeviceController.java
@@ -0,0 +1,237 @@
+package com.bweb.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.config.SpPrinterConfig;
+import com.hfkj.entity.*;
+import com.hfkj.model.ResponseData;
+import com.hfkj.model.UserInfoModel;
+import com.hfkj.service.BsCompanyService;
+import com.hfkj.service.BsDeviceService;
+import com.hfkj.service.BsMerchantService;
+import com.hfkj.sysenum.DeviceTypeEnum;
+import com.hfkj.sysenum.SecUserObjectTypeEnum;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value = "/device")
+@Api(value = "设备管理")
+public class BsDeviceController {
+
+ private static Logger log = LoggerFactory.getLogger(BsDeviceController.class);
+
+ @Resource
+ private UserCenter userCenter;
+ @Resource
+ private BsDeviceService deviceService;
+ @Resource
+ private BsMerchantService merchantService;
+ @Resource
+ private BsCompanyService companyService;
+
+ @RequestMapping(value="/editDevice",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "编辑设备")
+ public ResponseData editDevice(@RequestBody BsDevice body) {
+ try {
+
+ if (StringUtils.isBlank(body.getMerNo()) || body.getType() == null) {
+ log.error("BsDeviceController -> editDevice() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ if (DeviceTypeEnum.getNameByType(body.getType()) == null) {
+ log.error("BsDeviceController -> editDevice() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的设备类型");
+ }
+
+ if (body.getType().equals(DeviceTypeEnum.type1.getType())
+ && (StringUtils.isBlank(body.getDeviceSn()) || StringUtils.isBlank(body.getDeviceKey()))) {
+ log.error("BsDeviceController -> editDevice() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+
+ }
+
+ BsDevice device;
+ if (body.getId() != null) {
+ // 查询设备
+ device = deviceService.getDetailById(body.getId());
+ if (device == null) {
+ log.error("HighDeviceController -> editDevice() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ } else {
+ device = new BsDevice();
+ }
+
+ // 查询商户
+ BsMerchant merchant = merchantService.getMerchant(body.getMerNo());
+ if (merchant == null) {
+ log.error("HighDeviceController -> editDevice() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+ }
+
+ // 查询分公司
+ BsCompany company = companyService.getCompanyById(merchant.getCompanyId());
+ if (company == null) {
+ log.error("HighDeviceController -> editDevice() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的分公司");
+ }
+
+ if (body.getId() == null) {
+ if (body.getType().equals(DeviceTypeEnum.type1.getType())) {
+ SpPrinterConfig sp = new SpPrinterConfig();
+ JSONObject jsonObject = JSONObject.parseObject(sp.addPrinter(body.getDeviceSn(), body.getDeviceKey(), merchant.getMerName()));
+ if (!jsonObject.getInteger("errorcode").equals(0)) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, jsonObject.getString("errormsg"));
+ }
+ }
+ }
+
+ device.setCompanyId(company.getId());
+ device.setCompanyName(company.getName());
+ device.setAgentId(merchant.getAgentId());
+ device.setAgentName(merchant.getAgentName());
+ device.setMerId(merchant.getId());
+ device.setMerNo(merchant.getMerNo());
+ device.setMerName(merchant.getMerName());
+ device.setType(body.getType());
+ device.setDeviceName(merchant.getMerName());
+ device.setDeviceSn(body.getDeviceSn());
+ device.setDeviceKey(body.getDeviceKey());
+ device.setDeviceImei(body.getDeviceImei());
+ device.setDeviceIccid(body.getDeviceIccid());
+ device.setReceiptTop(body.getReceiptTop());
+ device.setReceiptSource(body.getReceiptSource());
+ device.setReceiptBottom(body.getReceiptBottom());
+ deviceService.editDevice(device);
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("HighDeviceController -> editDevice() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/delDevice",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "删除设备")
+ public ResponseData delDevice(@RequestBody JSONObject body) {
+ try {
+
+ if (body.getLong("deviceId") == null) {
+ log.error("BsDeviceController -> delDevice() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ // 查询设备
+ BsDevice device = deviceService.getDetailById(body.getLong("deviceId"));
+ if (device == null) {
+ log.error("HighDeviceCBsDeviceControllerontroller -> delDevice() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ if (device.getType().equals(DeviceTypeEnum.type1.getType())) {
+ SpPrinterConfig sp = new SpPrinterConfig();
+ JSONObject jsonObject = JSONObject.parseObject(sp.deletePrinter(device.getDeviceSn()));
+ if (!jsonObject.getInteger("errorcode").equals(0)) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, jsonObject.getString("errormsg"));
+ }
+ }
+
+ device.setStatus(0);
+ deviceService.editDevice(device);
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsDeviceController -> delDevice() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/getDetailById",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "根据id查询设备详情")
+ public ResponseData getDetailById(@RequestParam(name = "deviceId", required = true) Long deviceId) {
+ try {
+
+ return ResponseMsgUtil.success(deviceService.getDetailById(deviceId));
+
+ } catch (Exception e) {
+ log.error("HighDeviceController -> getDetailById() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/getDeviceList",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询设备列表")
+ public ResponseData getDeviceList(@RequestParam(name = "companyId", required = false) Long companyId,
+ @RequestParam(name = "merNo", required = false) String merNo,
+ @RequestParam(name = "merName", required = false) String merName,
+ @RequestParam(name = "deviceName", required = false) String deviceName,
+ @RequestParam(name = "pageNum", required = true) Integer pageNum,
+ @RequestParam(name = "pageSize", required = true) Integer pageSize) {
+ try {
+
+ UserInfoModel sessionModel = userCenter.getSessionModel(UserInfoModel.class);
+ if (sessionModel == null) {
+ log.error("HighDeviceController -> getDeviceList() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到");
+ }
+
+ Map param = new HashMap<>();
+ param.put("deviceName", deviceName);
+
+ if (sessionModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type0.getNumber())
+ || sessionModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type1.getNumber())) {
+ param.put("companyId", companyId);
+ param.put("merNo", merNo);
+ param.put("merName", merName);
+
+ } else if (sessionModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type2.getNumber())) {
+ param.put("companyId", sessionModel.getBsCompany().getId());
+ param.put("merNo", merNo);
+ param.put("merName", merName);
+
+ } else if (sessionModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type3.getNumber())) {
+ param.put("agentId", sessionModel.getAgent().getId());
+ param.put("merNo", merNo);
+ param.put("merName", merName);
+
+ }else if (sessionModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type4.getNumber())) {
+ param.put("merNo", sessionModel.getMerchant().getMerNo());
+
+ } else {
+ log.error("HighDeviceController -> getDeviceList() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMPETENCE_INSUFFICIENT, "");
+ }
+
+ PageHelper.startPage(pageNum, pageSize);
+ return ResponseMsgUtil.success(new PageInfo<>(deviceService.getDeviceList(param)));
+
+ } catch (Exception e) {
+ log.error("HighDeviceController -> getDeviceList() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/controller/BsDiscountController.java b/bweb/src/main/java/com/bweb/controller/BsDiscountController.java
new file mode 100644
index 0000000..0440336
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/BsDiscountController.java
@@ -0,0 +1,253 @@
+package com.bweb.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.config.SpPrinterConfig;
+import com.hfkj.entity.BsCompany;
+import com.hfkj.entity.BsDevice;
+import com.hfkj.entity.BsDiscount;
+import com.hfkj.entity.BsMerchant;
+import com.hfkj.model.ResponseData;
+import com.hfkj.model.UserInfoModel;
+import com.hfkj.service.BsCompanyService;
+import com.hfkj.service.BsDeviceService;
+import com.hfkj.service.BsDiscountService;
+import com.hfkj.service.BsMerchantService;
+import com.hfkj.sysenum.*;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value = "/discount")
+@Api(value = "优惠券管理")
+public class BsDiscountController {
+
+ private static Logger log = LoggerFactory.getLogger(BsDiscountController.class);
+ @Resource
+ private BsDiscountService discountService;
+ @Resource
+ private BsMerchantService merchantService;
+
+ @RequestMapping(value="/editDiscount",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "编辑优惠券")
+ public ResponseData editDiscount(@RequestBody BsDiscount body) {
+ try {
+
+ if (StringUtils.isBlank(body.getMerNo())
+ || StringUtils.isBlank(body.getDiscountName())
+ || body.getDiscountType() == null
+ || body.getDiscountPrice() == null
+ || StringUtils.isBlank(body.getUseScope())
+ || body.getStartTime() == null
+ || body.getEndTime() == null
+ ) {
+ log.error("BsDiscountController -> editDiscount() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ if (DiscountTypeEnum.getNameByType(body.getDiscountType()) == null) {
+ log.error("BsDiscountController -> editDiscount() error!","未知优惠券类型");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知优惠券类型");
+ }
+ // 满减条件
+ if (DiscountTypeEnum.type1.getCode().equals(body.getDiscountType()) && body.getDiscountCondition() == null) {
+ log.error("BsDiscountController -> editDiscount() error!","未设置满减条件");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未设置满减条件");
+ }
+ if (DiscountUseScopeEnum.type1.getCode().equals(body.getDiscountType()) && body.getDiscountCondition() == null) {
+ log.error("BsDiscountController -> editDiscount() error!","未设置满减条件");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未设置满减条件");
+ }
+ BsDiscount discount;
+ if (StringUtils.isNotBlank(body.getDiscountNo())) {
+ // 查询优惠券
+ discount = discountService.getDetail(body.getDiscountNo());
+ if (discount == null) {
+ log.error("BsDiscountController -> editDiscount() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ } else {
+ discount = new BsDiscount();
+ }
+
+ // 查询商户
+ BsMerchant merchant = merchantService.getMerchant(body.getMerNo());
+ if (merchant == null) {
+ log.error("BsDiscountController -> editDiscount() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+ }
+
+ discount.setMerId(merchant.getId());
+ discount.setMerNo(merchant.getMerNo());
+ discount.setMerName(merchant.getMerName());
+ discount.setDiscountType(body.getDiscountType());
+ discount.setDiscountName(body.getDiscountName());
+ discount.setDiscountCondition(body.getDiscountCondition());
+ discount.setDiscountPrice(body.getDiscountPrice());
+ discount.setUseScope(body.getUseScope());
+ discount.setStartTime(body.getStartTime());
+ discount.setEndTime(body.getEndTime());
+ discount.setStatus(DiscountStatusEnum.status1.getCode());
+ discountService.editDiscount(discount);
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsDiscountController -> editDiscount() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/updateEndTime",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "修改结束时间")
+ public ResponseData updateEndTime(@RequestBody JSONObject body) {
+ try {
+
+ if (body == null
+ || StringUtils.isBlank(body.getString("discountNo"))
+ || body.getLong("endTime") == null) {
+ log.error("BsDiscountController -> updateEndTime() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ // 查询详情
+ BsDiscount discount = discountService.getDetail(body.getString("discountNo"));
+ if (discount == null) {
+ log.error("BsDiscountController -> updateEndTime() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的优惠券");
+ }
+ if (!discount.getStatus().equals(DiscountStatusEnum.status2.getCode())) {
+ log.error("BsDiscountController -> updateEndTime() error!","无法修改,优惠不处于上线状态");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "无法修改,优惠不处于上线状态");
+ }
+ discount.setEndTime(new Date(body.getLong("endTime")));
+ discountService.editDiscount(discount);
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsDiscountController -> updateEndTime() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/online",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "上线优惠券")
+ public ResponseData online(@RequestBody JSONObject body) {
+ try {
+
+ if (body == null || StringUtils.isBlank(body.getString("discountNo"))) {
+ log.error("BsDiscountController -> online() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ discountService.online(body.getString("discountNo"));
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsDiscountController -> online() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/done",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "结束优惠券")
+ public ResponseData done(@RequestBody JSONObject body) {
+ try {
+
+ if (body == null || StringUtils.isBlank(body.getString("discountNo"))) {
+ log.error("BsDiscountController -> done() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ discountService.done(body.getString("discountNo"));
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsDiscountController -> done() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/delete",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "删除优惠券")
+ public ResponseData delete(@RequestBody JSONObject body) {
+ try {
+
+ if (body == null || StringUtils.isBlank(body.getString("discountNo"))) {
+ log.error("BsDiscountController -> delDiscount() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ discountService.delete(body.getString("discountNo"));
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsDiscountController -> delDiscount() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/queryDetail",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询详情")
+ public ResponseData queryDetail(@RequestParam(name = "discountNo", required = true) String discountNo) {
+ try {
+
+ return ResponseMsgUtil.success(discountService.getDetail(discountNo));
+
+ } catch (Exception e) {
+ log.error("BsDiscountController -> delDiscount() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/queryList",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询列表")
+ public ResponseData queryList(@RequestParam(name = "merNo", required = false) String merNo,
+ @RequestParam(name = "discountName", required = false) String discountName,
+ @RequestParam(name = "discountType", required = false) Integer discountType,
+ @RequestParam(name = "status", required = false) Integer status,
+ @RequestParam(name = "pageNum", required = true) Integer pageNum,
+ @RequestParam(name = "pageSize", required = true) Integer pageSize) {
+ try {
+ Map param = new HashMap<>();
+ param.put("merNo", merNo);
+ param.put("discountName", discountName);
+ param.put("discountType", discountType);
+ param.put("status", status);
+
+ PageHelper.startPage(pageNum,pageSize);
+ return ResponseMsgUtil.success(new PageInfo<>(discountService.getList(param)));
+
+ } catch (Exception e) {
+ log.error("BsDiscountController -> queryList() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+
+}
diff --git a/bweb/src/main/java/com/bweb/controller/BsDiscountStockController.java b/bweb/src/main/java/com/bweb/controller/BsDiscountStockController.java
new file mode 100644
index 0000000..d78114e
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/BsDiscountStockController.java
@@ -0,0 +1,130 @@
+package com.bweb.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.entity.BsDiscount;
+import com.hfkj.entity.BsDiscountStockCode;
+import com.hfkj.entity.BsMerchant;
+import com.hfkj.model.ResponseData;
+import com.hfkj.service.BsDiscountService;
+import com.hfkj.service.BsDiscountStockBatchService;
+import com.hfkj.service.BsDiscountStockCodeService;
+import com.hfkj.service.BsMerchantService;
+import com.hfkj.sysenum.DiscountStatusEnum;
+import com.hfkj.sysenum.DiscountTypeEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.models.auth.In;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value = "/discountStock")
+@Api(value = "优惠券库存管理")
+public class BsDiscountStockController {
+
+ private static Logger log = LoggerFactory.getLogger(BsDiscountStockController.class);
+ @Resource
+ private BsDiscountStockBatchService discountStockBatchService;
+
+ @Resource
+ private BsDiscountStockCodeService discountStockCodeService;
+
+ @RequestMapping(value="/addStock",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "增加优惠券库存")
+ public ResponseData addStock(@RequestBody JSONObject body) {
+ try {
+
+ if (body == null
+ || StringUtils.isBlank(body.getString("discountNo"))
+ || body.getInteger("stockCount") == null) {
+ log.error("BsDiscountController -> editDiscount() error!","参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ discountStockBatchService.addStock(body.getString("discountNo"), body.getInteger("stockCount"));
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsDiscountStockController -> addStock() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/queryStockBatchList",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询库存批次")
+ public ResponseData queryStockBatchList(@RequestParam(name = "discountNo", required = false) String discountNo,
+ @RequestParam(name = "discountName", required = false) String discountName,
+ @RequestParam(name = "batchNo", required = false) String batchNo,
+ @RequestParam(name = "pageNum", required = true) Integer pageNum,
+ @RequestParam(name = "pageSize", required = true) Integer pageSize) {
+ try {
+ Map param = new HashMap<>();
+ param.put("discountNo", discountNo);
+ param.put("discountName", discountName);
+ param.put("batchNo", batchNo);
+
+ PageHelper.startPage(pageNum,pageSize);
+ return ResponseMsgUtil.success(new PageInfo<>(discountStockBatchService.getStockBatchList(param)));
+
+ } catch (Exception e) {
+ log.error("BsDiscountStockController -> queryStockBatchList() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/queryStockBatchDetail",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询库存批次详情")
+ public ResponseData queryStockBatchDetail(@RequestParam(name = "batchNo", required = true) String batchNo) {
+ try {
+
+ return ResponseMsgUtil.success(discountStockBatchService.getStockBatchDetail(batchNo));
+
+ } catch (Exception e) {
+ log.error("BsDiscountStockController -> queryStockBatchDetail() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+
+
+ @RequestMapping(value="/queryStockBatchCodeList",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询库存批次优惠券code")
+ public ResponseData queryStockBatchCodeList(@RequestParam(name = "codeId", required = false) String codeId,
+ @RequestParam(name = "discountNo", required = false) String discountNo,
+ @RequestParam(name = "batchNo", required = false) String batchNo,
+ @RequestParam(name = "pageNum", required = true) Integer pageNum,
+ @RequestParam(name = "pageSize", required = true) Integer pageSize) {
+ try {
+ Map param = new HashMap<>();
+ param.put("codeId", codeId);
+ param.put("discountNo", discountNo);
+ param.put("batchNo", batchNo);
+
+ PageHelper.startPage(pageNum,pageSize);
+ return ResponseMsgUtil.success(new PageInfo<>(discountStockCodeService.getCodeList(param)));
+
+ } catch (Exception e) {
+ log.error("BsDiscountStockController -> queryStockBatchCodeList() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/controller/BsGasOilGunNoController.java b/bweb/src/main/java/com/bweb/controller/BsGasOilGunNoController.java
new file mode 100644
index 0000000..355187d
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/BsGasOilGunNoController.java
@@ -0,0 +1,167 @@
+package com.bweb.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.entity.BsGasOilGunNo;
+import com.hfkj.entity.BsGasOilPrice;
+import com.hfkj.entity.BsMerchant;
+import com.hfkj.entity.SecDictionary;
+import com.hfkj.model.ResponseData;
+import com.hfkj.model.UserInfoModel;
+import com.hfkj.service.BsGasOilGunNoService;
+import com.hfkj.service.BsGasOilPriceService;
+import com.hfkj.service.BsMerchantService;
+import com.hfkj.service.CommonService;
+import com.hfkj.sysenum.GasOilPriceStatusEnum;
+import com.hfkj.sysenum.SecUserObjectTypeEnum;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Controller
+@RequestMapping(value = "/gasOilGunNo")
+@Api(value = "加油站价格")
+public class BsGasOilGunNoController {
+ private static Logger log = LoggerFactory.getLogger(BsGasOilGunNoController.class);
+
+ @Resource
+ private BsGasOilPriceService gasOilPriceService;
+ @Resource
+ private BsGasOilGunNoService gasOilGunNoService;
+ @Resource
+ private BsMerchantService merchantService;
+ @Resource
+ private UserCenter userCenter;
+
+ @RequestMapping(value = "/createOilGunNo", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "创建油品枪号")
+ public ResponseData createOilGunNo(@RequestBody BsGasOilGunNo body) {
+ try {
+ UserInfoModel userInfoModel = userCenter.getSessionModel(UserInfoModel.class);
+ if (userInfoModel == null || !userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type4.getNumber())) {
+ log.error("BsGasOilGunNoController --> createOilGunNo() error!", "用户身份错误或已过期");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.SEC_USER_EXPIRED, "");
+ }
+ if (body == null
+ || body.getMerNo() == null
+ || StringUtils.isBlank(body.getOilNo())
+ || StringUtils.isBlank(body.getGunNo())){
+ log.error("BsGasOilGunNoController --> createOilGunNo() error!", "参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ // 查询商户
+ BsMerchant merchant = merchantService.getMerchant(body.getMerNo());
+ if (merchant == null) {
+ log.error("BsGasOilGunNoController --> createOilGunNo() error!", "未知的商户");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+ }
+ if (!merchant.getId().equals(userInfoModel.getMerchant().getId())) {
+ log.error("BsGasOilGunNoController --> createOilGunNo() error!", "权限不足");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMPETENCE_INSUFFICIENT, "");
+ }
+ // 油品
+ BsGasOilPrice oilPrice = gasOilPriceService.getGasOilPrice(merchant.getId(), body.getOilNo());
+ if (oilPrice == null) {
+ log.error("BsGasOilGunNoController --> createOilGunNo() error!", "商户未添加" + body.getOilNo() + "油品");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "商户未添加" + body.getOilNo() + "油品");
+ }
+ if (gasOilGunNoService.getDetail(body.getMerNo(), body.getOilNo(), body.getGunNo()) != null) {
+ log.error("BsGasOilGunNoController --> createOilGunNo() error!", "油品枪号已存在");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "油品枪号已存在");
+ }
+
+ BsGasOilGunNo oilGunNo = new BsGasOilGunNo();
+ oilGunNo.setGasOilPriceId(oilPrice.getId());
+ oilGunNo.setMerId(oilPrice.getMerId());
+ oilGunNo.setMerNo(oilPrice.getMerNo());
+ oilGunNo.setOilType(oilPrice.getOilType());
+ oilGunNo.setOilTypeName(oilPrice.getOilTypeName());
+ oilGunNo.setOilNo(oilPrice.getOilNo());
+ oilGunNo.setOilNoName(oilPrice.getOilNoName());
+ oilGunNo.setGunNo(body.getGunNo());
+ oilGunNo.setStatus(1);
+ gasOilGunNoService.editData(oilGunNo);
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsGasOilGunNoController --> createOilGunNo() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/delete", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "删除抢号")
+ public ResponseData delete(@RequestBody JSONObject body) {
+ try {
+ if (body == null || body.getLong("gunNoId") == null) {
+ log.error("BsGasOilGunNoController --> delete() error!", "请求参数校验失败");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ gasOilGunNoService.delete(body.getLong("gunNoId"));
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsGasOilGunNoController --> delete() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/queryOilDetail", method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询油品详情")
+ public ResponseData queryOilDetail(@RequestParam(value = "gunNoId", required = true) Long gunNoId) {
+ try {
+
+ return ResponseMsgUtil.success(gasOilGunNoService.getDetail(gunNoId));
+
+ } catch (Exception e) {
+ log.error("BsGasOilGunNoController --> queryOilDetail() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/queryGunNoList", method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询油品列表")
+ public ResponseData queryGunNoList(@RequestParam(value = "merNo", required = true) String merNo,
+ @RequestParam(value = "oilNo", required = false) String oilNo) {
+ try {
+ // 查询枪号
+ List list = gasOilGunNoService.getOilGunNoList(merNo);
+
+ if (StringUtils.isNotBlank(oilNo)) {
+ return ResponseMsgUtil.success(list.stream().filter(o -> o.getOilNo().equals(oilNo)).collect(Collectors.toList()));
+ }
+
+ return ResponseMsgUtil.success(list);
+
+ } catch (Exception e) {
+ log.error("BsGasOilGunNoController --> queryGunNoList() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+
+}
diff --git a/bweb/src/main/java/com/bweb/controller/BsGasOilPriceController.java b/bweb/src/main/java/com/bweb/controller/BsGasOilPriceController.java
new file mode 100644
index 0000000..be1c2bc
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/BsGasOilPriceController.java
@@ -0,0 +1,251 @@
+package com.bweb.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.entity.*;
+import com.hfkj.model.ResponseData;
+import com.hfkj.model.UserInfoModel;
+import com.hfkj.service.BsGasOilPriceService;
+import com.hfkj.service.BsMerchantService;
+import com.hfkj.service.CommonService;
+import com.hfkj.sysenum.GasOilPriceStatusEnum;
+import com.hfkj.sysenum.SecUserObjectTypeEnum;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value = "/gasOilPrice")
+@Api(value = "加油站价格")
+public class BsGasOilPriceController {
+ private static Logger log = LoggerFactory.getLogger(BsGasOilPriceController.class);
+
+ @Resource
+ private BsGasOilPriceService gasOilPriceService;
+ @Resource
+ private BsMerchantService merchantService;
+ @Resource
+ private UserCenter userCenter;
+ @Resource
+ private CommonService commonService;
+
+ @RequestMapping(value = "/createOil", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "创建油品")
+ public ResponseData createOil(@RequestBody BsGasOilPrice body) {
+ try {
+
+ UserInfoModel userInfoModel = userCenter.getSessionModel(UserInfoModel.class);
+ if (userInfoModel == null || !userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type4.getNumber())) {
+ log.error("BsGasOilPriceController --> createOil() error!", "用户身份错误或已过期");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.SEC_USER_EXPIRED, "");
+ }
+
+ if (body == null
+ || body.getMerNo() == null
+ || StringUtils.isBlank(body.getOilNo())
+ || body.getPriceOfficial() == null
+ || body.getGasStationDrop() == null){
+ log.error("BsGasOilPriceController --> createOil() error!", "参数错误");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ // 查询商户
+ BsMerchant merchant = merchantService.getMerchant(body.getMerNo());
+ if (merchant == null) {
+ log.error("BsGasOilPriceController --> createOil() error!", "未知的商户");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+ }
+ if (!merchant.getId().equals(userInfoModel.getMerchant().getId())) {
+ log.error("BsGasOilPriceController --> createOil() error!", "权限不足");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMPETENCE_INSUFFICIENT, "");
+ }
+ // 是否重复添加商户油品
+ if (gasOilPriceService.getGasOilPrice(merchant.getId(), body.getOilNo()) != null) {
+ log.error("BsGasOilPriceController --> createOil() error!", "重复添加" + body.getOilNo() + "油品");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "重复添加" + body.getOilNo() + "油品");
+ }
+ // 获取油品信息
+ SecDictionary oilNo = commonService.mappingSysCode("OIL_NO", body.getOilNo());
+ if (oilNo == null) {
+ log.error("BsGasOilPriceController --> createOil() error!", "油品不存在");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "油品不存在");
+ }
+ // 获取油品类型
+ SecDictionary oilNoType = commonService.mappingSysCode("OIL_NO_TYPE", oilNo.getExt1());
+ if (oilNoType == null) {
+ log.error("BsGasOilPriceController --> createOil() error!", "未知的的油品类型");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的的油品类型");
+ }
+
+ BsGasOilPrice oilPrice = new BsGasOilPrice();
+ oilPrice.setMerId(merchant.getId());
+ oilPrice.setMerNo(merchant.getMerNo());
+ oilPrice.setOilType(Integer.valueOf(oilNoType.getCodeValue()));
+ oilPrice.setOilTypeName(oilNoType.getCodeName());
+ oilPrice.setOilNo(oilNo.getCodeValue());
+ oilPrice.setOilNoName(oilNo.getCodeName());
+ oilPrice.setPreferentialMargin(new BigDecimal("0"));
+ oilPrice.setGasStationDrop(body.getGasStationDrop());
+ oilPrice.setPriceOfficial(body.getPriceOfficial());
+ oilPrice.setPriceGun(oilPrice.getPriceOfficial().subtract(body.getGasStationDrop()));
+ oilPrice.setPriceVip(oilPrice.getPriceGun());
+ oilPrice.setStatus(GasOilPriceStatusEnum.status1.getNumber());
+ gasOilPriceService.editOilPrice(oilPrice);
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsGasOilPriceController --> createOil() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/restore", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "恢复")
+ public ResponseData restore(@RequestBody JSONObject body) {
+ try {
+ if (body == null
+ || StringUtils.isBlank(body.getString("merNo"))
+ || StringUtils.isBlank(body.getString("oilNo"))) {
+ log.error("BsMerchantController --> restoreMer() error!", "请求参数校验失败");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ // 查询商户
+ BsMerchant merchant = merchantService.getMerchant(body.getString("merNo"));
+ if (merchant == null) {
+ log.error("BsGasOilPriceController --> restoreOil() error!", "未知的商户");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+ }
+ BsGasOilPrice oilPrice = gasOilPriceService.getGasOilPrice(merchant.getId(), body.getString("oilNo"));
+ if (oilPrice == null) {
+ log.error("BsGasOilPriceController --> restoreOil() error!", "未知的油品");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的油品");
+ }
+ oilPrice.setStatus(GasOilPriceStatusEnum.status1.getNumber());
+ gasOilPriceService.editOilPrice(oilPrice);
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsMerchantController --> restoreMer() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/disable", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "禁用油品")
+ public ResponseData disable(@RequestBody JSONObject body) {
+ try {
+ if (body == null
+ || StringUtils.isBlank(body.getString("merNo"))
+ || StringUtils.isBlank(body.getString("oilNo"))) {
+ log.error("BsMerchantController --> disableOil() error!", "请求参数校验失败");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ // 查询商户
+ BsMerchant merchant = merchantService.getMerchant(body.getString("merNo"));
+ if (merchant == null) {
+ log.error("BsGasOilPriceController --> disableOil() error!", "未知的商户");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+ }
+ BsGasOilPrice oilPrice = gasOilPriceService.getGasOilPrice(merchant.getId(), body.getString("oilNo"));
+ if (oilPrice == null) {
+ log.error("BsGasOilPriceController --> disableOil() error!", "未知的油品");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的油品");
+ }
+ oilPrice.setStatus(GasOilPriceStatusEnum.status2.getNumber());
+ gasOilPriceService.editOilPrice(oilPrice);
+
+ return ResponseMsgUtil.success("操作成功");
+ } catch (Exception e) {
+ log.error("BsMerchantController --> disableOil() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/delete", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "删除油品")
+ public ResponseData delete(@RequestBody JSONObject body) {
+ try {
+ if (body == null
+ || StringUtils.isBlank(body.getString("merNo"))
+ || StringUtils.isBlank(body.getString("oilNo"))) {
+ log.error("BsMerchantController --> disableOil() error!", "请求参数校验失败");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ // 查询商户
+ BsMerchant merchant = merchantService.getMerchant(body.getString("merNo"));
+ if (merchant == null) {
+ log.error("BsGasOilPriceController --> disableOil() error!", "未知的商户");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户");
+ }
+ BsGasOilPrice oilPrice = gasOilPriceService.getGasOilPrice(merchant.getId(), body.getString("oilNo"));
+ if (oilPrice == null) {
+ log.error("BsGasOilPriceController --> disableOil() error!", "未知的油品");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的油品");
+ }
+ gasOilPriceService.delete(oilPrice);
+
+ return ResponseMsgUtil.success("操作成功");
+ } catch (Exception e) {
+ log.error("BsMerchantController --> disableOil() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/queryOilDetail", method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询油品详情")
+ public ResponseData queryOilDetail(@RequestParam(value = "oilId", required = true) Long oilId) {
+ try {
+
+ return ResponseMsgUtil.success(gasOilPriceService.getGasOilPrice(oilId));
+
+ } catch (Exception e) {
+ log.error("BsMerchantController --> queryOilDetail() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/queryOilList", method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询油品列表")
+ public ResponseData queryOilList(@RequestParam(value = "merNo", required = true) String merNo,
+ @RequestParam(value = "oilNo", required = false) String oilNo,
+ @RequestParam(value = "pageNum", required = true) Integer pageNum,
+ @RequestParam(value = "pageSize", required = true) Integer pageSize) {
+ try {
+ Map map = new HashMap<>();
+ map.put("merNo", merNo);
+ map.put("oilNo", oilNo);
+
+ PageHelper.startPage(pageNum,pageSize);
+ return ResponseMsgUtil.success(new PageInfo<>(gasOilPriceService.getGasOilPriceList(map)));
+
+ } catch (Exception e) {
+ log.error("BsMerchantController --> queryOilList() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+
+}
diff --git a/bweb/src/main/java/com/bweb/controller/BsGasOilPriceTaskController.java b/bweb/src/main/java/com/bweb/controller/BsGasOilPriceTaskController.java
new file mode 100644
index 0000000..1b903ce
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/BsGasOilPriceTaskController.java
@@ -0,0 +1,269 @@
+package com.bweb.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.entity.BsGasOilPriceTask;
+import com.hfkj.entity.BsMerchant;
+import com.hfkj.entity.SecDictionary;
+import com.hfkj.entity.SecRegion;
+import com.hfkj.model.ResponseData;
+import com.hfkj.model.UserInfoModel;
+import com.hfkj.service.BsAgentService;
+import com.hfkj.service.BsGasOilPriceTaskService;
+import com.hfkj.service.BsMerchantService;
+import com.hfkj.service.CommonService;
+import com.hfkj.sysenum.GasOilPriceTaskExecutionTypeEnum;
+import com.hfkj.sysenum.GasTaskPriceTypeEnum;
+import com.hfkj.sysenum.SecUserObjectTypeEnum;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping(value = "/gasOilPriceTask")
+@Api(value = "油品价格配置")
+public class BsGasOilPriceTaskController {
+
+ private static Logger log = LoggerFactory.getLogger(BsGasOilPriceTaskController.class);
+
+ @Resource
+ private BsGasOilPriceTaskService gasOilPriceTaskService;
+ @Resource
+ private BsMerchantService merchantService;
+ @Resource
+ private UserCenter userCenter;
+ @Resource
+ private CommonService commonService;
+
+ @RequestMapping(value="/batchAddTask",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "批量增加任务")
+ public ResponseData batchAddTask(@RequestBody List taskList) {
+ try {
+ UserInfoModel userInfoModel = userCenter.getSessionModel(UserInfoModel.class);
+ if (userInfoModel == null) {
+ log.error("BsGasOilPriceTaskController -> batchAddTask() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMPETENCE_INSUFFICIENT, "");
+ }
+ if (taskList == null || taskList.size() == 0) {
+ log.error("BsGasOilPriceTaskController -> batchAddTask() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ for (BsGasOilPriceTask task : taskList) {
+ if (task.getPriceType() == null
+ || task.getPrice() == null
+ || task.getOilNo() == null
+ || task.getExecutionType() == null) {
+ log.error("BsGasOilPriceTaskController -> batchAddTask() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ // 执行方式 1. 立刻执行 2. 定时执行
+ if (task.getExecutionType().equals(GasOilPriceTaskExecutionTypeEnum.type2.getNumber()) && task.getStartTime() == null) {
+ log.error("BsGasOilPriceTaskController -> batchAddTask() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未配置执行时间");
+ }
+
+ // 价格类型 1. 国标价 2. 油站价 3. 平台优惠 4. 油站直降
+ if (task.getPriceType().equals(GasTaskPriceTypeEnum.type1.getStatus())) {
+ if (task.getRegionId() == null) {
+ log.error("HighGasDiscountOilPriceController -> updateOilPriceOfficial() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未配置区域");
+ }
+ // 加油站
+ SecRegion region = commonService.getRegionsById(task.getRegionId());
+ if (region == null) {
+ log.error("HighGasDiscountOilPriceController -> updateOilPriceOfficial() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到区域");
+ }
+ task.setRegionId(region.getRegionId());
+ task.setRegionName(region.getRegionName());
+ }
+
+ // 价格类型 1. 国标价 2. 油站价 3. 平台优惠 4. 油站直降
+ if (task.getPriceType().equals(GasTaskPriceTypeEnum.type2.getStatus())
+ || task.getPriceType().equals(GasTaskPriceTypeEnum.type3.getStatus())
+ || task.getPriceType().equals(GasTaskPriceTypeEnum.type4.getStatus()) ) {
+
+ if (StringUtils.isBlank(task.getMerNo())) {
+ log.error("HighGasDiscountOilPriceController -> updateOilPriceOfficial() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未配置加油站");
+ }
+ // 加油站
+ BsMerchant merchant = merchantService.getMerchant(task.getMerNo());
+ if (merchant == null) {
+ log.error("HighGasDiscountOilPriceController -> updateOilPriceOfficial() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到加油站");
+ }
+ task.setRegionId(merchant.getProvinceCode());
+ task.setRegionName(merchant.getProvinceName());
+ task.setMerId(merchant.getId());
+ task.setMerNo(merchant.getMerNo());
+ task.setMerName(merchant.getMerName());
+ task.setMerAddress(merchant.getAddress());
+ }
+ // 查询油品
+ SecDictionary oil = commonService.mappingSysCode("OIL_NO", task.getOilNo().toString());
+ if (oil == null) {
+ log.error("HighGasDiscountOilPriceController -> updateOilPriceOfficial() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ // 查询油品
+ SecDictionary oilNoType = commonService.mappingSysCode("OIL_NO_TYPE", ""+oil.getExt1());
+ if (oilNoType == null) {
+ log.error("HighGasDiscountOilPriceController -> updateOilPriceOfficial() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+ task.setOilType(Integer.valueOf(oilNoType.getCodeValue()));
+ task.setOilTypeName(oilNoType.getCodeName());
+ task.setOilNoName(oil.getCodeName());
+ task.setOpUserId(userInfoModel.getSecUser().getId());
+ task.setOpUserName(userInfoModel.getSecUser().getUserName());
+
+ if (task.getOilPriceZoneId() != null) {
+ // 查询价区
+ SecDictionary oilPriceZone = commonService.mappingSysCode("OIL_PRICE_ZONE", "" + task.getOilPriceZoneId());
+ if (oilPriceZone != null) {
+ task.setOilPriceZoneId(Integer.valueOf(oilPriceZone.getCodeValue()));
+ task.setOilPriceZoneName(oilPriceZone.getCodeName());
+ }
+ }
+ }
+
+ gasOilPriceTaskService.batchAddTask(taskList);
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("HighGasOilPriceTaskController -> addTask() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/delTask",method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "删除任务")
+ public ResponseData delTask(@RequestBody JSONObject body) {
+ try {
+ if (body.getLong("taskId") == null) {
+ log.error("HighGasOilPriceTaskController -> delTask() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ gasOilPriceTaskService.delTask(body.getLong("taskId"));
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("HighGasOilPriceTaskController -> delTask() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/getTaskDetail",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询任务详情")
+ public ResponseData getTaskDetail(@RequestParam(name = "taskId", required = true) Long taskId) {
+ try {
+
+ return ResponseMsgUtil.success(gasOilPriceTaskService.getDetailById(taskId));
+
+ } catch (Exception e) {
+ log.error("HighGasOilPriceTaskController -> getTaskDetail() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value="/getTaskList",method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询任务列表")
+ public ResponseData getTaskList(@RequestParam(name = "regionId", required = false) Long regionId,
+ @RequestParam(name = "regionName", required = false) String regionName,
+ @RequestParam(name = "merId", required = false) Long merId,
+ @RequestParam(name = "merNo", required = false) String merNo,
+ @RequestParam(name = "merName", required = false) String merName,
+ @RequestParam(name = "oilType", required = false) Integer oilType,
+ @RequestParam(name = "oilNo", required = false) Integer oilNo,
+ @RequestParam(name = "priceType", required = false) Integer priceType,
+ @RequestParam(name = "executionType", required = false) Integer executionType,
+ @RequestParam(name = "status", required = false) Integer status,
+ @RequestParam(name = "pageNum", required = true) Integer pageNum,
+ @RequestParam(name = "pageSize", required = true) Integer pageSize) {
+ try {
+ UserInfoModel userInfoModel = userCenter.getSessionModel(UserInfoModel.class);
+ if (userInfoModel == null) {
+ log.error("HighGasController -> disabledOil() error!","");
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMPETENCE_INSUFFICIENT, "");
+ }
+
+ Map param = new HashMap<>();
+ param.put("regionId", regionId);
+ param.put("regionName", regionName);
+ param.put("merId", merId);
+ param.put("merNo", merNo);
+ param.put("merName", merName);
+
+ if (userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type0.getNumber())
+ || userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type1.getNumber())) {
+
+ } else if (userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type2.getNumber())) {
+ param.put("regionId", userInfoModel.getBsCompany().getRegionId());
+
+ } else if (userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type3.getNumber())) {
+ if (merId == null) {
+ Map merParam = new HashMap<>();
+ merParam.put("agentId", userInfoModel.getAgent().getId());
+ // 查询代理商下的商户
+ List merchantList = merchantService.getMerchantList(merParam);
+ String merNoListStr = "";
+ if (merchantList.size() > 0) {
+ for (BsMerchant merchant : merchantList) {
+ if (StringUtils.isBlank(merNoListStr)) {
+ merNoListStr += merchant.getMerNo();
+ } else {
+ merNoListStr += ","+merchant.getMerNo();
+ }
+ }
+ param.put("merNoList", merNoListStr);
+ } else {
+ // 代理商没有商户 直接返回空数据
+ return ResponseMsgUtil.success(new PageInfo<>(new ArrayList<>()));
+ }
+ } else {
+ param.put("merId", merId);
+ }
+ } else if (userInfoModel.getSecUser().getObjectType().equals(SecUserObjectTypeEnum.type4.getNumber())) {
+ param.put("merId", userInfoModel.getMerchant().getId());
+ }
+ param.put("oilType", oilType);
+ param.put("oilNo", oilNo);
+ param.put("priceType", priceType);
+ param.put("executionType", executionType);
+ param.put("status", status);
+
+ PageHelper.startPage(pageNum,pageSize);
+ return ResponseMsgUtil.success(new PageInfo<>(gasOilPriceTaskService.getTaskList(param)));
+
+ } catch (Exception e) {
+ log.error("HighGasOilPriceTaskController -> getTaskList() error!",e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+}
diff --git a/bweb/src/main/java/com/bweb/controller/BsMerchantController.java b/bweb/src/main/java/com/bweb/controller/BsMerchantController.java
new file mode 100644
index 0000000..59e8e7f
--- /dev/null
+++ b/bweb/src/main/java/com/bweb/controller/BsMerchantController.java
@@ -0,0 +1,250 @@
+package com.bweb.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.hfkj.common.exception.ErrorCode;
+import com.hfkj.common.exception.ErrorHelp;
+import com.hfkj.common.exception.SysCode;
+import com.hfkj.common.security.UserCenter;
+import com.hfkj.common.utils.ResponseMsgUtil;
+import com.hfkj.entity.*;
+import com.hfkj.model.ResponseData;
+import com.hfkj.model.UserInfoModel;
+import com.hfkj.service.*;
+import com.hfkj.sysenum.MerchantStatusEnum;
+import com.hfkj.sysenum.SecUserObjectTypeEnum;
+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.stereotype.Controller;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Controller
+@RequestMapping(value = "/merchant")
+@Api(value = "商户管理")
+public class BsMerchantController {
+ private static Logger log = LoggerFactory.getLogger(BsMerchantController.class);
+
+ @Resource
+ private BsMerchantService merchantService;
+ @Resource
+ private BsGasOilPriceService gasOilPriceService;
+ @Resource
+ private BsGasOilGunNoService gasOilGunNoService;
+ @Resource
+ private UserCenter userCenter;
+ @Resource
+ private CommonService commonService;
+
+ @RequestMapping(value = "/editMerchant", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "编辑商户")
+ public ResponseData editMerchant(@RequestBody BsMerchant body) {
+ try {
+ if (body == null
+ || body.getAreaCode() == null
+ || StringUtils.isBlank(body.getMerLogo())
+ || StringUtils.isBlank(body.getMerName())
+ || StringUtils.isBlank(body.getContactsName())
+ || StringUtils.isBlank(body.getContactsTel())
+ || StringUtils.isBlank(body.getCustomerServiceTel())
+ || StringUtils.isBlank(body.getAddress())
+ || StringUtils.isBlank(body.getLongitude())
+ || StringUtils.isBlank(body.getLatitude())
+ || StringUtils.isBlank(body.getMerLabel())
+ ) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ BsMerchant merchant = null;
+ if (StringUtils.isNotBlank(body.getMerNo())) {
+ // 查询商户
+ merchant = merchantService.getMerchant(body.getMerNo());
+ if (merchant == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "未知商户");
+ }
+ } else {
+ merchant = new BsMerchant();
+ merchant.setStatus(MerchantStatusEnum.status1.getNumber());
+ }
+
+ if (body.getOilPriceZoneId() != null) {
+ // 查询价区
+ SecDictionary oilPriceZone = commonService.mappingSysCode("OIL_PRICE_ZONE", body.getOilPriceZoneId().toString());
+ if (oilPriceZone == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的价区");
+ }
+ merchant.setOilPriceZoneId(Integer.valueOf(oilPriceZone.getCodeValue()));
+ merchant.setOilPriceZoneName(oilPriceZone.getCodeName());
+ }
+ // 查询区域
+ SecRegion areaRegion = commonService.getRegionsById(body.getAreaCode());
+ if (areaRegion == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知地区");
+ }
+ // 查询市
+ SecRegion cityRegion = commonService.getRegionsById(areaRegion.getParentId());
+ if (cityRegion == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的市级");
+ }
+ // 查询省
+ SecRegion provinceRegion = commonService.getRegionsById(cityRegion.getParentId());
+ if (provinceRegion == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的省级");
+ }
+
+ merchant.setProvinceCode(provinceRegion.getRegionId());
+ merchant.setProvinceName(provinceRegion.getRegionName());
+ merchant.setCityCode(cityRegion.getRegionId());
+ merchant.setCityName(cityRegion.getRegionName());
+ merchant.setAreaCode(areaRegion.getRegionId());
+ merchant.setAreaName(areaRegion.getRegionName());
+ merchant.setMerLogo(body.getMerLogo());
+ merchant.setMerName(body.getMerName());
+ merchant.setContactsName(body.getContactsName());
+ merchant.setContactsTel(body.getContactsTel());
+ merchant.setCustomerServiceTel(body.getCustomerServiceTel());
+ merchant.setAddress(body.getAddress());
+ merchant.setLatitude(body.getLatitude());
+ merchant.setLongitude(body.getLongitude());
+ merchant.setMerLabel(body.getMerLabel());
+
+ if (merchant.getMerNo() == null) {
+ merchantService.createMerchant(merchant);
+ } else {
+ merchantService.updateMerchant(merchant);
+ }
+
+ return ResponseMsgUtil.success("操作成功");
+
+ } catch (Exception e) {
+ log.error("BsMerchantController --> editMerchant() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/restoreMer", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "恢复商户")
+ public ResponseData restoreMer(@RequestBody JSONObject body) {
+ try {
+ if (body == null || StringUtils.isBlank(body.getString("merNo"))) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ merchantService.updateMerStatus(body.getString("merNo"), MerchantStatusEnum.status1);
+
+ return ResponseMsgUtil.success("操作成功");
+ } catch (Exception e) {
+ log.error("BsMerchantController --> restoreMer() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/disableMer", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "禁用商户")
+ public ResponseData disableMer(@RequestBody JSONObject body) {
+ try {
+ if (body == null || StringUtils.isBlank(body.getString("merNo"))) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ merchantService.updateMerStatus(body.getString("merNo"), MerchantStatusEnum.status2);
+
+ return ResponseMsgUtil.success("操作成功");
+ } catch (Exception e) {
+ log.error("BsMerchantController --> disableMer() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/resetMerPwd", method = RequestMethod.POST)
+ @ResponseBody
+ @ApiOperation(value = "重置商户密码")
+ public ResponseData resetMerPwd(@RequestBody JSONObject body) {
+ try {
+ if (body == null || StringUtils.isBlank(body.getString("merNo"))) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, "");
+ }
+
+ merchantService.resetMerPwd(body.getString("merNo"));
+
+ return ResponseMsgUtil.success("操作成功");
+ } catch (Exception e) {
+ log.error("BsMerchantController --> resetMerPwd() error!", e);
+ return ResponseMsgUtil.exception(e);
+ }
+ }
+
+ @RequestMapping(value = "/queryMerDetail", method = RequestMethod.GET)
+ @ResponseBody
+ @ApiOperation(value = "查询商户详情")
+ public ResponseData queryMerDetail(@RequestParam(value = "merNo", required = true) String merNo) {
+ try {
+ // 查询商户
+ BsMerchant merchant = merchantService.getMerchant(merNo);
+ if (merchant == null) {
+ throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知的商户号");
+ }
+
+ Map param = new HashMap<>();
+ param.put("merNo", merNo);
+ // 查询油品
+ List priceList = gasOilPriceService.getGasOilPriceList(param);
+ // 查询枪号
+ List oilGunNoList = gasOilGunNoService.getOilGunNoList(merNo);
+
+ // 获取枪号
+ List