From ace7066780453a7a70dbaa3700de9a761f38ca87 Mon Sep 17 00:00:00 2001 From: bingbo <bingbo1993@126.com> Date: 星期五, 24 十一月 2023 13:03:58 +0800 Subject: [PATCH] 管片修改时间 --- hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java | 32 ++ hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/agv/controller/NettyServerHandler.java | 1 hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java | 148 +++++++++++++ hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java | 5 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java | 18 + hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/cultivated/entity/PipeCultivated.java | 4 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java | 125 +++++++++++ hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java | 31 ++ hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java | 34 +++ hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDateDto.java | 32 ++ hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioGroup.java | 20 + hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java | 13 + hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeInfo.java | 6 hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java | 41 +++ hd/pipe/common/src/main/java/com/thhy/general/common/BasicStatus.java | 2 hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java | 5 hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java | 11 + hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml | 30 ++ hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml | 82 +++++++ hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeInfoController.java | 13 + 20 files changed, 650 insertions(+), 3 deletions(-) diff --git a/hd/pipe/common/src/main/java/com/thhy/general/common/BasicStatus.java b/hd/pipe/common/src/main/java/com/thhy/general/common/BasicStatus.java index 97f89ef..787511c 100644 --- a/hd/pipe/common/src/main/java/com/thhy/general/common/BasicStatus.java +++ b/hd/pipe/common/src/main/java/com/thhy/general/common/BasicStatus.java @@ -127,6 +127,8 @@ RING_NUM_IS_REPEAT("09934","环号已存在"), RING_NOT_DIS("09935","环号必须为整数,最多5位"), + + RING_NOT_COMPLETE("09936","尚未成环"), ; diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/cultivated/entity/PipeCultivated.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/cultivated/entity/PipeCultivated.java index 7bcce79..d0a16a3 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/cultivated/entity/PipeCultivated.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/cultivated/entity/PipeCultivated.java @@ -60,4 +60,8 @@ private String waterCultivatedId; private String companyId; + + private Integer outWater; + + private Date outTime; } diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeInfoController.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeInfoController.java index debe517..1d490f4 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeInfoController.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/controller/PipeInfoController.java @@ -24,6 +24,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Map; /** * @author zhang_xiao_bo @@ -126,4 +127,16 @@ return BasicResult.success(); } + @RequestMapping("updateDateInfo") + public BasicResult updateDateInfo(@RequestBody PipeInfo pipeInfo){ + Map<String, Object> map = pipeInfoService.updateDateInfo(pipeInfo); + return BasicResult.success(map); + } + + @RequestMapping("updatePipeDate") + public BasicResult updatePipeDate(@RequestBody PipeDateDto pipeDateDto){ + pipeInfoService.updatePipeDate(pipeDateDto); + return BasicResult.success(); + } + } diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDateDto.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDateDto.java new file mode 100644 index 0000000..54fcaff --- /dev/null +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeDateDto.java @@ -0,0 +1,32 @@ +package com.thhy.mobile.modules.biz.pipeinfo.entity; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +@Data +public class PipeDateDto implements Serializable { + + private String pipeNum; + + private String ringNum; + + private Date inModTime; + + private Date outModTime; + + private Date pouringTime; + + private Date placingInTime; + + private Date placingOutTime; + + private Date checkTime; + + private Date inWaterTime; + + private Date outWaterTime; + + private Date inRepoTime; +} diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeInfo.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeInfo.java index bfaa2ec..e06687b 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeInfo.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/entity/PipeInfo.java @@ -124,6 +124,12 @@ private Integer createFlag; + private Date outModTime; + + private Date placingInTime; + + private Date placingOutTime; + public PipeInfo() {} public PipeInfo(Mould mould, SteelProduce steelProduce) { diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java index ba122b6..ff68acb 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/mapper/PipeInfoMapper.java @@ -1,12 +1,14 @@ package com.thhy.mobile.modules.biz.pipeinfo.mapper; import com.thhy.mobile.modules.biz.checkhistory.entity.*; +import com.thhy.mobile.modules.biz.cultivated.entity.PipeCultivated; import com.thhy.mobile.modules.biz.cultivated.entity.PipeIntoListVo; import com.thhy.mobile.modules.biz.mouldcheck.entity.Mould; import com.thhy.mobile.modules.biz.mouldcheck.entity.MouldFree; import com.thhy.mobile.modules.biz.mouldcheck.entity.RingCompleteCheck; import com.thhy.mobile.modules.biz.pipecheckrecord.entity.MaterialStockRecord; import com.thhy.mobile.modules.biz.pipeinfo.entity.*; +import com.thhy.mobile.modules.biz.repo.entity.RepoRecord; import com.thhy.mobile.modules.biz.steelproduce.entity.ProduceDto; import com.thhy.mobile.modules.biz.steelproduce.entity.ProduceMonthVo; import com.thhy.mobile.modules.biz.temdevice.entity.DeviceInfo; @@ -151,4 +153,20 @@ int queryMaxNumBySteelProduce(); int countByRingNum(String ringNum); + + Boolean compelteByRingNumAndPro(@Param("ringNum")String ringNum,@Param("proId")String proId); + + List<PipeIntoListVo> queryByRingNumAndPro(@Param("ringNum") String ringNum,@Param("proId") String proId); + + PipeCultivated queryWaterTimeByPipeNum(String pipeNum); + + RepoRecord queryRepoDate(String pipeNum); + + void updatePipeDateByNum(PipeDateDto pipeDateDto); + + void updateInWaterTime(PipeCultivated pipeCultivated); + + void updateOutWaterTime(PipeCultivated pipeCultivated); + + void updateInRepoTime(RepoRecord repoRecord); } diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java index a435a25..9cc442a 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/PipeInfoService.java @@ -7,6 +7,7 @@ import java.io.Serializable; import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 服务类 @@ -54,4 +55,8 @@ List<MaterialInfo> materialTotalStock(String companyId); void updateRingNum(PipeInfo pipeInfo); + + Map<String,Object> updateDateInfo(PipeInfo pipeInfo); + + void updatePipeDate(PipeDateDto pipeDateDto); } diff --git a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java index caaa054..19d0ea5 100644 --- a/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java +++ b/hd/pipe/mobile/src/main/java/com/thhy/mobile/modules/biz/pipeinfo/service/impl/PipeInfoServiceImpl.java @@ -4,12 +4,16 @@ import com.thhy.general.common.BasicStatus; import com.thhy.general.config.SysUserInfo; import com.thhy.general.exception.BasicException; +import com.thhy.general.utils.DeepCopyUtils; import com.thhy.general.utils.UserInfoUtils; +import com.thhy.mobile.modules.biz.cultivated.entity.PipeCultivated; +import com.thhy.mobile.modules.biz.cultivated.entity.PipeIntoListVo; import com.thhy.mobile.modules.biz.pipecheckrecord.entity.PipeCheckRecord; import com.thhy.mobile.modules.biz.pipecheckrecord.mapper.PipeCheckRecordMapper; import com.thhy.mobile.modules.biz.pipeinfo.entity.*; import com.thhy.mobile.modules.biz.pipeinfo.mapper.PipeInfoMapper; import com.thhy.mobile.modules.biz.pipeinfo.service.PipeInfoService; +import com.thhy.mobile.modules.biz.repo.entity.RepoRecord; import com.thhy.mobile.modules.biz.steelproduce.entity.ProduceDto; import com.thhy.mobile.modules.biz.steelproduce.entity.ProduceMonthVo; import org.springframework.beans.factory.annotation.Autowired; @@ -20,9 +24,7 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.List; +import java.util.*; /** * 服务实现类 @@ -226,4 +228,121 @@ PipeInfo pipeInfo1 = pipeInfoMapper.queryByPipeNum(pipeInfo.getPipeNum()); pipeInfoMapper.updateRingNum(pipeInfo1.getRingNum(), pipeInfo.getRingNum()); } + + @Override + public Map<String, Object> updateDateInfo(PipeInfo pipeInfo) { + Map<String, Object> map = new HashMap<>(); + PipeInfo pinfos = pipeInfoMapper.queryByPipeNum(pipeInfo.getPipeNum()); + + Boolean result = pipeInfoMapper.compelteByRingNumAndPro(pinfos.getRingNum(), pinfos.getProId()); + if(result==null||!result){ + throw new BasicException(BasicStatus.RING_NOT_COMPLETE); + } + List<PipeIntoListVo> intoListVos = pipeInfoMapper.queryByRingNumAndPro(pinfos.getRingNum(),pinfos.getProId()); + + PipeInfo pinfo = pipeInfoMapper.queryByPipeNum(intoListVos.get(0).getPipeNum()); + if(pinfo.getCheckResult().equals(0)){ + //水养 + //PipeCultivated pipeCultivated = pipeInfoMapper.queryWaterTimeByPipeNum(pipeInfo.getPipeNum()); + + } + + map.put("inModTime",pinfo.getIntoModTime()); + map.put("outModTime",pinfo.getOutModTime()); + map.put("placingInTime",pinfo.getPlacingInTime()); + map.put("placingOutTime",pinfo.getPlacingOutTime()); + map.put("pouringTime",pinfo.getPouringTime()); + + map.put("checkTime",pinfo.getCheckTime()); + + PipeCultivated pipeCultivated = pipeInfoMapper.queryWaterTimeByPipeNum(pipeInfo.getPipeNum()); + map.put("inWaterFlag",false); + map.put("OutWaterFlag",false); + map.put("inRepoFlag",false); + if(pipeCultivated!=null){ + map.put("inWaterFlag",true); + map.put("inWaterTime",pipeCultivated.getCreateTime()); + + if(pipeCultivated.getOutWater()==2){ + map.put("OutWaterFlag",true); + map.put("OutWaterTime",pipeCultivated.getOutTime()); + RepoRecord repoRecord = pipeInfoMapper.queryRepoDate(pipeInfo.getPipeNum()); + if(repoRecord!=null){ + map.put("inRepoFlag",true); + map.put("inRepoTime",repoRecord.getCreateTime()); + } + return map; + }else{ + return map; + } + }else{ + return map; + } + } + + @Transactional + @Override + public void updatePipeDate(PipeDateDto pipeDateDto) { + PipeInfo pinfo = pipeInfoMapper.queryByPipeNum(pipeDateDto.getPipeNum()); + + Boolean result = pipeInfoMapper.compelteByRingNumAndPro(pinfo.getRingNum(), pinfo.getProId()); + if(result==null||!result){ + throw new BasicException(BasicStatus.RING_NOT_COMPLETE); + } + List<PipeIntoListVo> intoListVos = pipeInfoMapper.queryByRingNumAndPro(pinfo.getRingNum(),pinfo.getProId()); + + for(int i=0;i<intoListVos.size();i++){ + PipeDateDto pd = createNewDate(pipeDateDto,i); + pd.setPipeNum(intoListVos.get(i).getPipeNum()); + pipeInfoMapper.updatePipeDateByNum(pd); + //入模 + } + PipeCultivated pipeCultivated = pipeInfoMapper.queryWaterTimeByPipeNum(pipeDateDto.getPipeNum()); + if (pipeCultivated!=null) { + pipeCultivated.setCreateTime(pipeDateDto.getInWaterTime()); + pipeInfoMapper.updateInWaterTime(pipeCultivated); + if(pipeCultivated.getOutWater()==2){ + pipeCultivated.setOutTime(pipeDateDto.getOutWaterTime()); + pipeInfoMapper.updateOutWaterTime(pipeCultivated); + } + } + + RepoRecord repoRecord = pipeInfoMapper.queryRepoDate(pipeDateDto.getPipeNum()); + + if (repoRecord!=null) { + repoRecord.setCreateTime(pipeDateDto.getInRepoTime()); + pipeInfoMapper.updateInRepoTime(repoRecord); + } + } + + public PipeDateDto createNewDate(PipeDateDto pipeDateDto,int index){ + PipeDateDto pd = new PipeDateDto(); + if(index==0){ + DeepCopyUtils.copy(pipeDateDto,pd); + }else{ + pd.setInModTime(addMiu(pipeDateDto.getInModTime(),5*index)); + pd.setOutModTime(addMiu(pipeDateDto.getOutModTime(),5*index)); + pd.setPouringTime(addMiu(pipeDateDto.getPouringTime(),5*index)); + pd.setCheckTime(addMiu(pipeDateDto.getCheckTime(),5*index)); + pd.setPlacingInTime(addMiu(pipeDateDto.getPlacingInTime(),5*index)); + pd.setPlacingOutTime(addMiu(pipeDateDto.getPlacingOutTime(),5*index)); + if (pipeDateDto.getInRepoTime()!=null) { + pd.setInRepoTime(addMiu(pipeDateDto.getInRepoTime(),5*index)); + } + if (pipeDateDto.getInWaterTime()!=null) { + pd.setInWaterTime(addMiu(pipeDateDto.getInWaterTime(),5*index)); + } + if (pipeDateDto.getOutWaterTime()!=null) { + pd.setOutWaterTime(addMiu(pipeDateDto.getOutWaterTime(),5*index)); + } + } + return pd; + } + + public Date addMiu(Date oldTime,int amount){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(oldTime); + calendar.add(Calendar.MINUTE,amount); + return calendar.getTime(); + } } diff --git a/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml b/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml index ead721b..442cde4 100644 --- a/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml +++ b/hd/pipe/mobile/src/main/resources/mapping/PipeInfoMapper.xml @@ -840,4 +840,86 @@ <select id="countByRingNum" resultType="int"> select count(pipe_id) from t_pipe_info where ring_num = #{ringNum} </select> + + <select id="compelteByRingNumAndPro" resultType="boolean"> + select (a.pipeBlock=b.proBlock) as result from + ( + select GROUP_CONCAT(block_num order by sd.dict_value) as pipeBlock,tpi.pro_id + from t_pipe_info tpi + left join sys_dict sd on sd.dict_id = tpi.block_num + where tpi.ring_num = #{ringNum} and tpi.pro_id = #{proId} and tpi.check_result = 1 + group by tpi.ring_num,tpi.pro_id + ) a + left join + ( + select GROUP_CONCAT(block_num order by sd1.dict_value) as proBlock,spb.pro_id + from sys_pro_blok spb + left join sys_dict sd1 on sd1.dict_id = spb.block_num + where spb.pro_id = #{proId} + group by spb.pro_id + ) b on a.pro_id = b.pro_id + </select> + + <select id="queryByRingNumAndPro" resultType="com.thhy.mobile.modules.biz.cultivated.entity.PipeIntoListVo"> + select t.ring_num as ringNum,t.pipe_num as pipeNum,t.check_time as checkTime,sd.dict_name as blockNum,sp.pro_name as proName + from t_pipe_info t + left join sys_dict sd on sd.dict_id = t.block_num + left join sys_project sp on sp.pro_id = t.pro_id + where t.ring_num = #{ringNum} and t.pro_id = #{proId} + order by t.pipe_num + </select> + + <select id="queryWaterTimeByPipeNum" resultType="com.thhy.mobile.modules.biz.cultivated.entity.PipeCultivated"> + select pc.id,pc.ring_num as ringNum,pc.create_time as createTime,pc.out_time as outTime,pc.out_water as outWater + from t_pipe_cultivated_pi pcp + left join t_pipe_cultivated pc on pcp.cultivated_id = pc.id + where pipe_num = #{pipeNum} + </select> + + <select id="queryRepoDate" resultType="com.thhy.mobile.modules.biz.repo.entity.RepoRecord"> + select rr.create_time as createTime,rr.record_id as recordId,rrp.out_repo as outRepo,rrp.out_repo_time as outRepoTime + from t_repo_record_pipe rrp + left join t_repo_record rr on rrp.record_id = rr.record_id + where rrp.pipe_num = #{pipeNum} + </select> + + <update id="updatePipeDateByNum"> + update t_pipe_info + <set> + <if test="checkTime != null"> + check_time=#{checkTime}, + </if> + <if test="inModTime != null"> + into_mod_time=#{inModTime}, + </if> + <if test="outModTime != null"> + out_mod_time=#{outModTime}, + </if> + <if test="pouringTime != null"> + pouring_time=#{pouringTime}, + </if> + <if test="placingInTime != null"> + placing_in_time=#{placingInTime}, + </if> + <if test="placingOutTime != null"> + placing_out_time=#{placingOutTime}, + </if> + <if test="inRepoTime != null"> + in_repo_time = #{inRepoTime}, + </if> + </set> + where pipe_num=#{pipeNum} + </update> + + <update id="updateInWaterTime"> + update t_pipe_cultivated set create_time = #{createTime} where id =#{id} + </update> + + <update id="updateOutWaterTime"> + update t_pipe_cultivated set out_time = #{outTime} where id =#{id} + </update> + + <update id="updateInRepoTime"> + update t_repo_record set create_time = #{createTime} where record_id =#{recordId} + </update> </mapper> diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java b/hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java new file mode 100644 index 0000000..bea7377 --- /dev/null +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/config/StartListener.java @@ -0,0 +1,34 @@ +package com.thhy.screen.config; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.nacos.api.utils.StringUtils; +import com.thhy.screen.modules.biz.audio.entity.AudioGroup; +import com.thhy.screen.modules.biz.bigscreen.mapper.BigScreenMapper; +import com.thhy.screen.utils.AudioUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.context.annotation.Configuration; + +import java.util.List; + +@Configuration +public class StartListener implements ApplicationRunner { + + @Autowired + private BigScreenMapper screenMapper; + + @Override + public void run(ApplicationArguments args) throws Exception { + String result = AudioUtils.getGroups(); + if(StringUtils.isEmpty(result)){ + return; + } + JSONObject groupJSON = JSON.parseObject(result); + List<AudioGroup> groupList = JSON.parseArray(groupJSON.getString("Groups"),AudioGroup.class); + for(AudioGroup ag : groupList){ + screenMapper.insertAudioGroup(ag); + } + } +} diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/agv/controller/NettyServerHandler.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/agv/controller/NettyServerHandler.java index 41a590d..d209502 100644 --- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/agv/controller/NettyServerHandler.java +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/agv/controller/NettyServerHandler.java @@ -52,6 +52,7 @@ if(mess.contains("{")){ mess = mess.substring(mess.indexOf("{"),mess.indexOf("}")+1); } + logger.info("服务器处理消息: {}", mess); AgvStateHistory agvStateHistory = JSON.parseObject(mess, AgvStateHistory.class); historyMapper.insert(agvStateHistory); diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java new file mode 100644 index 0000000..86bbbf0 --- /dev/null +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/controller/AudioController.java @@ -0,0 +1,32 @@ +package com.thhy.screen.modules.biz.audio.controller; + +import com.thhy.general.common.BasicResult; +import com.thhy.screen.modules.biz.audio.entity.AudioDto; +import com.thhy.screen.modules.biz.audio.entity.AudioGroup; +import com.thhy.screen.modules.biz.audio.service.AudioService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("audio") +public class AudioController { + + @Autowired + private AudioService audioService; + + @RequestMapping("groups") + public BasicResult groups(){ + List<AudioGroup> groupList = audioService.queryGroups(); + return BasicResult.success(groupList); + } + + @RequestMapping("playMusic") + public BasicResult playMusic(@RequestBody AudioDto AudioDto){ + audioService.playMusic(AudioDto); + return BasicResult.success(); + } +} diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java new file mode 100644 index 0000000..2209ef9 --- /dev/null +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioDto.java @@ -0,0 +1,11 @@ +package com.thhy.screen.modules.biz.audio.entity; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AudioDto implements Serializable { + + private String groupIds; +} diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioGroup.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioGroup.java new file mode 100644 index 0000000..c921e8b --- /dev/null +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/entity/AudioGroup.java @@ -0,0 +1,20 @@ +package com.thhy.screen.modules.biz.audio.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import com.thhy.general.annotations.Idkey; +import lombok.Data; + +import java.io.Serializable; + +@Data +public class AudioGroup implements Serializable { + + @Idkey + private String id; + + @JSONField(name = "ID") + private String groupId; + + @JSONField(name = "Name") + private String groupName; +} diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java new file mode 100644 index 0000000..7b14600 --- /dev/null +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/AudioService.java @@ -0,0 +1,13 @@ +package com.thhy.screen.modules.biz.audio.service; + +import com.thhy.screen.modules.biz.audio.entity.AudioDto; +import com.thhy.screen.modules.biz.audio.entity.AudioGroup; + +import java.util.List; + +public interface AudioService { + + List<AudioGroup> queryGroups(); + + void playMusic(AudioDto audioDto); +} diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java new file mode 100644 index 0000000..e25d27e --- /dev/null +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/audio/service/impl/AudioServiceImpl.java @@ -0,0 +1,31 @@ +package com.thhy.screen.modules.biz.audio.service.impl; + +import com.thhy.screen.modules.biz.audio.entity.AudioDto; +import com.thhy.screen.modules.biz.audio.entity.AudioGroup; +import com.thhy.screen.modules.biz.audio.service.AudioService; +import com.thhy.screen.modules.biz.bigscreen.mapper.BigScreenMapper; +import com.thhy.screen.utils.AudioUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class AudioServiceImpl implements AudioService { + + @Autowired + private BigScreenMapper screenMapper; + + @Override + public List<AudioGroup> queryGroups() { + return screenMapper.queryGroups(); + } + + @Override + public void playMusic(AudioDto audioDto) { + String groupIds = audioDto.getGroupIds(); + String[] groupIdArray = new String[]{groupIds}; + AudioUtils.playMusic(groupIdArray); + return; + } +} diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java index 2bb0d6f..0a88200 100644 --- a/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/modules/biz/bigscreen/mapper/BigScreenMapper.java @@ -1,5 +1,6 @@ package com.thhy.screen.modules.biz.bigscreen.mapper; +import com.thhy.screen.modules.biz.audio.entity.AudioGroup; import com.thhy.screen.modules.biz.bigscreen.entity.*; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; @@ -29,4 +30,8 @@ HashMap<String,Object> displayText(); List<HashMap<String,Object>> monthRingNumByPro(@Param("companyId") String companyId,@Param("proId") String proId); + + void insertAudioGroup(AudioGroup audioGroup); + + List<AudioGroup> queryGroups(); } diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java new file mode 100644 index 0000000..9d5d23a --- /dev/null +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/AudioUtils.java @@ -0,0 +1,41 @@ +package com.thhy.screen.utils; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.thhy.screen.modules.biz.audio.entity.AudioGroup; + +import java.util.List; + +public class AudioUtils { + + public static void main(String[] args) { + //getGroups(); + + } + + public static void login(){ + + } + + public static String getGroups(){ + String result = HttpUtils.post("GetGroups",new JSONObject()); + System.out.println(result); + return result; + } + + public static String playMusic(String[] groupIds){ + JSONObject jsonObject = new JSONObject(); + String[] ms = new String[]{"https://szpipe.thhy-tj.com/jingbao.mp3"}; + int[] groupIdArray = new int[groupIds.length]; + for(int i =0;i<groupIds.length;i++){ + groupIdArray[i] = Integer.parseInt(groupIds[i]); + } + jsonObject.put("Files",ms); + jsonObject.put("TextCode",1); + jsonObject.put("GroupIds",groupIdArray); + String result = HttpUtils.post("playMp3",jsonObject); + System.out.println(result); + return result; + } +} diff --git a/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java new file mode 100644 index 0000000..3534bcb --- /dev/null +++ b/hd/pipe/screen/src/main/java/com/thhy/screen/utils/HttpUtils.java @@ -0,0 +1,148 @@ +package com.thhy.screen.utils; + +import com.alibaba.fastjson.JSONObject; +import com.github.pagehelper.PageInfo; +import com.thhy.general.common.BasicMessage; +import com.thhy.general.exception.BasicException; + +import java.io.*; +import java.net.HttpURLConnection; +import java.net.URL; +import java.util.Map; + +public class HttpUtils { + + private static String BaseHost = "http://150.158.37.69:8080/api/"; + + private static String token = ""; + + public static String post(String apiPath, JSONObject paramJson, PageInfo pageInfo){ + HttpURLConnection connection=null; + try { + URL url = new URL(BaseHost+apiPath); + connection = (HttpURLConnection) url.openConnection(); + connection.setConnectTimeout(3000); + connection.setReadTimeout(3000); + connection.setRequestMethod("POST"); + connection.setDoInput(true); + connection.setDoOutput(false); + connection.setRequestProperty("content-type","application/json;charset=UTF-8"); + if(!apiPath.equals("/api/getToken")){ + connection.setRequestProperty("userToken",""); + } + /*if(pageInfo.isPage()){ + connection.setRequestProperty("pageNum",pageInfo.getPageNo()+""); + connection.setRequestProperty("pageSize",pageInfo.getPageSize()+""); + }*/ + connection.connect(); + + DataOutputStream dos=new DataOutputStream(connection.getOutputStream()); + dos.write(paramJson.toJSONString().getBytes("UTF-8")); + //dos.writeBytes(paramJson.toJSONString()); + int responseCode = connection.getResponseCode(); + if (responseCode != HttpURLConnection.HTTP_OK) { + throw new BasicException(new BasicMessage("19901","网络连接失败")); + } + String result = getStringByStream(connection.getInputStream()); + if (result == null) { + throw new BasicException(new BasicMessage("19901","网络连接失败")); + }else{ + return result; + } + } catch (Exception e) { + e.printStackTrace(); + throw new BasicException(new BasicMessage("19901","网络连接失败")); + } + } + + public static String post(String apiPath, JSONObject paramJson){ + HttpURLConnection connection=null; + try { + URL url = new URL(BaseHost+apiPath); + connection = (HttpURLConnection) url.openConnection(); + connection.setConnectTimeout(3000); + connection.setReadTimeout(3000); + connection.setRequestMethod("POST"); + connection.setDoInput(true); + connection.setDoOutput(true); + connection.setRequestProperty("content-type","application/json;charset=UTF-8"); + if(!apiPath.equals("/api/getToken")){ + connection.setRequestProperty("userToken",""); + } + connection.connect(); + + DataOutputStream dos=new DataOutputStream(connection.getOutputStream()); + dos.write(paramJson.toJSONString().getBytes("UTF-8")); + //dos.writeBytes(paramJson.toJSONString()); + int responseCode = connection.getResponseCode(); + if (responseCode != HttpURLConnection.HTTP_OK) { + throw new BasicException(new BasicMessage("19901","网络连接失败")); + } + String result = getStringByStream(connection.getInputStream()); + if (result == null) { + throw new BasicException(new BasicMessage("19901","网络连接失败")); + }else{ + return result; + } + } catch (Exception e) { + e.printStackTrace(); + throw new BasicException(new BasicMessage("19901","网络连接失败")); + } + } + + private static String getStringByStream(InputStream inputStream){ + Reader reader; + try { + reader=new InputStreamReader(inputStream,"UTF-8"); + char[] rawBuffer=new char[512]; + StringBuffer buffer=new StringBuffer(); + int length; + while ((length=reader.read(rawBuffer))!=-1){ + buffer.append(rawBuffer,0,length); + } + return buffer.toString(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + + + public static String get(String api, Map<String,Object> map){ + HttpURLConnection connection = null; + try { + + StringBuilder urlParam = new StringBuilder(); + for(String key : map.keySet()){ + urlParam.append(key+"="+map.get(key).toString()+"&"); + } + String param = urlParam.toString(); + if(param.contains("&")){ + param = param.substring(0,param.length()-1); + } + URL url = new URL(BaseHost+api+"?"+param); + connection = (HttpURLConnection) url.openConnection(); + connection.setConnectTimeout(3000); + connection.setReadTimeout(3000); + connection.setRequestMethod("GET"); + if(!api.equals("/api/getToken")){ + connection.setRequestProperty("authorization",""); + } + + //dos.writeBytes(paramJson.toJSONString()); + int responseCode = connection.getResponseCode(); + if (responseCode != HttpURLConnection.HTTP_OK) { + return null; + } + String result = getStringByStream(connection.getInputStream()); + return result; + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + +} diff --git a/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml b/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml index a874634..f5a063c 100644 --- a/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml +++ b/hd/pipe/screen/src/main/resources/mapping/BigScreenMapper.xml @@ -207,5 +207,35 @@ ) x on x.`month` = DATE_FORMAT(m.`month`,'%Y-%m') </select> + <insert id="insertAudioGroup"> + INSERT INTO + <trim suffix=")" prefix="(" suffixOverrides=","> + <if test="id != null and id !=null"> + id, + </if> + <if test="groupId != null"> + group_id, + </if> + <if test="groupName != null and groupName !=null"> + group_name, + </if> + </trim> + <trim suffix=")" prefix=" values(" suffixOverrides=","> + <if test="id != null and id !=null"> + #{id}, + </if> + <if test="groupId != null"> + #{groupId}, + </if> + <if test="groupName != null and groupName !=null"> + #{groupName}, + </if> + </trim> + </insert> + + <select id="queryGroups" resultType="com.thhy.screen.modules.biz.audio.entity.AudioGroup"> + select id,group_id as groupId,group_name as groupName from t_audio_groups + </select> + </mapper> \ No newline at end of file -- Gitblit v1.9.3