| | |
| | | package cc.mrbird.febs.mall.controller; |
| | | |
| | | import cc.mrbird.febs.common.annotation.ControllerEndpoint; |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; |
| | | import cc.mrbird.febs.mall.dto.AdminAgentAmountDto; |
| | | import cc.mrbird.febs.mall.dto.AdminAgentDetailDto; |
| | | import cc.mrbird.febs.mall.dto.CashOutSettingDto; |
| | | import cc.mrbird.febs.mall.dto.*; |
| | | import cc.mrbird.febs.mall.entity.DataDictionaryCustom; |
| | | import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper; |
| | | import cc.mrbird.febs.mall.service.ICommonService; |
| | | import cc.mrbird.febs.mall.service.ISystemService; |
| | | import cc.mrbird.febs.pay.model.HeaderDto; |
| | | import cc.mrbird.febs.pay.service.WxFaPiaoService; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.httpclient.HttpClient; |
| | | import org.apache.commons.httpclient.methods.PostMethod; |
| | | import org.apache.commons.httpclient.methods.RequestEntity; |
| | | import org.apache.commons.httpclient.methods.StringRequestEntity; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | | import java.security.KeyPair; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Slf4j |
| | |
| | | |
| | | private final ICommonService commonService; |
| | | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | private final WxFaPiaoService wxFaPiaoService; |
| | | |
| | | @PostMapping(value = "/bonusSystemSetting") |
| | | public FebsResponse bonusSystemSetting(@RequestBody Map<String, Object> map) { |
| | |
| | | DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.PRICE_AMOUNT.getType(), DataDictionaryEnum.PRICE_AMOUNT.getCode() |
| | | ); |
| | | |
| | | if(ObjectUtil.isEmpty(dic)){ |
| | | return new FebsResponse().fail().message("请刷新页面重试"); |
| | | } |
| | | |
| | | DataDictionaryCustom giveStateDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.GIVE_STATE.getType(), |
| | | DataDictionaryEnum.GIVE_STATE.getCode()); |
| | | if(ObjectUtil.isEmpty(giveStateDic)){ |
| | | return new FebsResponse().fail().message("请刷新页面重试"); |
| | | } |
| | | |
| | | DataDictionaryCustom activityBulletinDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.ACTIVITY_BULLETIN.getType(), |
| | | DataDictionaryEnum.ACTIVITY_BULLETIN.getCode()); |
| | | if(ObjectUtil.isEmpty(activityBulletinDic)){ |
| | | return new FebsResponse().fail().message("请刷新页面重试"); |
| | | } |
| | | |
| | | DataDictionaryCustom giveAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.GIVE_AMOUNT.getType(), |
| | | DataDictionaryEnum.GIVE_AMOUNT.getCode()); |
| | | if(ObjectUtil.isEmpty(giveAmountDic)){ |
| | | return new FebsResponse().fail().message("请刷新页面重试"); |
| | | } |
| | | |
| | | DataDictionaryCustom chargeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CHARGE_AMOUNT.getType(), |
| | | DataDictionaryEnum.CHARGE_AMOUNT.getCode()); |
| | | if(ObjectUtil.isEmpty(chargeAmountDic)){ |
| | | return new FebsResponse().fail().message("请刷新页面重试"); |
| | | } |
| | | |
| | | String giveState = adminAgentAmountDto.getGiveState(); |
| | | if(1 == Integer.parseInt(giveState)){ |
| | | if(ObjectUtil.isEmpty(adminAgentAmountDto.getActivityBulletin())){ |
| | | return new FebsResponse().fail().message("活动公告不能为空"); |
| | | } |
| | | if(ObjectUtil.isEmpty(adminAgentAmountDto.getGiveAmount())){ |
| | | return new FebsResponse().fail().message("请输入正确的赠送金额"); |
| | | } |
| | | if(BigDecimal.ZERO.compareTo(new BigDecimal(adminAgentAmountDto.getGiveAmount())) > 0){ |
| | | return new FebsResponse().fail().message("请输入正确的赠送金额"); |
| | | } |
| | | if(ObjectUtil.isEmpty(adminAgentAmountDto.getChargeAmount())){ |
| | | return new FebsResponse().fail().message("请输入正确的充值金额"); |
| | | } |
| | | if(BigDecimal.ZERO.compareTo(new BigDecimal(adminAgentAmountDto.getChargeAmount())) > 0){ |
| | | return new FebsResponse().fail().message("请输入正确的充值金额"); |
| | | } |
| | | } |
| | | |
| | | dic.setValue(adminAgentAmountDto.getAgentAmountValue()); |
| | | dataDictionaryCustomMapper.updateById(dic); |
| | | return new FebsResponse().success(); |
| | | |
| | | giveStateDic.setValue(adminAgentAmountDto.getGiveState()); |
| | | dataDictionaryCustomMapper.updateById(giveStateDic); |
| | | |
| | | activityBulletinDic.setValue(adminAgentAmountDto.getActivityBulletin()); |
| | | dataDictionaryCustomMapper.updateById(activityBulletinDic); |
| | | |
| | | giveAmountDic.setValue(adminAgentAmountDto.getGiveAmount()); |
| | | dataDictionaryCustomMapper.updateById(giveAmountDic); |
| | | |
| | | chargeAmountDic.setValue(adminAgentAmountDto.getChargeAmount()); |
| | | dataDictionaryCustomMapper.updateById(chargeAmountDic); |
| | | |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @PostMapping(value = "/faPiaoSet") |
| | | public FebsResponse faPiaoSet(FaPiaoDto faPiaoDto) { |
| | | dataDictionaryCustomMapper.updateDicValueByTypeAndCode( |
| | | DataDictionaryEnum.FP_CALLBACK_URL.getType(), |
| | | DataDictionaryEnum.FP_CALLBACK_URL.getCode(), |
| | | faPiaoDto.getCallbackUrl() |
| | | ); |
| | | KeyPair privateKey = wxFaPiaoService.getPrivateKey(); |
| | | HeaderDto headerDto = new HeaderDto(); |
| | | headerDto.setCallback_url(faPiaoDto.getCallbackUrl()); |
| | | headerDto.setShow_fapiao_cell(false); |
| | | String parseObj = JSONUtil.parseObj(headerDto).toString(); |
| | | String baseUrl = "https://api.mch.weixin.qq.com"; |
| | | String canonicalUrl = "/v3/new-tax-control-fapiao/merchant/development-config"; |
| | | String postStr = wxFaPiaoService.createAuthorization( |
| | | "POST", |
| | | canonicalUrl, |
| | | parseObj, |
| | | privateKey |
| | | ); |
| | | // 创建httppost |
| | | try { |
| | | HttpClient httpClient = new HttpClient(); |
| | | PostMethod post = new PostMethod(baseUrl+canonicalUrl); |
| | | post.setRequestHeader("Accept", "application/json"); |
| | | post.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"); |
| | | post.setRequestHeader("Content-Type", "application/json"); |
| | | post.setRequestHeader("Connection", "keep-alive"); |
| | | post.setRequestHeader("Authorization", "WECHATPAY2-SHA256-RSA2048 "+postStr); |
| | | RequestEntity entity = new StringRequestEntity(parseObj, "text/html", "utf-8"); |
| | | post.setRequestEntity(entity); |
| | | httpClient.executeMethod(post); |
| | | String responseBodyAsString = post.getResponseBodyAsString(); |
| | | cn.hutool.json.JSONObject maps = JSONUtil.parseObj(responseBodyAsString); |
| | | System.out.println(maps); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @PostMapping(value = "/agentDetail") |
| | |
| | | dataDictionaryCustomMapper.updateById(dic); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @PostMapping(value = "/indexVideoSet") |
| | | public FebsResponse indexVideoSet(AdminIndexVideoDto adminIndexVideoDto) { |
| | | DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.VIDEO_URL_INDEX.getType(), |
| | | DataDictionaryEnum.VIDEO_URL_INDEX.getCode() |
| | | ); |
| | | if(ObjectUtil.isEmpty(dic)){ |
| | | return new FebsResponse().fail().message("请刷新页面重试"); |
| | | } |
| | | dic.setValue(adminIndexVideoDto.getVideoUrl()); |
| | | dataDictionaryCustomMapper.updateById(dic); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | // public static void main(String[] args) { |
| | | // List<Integer> lines = Arrays.asList(new Integer[]{1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0}); |
| | | // //数字连续出现的计数 |
| | | // Integer symbol = 0; |
| | | // //数字连续出现的次数限制 |
| | | // Integer times = 3; |
| | | // //出现的数字 |
| | | // Integer symbolNum = 1; |
| | | // //满足规则的次数 |
| | | // Integer timesOneSign = 0; |
| | | // for(int i=0;i<lines.size();i++){ |
| | | // if(symbolNum == lines.get(i)){ |
| | | // symbol = symbol + 1; |
| | | // if(symbol >= times){ |
| | | // timesOneSign = timesOneSign + 1; |
| | | // symbol = 0; |
| | | // } |
| | | // }else{ |
| | | // symbol = 0; |
| | | // } |
| | | // } |
| | | // |
| | | // System.out.println(timesOneSign); |
| | | // } |
| | | } |